Skip to content

Commit 2922b24

Browse files
authored
Merge pull request #6322 from BitGo/COIN-4609
feat(sdk-coin-near): removed inputs & outputs for storage deposits
2 parents 3ad0aba + 93bb4a6 commit 2922b24

File tree

3 files changed

+18
-139
lines changed

3 files changed

+18
-139
lines changed

modules/sdk-coin-near/src/lib/transaction.ts

Lines changed: 2 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import {
1414
TransactionRecipient,
1515
TransactionType,
1616
} from '@bitgo/sdk-core';
17-
import { BaseCoin as CoinConfig, NetworkType } from '@bitgo/statics';
17+
import { BaseCoin as CoinConfig } from '@bitgo/statics';
1818

1919
import {
2020
FT_TRANSFER,
@@ -351,26 +351,6 @@ export class Transaction extends BaseTransaction {
351351
coin: this._coinConfig.name,
352352
});
353353
}
354-
if (action.functionCall.methodName === 'storage_deposit') {
355-
const parsedArgs = JSON.parse(Buffer.from(action.functionCall.args).toString());
356-
const receiverId = parsedArgs.account_id ? parsedArgs.account_id : this._nearTransaction.signerId;
357-
inputs.push({
358-
address: this._nearTransaction.signerId,
359-
value: action.functionCall.deposit.toString(),
360-
coin:
361-
this._coinConfig.network.type === NetworkType.TESTNET
362-
? `t${this._coinConfig.family}`
363-
: this._coinConfig.family,
364-
});
365-
outputs.push({
366-
address: receiverId,
367-
value: action.functionCall.deposit.toString(),
368-
coin:
369-
this._coinConfig.network.type === NetworkType.TESTNET
370-
? `t${this._coinConfig.family}`
371-
: this._coinConfig.family,
372-
});
373-
}
374354
}
375355
break;
376356
case TransactionType.StakingActivate:
@@ -403,29 +383,8 @@ export class Transaction extends BaseTransaction {
403383
});
404384
}
405385
break;
406-
case TransactionType.StorageDeposit: {
407-
if (action.functionCall) {
408-
const parsedArgs = JSON.parse(Buffer.from(action.functionCall.args).toString());
409-
const receiverId = parsedArgs.account_id ? parsedArgs.account_id : this._nearTransaction.signerId;
410-
inputs.push({
411-
address: this._nearTransaction.signerId,
412-
value: action.functionCall.deposit.toString(),
413-
coin:
414-
this._coinConfig.network.type === NetworkType.TESTNET
415-
? `t${this._coinConfig.family}`
416-
: this._coinConfig.family,
417-
});
418-
outputs.push({
419-
address: receiverId,
420-
value: action.functionCall.deposit.toString(),
421-
coin:
422-
this._coinConfig.network.type === NetworkType.TESTNET
423-
? `t${this._coinConfig.family}`
424-
: this._coinConfig.family,
425-
});
426-
}
386+
case TransactionType.StorageDeposit:
427387
break;
428-
}
429388
}
430389
});
431390
this._outputs = outputs;

modules/sdk-coin-near/test/unit/transactionBuilder/fungibleTokenTransferBuilder.ts

