@cryptorubic/web3 0.0.10 → 0.0.11
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.
- package/package.json +1 -1
- package/src/index.d.ts +6 -0
- package/src/index.js +6 -0
- package/src/index.js.map +1 -1
- package/src/lib/adapter/adapters/ton-adapter.d.ts +4 -0
- package/src/lib/adapter/adapters/ton-adapter.js +37 -0
- package/src/lib/adapter/adapters/ton-adapter.js.map +1 -1
- package/src/lib/utils/models/ton-transaction-config.d.ts +6 -0
- package/src/lib/utils/models/ton-transaction-config.js +3 -0
- package/src/lib/utils/models/ton-transaction-config.js.map +1 -0
package/package.json
CHANGED
package/src/index.d.ts
CHANGED
|
@@ -16,6 +16,11 @@ export * from './lib/adapter/adapters/evm-adapter';
|
|
|
16
16
|
export * from './lib/adapter/adapters/solana-adapter';
|
|
17
17
|
export * from './lib/adapter/adapters/tron-adapter';
|
|
18
18
|
export * from './lib/adapter/adapters/ton-adapter';
|
|
19
|
+
export * from './lib/adapter/adapters/models/ton-adapter-config';
|
|
20
|
+
export * from './lib/adapter/adapters/models/common-types';
|
|
21
|
+
export * from './lib/adapter/adapters/models/ton-api-config';
|
|
22
|
+
export * from './lib/adapter/adapters/models/tonapi-models';
|
|
23
|
+
export * from './lib/adapter/adapters/models/toncenter-types';
|
|
19
24
|
export * from './lib/utils/web3-pure';
|
|
20
25
|
export * from './lib/utils/models/evm-transaction-config';
|
|
21
26
|
export * from './lib/utils/web3-types/bitcoin-web3-pure';
|
|
@@ -37,3 +42,4 @@ export * from './lib/utils/models/abi-types';
|
|
|
37
42
|
export * from './lib/utils/models/evm-transaction-config';
|
|
38
43
|
export * from './lib/utils/models/cn-validation-response';
|
|
39
44
|
export * from './lib/utils/constants/changenow-api-blockchain';
|
|
45
|
+
export * from './lib/utils/models/ton-transaction-config';
|
package/src/index.js
CHANGED
|
@@ -16,6 +16,11 @@ tslib_1.__exportStar(require("./lib/adapter/adapters/evm-adapter"), exports);
|
|
|
16
16
|
tslib_1.__exportStar(require("./lib/adapter/adapters/solana-adapter"), exports);
|
|
17
17
|
tslib_1.__exportStar(require("./lib/adapter/adapters/tron-adapter"), exports);
|
|
18
18
|
tslib_1.__exportStar(require("./lib/adapter/adapters/ton-adapter"), exports);
|
|
19
|
+
tslib_1.__exportStar(require("./lib/adapter/adapters/models/ton-adapter-config"), exports);
|
|
20
|
+
tslib_1.__exportStar(require("./lib/adapter/adapters/models/common-types"), exports);
|
|
21
|
+
tslib_1.__exportStar(require("./lib/adapter/adapters/models/ton-api-config"), exports);
|
|
22
|
+
tslib_1.__exportStar(require("./lib/adapter/adapters/models/tonapi-models"), exports);
|
|
23
|
+
tslib_1.__exportStar(require("./lib/adapter/adapters/models/toncenter-types"), exports);
|
|
19
24
|
// utils aka web3pure
|
|
20
25
|
tslib_1.__exportStar(require("./lib/utils/web3-pure"), exports);
|
|
21
26
|
tslib_1.__exportStar(require("./lib/utils/models/evm-transaction-config"), exports);
|
|
@@ -38,4 +43,5 @@ tslib_1.__exportStar(require("./lib/utils/models/abi-types"), exports);
|
|
|
38
43
|
tslib_1.__exportStar(require("./lib/utils/models/evm-transaction-config"), exports);
|
|
39
44
|
tslib_1.__exportStar(require("./lib/utils/models/cn-validation-response"), exports);
|
|
40
45
|
tslib_1.__exportStar(require("./lib/utils/constants/changenow-api-blockchain"), exports);
|
|
46
|
+
tslib_1.__exportStar(require("./lib/utils/models/ton-transaction-config"), exports);
|
|
41
47
|
//# sourceMappingURL=index.js.map
|
package/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/web3/src/index.ts"],"names":[],"mappings":";;;AAEA,2FAAiE;AACjE,qFAA2D;AAC3D,yFAA+D;AAC/D,yFAA+D;AAC/D,8FAAoE;AACpE,0FAAgE;AAChE,2FAAiE;AACjE,+FAAqE;AACrE,8FAAoE;AACpE,4FAAkE;AAClE,kFAAwD;AACxD,6EAAmD;AACnD,gFAAsD;AACtD,8EAAoD;AACpD,6EAAmD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/web3/src/index.ts"],"names":[],"mappings":";;;AAEA,2FAAiE;AACjE,qFAA2D;AAC3D,yFAA+D;AAC/D,yFAA+D;AAC/D,8FAAoE;AACpE,0FAAgE;AAChE,2FAAiE;AACjE,+FAAqE;AACrE,8FAAoE;AACpE,4FAAkE;AAClE,kFAAwD;AACxD,6EAAmD;AACnD,gFAAsD;AACtD,8EAAoD;AACpD,6EAAmD;AACnD,2FAAiE;AACjE,qFAA2D;AAC3D,uFAA6D;AAC7D,sFAA4D;AAC5D,wFAA8D;AAE9D,qBAAqB;AACrB,gEAAsC;AACtC,oFAA0D;AAC1D,mFAAyD;AACzD,kFAAwD;AACxD,+EAAqD;AACrD,+EAAqD;AACrD,kFAAwD;AACxD,gFAAsD;AACtD,yFAA+D;AAC/D,yEAA+C;AAC/C,6EAAmD;AACnD,mFAAyD;AACzD,qFAA2D;AAC3D,6EAAmD;AACnD,qFAA2D;AAC3D,uEAA6C;AAC7C,wEAA8C;AAC9C,uEAA6C;AAC7C,oFAA0D;AAC1D,oFAA0D;AAC1D,yFAA+D;AAC/D,oFAA0D"}
|
|
@@ -4,6 +4,7 @@ import { Address, TonClient } from "@ton/ton";
|
|
|
4
4
|
import { TonApiParseAddressResp } from "./models/tonapi-models";
|
|
5
5
|
import { TonAdapterConfig } from "./models/ton-adapter-config";
|
|
6
6
|
import BigNumber from "bignumber.js";
|
|
7
|
+
import { TonTransactionConfig } from "../../utils/models/ton-transaction-config";
|
|
7
8
|
export declare class TonAdapter extends AbstractAdapter<TonClient, TonClient, TonBlockchainName> {
|
|
8
9
|
private readonly tonApi;
|
|
9
10
|
readonly tonClient: TonClient;
|
|
@@ -15,4 +16,7 @@ export declare class TonAdapter extends AbstractAdapter<TonClient, TonClient, To
|
|
|
15
16
|
getWalletAddress(address: Address, contractAddress: Address): Promise<Address>;
|
|
16
17
|
checkEnoughTokenBalance(token: TokenAmount | PriceTokenAmount, walletAddress: string, amount?: BigNumber): Promise<boolean>;
|
|
17
18
|
getBalance(walletAddress: string, tokenAddress?: string): Promise<BigNumber>;
|
|
19
|
+
getTransferEncodedConfig(tokenAddress: string, walletAddress: string, receiver: string, amount: string): Promise<TonTransactionConfig>;
|
|
20
|
+
private getTransferNativeConfig;
|
|
21
|
+
private getTransferJettonConfig;
|
|
18
22
|
}
|
|
@@ -58,6 +58,43 @@ class TonAdapter extends web3_1.AbstractAdapter {
|
|
|
58
58
|
: (await this.tonApi.fetchTokenInfoForWallet(walletAddress, tokenAddress)).balance;
|
|
59
59
|
return new bignumber_js_1.default(tokenBalance || 0);
|
|
60
60
|
}
|
|
61
|
+
getTransferEncodedConfig(tokenAddress, walletAddress, receiver, amount) {
|
|
62
|
+
if ((0, core_1.compareAddresses)(core_1.nativeTokensList.TON.address, tokenAddress)) {
|
|
63
|
+
return this.getTransferNativeConfig(receiver, amount);
|
|
64
|
+
}
|
|
65
|
+
return this.getTransferJettonConfig(tokenAddress, walletAddress, receiver, amount);
|
|
66
|
+
}
|
|
67
|
+
async getTransferNativeConfig(receiver, amount) {
|
|
68
|
+
const transferAmount = BigInt(amount);
|
|
69
|
+
const encodeConfig = {
|
|
70
|
+
address: receiver,
|
|
71
|
+
amount: transferAmount.toString()
|
|
72
|
+
};
|
|
73
|
+
return encodeConfig;
|
|
74
|
+
}
|
|
75
|
+
async getTransferJettonConfig(tokenAddress, walletAddress, receiver, amount) {
|
|
76
|
+
const fromAddress = ton_1.Address.parse(walletAddress);
|
|
77
|
+
const contractAddress = ton_1.Address.parse(tokenAddress);
|
|
78
|
+
const transferAmount = BigInt(amount);
|
|
79
|
+
const receiverAddress = ton_1.Address.parse(receiver);
|
|
80
|
+
const jettonWalletAddress = await this.getWalletAddress(fromAddress, contractAddress);
|
|
81
|
+
const body = (0, ton_1.beginCell)()
|
|
82
|
+
.storeUint(0xf8a7ea5, 32)
|
|
83
|
+
.storeUint(0, 64)
|
|
84
|
+
.storeCoins(transferAmount)
|
|
85
|
+
.storeAddress(receiverAddress)
|
|
86
|
+
.storeAddress(receiverAddress)
|
|
87
|
+
.storeBit(0)
|
|
88
|
+
.storeCoins((0, ton_1.toNano)('0.02'))
|
|
89
|
+
.storeBit(0)
|
|
90
|
+
.endCell();
|
|
91
|
+
const encodeConfig = {
|
|
92
|
+
address: jettonWalletAddress.toRawString(),
|
|
93
|
+
amount: (0, ton_1.toNano)('0.05').toString(),
|
|
94
|
+
payload: body.toBoc().toString('base64')
|
|
95
|
+
};
|
|
96
|
+
return encodeConfig;
|
|
97
|
+
}
|
|
61
98
|
}
|
|
62
99
|
exports.TonAdapter = TonAdapter;
|
|
63
100
|
//# sourceMappingURL=ton-adapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ton-adapter.js","sourceRoot":"","sources":["../../../../../../../packages/web3/src/lib/adapter/adapters/ton-adapter.ts"],"names":[],"mappings":";;;AAAA,4CAA8D;AAC9D,4CAQ2B;AAC3B,6DAAsD;AACtD,
|
|
1
|
+
{"version":3,"file":"ton-adapter.js","sourceRoot":"","sources":["../../../../../../../packages/web3/src/lib/adapter/adapters/ton-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ton-transaction-config.js","sourceRoot":"","sources":["../../../../../../../packages/web3/src/lib/utils/models/ton-transaction-config.ts"],"names":[],"mappings":""}
|