@bitgo-beta/sdk-coin-ton 1.0.1-beta.1069 → 1.0.1-beta.1070

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,4 @@
1
+ export declare const WALLET_ID = 698983191;
2
+ export declare const JETTON_TRANSFER_OPCODE = 260734629;
3
+ export declare const WITHDRAW_OPCODE = "00001000";
4
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/lib/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,YAAY,CAAC;AACnC,eAAO,MAAM,sBAAsB,YAAa,CAAC;AACjD,eAAO,MAAM,eAAe,aAAa,CAAC"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WITHDRAW_OPCODE = exports.JETTON_TRANSFER_OPCODE = exports.WALLET_ID = void 0;
4
+ exports.WALLET_ID = 698983191;
5
+ exports.JETTON_TRANSFER_OPCODE = 0x0f8a7ea5;
6
+ exports.WITHDRAW_OPCODE = '00001000';
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQWEsUUFBQSxTQUFTLEdBQUcsU0FBUyxDQUFDO0FBQ3RCLFFBQUEsc0JBQXNCLEdBQUcsVUFBVSxDQUFDO0FBQ3BDLFFBQUEsZUFBZSxHQUFHLFVBQVUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBXQUxMRVRfSUQgPSA2OTg5ODMxOTE7XG5leHBvcnQgY29uc3QgSkVUVE9OX1RSQU5TRkVSX09QQ09ERSA9IDB4MGY4YTdlYTU7XG5leHBvcnQgY29uc3QgV0lUSERSQVdfT1BDT0RFID0gJzAwMDAxMDAwJztcbiJdfQ==
@@ -1,6 +1,6 @@
1
- import { TransactionBuilder } from './transactionBuilder';
2
1
  import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
3
2
  import { Recipient, TransactionType } from '@bitgo-beta/sdk-core';