Lines changed: 8 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -114,24 +114,14 @@ describe('Near: Fungible Token Transfer Builder', () => {
114114
builder.addStorageDeposit(storageDepositInput);
115115
const tx = await builder.build();
116116
should.equal(tx.type, TransactionType.Send);
117-
tx.inputs.length.should.equal(2);
117+
tx.inputs.length.should.equal(1);
118118
tx.inputs[0].should.deepEqual({
119-
address: testData.accounts.account1.address,
120-
value: '1250000000000000000000',
121-
coin: `t${nep141Token.getFamily()}`,
122-
});
123-
tx.inputs[1].should.deepEqual({
124119
address: testData.accounts.account1.address,
125120
value: '100',
126121
coin: coinNameTest,
127122
});
128-
tx.outputs.length.should.equal(2);
123+
tx.outputs.length.should.equal(1);
129124
tx.outputs[0].should.deepEqual({
130-
address: testData.accounts.account1.address,
131-
value: '1250000000000000000000',
132-
coin: `t${nep141Token.getFamily()}`,
133-
});
134-
tx.outputs[1].should.deepEqual({
135125
address: testData.accounts.account2.address,
136126
value: '100',
137127
coin: coinNameTest,
@@ -149,24 +139,14 @@ describe('Near: Fungible Token Transfer Builder', () => {
149139
builder.sign({ key: testData.accounts.account1.secretKey });
150140
const tx = await builder.build();
151141
should.equal(tx.type, TransactionType.Send);
152-
tx.inputs.length.should.equal(2);
142+
tx.inputs.length.should.equal(1);
153143
tx.inputs[0].should.deepEqual({
154-
address: testData.accounts.account1.address,
155-
value: '1250000000000000000000',
156-
coin: `t${nep141Token.getFamily()}`,
157-
});
158-
tx.inputs[1].should.deepEqual({
159144
address: testData.accounts.account1.address,
160145
value: '100',
161146
coin: coinNameTest,
162147
});
163-
tx.outputs.length.should.equal(2);
148+
tx.outputs.length.should.equal(1);
164149
tx.outputs[0].should.deepEqual({
165-
address: testData.accounts.account1.address,
166-
value: '1250000000000000000000',
167-
coin: `t${nep141Token.getFamily()}`,
168-
});
169-
tx.outputs[1].should.deepEqual({
170150
address: testData.accounts.account2.address,
171151
value: '100',
172152
coin: coinNameTest,
@@ -184,24 +164,14 @@ describe('Near: Fungible Token Transfer Builder', () => {
184164
builder.addStorageDeposit(storageDepositInput);
185165
const tx = await builder.build();
186166
should.equal(tx.type, TransactionType.Send);
187-
tx.inputs.length.should.equal(2);
167+
tx.inputs.length.should.equal(1);
188168
tx.inputs[0].should.deepEqual({
189-
address: testData.accounts.account1.address,
190-
value: '1250000000000000000000',
191-
coin: `t${nep141Token.getFamily()}`,
192-
});
193-
tx.inputs[1].should.deepEqual({
194169
address: testData.accounts.account1.address,
195170
value: '100',
196171
coin: coinNameTest,
197172
});
198-
tx.outputs.length.should.equal(2);
173+
tx.outputs.length.should.equal(1);
199174
tx.outputs[0].should.deepEqual({
200-
address: testData.accounts.account2.address,
201-
value: '1250000000000000000000',
202-
coin: `t${nep141Token.getFamily()}`,
203-
});
204-
tx.outputs[1].should.deepEqual({
205175
address: testData.accounts.account2.address,
206176
value: '100',
207177
coin: coinNameTest,
@@ -220,24 +190,14 @@ describe('Near: Fungible Token Transfer Builder', () => {
220190
builder.sign({ key: testData.accounts.account1.secretKey });
221191
const tx = await builder.build();
222192
should.equal(tx.type, TransactionType.Send);
223-
tx.inputs.length.should.equal(2);
193+
tx.inputs.length.should.equal(1);
224194
tx.inputs[0].should.deepEqual({
225-
address: testData.accounts.account1.address,
226-
value: '1250000000000000000000',
227-
coin: `t${nep141Token.getFamily()}`,
228-
});
229-
tx.inputs[1].should.deepEqual({
230195
address: testData.accounts.account1.address,
231196
value: '100',
232197
coin: coinNameTest,
233198
});
234-
tx.outputs.length.should.equal(2);
199+
tx.outputs.length.should.equal(1);
235200
tx.outputs[0].should.deepEqual({
236-
address: testData.accounts.account2.address,
237-
value: '1250000000000000000000',
238-
coin: `t${nep141Token.getFamily()}`,
239-
});
240-
tx.outputs[1].should.deepEqual({
241201
address: testData.accounts.account2.address,
242202
value: '100',
243203
coin: coinNameTest,

modules/sdk-coin-near/test/unit/transactionBuilder/storageDepositTransferBuilder.ts

Lines changed: 8 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -63,18 +63,8 @@ describe('Near: Storage Deposit Transfer Builder', () => {
6363
builder.sender(testData.accounts.account1.address, testData.accounts.account1.publicKey);
6464
const tx = await builder.build();
6565
should.equal(tx.type, TransactionType.StorageDeposit);
66-
tx.inputs.length.should.equal(1);
67-
tx.inputs[0].should.deepEqual({
68-
address: testData.accounts.account1.address,
69-
value: '1250000000000000000000',
70-
coin: `t${nep141Token.getFamily()}`,
71-
});
72-
tx.outputs.length.should.equal(1);
73-
tx.outputs[0].should.deepEqual({
74-
address: testData.accounts.account1.address,
75-
value: '1250000000000000000000',
76-
coin: `t${nep141Token.getFamily()}`,
77-
});
66+
tx.inputs.length.should.equal(0);
67+
tx.outputs.length.should.equal(0);
7868
const rawTx = tx.toBroadcastFormat();
7969
rawTx.should.deepEqual(testData.rawTx.selfStorageDeposit.unsigned);
8070
});
@@ -85,18 +75,8 @@ describe('Near: Storage Deposit Transfer Builder', () => {
8575
builder.sign({ key: testData.accounts.account1.secretKey });
8676
const tx = await builder.build();
8777
should.equal(tx.type, TransactionType.StorageDeposit);
88-
tx.inputs.length.should.equal(1);
89-
tx.inputs[0].should.deepEqual({
90-
address: testData.accounts.account1.address,
91-
value: '1250000000000000000000',
92-
coin: `t${nep141Token.getFamily()}`,
93-
});
94-
tx.outputs.length.should.equal(1);
95-
tx.outputs[0].should.deepEqual({
96-
address: testData.accounts.account1.address,
97-
value: '1250000000000000000000',
98-
coin: `t${nep141Token.getFamily()}`,
99-
});
78+
tx.inputs.length.should.equal(0);
79+
tx.outputs.length.should.equal(0);
10080
const rawTx = tx.toBroadcastFormat();
10181
rawTx.should.deepEqual(testData.rawTx.selfStorageDeposit.signed);
10282
});
@@ -108,18 +88,8 @@ describe('Near: Storage Deposit Transfer Builder', () => {
10888
builder.beneficiaryId(testData.accounts.account2.address);
10989
const tx = await builder.build();
11090
should.equal(tx.type, TransactionType.StorageDeposit);
111-
tx.inputs.length.should.equal(1);
112-
tx.inputs[0].should.deepEqual({
113-
address: testData.accounts.account1.address,
114-
value: '1250000000000000000000',
115-
coin: `t${nep141Token.getFamily()}`,
116-
});
117-
tx.outputs.length.should.equal(1);
118-
tx.outputs[0].should.deepEqual({
119-
address: testData.accounts.account2.address,
120-
value: '1250000000000000000000',
121-
coin: `t${nep141Token.getFamily()}`,
122-
});
91+
tx.inputs.length.should.equal(0);
92+
tx.outputs.length.should.equal(0);
12393
const rawTx = tx.toBroadcastFormat();
12494
rawTx.should.deepEqual(testData.rawTx.storageDeposit.unsigned);
12595
});
@@ -131,18 +101,8 @@ describe('Near: Storage Deposit Transfer Builder', () => {
131101
builder.sign({ key: testData.accounts.account1.secretKey });
132102
const tx = await builder.build();
133103
should.equal(tx.type, TransactionType.StorageDeposit);
134-
tx.inputs.length.should.equal(1);
135-
tx.inputs[0].should.deepEqual({
136-
address: testData.accounts.account1.address,
137-
value: '1250000000000000000000',
138-
coin: `t${nep141Token.getFamily()}`,
139-
});
140-
tx.outputs.length.should.equal(1);
141-
tx.outputs[0].should.deepEqual({
142-
address: testData.accounts.account2.address,
143-
value: '1250000000000000000000',
144-
coin: `t${nep141Token.getFamily()}`,
145-
});
104+
tx.inputs.length.should.equal(0);
105+
tx.outputs.length.should.equal(0);
146106
const rawTx = tx.toBroadcastFormat();
147107
rawTx.should.deepEqual(testData.rawTx.storageDeposit.signed);
148108
});

0 commit comments

Comments
 (0)