@bronlabs/intents-sdk 1.0.15 → 1.0.17
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/dist/networks/canton.js +2 -2
- package/dist/networks/canton.js.map +1 -1
- package/dist/networks/evm.js +18 -11
- package/dist/networks/evm.js.map +1 -1
- package/dist/networks/sol.js +24 -25
- package/dist/networks/sol.js.map +1 -1
- package/dist/networks/trx.js +36 -33
- package/dist/networks/trx.js.map +1 -1
- package/package.json +1 -1
package/dist/networks/canton.js
CHANGED
|
@@ -85,7 +85,7 @@ export class CantonNetwork {
|
|
|
85
85
|
"nonce": nonce
|
|
86
86
|
}
|
|
87
87
|
});
|
|
88
|
-
const
|
|
88
|
+
const { update_id } = await this.nodeRequest({
|
|
89
89
|
method: 'POST',
|
|
90
90
|
uri: `/v0/admin/external-party/transfer-preapproval/submit-send`,
|
|
91
91
|
body: {
|
|
@@ -97,7 +97,7 @@ export class CantonNetwork {
|
|
|
97
97
|
}
|
|
98
98
|
}
|
|
99
99
|
});
|
|
100
|
-
return
|
|
100
|
+
return update_id;
|
|
101
101
|
}
|
|
102
102
|
async getAccessToken() {
|
|
103
103
|
if (this.accessToken && this.accessTokenExpiresAt > Date.now() + 30_000) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canton.js","sourceRoot":"","sources":["../../src/networks/canton.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"canton.js","sourceRoot":"","sources":["../../src/networks/canton.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,GAAG,MAAM,QAAQ,CAAC;AACzB,OAAO,KAAK,MAAM,YAAY,CAAC;AAG/B,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,MAAM,OAAO,aAAa;IAexB,YAAY,eAAuB,EAAE,UAAmB,EAAE,QAAiB,EAAE,YAAqB,EAAE,aAAsB;QAZzG,wBAAmB,GAAW,EAAE,CAAC;QACzC,eAAU,GAAW,IAAI,CAAC;QAS3B,yBAAoB,GAAW,CAAC,CAAC;QAGvC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,UAAU,GAAG,UAAU,IAAI,eAAe,CAAC;QAEhD,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE;YACrF,kBAAkB,EAAE,KAAK;SAC1B,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAEf,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QAEjC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,YAAoB;QACpC,IAAI,YAAY,KAAK,KAAK,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,mBAAmB,CAAC;QAClC,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAAc,EAAE,YAAoB;QAClD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,UAAU,eAAe,MAAM,EAAE,EAAE;YACpE,MAAM,EAAE,KAAK;YACb,KAAK,EAAE,IAAI,CAAC,UAAU;SACvB,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,mCAAmC,MAAM,KAAK,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QACtG,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QAEjC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,mCAAmC,MAAM,KAAK,IAAI,EAAE,KAAK,IAAI,eAAe,EAAE,CAAC,CAAC;QAClG,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,MAAM,IAAI,CAAC,CAAC;QACtD,MAAM,EAAE,GAAG,YAAY,CAAC,eAAe,CAAC,QAAQ,CAAC;QAEjD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,eAAe,CAAC,MAAM,CAAC;aACxD,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;aAC1C,QAAQ,EAAE,CAAC;QAEd,IAAI,YAAY,KAAK,KAAK,EAAE,CAAC;YAC3B,OAAO;gBACL,EAAE,EAAE,EAAE;gBACN,KAAK,EAAE,YAAY;gBACnB,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;gBAC9B,SAAS,EAAE,IAAI;aAChB,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,UAAkB,EAAE,EAAU,EAAE,KAAgB,EAAE,YAAoB;QACnF,IAAI,YAAY,IAAI,KAAK,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpD,CAAC;QAED,MAAM,SAAS,GAAG,CAAC,MAAM,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,CAAC;QAErG,IAAI,KAAK,CAAC;QACV,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC;gBAClC,MAAM,EAAE,KAAK;gBACb,GAAG,EAAE,2CAA2C,IAAI,CAAC,aAAa,EAAE;gBACpE,KAAK,EAAE,KAAK;aACb,CAAC,CAAC;YAEH,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACjF,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,2CAA2C,CAAC,EAAE,CAAC;gBAC1F,KAAK,GAAG,CAAC,CAAC;YACZ,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,CAAC;YACV,CAAC;QACH,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC;YACzC,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,4DAA4D;YACjE,IAAI,EAAE;gBACJ,iBAAiB,EAAE,IAAI,CAAC,aAAa;gBACrC,mBAAmB,EAAE,EAAE;gBACvB,QAAQ,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,QAAQ,EAAE;gBAC7F,YAAY,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,CAAC,WAAW,EAAE;gBAC3D,OAAO,EAAE,KAAK;aACf;SACF,CAAC,CAAC;QAEH,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC;YAC3C,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,2DAA2D;YAChE,IAAI,EAAE;gBACJ,YAAY,EAAE;oBACZ,UAAU,EAAE,IAAI,CAAC,aAAa;oBAC9B,aAAa,EAAE,WAAW,CAAC,WAAW;oBACtC,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE;oBACpI,YAAY,EAAE,SAAS;iBACxB;aACF;SACF,CAAC,CAAC;QAEH,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,KAAK,CAAC,cAAc;QAC1B,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;YACxE,OAAO,IAAI,CAAC,WAAW,CAAC;QAC1B,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,sDAAsD,EAAE;YACnF,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,WAAW,EAAE,IAAI,CAAC,QAAQ;gBAC1B,eAAe,EAAE,IAAI,CAAC,YAAY;gBAClC,UAAU,EAAE,+BAA+B;gBAC3C,YAAY,EAAE,oBAAoB;aACnC,CAAC;SACH,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,+BAA+B,QAAQ,CAAC,MAAM,MAAM,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC/F,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAEnC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;QACrC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;QAElE,OAAO,IAAI,CAAC,WAAY,CAAC;IAC3B,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,GAAG,SAAS,EAAE,IAAI,GAAG,SAAS,EAAE,KAAK,GAAG,IAAI,EAMxF;QACC,OAAO,QAAQ,CAAC,KAAK,IAAI,EAAE;YACzB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;YACxB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;YAEhD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,CAAC,eAAe,GAAG,GAAG,EAAE,EAAE;gBAChE,MAAM;gBACN,OAAO,EAAE;oBACP,eAAe,EAAE,UAAU,WAAW,EAAE;oBACxC,cAAc,EAAE,kBAAkB;iBACnC;gBACD,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC7C,KAAK,EAAE,IAAI,CAAC,UAAU;aACvB,CAAC,CAAA;YAEF,IAAI,GAAG,GAAG,GAAG,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,eAAe,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,KAAK,CAAA;YAEzH,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;gBACb,GAAG,IAAI,KAAK,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,CAAA;gBAC/B,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;gBAEd,MAAM,IAAI,KAAK,CAAC,aAAa,GAAG,EAAE,CAAC,CAAC;YACtC,CAAC;YAED,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAEd,OAAO,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAC3B,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACnB,CAAC;CACF"}
|
package/dist/networks/evm.js
CHANGED
|
@@ -12,7 +12,7 @@ export class EvmNetwork {
|
|
|
12
12
|
if (tokenAddress === "0x0") {
|
|
13
13
|
return this.nativeAssetDecimals;
|
|
14
14
|
}
|
|
15
|
-
const
|
|
15
|
+
const { result } = await fetch(this.rpcUrl, {
|
|
16
16
|
method: 'POST',
|
|
17
17
|
body: JSON.stringify({
|
|
18
18
|
id: 1,
|
|
@@ -26,8 +26,7 @@ export class EvmNetwork {
|
|
|
26
26
|
"latest"
|
|
27
27
|
]
|
|
28
28
|
})
|
|
29
|
-
});
|
|
30
|
-
const { result } = await response.json();
|
|
29
|
+
}).then((res) => res.json());
|
|
31
30
|
return parseInt(result, 16);
|
|
32
31
|
}
|
|
33
32
|
async getTxData(txHash, tokenAddress) {
|
|
@@ -44,13 +43,17 @@ export class EvmNetwork {
|
|
|
44
43
|
})
|
|
45
44
|
});
|
|
46
45
|
const { result } = await response.json();
|
|
47
|
-
if (!result
|
|
48
|
-
|
|
46
|
+
if (!result) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
const confirmed = (currentBlock - result.blockNumber) >= this.confirmations;
|
|
50
|
+
if (result.status != "0x1") {
|
|
51
|
+
log.warn(`Transaction ${txHash} failed on blockchain: ${result}`);
|
|
49
52
|
return {
|
|
50
53
|
to: "",
|
|
51
54
|
token: "",
|
|
52
55
|
amount: BigNumber.from(0),
|
|
53
|
-
confirmed
|
|
56
|
+
confirmed
|
|
54
57
|
};
|
|
55
58
|
}
|
|
56
59
|
const { to, value, blockNumber } = result;
|
|
@@ -59,7 +62,7 @@ export class EvmNetwork {
|
|
|
59
62
|
to: to,
|
|
60
63
|
token: tokenAddress,
|
|
61
64
|
amount: BigNumber.from(value),
|
|
62
|
-
confirmed
|
|
65
|
+
confirmed
|
|
63
66
|
};
|
|
64
67
|
}
|
|
65
68
|
// ERC20 token
|
|
@@ -73,13 +76,17 @@ export class EvmNetwork {
|
|
|
73
76
|
})
|
|
74
77
|
});
|
|
75
78
|
const { result } = await response.json();
|
|
76
|
-
if (!result
|
|
77
|
-
|
|
79
|
+
if (!result) {
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
const confirmed = (currentBlock - result.blockNumber) >= this.confirmations;
|
|
83
|
+
if (result.status != "0x1") {
|
|
84
|
+
log.warn(`Transaction ${txHash} failed on blockchain: ${result}`);
|
|
78
85
|
return {
|
|
79
86
|
to: "",
|
|
80
87
|
token: "",
|
|
81
88
|
amount: BigNumber.from(0),
|
|
82
|
-
confirmed
|
|
89
|
+
confirmed
|
|
83
90
|
};
|
|
84
91
|
}
|
|
85
92
|
const receipt = result;
|
|
@@ -88,7 +95,7 @@ export class EvmNetwork {
|
|
|
88
95
|
to: '0x' + receipt.logs[0].topics[2].slice(26),
|
|
89
96
|
token: receipt.to,
|
|
90
97
|
amount: BigNumber.from(receipt.logs[0].data),
|
|
91
|
-
confirmed
|
|
98
|
+
confirmed
|
|
92
99
|
};
|
|
93
100
|
}
|
|
94
101
|
async transfer(privateKey, to, value, tokenAddress) {
|
package/dist/networks/evm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evm.js","sourceRoot":"","sources":["../../src/networks/evm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAG3C,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAWlC,MAAM,OAAO,UAAU;IAOrB,YAAY,MAAc,EAAE,gBAAwB,CAAC;QAHpC,wBAAmB,GAAW,EAAE,CAAC;QACzC,eAAU,GAAW,IAAI,CAAC;QAGjC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAC7D,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,YAAoB;QACpC,IAAI,YAAY,KAAK,KAAK,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,mBAAmB,CAAC;QAClC,CAAC;QAED,MAAM,
|
|
1
|
+
{"version":3,"file":"evm.js","sourceRoot":"","sources":["../../src/networks/evm.ts"],"names":[],"mappings":"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"}
|
package/dist/networks/sol.js
CHANGED
|
@@ -15,7 +15,7 @@ export class SolNetwork {
|
|
|
15
15
|
if (tokenAddress === "0x0") {
|
|
16
16
|
return this.nativeAssetDecimals;
|
|
17
17
|
}
|
|
18
|
-
const
|
|
18
|
+
const { result } = await fetch(this.rpcUrl, {
|
|
19
19
|
method: 'POST',
|
|
20
20
|
body: JSON.stringify({
|
|
21
21
|
id: 1,
|
|
@@ -25,8 +25,7 @@ export class SolNetwork {
|
|
|
25
25
|
"encoding": "jsonParsed"
|
|
26
26
|
}]
|
|
27
27
|
})
|
|
28
|
-
});
|
|
29
|
-
const { result } = await response.json();
|
|
28
|
+
}).then((res) => res.json());
|
|
30
29
|
return result.value.data.parsed.info.decimals;
|
|
31
30
|
}
|
|
32
31
|
async getTxData(txHash, tokenAddress) {
|
|
@@ -39,7 +38,7 @@ export class SolNetwork {
|
|
|
39
38
|
params: []
|
|
40
39
|
})
|
|
41
40
|
}).then((res) => res.json()).then((res) => res.result.context.slot);
|
|
42
|
-
const
|
|
41
|
+
const { result } = await fetch(this.rpcUrl, {
|
|
43
42
|
method: 'POST',
|
|
44
43
|
body: JSON.stringify({
|
|
45
44
|
id: 1,
|
|
@@ -51,40 +50,43 @@ export class SolNetwork {
|
|
|
51
50
|
"encoding": "json"
|
|
52
51
|
}]
|
|
53
52
|
})
|
|
54
|
-
}).then((res) => res.json())
|
|
55
|
-
if (!
|
|
56
|
-
|
|
53
|
+
}).then((res) => res.json());
|
|
54
|
+
if (!result)
|
|
55
|
+
return;
|
|
56
|
+
const blockNumber = result.slot || currentBlock;
|
|
57
|
+
const confirmed = currentBlock - blockNumber >= this.confirmations;
|
|
58
|
+
if (result.meta?.err) {
|
|
59
|
+
log.warn(`Transaction ${txHash} failed on blockchain: ${result}`);
|
|
57
60
|
return {
|
|
58
61
|
to: "",
|
|
59
62
|
token: "",
|
|
60
63
|
amount: BigNumber.from(0),
|
|
61
|
-
confirmed
|
|
64
|
+
confirmed
|
|
62
65
|
};
|
|
63
66
|
}
|
|
64
|
-
const blockNumber = response.slot;
|
|
65
67
|
log.info(`Confirmations ${txHash}: ${currentBlock - blockNumber}`);
|
|
66
68
|
// Native token - SOL
|
|
67
69
|
if (tokenAddress === "0x0") {
|
|
68
|
-
if (BigNumber.from(
|
|
70
|
+
if (BigNumber.from(result.meta.postBalances[0] - result.meta.preBalances[0]).gt(0)) {
|
|
69
71
|
return {
|
|
70
|
-
to:
|
|
72
|
+
to: result.transaction.message.accountKeys[0],
|
|
71
73
|
token: tokenAddress,
|
|
72
|
-
amount: BigNumber.from(
|
|
73
|
-
confirmed
|
|
74
|
+
amount: BigNumber.from(result.meta.postBalances[0] - result.meta.preBalances[0]),
|
|
75
|
+
confirmed
|
|
74
76
|
};
|
|
75
77
|
}
|
|
76
78
|
else {
|
|
77
79
|
return {
|
|
78
|
-
to:
|
|
80
|
+
to: result.transaction.message.accountKeys[1],
|
|
79
81
|
token: tokenAddress,
|
|
80
|
-
amount: BigNumber.from(
|
|
81
|
-
confirmed
|
|
82
|
+
amount: BigNumber.from(result.meta.postBalances[1] - result.meta.preBalances[1]),
|
|
83
|
+
confirmed
|
|
82
84
|
};
|
|
83
85
|
}
|
|
84
86
|
}
|
|
85
87
|
// ERC20 token
|
|
86
|
-
const postTokenBalances =
|
|
87
|
-
const preTokenBalances =
|
|
88
|
+
const postTokenBalances = result.meta.postTokenBalances.filter((balance) => balance.mint === tokenAddress);
|
|
89
|
+
const preTokenBalances = result.meta.preTokenBalances.filter((balance) => balance.mint === tokenAddress);
|
|
88
90
|
const senderAddress = (() => {
|
|
89
91
|
// Find the account that has less tokens in postTokenBalances than in preTokenBalances
|
|
90
92
|
for (const postBalance of postTokenBalances) {
|
|
@@ -105,30 +107,27 @@ export class SolNetwork {
|
|
|
105
107
|
to: postTokenBalanceOfReceiver.owner,
|
|
106
108
|
token: postTokenBalanceOfReceiver.mint,
|
|
107
109
|
amount: BigNumber.from(postTokenBalanceOfReceiver.uiTokenAmount.amount - preBalance.toNumber()),
|
|
108
|
-
confirmed
|
|
110
|
+
confirmed
|
|
109
111
|
};
|
|
110
112
|
}
|
|
111
113
|
async transfer(privateKey, to, value, tokenAddress) {
|
|
112
114
|
const keypair = this.base58ToKeypair(privateKey);
|
|
113
|
-
const toPubkey = new PublicKey(to);
|
|
114
115
|
if (tokenAddress === "0x0") {
|
|
115
116
|
// Send SOL (native token)
|
|
116
117
|
const transaction = new Transaction().add(SystemProgram.transfer({
|
|
117
118
|
fromPubkey: keypair.publicKey,
|
|
118
|
-
toPubkey:
|
|
119
|
+
toPubkey: new PublicKey(to),
|
|
119
120
|
lamports: value.toNumber()
|
|
120
121
|
}));
|
|
121
122
|
transaction.recentBlockhash = (await this.connection.getLatestBlockhash()).blockhash;
|
|
122
|
-
|
|
123
|
-
return signature;
|
|
123
|
+
return await this.connection.sendTransaction(transaction, [keypair]);
|
|
124
124
|
}
|
|
125
125
|
const senderTokenAccount = await getOrCreateAssociatedTokenAccount(this.connection, keypair, new PublicKey(tokenAddress), keypair.publicKey);
|
|
126
126
|
const receiverTokenAccount = await getOrCreateAssociatedTokenAccount(this.connection, keypair, new PublicKey(tokenAddress), new PublicKey(to), true // Allow creating a token account for the receiver if it doesn't exist
|
|
127
127
|
);
|
|
128
128
|
const transaction = new Transaction().add(createTransferInstruction(senderTokenAccount.address, receiverTokenAccount.address, keypair.publicKey, value.toNumber()));
|
|
129
129
|
transaction.recentBlockhash = (await this.connection.getLatestBlockhash()).blockhash;
|
|
130
|
-
|
|
131
|
-
return signature;
|
|
130
|
+
return await this.connection.sendTransaction(transaction, [keypair]);
|
|
132
131
|
}
|
|
133
132
|
base58ToKeypair(base58PrivateKey) {
|
|
134
133
|
try {
|
package/dist/networks/sol.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sol.js","sourceRoot":"","sources":["../../src/networks/sol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC7F,OAAO,EAAE,yBAAyB,EAAE,iCAAiC,EAAE,MAAM,mBAAmB,CAAC;AACjG,OAAO,IAAI,MAAM,MAAM,CAAC;AAGxB,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAElC,MAAM,OAAO,UAAU;IAOrB,YAAY,MAAc,EAAE,gBAAwB,EAAE;QAJrC,wBAAmB,GAAW,CAAC,CAAC,CAAC,qBAAqB;QAC9D,eAAU,GAAW,IAAI,CAAC;QAIjC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,YAAoB;QACpC,IAAI,YAAY,KAAK,KAAK,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,mBAAmB,CAAC;QAClC,CAAC;QAED,MAAM,
|
|
1
|
+
{"version":3,"file":"sol.js","sourceRoot":"","sources":["../../src/networks/sol.ts"],"names":[],"mappings":"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"}
|
package/dist/networks/trx.js
CHANGED
|
@@ -9,7 +9,7 @@ export class TrxNetwork {
|
|
|
9
9
|
this.rpcUrl = rpcUrl;
|
|
10
10
|
this.confirmations = confirmations;
|
|
11
11
|
this.tronWeb = new TronWeb({
|
|
12
|
-
fullHost: rpcUrl
|
|
12
|
+
fullHost: rpcUrl
|
|
13
13
|
});
|
|
14
14
|
}
|
|
15
15
|
async getDecimals(tokenAddress) {
|
|
@@ -20,20 +20,20 @@ export class TrxNetwork {
|
|
|
20
20
|
method: "POST",
|
|
21
21
|
headers: {
|
|
22
22
|
accept: "application/json",
|
|
23
|
-
"content-type": "application/json"
|
|
23
|
+
"content-type": "application/json"
|
|
24
24
|
},
|
|
25
|
-
body: JSON.stringify({ owner_address: tokenAddress, contract_address: tokenAddress, function_selector: "decimals()", parameter: "", visible: true })
|
|
26
|
-
}).then((res) => res.json())
|
|
27
|
-
return parseInt(response, 16);
|
|
25
|
+
body: JSON.stringify({ owner_address: tokenAddress, contract_address: tokenAddress, function_selector: "decimals()", parameter: "", visible: true })
|
|
26
|
+
}).then((res) => res.json());
|
|
27
|
+
return parseInt(response.constant_result[0], 16);
|
|
28
28
|
}
|
|
29
29
|
async getTxData(txHash, tokenAddress) {
|
|
30
30
|
const currentBlock = await fetch(`${this.rpcUrl}/wallet/getblockbylatestnum`, {
|
|
31
31
|
method: "POST",
|
|
32
32
|
headers: {
|
|
33
33
|
accept: "application/json",
|
|
34
|
-
"content-type": "application/json"
|
|
34
|
+
"content-type": "application/json"
|
|
35
35
|
},
|
|
36
|
-
body: JSON.stringify({ num: 1 })
|
|
36
|
+
body: JSON.stringify({ num: 1 })
|
|
37
37
|
}).then((res) => res.json()).then((res) => res.block[0].block_header.raw_data.number);
|
|
38
38
|
// Native token - TRX
|
|
39
39
|
if (tokenAddress === "0x0") {
|
|
@@ -41,35 +41,36 @@ export class TrxNetwork {
|
|
|
41
41
|
method: "POST",
|
|
42
42
|
headers: {
|
|
43
43
|
accept: "application/json",
|
|
44
|
-
"content-type": "application/json"
|
|
44
|
+
"content-type": "application/json"
|
|
45
45
|
},
|
|
46
|
-
body: JSON.stringify({ value: txHash })
|
|
46
|
+
body: JSON.stringify({ value: txHash })
|
|
47
47
|
}).then((res) => res.json());
|
|
48
|
-
if (!response
|
|
49
|
-
|
|
50
|
-
return {
|
|
51
|
-
to: "",
|
|
52
|
-
token: "",
|
|
53
|
-
amount: BigNumber.from(0),
|
|
54
|
-
confirmed: true,
|
|
55
|
-
};
|
|
56
|
-
}
|
|
57
|
-
const to = fromHex(response.raw_data.contract[0].parameter.value.to_address);
|
|
58
|
-
const value = response.raw_data.contract[0].parameter.value.amount;
|
|
48
|
+
if (!response)
|
|
49
|
+
return;
|
|
59
50
|
const blockNumber = await fetch(`${this.rpcUrl}/wallet/gettransactioninfobyid`, {
|
|
60
51
|
method: "POST",
|
|
61
52
|
headers: {
|
|
62
53
|
accept: "application/json",
|
|
63
|
-
"content-type": "application/json"
|
|
54
|
+
"content-type": "application/json"
|
|
64
55
|
},
|
|
65
|
-
body: JSON.stringify({ value: txHash })
|
|
56
|
+
body: JSON.stringify({ value: txHash })
|
|
66
57
|
}).then((res) => res.json()).then((res) => res.blockNumber);
|
|
58
|
+
const confirmed = currentBlock - blockNumber >= this.confirmations;
|
|
59
|
+
if (response.ret[0].contractRet != "SUCCESS") {
|
|
60
|
+
log.warn(`Transaction ${txHash} failed on blockchain: ${response}`);
|
|
61
|
+
return {
|
|
62
|
+
to: "",
|
|
63
|
+
token: "",
|
|
64
|
+
amount: BigNumber.from(0),
|
|
65
|
+
confirmed
|
|
66
|
+
};
|
|
67
|
+
}
|
|
67
68
|
log.info(`Confirmations ${txHash}: ${currentBlock - blockNumber}`);
|
|
68
69
|
return {
|
|
69
|
-
to:
|
|
70
|
+
to: fromHex(response.raw_data.contract[0].parameter.value.to_address),
|
|
70
71
|
token: tokenAddress,
|
|
71
|
-
amount: BigNumber.from(value),
|
|
72
|
-
confirmed
|
|
72
|
+
amount: BigNumber.from(response.raw_data.contract[0].parameter.value.amount),
|
|
73
|
+
confirmed
|
|
73
74
|
};
|
|
74
75
|
}
|
|
75
76
|
// ERC20 token
|
|
@@ -77,24 +78,27 @@ export class TrxNetwork {
|
|
|
77
78
|
method: "POST",
|
|
78
79
|
headers: {
|
|
79
80
|
accept: "application/json",
|
|
80
|
-
"content-type": "application/json"
|
|
81
|
+
"content-type": "application/json"
|
|
81
82
|
},
|
|
82
|
-
body: JSON.stringify({ value: txHash })
|
|
83
|
+
body: JSON.stringify({ value: txHash })
|
|
83
84
|
}).then((res) => res.json());
|
|
84
|
-
if (!response
|
|
85
|
-
|
|
85
|
+
if (!response)
|
|
86
|
+
return;
|
|
87
|
+
const confirmed = currentBlock - response.blockNumber >= this.confirmations;
|
|
88
|
+
if (response.receipt.result != "SUCCESS") {
|
|
89
|
+
log.warn(`Transaction ${txHash} failed on blockchain: ${response}`);
|
|
86
90
|
return {
|
|
87
91
|
to: "",
|
|
88
92
|
token: "",
|
|
89
93
|
amount: BigNumber.from(0),
|
|
90
|
-
confirmed
|
|
94
|
+
confirmed
|
|
91
95
|
};
|
|
92
96
|
}
|
|
93
97
|
return {
|
|
94
98
|
to: fromHex("0x" + response.log[0].topics[2].toString().slice(24)),
|
|
95
99
|
token: fromHex(response.contract_address),
|
|
96
100
|
amount: BigNumber.from(parseInt(response.log[0].data, 16)),
|
|
97
|
-
confirmed
|
|
101
|
+
confirmed
|
|
98
102
|
};
|
|
99
103
|
}
|
|
100
104
|
async transfer(privateKey, to, value, tokenAddress) {
|
|
@@ -108,8 +112,7 @@ export class TrxNetwork {
|
|
|
108
112
|
const { abi } = await this.tronWeb.trx.getContract(tokenAddress);
|
|
109
113
|
// Send USDT or other TRC20 tokens
|
|
110
114
|
const contract = this.tronWeb.contract(abi.entrys, tokenAddress);
|
|
111
|
-
|
|
112
|
-
return tx;
|
|
115
|
+
return await contract.methods.transfer(to, value.toNumber()).send();
|
|
113
116
|
}
|
|
114
117
|
}
|
|
115
118
|
//# sourceMappingURL=trx.js.map
|
package/dist/networks/trx.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trx.js","sourceRoot":"","sources":["../../src/networks/trx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"trx.js","sourceRoot":"","sources":["../../src/networks/trx.ts"],"names":[],"mappings":"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"}
|