3
+ import { TransactionBuilder } from './transactionBuilder';
4
4
  export declare class SingleNominatorWithdrawBuilder extends TransactionBuilder {
5
5
  constructor(_coinConfig: Readonly<CoinConfig>);
6
6
  protected get transactionType(): TransactionType;
@@ -1 +1 @@
1
- {"version":3,"file":"singleNominatorWithdrawBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/singleNominatorWithdrawBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAElE,qBAAa,8BAA+B,SAAQ,kBAAkB;gBACxD,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,8BAA8B;IAKjE,IAAI,CAAC,SAAS,EAAE,SAAS,GAAG,8BAA8B;IAK1D,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,8BAA8B;CAGxD"}
1
+ {"version":3,"file":"singleNominatorWithdrawBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/singleNominatorWithdrawBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,qBAAa,8BAA+B,SAAQ,kBAAkB;gBACxD,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK7C,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,8BAA8B;IAKjE,IAAI,CAAC,SAAS,EAAE,SAAS,GAAG,8BAA8B;IAK1D,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,8BAA8B;CAGxD"}
@@ -1,11 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SingleNominatorWithdrawBuilder = void 0;
4
- const transactionBuilder_1 = require("./transactionBuilder");
5
4
  const sdk_core_1 = require("@bitgo-beta/sdk-core");
5
+ const transactionBuilder_1 = require("./transactionBuilder");
6
+ const transaction_1 = require("./transaction");
6
7
  class SingleNominatorWithdrawBuilder extends transactionBuilder_1.TransactionBuilder {
7
8
  constructor(_coinConfig) {
8
9
  super(_coinConfig);
10
+ this._transaction = new transaction_1.Transaction(_coinConfig);
9
11
  }
10
12
  get transactionType() {
11
13
  return sdk_core_1.TransactionType.SingleNominatorWithdraw;
@@ -23,4 +25,4 @@ class SingleNominatorWithdrawBuilder extends transactionBuilder_1.TransactionBui
23
25
  }
24
26
  }
25
27
  exports.SingleNominatorWithdrawBuilder = SingleNominatorWithdrawBuilder;
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luZ2xlTm9taW5hdG9yV2l0aGRyYXdCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9zaW5nbGVOb21pbmF0b3JXaXRoZHJhd0J1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkRBQTBEO0FBRTFELG1EQUFrRTtBQUVsRSxNQUFhLDhCQUErQixTQUFRLHVDQUFrQjtJQUNwRSxZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFBYyxlQUFlO1FBQzNCLE9BQU8sMEJBQWUsQ0FBQyx1QkFBdUIsQ0FBQztJQUNqRCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsTUFBYztRQUM5QixJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsR0FBRyxNQUFNLENBQUM7UUFDekMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsSUFBSSxDQUFDLFNBQW9CO1FBQ3ZCLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUN2QyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxVQUFVLENBQUMsR0FBVztRQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDN0MsQ0FBQztDQUNGO0FBdEJELHdFQXNCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IFJlY2lwaWVudCwgVHJhbnNhY3Rpb25UeXBlIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuXG5leHBvcnQgY2xhc3MgU2luZ2xlTm9taW5hdG9yV2l0aGRyYXdCdWlsZGVyIGV4dGVuZHMgVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgY29uc3RydWN0b3IoX2NvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoX2NvaW5Db25maWcpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCB0cmFuc2FjdGlvblR5cGUoKTogVHJhbnNhY3Rpb25UeXBlIHtcbiAgICByZXR1cm4gVHJhbnNhY3Rpb25UeXBlLlNpbmdsZU5vbWluYXRvcldpdGhkcmF3O1xuICB9XG5cbiAgc2V0V2l0aGRyYXdBbW91bnQoYW1vdW50OiBzdHJpbmcpOiBTaW5nbGVOb21pbmF0b3JXaXRoZHJhd0J1aWxkZXIge1xuICAgIHRoaXMudHJhbnNhY3Rpb24ud2l0aGRyYXdBbW91bnQgPSBhbW91bnQ7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBzZW5kKHJlY2lwaWVudDogUmVjaXBpZW50KTogU2luZ2xlTm9taW5hdG9yV2l0aGRyYXdCdWlsZGVyIHtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLnJlY2lwaWVudCA9IHJlY2lwaWVudDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHNldE1lc3NhZ2UobXNnOiBzdHJpbmcpOiBTaW5nbGVOb21pbmF0b3JXaXRoZHJhd0J1aWxkZXIge1xuICAgIHRocm93IG5ldyBFcnJvcignTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC4nKTtcbiAgfVxufVxuIl19
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luZ2xlTm9taW5hdG9yV2l0aGRyYXdCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9zaW5nbGVOb21pbmF0b3JXaXRoZHJhd0J1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsbURBQWtFO0FBQ2xFLDZEQUEwRDtBQUMxRCwrQ0FBNEM7QUFFNUMsTUFBYSw4QkFBK0IsU0FBUSx1Q0FBa0I7SUFDcEUsWUFBWSxXQUFpQztRQUMzQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLHlCQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELElBQWMsZUFBZTtRQUMzQixPQUFPLDBCQUFlLENBQUMsdUJBQXVCLENBQUM7SUFDakQsQ0FBQztJQUVELGlCQUFpQixDQUFDLE1BQWM7UUFDOUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDO1FBQ3pDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELElBQUksQ0FBQyxTQUFvQjtRQUN2QixJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDdkMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsVUFBVSxDQUFDLEdBQVc7UUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQzdDLENBQUM7Q0FDRjtBQXZCRCx3RUF1QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBSZWNpcGllbnQsIFRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5cbmV4cG9ydCBjbGFzcyBTaW5nbGVOb21pbmF0b3JXaXRoZHJhd0J1aWxkZXIgZXh0ZW5kcyBUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZyk7XG4gICAgdGhpcy5fdHJhbnNhY3Rpb24gPSBuZXcgVHJhbnNhY3Rpb24oX2NvaW5Db25maWcpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCB0cmFuc2FjdGlvblR5cGUoKTogVHJhbnNhY3Rpb25UeXBlIHtcbiAgICByZXR1cm4gVHJhbnNhY3Rpb25UeXBlLlNpbmdsZU5vbWluYXRvcldpdGhkcmF3O1xuICB9XG5cbiAgc2V0V2l0aGRyYXdBbW91bnQoYW1vdW50OiBzdHJpbmcpOiBTaW5nbGVOb21pbmF0b3JXaXRoZHJhd0J1aWxkZXIge1xuICAgIHRoaXMudHJhbnNhY3Rpb24ud2l0aGRyYXdBbW91bnQgPSBhbW91bnQ7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBzZW5kKHJlY2lwaWVudDogUmVjaXBpZW50KTogU2luZ2xlTm9taW5hdG9yV2l0aGRyYXdCdWlsZGVyIHtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLnJlY2lwaWVudCA9IHJlY2lwaWVudDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHNldE1lc3NhZ2UobXNnOiBzdHJpbmcpOiBTaW5nbGVOb21pbmF0b3JXaXRoZHJhd0J1aWxkZXIge1xuICAgIHRocm93IG5ldyBFcnJvcignTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC4nKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,16 @@
1
+ import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
2
+ import { TransactionExplanation, TxData } from './iface';
3
+ import { Transaction } from './transaction';
4
+ export declare class TokenTransaction extends Transaction {
5
+ forwardTonAmount: string;
6
+ senderJettonWalletAddress: string;
7
+ tonAmount: string;
8
+ constructor(coinConfig: Readonly<CoinConfig>);
9
+ toJson(): TxData;
10
+ private createJettonTransferPayload;
11
+ build(): Promise<void>;
12
+ fromRawTransaction(rawTransaction: string): void;
13
+ /** @inheritDoc */
14
+ explainTransaction(): TransactionExplanation;
15
+ }
16
+ //# sourceMappingURL=tokenTransaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokenTransaction.d.ts","sourceRoot":"","sources":["../../../src/lib/tokenTransaction.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,qBAAa,gBAAiB,SAAQ,WAAW;IACxC,gBAAgB,EAAE,MAAM,CAAC;IACzB,yBAAyB,EAAE,MAAM,CAAC;IAClC,SAAS,EAAE,MAAM,CAAC;gBAEb,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI5C,MAAM,IAAI,MAAM;IAUhB,OAAO,CAAC,2BAA2B;IA0B7B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA0B5B,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IAsBhD,kBAAkB;IAClB,kBAAkB,IAAI,sBAAsB;CAiB7C"}
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.TokenTransaction = void 0;
7
+ const tonweb_1 = __importDefault(require("tonweb"));
8
+ const bn_js_1 = require("bn.js");
9
+ const sdk_core_1 = require("@bitgo-beta/sdk-core");
10
+ const transaction_1 = require("./transaction");
11
+ const constants_1 = require("./constants");
12
+ class TokenTransaction extends transaction_1.Transaction {
13
+ constructor(coinConfig) {
14
+ super(coinConfig);
15
+ }
16
+ toJson() {
17
+ const json = super.toJson();
18
+ return {
19
+ ...json,
20
+ forwardTonAmount: this.forwardTonAmount,
21
+ senderJettonWalletAddress: this.senderJettonWalletAddress,
22
+ tonAmount: this.tonAmount,
23
+ };
24
+ }
25
+ createJettonTransferPayload(jettonAmount, toAddress, forwardTonAmount, comment) {
26
+ const forwardPayload = new tonweb_1.default.boc.Cell();
27
+ if (comment) {
28
+ forwardPayload.bits.writeUint(0, 32);
29
+ forwardPayload.bits.writeString(comment);
30
+ }
31
+ const payload = new tonweb_1.default.boc.Cell();
32
+ payload.bits.writeUint(constants_1.JETTON_TRANSFER_OPCODE, 32); // Store Jetton transfer op code
33
+ payload.bits.writeUint(0, 64); // query_id
34
+ payload.bits.writeCoins(new bn_js_1.BN(jettonAmount)); // Jetton amount to transfer
35
+ payload.bits.writeAddress(new tonweb_1.default.Address(toAddress)); // recipient's TON wallet address
36
+ payload.bits.writeAddress(new tonweb_1.default.Address(this.sender)); // response_destination for sending excess TON (excess is returned back to the sender)
37
+ payload.bits.writeBit(false); // No custom payload
38
+ payload.bits.writeCoins(new bn_js_1.BN(forwardTonAmount)); // forward_ton_amount to pay fees
39
+ payload.bits.writeBit(true); // Forward payload exists as a reference
40
+ payload.refs.push(forwardPayload); // Add forward payload as a reference
41
+ return payload;
42
+ }
43
+ async build() {
44
+ const jettonTransferPayload = this.createJettonTransferPayload(this.recipient.amount, this.recipient.address, this.forwardTonAmount, this.message);
45
+ const signingMessage = this.createSigningMessage(constants_1.WALLET_ID, this.seqno, this.expireTime);
46
+ const sendMode = 3;
47
+ signingMessage.bits.writeUint8(sendMode);
48
+ const outMsg = this.createOutMsg(this.senderJettonWalletAddress, this.tonAmount, jettonTransferPayload);
49
+ signingMessage.refs.push(outMsg);
50
+ this.unsignedMessage = Buffer.from(await signingMessage.hash()).toString('hex');
51
+ const signature = this._signatures.length > 0 ? this._signatures[0] : Buffer.from(new Uint8Array(64)).toString('hex');
52
+ const finalMessage = await this.createExternalMessage(signingMessage, this.seqno, signature);
53
+ this.finalMessage = tonweb_1.default.utils.bytesToBase64(await finalMessage.toBoc(false));
54
+ const originalTxId = tonweb_1.default.utils.bytesToBase64(await finalMessage.hash());
55
+ this._id = originalTxId.replace(/\//g, '_').replace(/\+/g, '-');
56
+ }
57
+ fromRawTransaction(rawTransaction) {
58
+ try {
59
+ const cell = tonweb_1.default.boc.Cell.oneFromBoc(tonweb_1.default.utils.base64ToBytes(rawTransaction));
60
+ const parsed = this.parseTransaction(cell);
61
+ this.transactionType = sdk_core_1.TransactionType.SendToken;
62
+ this.sender = parsed.fromAddress;
63
+ this.recipient = { address: parsed.payload.jettonRecipient, amount: parsed.payload.jettonAmount };
64
+ this.tonAmount = parsed.value;
65
+ this.forwardTonAmount = parsed.payload.forwardTonAmount;
66
+ this.senderJettonWalletAddress = parsed.toAddress;
67
+ this.seqno = parsed.seqno;
68
+ this.publicKey = parsed.publicKey;
69
+ this.expireTime = parsed.expireAt;
70
+ this.message = parsed.payload.message;
71
+ this._signatures.push(parsed.signature);
72
+ this.bounceable = parsed.bounce;
73
+ }
74
+ catch (e) {
75
+ throw new Error('invalid raw transaction');
76
+ }
77
+ }
78
+ /** @inheritDoc */
79
+ explainTransaction() {
80
+ const displayOrder = ['id', 'outputs', 'outputAmount', 'changeOutputs', 'changeAmount', 'fee', 'withdrawAmount'];
81
+ const outputs = [this.recipient];
82
+ const outputAmount = this.recipient.amount;
83
+ const withdrawAmount = this.withdrawAmount;
84
+ return {
85
+ displayOrder,
86
+ id: this.id,
87
+ outputs,
88
+ outputAmount,
89
+ changeOutputs: [],
90
+ changeAmount: '0',
91
+ fee: { fee: 'UNKNOWN' },
92
+ withdrawAmount,
93
+ };
94
+ }
95
+ }
96
+ exports.TokenTransaction = TokenTransaction;
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5UcmFuc2FjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdG9rZW5UcmFuc2FjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxvREFBNEI7QUFDNUIsaUNBQTJCO0FBRTNCLG1EQUE2RTtBQUc3RSwrQ0FBNEM7QUFDNUMsMkNBQWdFO0FBRWhFLE1BQWEsZ0JBQWlCLFNBQVEseUJBQVc7SUFLL0MsWUFBWSxVQUFnQztRQUMxQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDcEIsQ0FBQztJQUVELE1BQU07UUFDSixNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDNUIsT0FBTztZQUNMLEdBQUcsSUFBSTtZQUNQLGdCQUFnQixFQUFFLElBQUksQ0FBQyxnQkFBZ0I7WUFDdkMseUJBQXlCLEVBQUUsSUFBSSxDQUFDLHlCQUF5QjtZQUN6RCxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7U0FDaEIsQ0FBQztJQUNkLENBQUM7SUFFTywyQkFBMkIsQ0FDakMsWUFBb0IsRUFDcEIsU0FBaUIsRUFDakIsZ0JBQXdCLEVBQ3hCLE9BQWdCO1FBRWhCLE1BQU0sY0FBYyxHQUFHLElBQUksZ0JBQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDN0MsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNaLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNyQyxjQUFjLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzQyxDQUFDO1FBRUQsTUFBTSxPQUFPLEdBQUcsSUFBSSxnQkFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQ0FBc0IsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLGdDQUFnQztR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QUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztRQUNsQyxDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNYLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUM3QyxDQUFDO0lBQ0gsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixrQkFBa0I7UUFDaEIsTUFBTSxZQUFZLEdBQUcsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBRWpILE1BQU0sT0FBTyxHQUEyQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN6RCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQztRQUMzQyxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBQzNDLE9BQU87WUFDTCxZQUFZO1lBQ1osRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFO1lBQ1gsT0FBTztZQUNQLFlBQVk7WUFDWixhQUFhLEVBQUUsRUFBRTtZQUNqQixZQUFZLEVBQUUsR0FBRztZQUNqQixHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFO1lBQ3ZCLGNBQWM7U0FDZixDQUFDO0lBQ0osQ0FBQztDQUNGO0FBL0dELDRDQStHQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBUb25XZWIgZnJvbSAndG9ud2ViJztcbmltcG9ydCB7IEJOIH0gZnJvbSAnYm4uanMnO1xuaW1wb3J0IHsgQ2VsbCB9IGZyb20gJ3RvbndlYi9kaXN0L3R5cGVzL2JvYy9jZWxsJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uUmVjaXBpZW50LCBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uLCBUeERhdGEgfSBmcm9tICcuL2lmYWNlJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBKRVRUT05fVFJBTlNGRVJfT1BDT0RFLCBXQUxMRVRfSUQgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5cbmV4cG9ydCBjbGFzcyBUb2tlblRyYW5zYWN0aW9uIGV4dGVuZHMgVHJhbnNhY3Rpb24ge1xuICBwdWJsaWMgZm9yd2FyZFRvbkFtb3VudDogc3RyaW5nOyAvLyBmb3IgY292ZXJpbmcgZm9yd2FyZCBmZWVzIGZvciBub3RpZnkgdHJhbnNmZXJcbiAgcHVibGljIHNlbmRlckpldHRvbldhbGxldEFkZHJlc3M6IHN0cmluZzsgLy8gdGhlIHNlbmRlcidzIEpldHRvbiB3YWxsZXQgYWRkcmVzc1xuICBwdWJsaWMgdG9uQW1vdW50OiBzdHJpbmc7IC8vIGFtb3VudCBvZiBUT04gc2VudCB0byB0aGUgc2VuZGVyJ3MgSmV0dG9uIHdhbGxldFxuXG4gIGNvbnN0cnVjdG9yKGNvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoY29pbkNvbmZpZyk7XG4gIH1cblxuICB0b0pzb24oKTogVHhEYXRhIHtcbiAgICBjb25zdCBqc29uID0gc3VwZXIudG9Kc29uKCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmpzb24sXG4gICAgICBmb3J3YXJkVG9uQW1vdW50OiB0aGlzLmZvcndhcmRUb25BbW91bnQsXG4gICAgICBzZW5kZXJKZXR0b25XYWxsZXRBZGRyZXNzOiB0aGlzLnNlbmRlckpldHRvbldhbGxldEFkZHJlc3MsXG4gICAgICB0b25BbW91bnQ6IHRoaXMudG9uQW1vdW50LFxuICAgIH0gYXMgVHhEYXRhO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVKZXR0b25UcmFuc2ZlclBheWxvYWQoXG4gICAgamV0dG9uQW1vdW50OiBzdHJpbmcsXG4gICAgdG9BZGRyZXNzOiBzdHJpbmcsXG4gICAgZm9yd2FyZFRvbkFtb3VudDogc3RyaW5nLFxuICAgIGNvbW1lbnQ/OiBzdHJpbmdcbiAgKTogQ2VsbCB7XG4gICAgY29uc3QgZm9yd2FyZFBheWxvYWQgPSBuZXcgVG9uV2ViLmJvYy5DZWxsKCk7XG4gICAgaWYgKGNvbW1lbnQpIHtcbiAgICAgIGZvcndhcmRQYXlsb2FkLmJpdHMud3JpdGVVaW50KDAsIDMyKTtcbiAgICAgIGZvcndhcmRQYXlsb2FkLmJpdHMud3JpdGVTdHJpbmcoY29tbWVudCk7XG4gICAgfVxuXG4gICAgY29uc3QgcGF5bG9hZCA9IG5ldyBUb25XZWIuYm9jLkNlbGwoKTtcbiAgICBwYXlsb2FkLmJpdHMud3JpdGVVaW50KEpFVFRPTl9UUkFOU0ZFUl9PUENPREUsIDMyKTsgLy8gU3RvcmUgSmV0dG9uIHRyYW5zZmVyIG9wIGNvZGVcbiAgICBwYXlsb2FkLmJpdHMud3JpdGVVaW50KDAsIDY0KTsgLy8gcXVlcnlfaWRcbiAgICBwYXlsb2FkLmJpdHMud3JpdGVDb2lucyhuZXcgQk4oamV0dG9uQW1vdW50KSk7IC8vIEpldHRvbiBhbW91bnQgdG8gdHJhbnNmZXJcbiAgICBwYXlsb2FkLmJpdHMud3JpdGVBZGRyZXNzKG5ldyBUb25XZWIuQWRkcmVzcyh0b0FkZHJlc3MpKTsgLy8gcmVjaXBpZW50J3MgVE9OIHdhbGxldCBhZGRyZXNzXG4gICAgcGF5bG9hZC5iaXRzLndyaXRlQWRkcmVzcyhuZXcgVG9uV2ViLkFkZHJlc3ModGhpcy5zZW5kZXIpKTsgLy8gcmVzcG9uc2VfZGVzdGluYXRpb24gZm9yIHNlbmRpbmcgZXhjZXNzIFRPTiAoZXhjZXNzIGlzIHJldHVybmVkIGJhY2sgdG8gdGhlIHNlbmRlcilcbiAgICBwYXlsb2FkLmJpdHMud3JpdGVCaXQoZmFsc2UpOyAvLyBObyBjdXN0b20gcGF5bG9hZFxuICAgIHBheWxvYWQuYml0cy53cml0ZUNvaW5zKG5ldyBCTihmb3J3YXJkVG9uQW1vdW50KSk7IC8vIGZvcndhcmRfdG9uX2Ftb3VudCB0byBwYXkgZmVlc1xuICAgIHBheWxvYWQuYml0cy53cml0ZUJpdCh0cnVlKTsgLy8gRm9yd2FyZCBwYXlsb2FkIGV4aXN0cyBhcyBhIHJlZmVyZW5jZVxuICAgIHBheWxvYWQucmVmcy5wdXNoKGZvcndhcmRQYXlsb2FkKTsgLy8gQWRkIGZvcndhcmQgcGF5bG9hZCBhcyBhIHJlZmVyZW5jZVxuXG4gICAgcmV0dXJuIHBheWxvYWQ7XG4gIH1cblxuICBhc3luYyBidWlsZCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBqZXR0b25UcmFuc2ZlclBheWxvYWQgPSB0aGlzLmNyZWF0ZUpldHRvblRyYW5zZmVyUGF5bG9hZChcbiAgICAgIHRoaXMucmVjaXBpZW50LmFtb3VudCxcbiAgICAgIHRoaXMucmVjaXBpZW50LmFkZHJlc3MsXG4gICAgICB0aGlzLmZvcndhcmRUb25BbW91bnQsXG4gICAgICB0aGlzLm1lc3NhZ2VcbiAgICApO1xuXG4gICAgY29uc3Qgc2lnbmluZ01lc3NhZ2UgPSB0aGlzLmNyZWF0ZVNpZ25pbmdNZXNzYWdlKFdBTExFVF9JRCwgdGhpcy5zZXFubywgdGhpcy5leHBpcmVUaW1lKTtcbiAgICBjb25zdCBzZW5kTW9kZSA9IDM7XG4gICAgc2lnbmluZ01lc3NhZ2UuYml0cy53cml0ZVVpbnQ4KHNlbmRNb2RlKTtcbiAgICBjb25zdCBvdXRNc2cgPSB0aGlzLmNyZWF0ZU91dE1zZyh0aGlzLnNlbmRlckpldHRvbldhbGxldEFkZHJlc3MsIHRoaXMudG9uQW1vdW50LCBqZXR0b25UcmFuc2ZlclBheWxvYWQpO1xuXG4gICAgc2lnbmluZ01lc3NhZ2UucmVmcy5wdXNoKG91dE1zZyk7XG4gICAgdGhpcy51bnNpZ25lZE1lc3NhZ2UgPSBCdWZmZXIuZnJvbShhd2FpdCBzaWduaW5nTWVzc2FnZS5oYXNoKCkpLnRvU3RyaW5nKCdoZXgnKTtcblxuICAgIGNvbnN0IHNpZ25hdHVyZSA9XG4gICAgICB0aGlzLl9zaWduYXR1cmVzLmxlbmd0aCA+IDAgPyB0aGlzLl9zaWduYXR1cmVzWzBdIDogQnVmZmVyLmZyb20obmV3IFVpbnQ4QXJyYXkoNjQpKS50b1N0cmluZygnaGV4Jyk7XG4gICAgY29uc3QgZmluYWxNZXNzYWdlID0gYXdhaXQgdGhpcy5jcmVhdGVFeHRlcm5hbE1lc3NhZ2Uoc2lnbmluZ01lc3NhZ2UsIHRoaXMuc2Vxbm8sIHNpZ25hdHVyZSk7XG5cbiAgICB0aGlzLmZpbmFsTWVzc2FnZSA9IFRvbldlYi51dGlscy5ieXRlc1RvQmFzZTY0KGF3YWl0IGZpbmFsTWVzc2FnZS50b0JvYyhmYWxzZSkpO1xuXG4gICAgY29uc3Qgb3JpZ2luYWxUeElkID0gVG9uV2ViLnV0aWxzLmJ5dGVzVG9CYXNlNjQoYXdhaXQgZmluYWxNZXNzYWdlLmhhc2goKSk7XG4gICAgdGhpcy5faWQgPSBvcmlnaW5hbFR4SWQucmVwbGFjZSgvXFwvL2csICdfJykucmVwbGFjZSgvXFwrL2csICctJyk7XG4gIH1cblxuICBmcm9tUmF3VHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb246IHN0cmluZyk6IHZvaWQge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBjZWxsID0gVG9uV2ViLmJvYy5DZWxsLm9uZUZyb21Cb2MoVG9uV2ViLnV0aWxzLmJhc2U2NFRvQnl0ZXMocmF3VHJhbnNhY3Rpb24pKTtcbiAgICAgIGNvbnN0IHBhcnNlZCA9IHRoaXMucGFyc2VUcmFuc2FjdGlvbihjZWxsKTtcblxuICAgICAgdGhpcy50cmFuc2FjdGlvblR5cGUgPSBUcmFuc2FjdGlvblR5cGUuU2VuZFRva2VuO1xuICAgICAgdGhpcy5zZW5kZXIgPSBwYXJzZWQuZnJvbUFkZHJlc3M7XG4gICAgICB0aGlzLnJlY2lwaWVudCA9IHsgYWRkcmVzczogcGFyc2VkLnBheWxvYWQuamV0dG9uUmVjaXBpZW50LCBhbW91bnQ6IHBhcnNlZC5wYXlsb2FkLmpldHRvbkFtb3VudCB9O1xuICAgICAgdGhpcy50b25BbW91bnQgPSBwYXJzZWQudmFsdWU7XG4gICAgICB0aGlzLmZvcndhcmRUb25BbW91bnQgPSBwYXJzZWQucGF5bG9hZC5mb3J3YXJkVG9uQW1vdW50O1xuICAgICAgdGhpcy5zZW5kZXJKZXR0b25XYWxsZXRBZGRyZXNzID0gcGFyc2VkLnRvQWRkcmVzcztcbiAgICAgIHRoaXMuc2Vxbm8gPSBwYXJzZWQuc2Vxbm87XG4gICAgICB0aGlzLnB1YmxpY0tleSA9IHBhcnNlZC5wdWJsaWNLZXkgYXMgc3RyaW5nO1xuICAgICAgdGhpcy5leHBpcmVUaW1lID0gcGFyc2VkLmV4cGlyZUF0O1xuICAgICAgdGhpcy5tZXNzYWdlID0gcGFyc2VkLnBheWxvYWQubWVzc2FnZTtcbiAgICAgIHRoaXMuX3NpZ25hdHVyZXMucHVzaChwYXJzZWQuc2lnbmF0dXJlKTtcbiAgICAgIHRoaXMuYm91bmNlYWJsZSA9IHBhcnNlZC5ib3VuY2U7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkIHJhdyB0cmFuc2FjdGlvbicpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBleHBsYWluVHJhbnNhY3Rpb24oKTogVHJhbnNhY3Rpb25FeHBsYW5hdGlvbiB7XG4gICAgY29uc3QgZGlzcGxheU9yZGVyID0gWydpZCcsICdvdXRwdXRzJywgJ291dHB1dEFtb3VudCcsICdjaGFuZ2VPdXRwdXRzJywgJ2NoYW5nZUFtb3VudCcsICdmZWUnLCAnd2l0aGRyYXdBbW91bnQnXTtcblxuICAgIGNvbnN0IG91dHB1dHM6IFRyYW5zYWN0aW9uUmVjaXBpZW50W10gPSBbdGhpcy5yZWNpcGllbnRdO1xuICAgIGNvbnN0IG91dHB1dEFtb3VudCA9IHRoaXMucmVjaXBpZW50LmFtb3VudDtcbiAgICBjb25zdCB3aXRoZHJhd0Ftb3VudCA9IHRoaXMud2l0aGRyYXdBbW91bnQ7XG4gICAgcmV0dXJuIHtcbiAgICAgIGRpc3BsYXlPcmRlcixcbiAgICAgIGlkOiB0aGlzLmlkLFxuICAgICAgb3V0cHV0cyxcbiAgICAgIG91dHB1dEFtb3VudCxcbiAgICAgIGNoYW5nZU91dHB1dHM6IFtdLFxuICAgICAgY2hhbmdlQW1vdW50OiAnMCcsXG4gICAgICBmZWU6IHsgZmVlOiAnVU5LTk9XTicgfSxcbiAgICAgIHdpdGhkcmF3QW1vdW50LFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,20 @@
1
+ import { TransactionType, Recipient } from '@bitgo-beta/sdk-core';
2
+ import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
3
+ import { TransactionBuilder } from './transactionBuilder';
4
+ import { TokenTransaction } from './tokenTransaction';
5
+ import { Transaction } from './transaction';
6
+ export declare class TokenTransferBuilder extends TransactionBuilder {
7
+ protected _transaction: TokenTransaction;
8
+ constructor(coinConfig: Readonly<CoinConfig>);
9
+ protected get transactionType(): TransactionType;
10
+ /** @inheritdoc */
11
+ protected fromImplementation(rawTransaction: string): Transaction;
12
+ /** @inheritdoc */
13
+ protected buildImplementation(): Promise<Transaction>;
14
+ setForwardTonAmount(amount: string): TokenTransferBuilder;
15
+ setSenderJettonWalletAddress(address: string): TokenTransferBuilder;
16
+ setTonAmount(amount: string): TokenTransferBuilder;
17
+ recipient(address: string, senderJettonWalletAddress: string, tonAmount: string, jettonAmount: string, forwardTonAmount: string): TokenTransferBuilder;
18
+ send(recipient: Recipient): TokenTransferBuilder;
19
+ }
20
+ //# sourceMappingURL=tokenTransferBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokenTransferBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/tokenTransferBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,qBAAa,oBAAqB,SAAQ,kBAAkB;IAC1D,SAAS,CAAC,YAAY,EAAE,gBAAgB,CAAC;gBAE7B,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;IAK5C,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED,kBAAkB;IAClB,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW;IAMjE,kBAAkB;cACF,mBAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;IAO3D,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,oBAAoB;IAKzD,4BAA4B,CAAC,OAAO,EAAE,MAAM,GAAG,oBAAoB;IAKnE,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,oBAAoB;IAMlD,SAAS,CACP,OAAO,EAAE,MAAM,EACf,yBAAyB,EAAE,MAAM,EACjC,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,gBAAgB,EAAE,MAAM,GACvB,oBAAoB;IAWvB,IAAI,CAAC,SAAS,EAAE,SAAS,GAAG,oBAAoB;CAIjD"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TokenTransferBuilder = void 0;
4
+ const sdk_core_1 = require("@bitgo-beta/sdk-core");
5
+ const transactionBuilder_1 = require("./transactionBuilder");
6
+ const tokenTransaction_1 = require("./tokenTransaction");
7
+ class TokenTransferBuilder extends transactionBuilder_1.TransactionBuilder {
8
+ constructor(coinConfig) {
9
+ super(coinConfig);
10
+ this._transaction = new tokenTransaction_1.TokenTransaction(coinConfig);
11
+ }
12
+ get transactionType() {
13
+ return sdk_core_1.TransactionType.SendToken;
14
+ }
15
+ /** @inheritdoc */
16
+ fromImplementation(rawTransaction) {
17
+ this.transaction.transactionType = sdk_core_1.TransactionType.SendToken;
18
+ this.transaction.fromRawTransaction(rawTransaction);
19
+ return this.transaction;
20
+ }
21
+ /** @inheritdoc */
22
+ async buildImplementation() {
23
+ this.transaction.transactionType = sdk_core_1.TransactionType.SendToken;
24
+ await this.transaction.build();
25
+ this.transaction.loadInputsAndOutputs();
26
+ return this.transaction;
27
+ }
28
+ setForwardTonAmount(amount) {
29
+ this.transaction.forwardTonAmount = amount;
30
+ return this;
31
+ }
32
+ setSenderJettonWalletAddress(address) {
33
+ this.transaction.senderJettonWalletAddress = address;
34
+ return this;
35
+ }
36
+ setTonAmount(amount) {
37
+ this.transaction.tonAmount = amount;
38
+ return this;
39
+ }
40
+ // recipient method to handle both TON and token amounts
41
+ recipient(address, senderJettonWalletAddress, tonAmount, jettonAmount, forwardTonAmount) {
42
+ this._transaction.recipient = {
43
+ address: address,
44
+ amount: jettonAmount, // Jetton amount to be transferred
45
+ };
46
+ this._transaction.senderJettonWalletAddress = senderJettonWalletAddress; // The sender's Jetton wallet address
47
+ this._transaction.tonAmount = tonAmount; // TON amount sent to the sender's Jetton wallet
48
+ this._transaction.forwardTonAmount = forwardTonAmount; // TON amount to cover forward fees in case of notify transfer
49
+ return this;
50
+ }
51
+ send(recipient) {
52
+ this.transaction.recipient = recipient;
53
+ return this;
54
+ }
55
+ }
56
+ exports.TokenTransferBuilder = TokenTransferBuilder;
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5UcmFuc2ZlckJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3Rva2VuVHJhbnNmZXJCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1EQUFrRTtBQUVsRSw2REFBMEQ7QUFDMUQseURBQXNEO0FBR3RELE1BQWEsb0JBQXFCLFNBQVEsdUNBQWtCO0lBRzFELFlBQVksVUFBZ0M7UUFDMUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxtQ0FBZ0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsSUFBYyxlQUFlO1FBQzNCLE9BQU8sMEJBQWUsQ0FBQyxTQUFTLENBQUM7SUFDbkMsQ0FBQztJQUVELGtCQUFrQjtJQUNSLGtCQUFrQixDQUFDLGNBQXNCO1FBQ2pELElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxHQUFHLDBCQUFlLENBQUMsU0FBUyxDQUFDO1FBQzdELElBQUksQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDcEQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFRCxrQkFBa0I7SUFDUixLQUFLLENBQUMsbUJBQW1CO1FBQ2pDLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxHQUFHLDBCQUFlLENBQUMsU0FBUyxDQUFDO1FBQzdELE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMvQixJQUFJLENBQUMsV0FBVyxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDeEMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxNQUFjO1FBQy9CLElBQUksQ0FBQyxXQUFnQyxDQUFDLGdCQUFnQixHQUFHLE1BQU0sQ0FBQztRQUNqRSxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCw0QkFBNEIsQ0FBQyxPQUFlO1FBQ3pDLElBQUksQ0FBQyxXQUFnQyxDQUFDLHlCQUF5QixHQUFHLE9BQU8sQ0FBQztRQUMzRSxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxZQUFZLENBQUMsTUFBYztRQUN4QixJQUFJLENBQUMsV0FBZ0MsQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDO1FBQzFELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELHdEQUF3RDtJQUN4RCxTQUFTLENBQ1AsT0FBZSxFQUNmLHlCQUFpQyxFQUNqQyxTQUFpQixFQUNqQixZQUFvQixFQUNwQixnQkFBd0I7UUFFeEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLEdBQUc7WUFDNUIsT0FBTyxFQUFFLE9BQU87WUFDaEIsTUFBTSxFQUFFLFlBQVksRUFBRSxrQ0FBa0M7U0FDekQsQ0FBQztRQUNELElBQUksQ0FBQyxZQUFpQyxDQUFDLHlCQUF5QixHQUFHLHlCQUF5QixDQUFDLENBQUMscUNBQXFDO1FBQ25JLElBQUksQ0FBQyxZQUFpQyxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUMsQ0FBQyxnREFBZ0Q7UUFDOUcsSUFBSSxDQUFDLFlBQWlDLENBQUMsZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQyw4REFBOEQ7UUFDM0ksT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsSUFBSSxDQUFDLFNBQW9CO1FBQ3ZCLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUN2QyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRjtBQWhFRCxvREFnRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcmFuc2FjdGlvblR5cGUsIFJlY2lwaWVudCB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyJztcbmltcG9ydCB7IFRva2VuVHJhbnNhY3Rpb24gfSBmcm9tICcuL3Rva2VuVHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcblxuZXhwb3J0IGNsYXNzIFRva2VuVHJhbnNmZXJCdWlsZGVyIGV4dGVuZHMgVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgcHJvdGVjdGVkIF90cmFuc2FjdGlvbjogVG9rZW5UcmFuc2FjdGlvbjtcblxuICBjb25zdHJ1Y3Rvcihjb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKGNvaW5Db25maWcpO1xuICAgIHRoaXMuX3RyYW5zYWN0aW9uID0gbmV3IFRva2VuVHJhbnNhY3Rpb24oY29pbkNvbmZpZyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IHRyYW5zYWN0aW9uVHlwZSgpOiBUcmFuc2FjdGlvblR5cGUge1xuICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuU2VuZFRva2VuO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBmcm9tSW1wbGVtZW50YXRpb24ocmF3VHJhbnNhY3Rpb246IHN0cmluZyk6IFRyYW5zYWN0aW9uIHtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uVHlwZSA9IFRyYW5zYWN0aW9uVHlwZS5TZW5kVG9rZW47XG4gICAgdGhpcy50cmFuc2FjdGlvbi5mcm9tUmF3VHJhbnNhY3Rpb24ocmF3VHJhbnNhY3Rpb24pO1xuICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHByb3RlY3RlZCBhc3luYyBidWlsZEltcGxlbWVudGF0aW9uKCk6IFByb21pc2U8VHJhbnNhY3Rpb24+IHtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLnRyYW5zYWN0aW9uVHlwZSA9IFRyYW5zYWN0aW9uVHlwZS5TZW5kVG9rZW47XG4gICAgYXdhaXQgdGhpcy50cmFuc2FjdGlvbi5idWlsZCgpO1xuICAgIHRoaXMudHJhbnNhY3Rpb24ubG9hZElucHV0c0FuZE91dHB1dHMoKTtcbiAgICByZXR1cm4gdGhpcy50cmFuc2FjdGlvbjtcbiAgfVxuXG4gIHNldEZvcndhcmRUb25BbW91bnQoYW1vdW50OiBzdHJpbmcpOiBUb2tlblRyYW5zZmVyQnVpbGRlciB7XG4gICAgKHRoaXMudHJhbnNhY3Rpb24gYXMgVG9rZW5UcmFuc2FjdGlvbikuZm9yd2FyZFRvbkFtb3VudCA9IGFtb3VudDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHNldFNlbmRlckpldHRvbldhbGxldEFkZHJlc3MoYWRkcmVzczogc3RyaW5nKTogVG9rZW5UcmFuc2ZlckJ1aWxkZXIge1xuICAgICh0aGlzLnRyYW5zYWN0aW9uIGFzIFRva2VuVHJhbnNhY3Rpb24pLnNlbmRlckpldHRvbldhbGxldEFkZHJlc3MgPSBhZGRyZXNzO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgc2V0VG9uQW1vdW50KGFtb3VudDogc3RyaW5nKTogVG9rZW5UcmFuc2ZlckJ1aWxkZXIge1xuICAgICh0aGlzLnRyYW5zYWN0aW9uIGFzIFRva2VuVHJhbnNhY3Rpb24pLnRvbkFtb3VudCA9IGFtb3VudDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8vIHJlY2lwaWVudCBtZXRob2QgdG8gaGFuZGxlIGJvdGggVE9OIGFuZCB0b2tlbiBhbW91bnRzXG4gIHJlY2lwaWVudChcbiAgICBhZGRyZXNzOiBzdHJpbmcsXG4gICAgc2VuZGVySmV0dG9uV2FsbGV0QWRkcmVzczogc3RyaW5nLFxuICAgIHRvbkFtb3VudDogc3RyaW5nLFxuICAgIGpldHRvbkFtb3VudDogc3RyaW5nLFxuICAgIGZvcndhcmRUb25BbW91bnQ6IHN0cmluZ1xuICApOiBUb2tlblRyYW5zZmVyQnVpbGRlciB7XG4gICAgdGhpcy5fdHJhbnNhY3Rpb24ucmVjaXBpZW50ID0ge1xuICAgICAgYWRkcmVzczogYWRkcmVzcyxcbiAgICAgIGFtb3VudDogamV0dG9uQW1vdW50LCAvLyBKZXR0b24gYW1vdW50IHRvIGJlIHRyYW5zZmVycmVkXG4gICAgfTtcbiAgICAodGhpcy5fdHJhbnNhY3Rpb24gYXMgVG9rZW5UcmFuc2FjdGlvbikuc2VuZGVySmV0dG9uV2FsbGV0QWRkcmVzcyA9IHNlbmRlckpldHRvbldhbGxldEFkZHJlc3M7IC8vIFRoZSBzZW5kZXIncyBKZXR0b24gd2FsbGV0IGFkZHJlc3NcbiAgICAodGhpcy5fdHJhbnNhY3Rpb24gYXMgVG9rZW5UcmFuc2FjdGlvbikudG9uQW1vdW50ID0gdG9uQW1vdW50OyAvLyBUT04gYW1vdW50IHNlbnQgdG8gdGhlIHNlbmRlcidzIEpldHRvbiB3YWxsZXRcbiAgICAodGhpcy5fdHJhbnNhY3Rpb24gYXMgVG9rZW5UcmFuc2FjdGlvbikuZm9yd2FyZFRvbkFtb3VudCA9IGZvcndhcmRUb25BbW91bnQ7IC8vIFRPTiBhbW91bnQgdG8gY292ZXIgZm9yd2FyZCBmZWVzIGluIGNhc2Ugb2Ygbm90aWZ5IHRyYW5zZmVyXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBzZW5kKHJlY2lwaWVudDogUmVjaXBpZW50KTogVG9rZW5UcmFuc2ZlckJ1aWxkZXIge1xuICAgIHRoaXMudHJhbnNhY3Rpb24ucmVjaXBpZW50ID0gcmVjaXBpZW50O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG59XG4iXX0=
@@ -1,7 +1,7 @@
1
+ import { Cell } from 'tonweb/dist/types/boc/cell';
1
2
  import { BaseKey, BaseTransaction, Recipient, TransactionType } from '@bitgo-beta/sdk-core';
2
- import { TxData, TransactionExplanation } from './iface';
3
3
  import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
4
- import { Cell } from 'tonweb/dist/types/boc/cell';
4
+ import { TransactionExplanation, TxData } from './iface';
5
5
  export declare class Transaction extends BaseTransaction {
6
6
  recipient: Recipient;
7
7
  bounceable: boolean;
@@ -13,8 +13,8 @@ export declare class Transaction extends BaseTransaction {
13
13
  expireTime: number;
14
14
  sender: string;
15
15
  publicKey: string;
16
- private unsignedMessage;
17
- private finalMessage;
16
+ protected unsignedMessage: string;
17
+ protected finalMessage: string;
18
18
  constructor(coinConfig: Readonly<CoinConfig>);
19
19
  canSign(key: BaseKey): boolean;
20
20
  toBroadcastFormat(): string;
@@ -26,14 +26,14 @@ export declare class Transaction extends BaseTransaction {
26
26
  */
27
27
  set transactionType(transactionType: TransactionType);
28
28
  build(): Promise<void>;
29
- private createSigningMessage;
30
- private createOutMsg;
29
+ protected createSigningMessage(walletId: any, seqno: any, expireAt: any): Cell;
30
+ protected createOutMsg(address: any, amount: any, payload: any): Cell;
31
31
  createExternalMessage(signingMessage: Cell, seqno: number, signature: string): Promise<Cell>;
32
32
  loadInputsAndOutputs(): void;
33
33
  fromRawTransaction(rawTransaction: string): void;
34
34
  /** @inheritDoc */
35
35
  explainTransaction(): TransactionExplanation;
36
- private parseTransaction;
36
+ protected parseTransaction(cell: Cell): any;
37
37
  private parseTransactionBody;
38
38
  private parseTransferStateInit;
39
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../src/lib/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,eAAe,EAAS,SAAS,EAAwB,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACzH,OAAO,EAAE,MAAM,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AACzD,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAG7D,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAKlD,qBAAa,WAAY,SAAQ,eAAe;IACvC,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,YAAY,CAAS;gBAEjB,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;IAO5C,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO;IAI9B,iBAAiB,IAAI,MAAM;IAI3B,MAAM,IAAI,MAAM;IAqBhB,IAAI,eAAe,IAAI,MAAM,CAE5B;IAED;;;OAGG;IACH,IAAI,eAAe,CAAC,eAAe,EAAE,eAAe,EAEnD;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAkB5B,OAAO,CAAC,oBAAoB;IAU5B,OAAO,CAAC,YAAY;IAoCd,qBAAqB,CAAC,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBlG,oBAAoB,IAAI,IAAI;IAiB5B,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IAsBhD,kBAAkB;IAClB,kBAAkB,IAAI,sBAAsB;IAkB5C,OAAO,CAAC,gBAAgB;IA6CxB,OAAO,CAAC,oBAAoB;IAgF5B,OAAO,CAAC,sBAAsB;CAgB/B"}
1
+ {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../src/lib/transaction.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAElD,OAAO,EAAE,OAAO,EAAE,eAAe,EAAS,SAAS,EAAwB,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACzH,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAGzD,qBAAa,WAAY,SAAQ,eAAe;IACvC,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,eAAe,EAAE,MAAM,CAAC;IAClC,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC;gBAEnB,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;IAO5C,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO;IAI9B,iBAAiB,IAAI,MAAM;IAI3B,MAAM,IAAI,MAAM;IAqBhB,IAAI,eAAe,IAAI,MAAM,CAE5B;IAED;;;OAGG;IACH,IAAI,eAAe,CAAC,eAAe,EAAE,eAAe,EAEnD;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAkB5B,SAAS,CAAC,oBAAoB,CAAC,QAAQ,KAAA,EAAE,KAAK,KAAA,EAAE,QAAQ,KAAA;IAUxD,SAAS,CAAC,YAAY,CAAC,OAAO,KAAA,EAAE,MAAM,KAAA,EAAE,OAAO,KAAA;IAoCzC,qBAAqB,CAAC,cAAc,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBlG,oBAAoB,IAAI,IAAI;IAiB5B,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IAmBhD,kBAAkB;IAClB,kBAAkB,IAAI,sBAAsB;IAkB5C,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,GAAG,GAAG;IA6C3C,OAAO,CAAC,oBAAoB;IAkH5B,OAAO,CAAC,sBAAsB;CAgB/B"}