@bitgo-beta/sdk-coin-sui 1.0.1-beta.0 → 1.0.1-beta.100
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/CHANGELOG.md +80 -0
- package/dist/src/lib/bcs.d.ts +3 -0
- package/dist/src/lib/bcs.d.ts.map +1 -0
- package/dist/src/lib/bcs.js +85 -0
- package/dist/src/lib/constants.d.ts +10 -0
- package/dist/src/lib/constants.d.ts.map +1 -0
- package/dist/src/lib/constants.js +16 -0
- package/dist/src/lib/iface.d.ts +55 -1
- package/dist/src/lib/iface.d.ts.map +1 -1
- package/dist/src/lib/iface.js +1 -1
- package/dist/src/lib/keyPair.d.ts +7 -1
- package/dist/src/lib/keyPair.d.ts.map +1 -1
- package/dist/src/lib/keyPair.js +52 -4
- package/dist/src/lib/transaction.d.ts +55 -2
- package/dist/src/lib/transaction.d.ts.map +1 -1
- package/dist/src/lib/transaction.js +318 -4
- package/dist/src/lib/transactionBuilder.d.ts +34 -3
- package/dist/src/lib/transactionBuilder.d.ts.map +1 -1
- package/dist/src/lib/transactionBuilder.js +197 -10
- package/dist/src/lib/transactionBuilderFactory.d.ts +18 -1
- package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
- package/dist/src/lib/transactionBuilderFactory.js +48 -4
- package/dist/src/lib/utils.d.ts +43 -2
- package/dist/src/lib/utils.d.ts.map +1 -1
- package/dist/src/lib/utils.js +99 -6
- package/dist/src/sui.d.ts +32 -3
- package/dist/src/sui.d.ts.map +1 -1
- package/dist/src/sui.js +147 -8
- package/package.json +12 -7
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
# Change Log
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
|
+
|
|
6
|
+
## [1.6.3](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@1.6.2...@bitgo/sdk-coin-sui@1.6.3) (2022-12-09)
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
- **sdk-coin-sui:** add signed data to serialized str ([1f49745](https://github.com/BitGo/BitGoJS/commit/1f49745f2c8ba2e1f3016e21448c1c6519fd4a73))
|
|
11
|
+
- **sdk-coin-sui:** fix serialization byte size ([750a16d](https://github.com/BitGo/BitGoJS/commit/750a16df89fa282d567aad1e362a4e772acb4832))
|
|
12
|
+
|
|
13
|
+
## [1.6.2](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@1.6.1...@bitgo/sdk-coin-sui@1.6.2) (2022-12-06)
|
|
14
|
+
|
|
15
|
+
**Note:** Version bump only for package @bitgo/sdk-coin-sui
|
|
16
|
+
|
|
17
|
+
## [1.6.1](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@1.6.0...@bitgo/sdk-coin-sui@1.6.1) (2022-12-01)
|
|
18
|
+
|
|
19
|
+
**Note:** Version bump only for package @bitgo/sdk-coin-sui
|
|
20
|
+
|
|
21
|
+
# [1.6.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@1.2.0...@bitgo/sdk-coin-sui@1.6.0) (2022-11-29)
|
|
22
|
+
|
|
23
|
+
### Bug Fixes
|
|
24
|
+
|
|
25
|
+
- **sdk-coin-sui:** added signature to sui transaction ([17e06be](https://github.com/BitGo/BitGoJS/commit/17e06bec0eaffb0db2464dc456c01e5db324d94b))
|
|
26
|
+
- **sdk-coin-sui:** fix serialized tx format type ([b1f716e](https://github.com/BitGo/BitGoJS/commit/b1f716ee1b76624487affd956e29f1ff351ba306))
|
|
27
|
+
- **sdk-coin-sui:** fix sui gasPayment in inputCoins ([22328e2](https://github.com/BitGo/BitGoJS/commit/22328e268429c3d664cc890aedf2eb938de2fbf4))
|
|
28
|
+
|
|
29
|
+
### Features
|
|
30
|
+
|
|
31
|
+
- implement isWalletAddress for SUI ([a3696ab](https://github.com/BitGo/BitGoJS/commit/a3696ab00f693da2db4ef32034a85504dc5aa4c5))
|
|
32
|
+
- implement sui keypair ([1ae6096](https://github.com/BitGo/BitGoJS/commit/1ae6096bbf48de1db0ccc8a3122b114f0e1489ce))
|
|
33
|
+
- **sdk-coin-sui:** add sui parse transaction ([c1b7b4f](https://github.com/BitGo/BitGoJS/commit/c1b7b4f21bd866e22192111dff304bb87f3460e5))
|
|
34
|
+
- **sdk-coin-sui:** added sui explain transaction ([0e681da](https://github.com/BitGo/BitGoJS/commit/0e681da2f5572e66dffe0be992c13acdcafc549d))
|
|
35
|
+
- **sdk-coin-sui:** support paySui and payAllSui transaction types ([2df4f9f](https://github.com/BitGo/BitGoJS/commit/2df4f9fa7423d3bc0ccf7fea478291ce3217b8ed))
|
|
36
|
+
|
|
37
|
+
# [1.5.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@1.2.0...@bitgo/sdk-coin-sui@1.5.0) (2022-11-04)
|
|
38
|
+
|
|
39
|
+
### Bug Fixes
|
|
40
|
+
|
|
41
|
+
- **sdk-coin-sui:** added signature to sui transaction ([17e06be](https://github.com/BitGo/BitGoJS/commit/17e06bec0eaffb0db2464dc456c01e5db324d94b))
|
|
42
|
+
|
|
43
|
+
### Features
|
|
44
|
+
|
|
45
|
+
- implement isWalletAddress for SUI ([a3696ab](https://github.com/BitGo/BitGoJS/commit/a3696ab00f693da2db4ef32034a85504dc5aa4c5))
|
|
46
|
+
- implement sui keypair ([1ae6096](https://github.com/BitGo/BitGoJS/commit/1ae6096bbf48de1db0ccc8a3122b114f0e1489ce))
|
|
47
|
+
- **sdk-coin-sui:** add sui parse transaction ([c1b7b4f](https://github.com/BitGo/BitGoJS/commit/c1b7b4f21bd866e22192111dff304bb87f3460e5))
|
|
48
|
+
- **sdk-coin-sui:** added sui explain transaction ([0e681da](https://github.com/BitGo/BitGoJS/commit/0e681da2f5572e66dffe0be992c13acdcafc549d))
|
|
49
|
+
|
|
50
|
+
# [1.4.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@1.2.0...@bitgo/sdk-coin-sui@1.4.0) (2022-10-27)
|
|
51
|
+
|
|
52
|
+
### Features
|
|
53
|
+
|
|
54
|
+
- implement isWalletAddress for SUI ([a3696ab](https://github.com/BitGo/BitGoJS/commit/a3696ab00f693da2db4ef32034a85504dc5aa4c5))
|
|
55
|
+
- implement sui keypair ([1ae6096](https://github.com/BitGo/BitGoJS/commit/1ae6096bbf48de1db0ccc8a3122b114f0e1489ce))
|
|
56
|
+
- **sdk-coin-sui:** add sui parse transaction ([c1b7b4f](https://github.com/BitGo/BitGoJS/commit/c1b7b4f21bd866e22192111dff304bb87f3460e5))
|
|
57
|
+
- **sdk-coin-sui:** added sui explain transaction ([0e681da](https://github.com/BitGo/BitGoJS/commit/0e681da2f5572e66dffe0be992c13acdcafc549d))
|
|
58
|
+
|
|
59
|
+
# [1.3.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-sui@1.2.0...@bitgo/sdk-coin-sui@1.3.0) (2022-10-25)
|
|
60
|
+
|
|
61
|
+
### Features
|
|
62
|
+
|
|
63
|
+
- implement isWalletAddress for SUI ([a3696ab](https://github.com/BitGo/BitGoJS/commit/a3696ab00f693da2db4ef32034a85504dc5aa4c5))
|
|
64
|
+
- implement sui keypair ([1ae6096](https://github.com/BitGo/BitGoJS/commit/1ae6096bbf48de1db0ccc8a3122b114f0e1489ce))
|
|
65
|
+
- **sdk-coin-sui:** add sui parse transaction ([c1b7b4f](https://github.com/BitGo/BitGoJS/commit/c1b7b4f21bd866e22192111dff304bb87f3460e5))
|
|
66
|
+
- **sdk-coin-sui:** added sui explain transaction ([0e681da](https://github.com/BitGo/BitGoJS/commit/0e681da2f5572e66dffe0be992c13acdcafc549d))
|
|
67
|
+
|
|
68
|
+
# 1.2.0 (2022-10-18)
|
|
69
|
+
|
|
70
|
+
### Bug Fixes
|
|
71
|
+
|
|
72
|
+
- **sdk-coin-sui:** fix sui verifyTransaction ([72d94b5](https://github.com/BitGo/BitGoJS/commit/72d94b588ee30f6778be01799d91e5aa3e09863b))
|
|
73
|
+
|
|
74
|
+
### Features
|
|
75
|
+
|
|
76
|
+
- implement isValidAddress for SUI ([e47c41d](https://github.com/BitGo/BitGoJS/commit/e47c41d3f0b74b30df6851d06da32ef6bb96153d))
|
|
77
|
+
- **sdk-coin-sui:** added SUI skeleton ([7b04dd1](https://github.com/BitGo/BitGoJS/commit/7b04dd15800b6473b3317dafac39744e70cfad3d))
|
|
78
|
+
- **sdk-coin-sui:** added sui tx and transfer builder ([8a5b50b](https://github.com/BitGo/BitGoJS/commit/8a5b50bf06e30bb03d77eb4af584402e0d0860ab))
|
|
79
|
+
- **sdk-coin-sui:** create sui module ([8ba86b7](https://github.com/BitGo/BitGoJS/commit/8ba86b7a10720a14ff1efa9c4616c1f26d27d8e4))
|
|
80
|
+
- **sdk-coin-sui:** prefix sui addresses with 0x ([7e3ee9c](https://github.com/BitGo/BitGoJS/commit/7e3ee9c9ed27236e85f75b2d4b61f6714c94dfa6))
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bcs.d.ts","sourceRoot":"","sources":["../../../src/lib/bcs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAA0C,MAAM,aAAa,CAAC;AAG1E,eAAO,MAAM,GAAG,KAA8B,CAAC"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.bcs = void 0;
|
|
4
|
+
const bcs_1 = require("@mysten/bcs");
|
|
5
|
+
const buffer_1 = require("buffer");
|
|
6
|
+
exports.bcs = new bcs_1.BCS(bcs_1.getSuiMoveConfig());
|
|
7
|
+
exports.bcs
|
|
8
|
+
.registerType('utf8string', (writer, str) => {
|
|
9
|
+
const bytes = Array.from(buffer_1.Buffer.from(str));
|
|
10
|
+
return writer.writeVec(bytes, (writer, el) => writer.write8(el));
|
|
11
|
+
}, (reader) => {
|
|
12
|
+
const bytes = reader.readVec((reader) => reader.read8());
|
|
13
|
+
return buffer_1.Buffer.from(bytes).toString('utf-8');
|
|
14
|
+
})
|
|
15
|
+
.registerType('ObjectDigest', (writer, str) => {
|
|
16
|
+
const bytes = Array.from(bcs_1.decodeStr(str, 'base64'));
|
|
17
|
+
return writer.writeVec(bytes, (writer, el) => writer.write8(el));
|
|
18
|
+
}, (reader) => {
|
|
19
|
+
const bytes = reader.readVec((reader) => reader.read8());
|
|
20
|
+
return bcs_1.encodeStr(new Uint8Array(bytes), 'base64');
|
|
21
|
+
});
|
|
22
|
+
exports.bcs.registerStructType('SuiObjectRef', {
|
|
23
|
+
objectId: 'address',
|
|
24
|
+
version: 'u64',
|
|
25
|
+
digest: 'ObjectDigest',
|
|
26
|
+
});
|
|
27
|
+
exports.bcs.registerStructType('PayTx', {
|
|
28
|
+
coins: 'vector<SuiObjectRef>',
|
|
29
|
+
recipients: 'vector<address>',
|
|
30
|
+
amounts: 'vector<u64>',
|
|
31
|
+
});
|
|
32
|
+
exports.bcs.registerStructType('PaySuiTx', {
|
|
33
|
+
coins: 'vector<SuiObjectRef>',
|
|
34
|
+
recipients: 'vector<address>',
|
|
35
|
+
amounts: 'vector<u64>',
|
|
36
|
+
});
|
|
37
|
+
exports.bcs.registerStructType('PayAllSuiTx', {
|
|
38
|
+
coins: 'vector<SuiObjectRef>',
|
|
39
|
+
recipient: 'address',
|
|
40
|
+
});
|
|
41
|
+
exports.bcs
|
|
42
|
+
.registerEnumType('TypeTag', {
|
|
43
|
+
bool: null,
|
|
44
|
+
u8: null,
|
|
45
|
+
u64: null,
|
|
46
|
+
u128: null,
|
|
47
|
+
address: null,
|
|
48
|
+
signer: null,
|
|
49
|
+
vector: 'TypeTag',
|
|
50
|
+
struct: 'StructTag',
|
|
51
|
+
u16: null,
|
|
52
|
+
u32: null,
|
|
53
|
+
u256: null,
|
|
54
|
+
})
|
|
55
|
+
.registerStructType('StructTag', {
|
|
56
|
+
address: 'address',
|
|
57
|
+
module: 'string',
|
|
58
|
+
name: 'string',
|
|
59
|
+
typeParams: 'vector<TypeTag>',
|
|
60
|
+
});
|
|
61
|
+
exports.bcs.registerEnumType('Transaction', {
|
|
62
|
+
TransferObject: 'TransferObjectTx',
|
|
63
|
+
Publish: 'PublishTx',
|
|
64
|
+
Call: 'MoveCallTx',
|
|
65
|
+
TransferSui: 'TransferSuiTx',
|
|
66
|
+
Pay: 'PayTx',
|
|
67
|
+
PaySui: 'PaySuiTx',
|
|
68
|
+
PayAllSui: 'PayAllSuiTx',
|
|
69
|
+
});
|
|
70
|
+
exports.bcs.registerEnumType('TransactionKind', {
|
|
71
|
+
Single: 'Transaction',
|
|
72
|
+
Batch: 'vector<Transaction>',
|
|
73
|
+
});
|
|
74
|
+
exports.bcs.registerStructType('TransactionData', {
|
|
75
|
+
kind: 'TransactionKind',
|
|
76
|
+
sender: 'address',
|
|
77
|
+
gasPayment: 'SuiObjectRef',
|
|
78
|
+
gasPrice: 'u64',
|
|
79
|
+
gasBudget: 'u64',
|
|
80
|
+
});
|
|
81
|
+
exports.bcs.registerStructType('SenderSignedData', {
|
|
82
|
+
data: 'TransactionData',
|
|
83
|
+
txSignature: 'vector<u8>',
|
|
84
|
+
});
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9iY3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUNBQTBFO0FBQzFFLG1DQUFnQztBQUVuQixRQUFBLEdBQUcsR0FBRyxJQUFJLFNBQUcsQ0FBQyxzQkFBZ0IsRUFBRSxDQUFDLENBQUM7QUFFL0MsV0FBRztLQUNBLFlBQVksQ0FDWCxZQUFZLEVBQ1osQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLEVBQUU7SUFDZCxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLGVBQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMzQyxPQUFPLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ25FLENBQUMsRUFDRCxDQUFDLE1BQU0sRUFBRSxFQUFFO0lBQ1QsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDekQsT0FBTyxlQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUM5QyxDQUFDLENBQ0Y7S0FDQSxZQUFZLENBQ1gsY0FBYyxFQUNkLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxFQUFFO0lBQ2QsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxlQUFTLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDbkQsT0FBTyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUNuRSxDQUFDLEVBQ0QsQ0FBQyxNQUFNLEVBQUUsRUFBRTtJQUNULE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3pELE9BQU8sZUFBUyxDQUFDLElBQUksVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBQ3BELENBQUMsQ0FDRixDQUFDO0FBRUosV0FBRyxDQUFDLGtCQUFrQixDQUFDLGNBQWMsRUFBRTtJQUNyQyxRQUFRLEVBQUUsU0FBUztJQUNuQixPQUFPLEVBQUUsS0FBSztJQUNkLE1BQU0sRUFBRSxjQUFjO0NBQ3ZCLENBQUMsQ0FBQztBQUVILFdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUU7SUFDOUIsS0FBSyxFQUFFLHNCQUFzQjtJQUM3QixVQUFVLEVBQUUsaUJBQWlCO0lBQzdCLE9BQU8sRUFBRSxhQUFhO0NBQ3ZCLENBQUMsQ0FBQztBQUVILFdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLEVBQUU7SUFDakMsS0FBSyxFQUFFLHNCQUFzQjtJQUM3QixVQUFVLEVBQUUsaUJBQWlCO0lBQzdCLE9BQU8sRUFBRSxhQUFhO0NBQ3ZCLENBQUMsQ0FBQztBQUVILFdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLEVBQUU7SUFDcEMsS0FBSyxFQUFFLHNCQUFzQjtJQUM3QixTQUFTLEVBQUUsU0FBUztDQUNyQixDQUFDLENBQUM7QUFFSCxXQUFHO0tBQ0EsZ0JBQWdCLENBQUMsU0FBUyxFQUFFO0lBQzNCLElBQUksRUFBRSxJQUFJO0lBQ1YsRUFBRSxFQUFFLElBQUk7SUFDUixHQUFHLEVBQUUsSUFBSTtJQUNULElBQUksRUFBRSxJQUFJO0lBQ1YsT0FBTyxFQUFFLElBQUk7SUFDYixNQUFNLEVBQUUsSUFBSTtJQUNaLE1BQU0sRUFBRSxTQUFTO0lBQ2pCLE1BQU0sRUFBRSxXQUFXO0lBQ25CLEdBQUcsRUFBRSxJQUFJO0lBQ1QsR0FBRyxFQUFFLElBQUk7SUFDVCxJQUFJLEVBQUUsSUFBSTtDQUNYLENBQUM7S0FDRCxrQkFBa0IsQ0FBQyxXQUFXLEVBQUU7SUFDL0IsT0FBTyxFQUFFLFNBQVM7SUFDbEIsTUFBTSxFQUFFLFFBQVE7SUFDaEIsSUFBSSxFQUFFLFFBQVE7SUFDZCxVQUFVLEVBQUUsaUJBQWlCO0NBQzlCLENBQUMsQ0FBQztBQUVMLFdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLEVBQUU7SUFDbEMsY0FBYyxFQUFFLGtCQUFrQjtJQUNsQyxPQUFPLEVBQUUsV0FBVztJQUNwQixJQUFJLEVBQUUsWUFBWTtJQUNsQixXQUFXLEVBQUUsZUFBZTtJQUM1QixHQUFHLEVBQUUsT0FBTztJQUNaLE1BQU0sRUFBRSxVQUFVO0lBQ2xCLFNBQVMsRUFBRSxhQUFhO0NBQ3pCLENBQUMsQ0FBQztBQUVILFdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsRUFBRTtJQUN0QyxNQUFNLEVBQUUsYUFBYTtJQUNyQixLQUFLLEVBQUUscUJBQXFCO0NBQzdCLENBQUMsQ0FBQztBQUVILFdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxpQkFBaUIsRUFBRTtJQUN4QyxJQUFJLEVBQUUsaUJBQWlCO0lBQ3ZCLE1BQU0sRUFBRSxTQUFTO0lBQ2pCLFVBQVUsRUFBRSxjQUFjO0lBQzFCLFFBQVEsRUFBRSxLQUFLO0lBQ2YsU0FBUyxFQUFFLEtBQUs7Q0FDakIsQ0FBQyxDQUFDO0FBRUgsV0FBRyxDQUFDLGtCQUFrQixDQUFDLGtCQUFrQixFQUFFO0lBQ3pDLElBQUksRUFBRSxpQkFBaUI7SUFDdkIsV0FBVyxFQUFFLFlBQVk7Q0FDMUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQkNTLCBkZWNvZGVTdHIsIGVuY29kZVN0ciwgZ2V0U3VpTW92ZUNvbmZpZyB9IGZyb20gJ0BteXN0ZW4vYmNzJztcbmltcG9ydCB7IEJ1ZmZlciB9IGZyb20gJ2J1ZmZlcic7XG5cbmV4cG9ydCBjb25zdCBiY3MgPSBuZXcgQkNTKGdldFN1aU1vdmVDb25maWcoKSk7XG5cbmJjc1xuICAucmVnaXN0ZXJUeXBlKFxuICAgICd1dGY4c3RyaW5nJyxcbiAgICAod3JpdGVyLCBzdHIpID0+IHtcbiAgICAgIGNvbnN0IGJ5dGVzID0gQXJyYXkuZnJvbShCdWZmZXIuZnJvbShzdHIpKTtcbiAgICAgIHJldHVybiB3cml0ZXIud3JpdGVWZWMoYnl0ZXMsICh3cml0ZXIsIGVsKSA9PiB3cml0ZXIud3JpdGU4KGVsKSk7XG4gICAgfSxcbiAgICAocmVhZGVyKSA9PiB7XG4gICAgICBjb25zdCBieXRlcyA9IHJlYWRlci5yZWFkVmVjKChyZWFkZXIpID0+IHJlYWRlci5yZWFkOCgpKTtcbiAgICAgIHJldHVybiBCdWZmZXIuZnJvbShieXRlcykudG9TdHJpbmcoJ3V0Zi04Jyk7XG4gICAgfVxuICApXG4gIC5yZWdpc3RlclR5cGUoXG4gICAgJ09iamVjdERpZ2VzdCcsXG4gICAgKHdyaXRlciwgc3RyKSA9PiB7XG4gICAgICBjb25zdCBieXRlcyA9IEFycmF5LmZyb20oZGVjb2RlU3RyKHN0ciwgJ2Jhc2U2NCcpKTtcbiAgICAgIHJldHVybiB3cml0ZXIud3JpdGVWZWMoYnl0ZXMsICh3cml0ZXIsIGVsKSA9PiB3cml0ZXIud3JpdGU4KGVsKSk7XG4gICAgfSxcbiAgICAocmVhZGVyKSA9PiB7XG4gICAgICBjb25zdCBieXRlcyA9IHJlYWRlci5yZWFkVmVjKChyZWFkZXIpID0+IHJlYWRlci5yZWFkOCgpKTtcbiAgICAgIHJldHVybiBlbmNvZGVTdHIobmV3IFVpbnQ4QXJyYXkoYnl0ZXMpLCAnYmFzZTY0Jyk7XG4gICAgfVxuICApO1xuXG5iY3MucmVnaXN0ZXJTdHJ1Y3RUeXBlKCdTdWlPYmplY3RSZWYnLCB7XG4gIG9iamVjdElkOiAnYWRkcmVzcycsXG4gIHZlcnNpb246ICd1NjQnLFxuICBkaWdlc3Q6ICdPYmplY3REaWdlc3QnLFxufSk7XG5cbmJjcy5yZWdpc3RlclN0cnVjdFR5cGUoJ1BheVR4Jywge1xuICBjb2luczogJ3ZlY3RvcjxTdWlPYmplY3RSZWY+JyxcbiAgcmVjaXBpZW50czogJ3ZlY3RvcjxhZGRyZXNzPicsXG4gIGFtb3VudHM6ICd2ZWN0b3I8dTY0PicsXG59KTtcblxuYmNzLnJlZ2lzdGVyU3RydWN0VHlwZSgnUGF5U3VpVHgnLCB7XG4gIGNvaW5zOiAndmVjdG9yPFN1aU9iamVjdFJlZj4nLFxuICByZWNpcGllbnRzOiAndmVjdG9yPGFkZHJlc3M+JyxcbiAgYW1vdW50czogJ3ZlY3Rvcjx1NjQ+Jyxcbn0pO1xuXG5iY3MucmVnaXN0ZXJTdHJ1Y3RUeXBlKCdQYXlBbGxTdWlUeCcsIHtcbiAgY29pbnM6ICd2ZWN0b3I8U3VpT2JqZWN0UmVmPicsXG4gIHJlY2lwaWVudDogJ2FkZHJlc3MnLFxufSk7XG5cbmJjc1xuICAucmVnaXN0ZXJFbnVtVHlwZSgnVHlwZVRhZycsIHtcbiAgICBib29sOiBudWxsLFxuICAgIHU4OiBudWxsLFxuICAgIHU2NDogbnVsbCxcbiAgICB1MTI4OiBudWxsLFxuICAgIGFkZHJlc3M6IG51bGwsXG4gICAgc2lnbmVyOiBudWxsLFxuICAgIHZlY3RvcjogJ1R5cGVUYWcnLFxuICAgIHN0cnVjdDogJ1N0cnVjdFRhZycsXG4gICAgdTE2OiBudWxsLFxuICAgIHUzMjogbnVsbCxcbiAgICB1MjU2OiBudWxsLFxuICB9KVxuICAucmVnaXN0ZXJTdHJ1Y3RUeXBlKCdTdHJ1Y3RUYWcnLCB7XG4gICAgYWRkcmVzczogJ2FkZHJlc3MnLFxuICAgIG1vZHVsZTogJ3N0cmluZycsXG4gICAgbmFtZTogJ3N0cmluZycsXG4gICAgdHlwZVBhcmFtczogJ3ZlY3RvcjxUeXBlVGFnPicsXG4gIH0pO1xuXG5iY3MucmVnaXN0ZXJFbnVtVHlwZSgnVHJhbnNhY3Rpb24nLCB7XG4gIFRyYW5zZmVyT2JqZWN0OiAnVHJhbnNmZXJPYmplY3RUeCcsXG4gIFB1Ymxpc2g6ICdQdWJsaXNoVHgnLFxuICBDYWxsOiAnTW92ZUNhbGxUeCcsXG4gIFRyYW5zZmVyU3VpOiAnVHJhbnNmZXJTdWlUeCcsXG4gIFBheTogJ1BheVR4JyxcbiAgUGF5U3VpOiAnUGF5U3VpVHgnLFxuICBQYXlBbGxTdWk6ICdQYXlBbGxTdWlUeCcsXG59KTtcblxuYmNzLnJlZ2lzdGVyRW51bVR5cGUoJ1RyYW5zYWN0aW9uS2luZCcsIHtcbiAgU2luZ2xlOiAnVHJhbnNhY3Rpb24nLFxuICBCYXRjaDogJ3ZlY3RvcjxUcmFuc2FjdGlvbj4nLFxufSk7XG5cbmJjcy5yZWdpc3RlclN0cnVjdFR5cGUoJ1RyYW5zYWN0aW9uRGF0YScsIHtcbiAga2luZDogJ1RyYW5zYWN0aW9uS2luZCcsXG4gIHNlbmRlcjogJ2FkZHJlc3MnLFxuICBnYXNQYXltZW50OiAnU3VpT2JqZWN0UmVmJyxcbiAgZ2FzUHJpY2U6ICd1NjQnLFxuICBnYXNCdWRnZXQ6ICd1NjQnLFxufSk7XG5cbmJjcy5yZWdpc3RlclN0cnVjdFR5cGUoJ1NlbmRlclNpZ25lZERhdGEnLCB7XG4gIGRhdGE6ICdUcmFuc2FjdGlvbkRhdGEnLFxuICB0eFNpZ25hdHVyZTogJ3ZlY3Rvcjx1OD4nLFxufSk7XG4iXX0=
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare const UNAVAILABLE_TEXT = "UNAVAILABLE";
|
|
2
|
+
export declare const TYPE_TAG: number[];
|
|
3
|
+
export declare const SUI_GAS_PRICE = 1;
|
|
4
|
+
export declare const SUI_ADDRESS_LENGTH = 20;
|
|
5
|
+
export declare enum SuiTransactionType {
|
|
6
|
+
Pay = "Pay",
|
|
7
|
+
PaySui = "PaySui",
|
|
8
|
+
PayAllSui = "PayAllSui"
|
|
9
|
+
}
|
|
10
|
+
//# 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,gBAAgB,gBAAgB,CAAC;AAC9C,eAAO,MAAM,QAAQ,UAA8D,CAAC;AAIpF,eAAO,MAAM,aAAa,IAAI,CAAC;AAC/B,eAAO,MAAM,kBAAkB,KAAK,CAAC;AAErC,oBAAY,kBAAkB;IAC5B,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,SAAS,cAAc;CACxB"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SuiTransactionType = exports.SUI_ADDRESS_LENGTH = exports.SUI_GAS_PRICE = exports.TYPE_TAG = exports.UNAVAILABLE_TEXT = void 0;
|
|
4
|
+
exports.UNAVAILABLE_TEXT = 'UNAVAILABLE';
|
|
5
|
+
exports.TYPE_TAG = Array.from('TransactionData::').map((e) => e.charCodeAt(0));
|
|
6
|
+
// Need to keep in sync with
|
|
7
|
+
// https://github.com/MystenLabs/sui/blob/f32877f2e40d35a008710c232e49b57aab886462/crates/sui-types/src/messages.rs#L338
|
|
8
|
+
exports.SUI_GAS_PRICE = 1;
|
|
9
|
+
exports.SUI_ADDRESS_LENGTH = 20;
|
|
10
|
+
var SuiTransactionType;
|
|
11
|
+
(function (SuiTransactionType) {
|
|
12
|
+
SuiTransactionType["Pay"] = "Pay";
|
|
13
|
+
SuiTransactionType["PaySui"] = "PaySui";
|
|
14
|
+
SuiTransactionType["PayAllSui"] = "PayAllSui";
|
|
15
|
+
})(SuiTransactionType = exports.SuiTransactionType || (exports.SuiTransactionType = {}));
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQWEsUUFBQSxnQkFBZ0IsR0FBRyxhQUFhLENBQUM7QUFDakMsUUFBQSxRQUFRLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBRXBGLDRCQUE0QjtBQUM1Qix3SEFBd0g7QUFDM0csUUFBQSxhQUFhLEdBQUcsQ0FBQyxDQUFDO0FBQ2xCLFFBQUEsa0JBQWtCLEdBQUcsRUFBRSxDQUFDO0FBRXJDLElBQVksa0JBSVg7QUFKRCxXQUFZLGtCQUFrQjtJQUM1QixpQ0FBVyxDQUFBO0lBQ1gsdUNBQWlCLENBQUE7SUFDakIsNkNBQXVCLENBQUE7QUFDekIsQ0FBQyxFQUpXLGtCQUFrQixHQUFsQiwwQkFBa0IsS0FBbEIsMEJBQWtCLFFBSTdCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFVOQVZBSUxBQkxFX1RFWFQgPSAnVU5BVkFJTEFCTEUnO1xuZXhwb3J0IGNvbnN0IFRZUEVfVEFHID0gQXJyYXkuZnJvbSgnVHJhbnNhY3Rpb25EYXRhOjonKS5tYXAoKGUpID0+IGUuY2hhckNvZGVBdCgwKSk7XG5cbi8vIE5lZWQgdG8ga2VlcCBpbiBzeW5jIHdpdGhcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9NeXN0ZW5MYWJzL3N1aS9ibG9iL2YzMjg3N2YyZTQwZDM1YTAwODcxMGMyMzJlNDliNTdhYWI4ODY0NjIvY3JhdGVzL3N1aS10eXBlcy9zcmMvbWVzc2FnZXMucnMjTDMzOFxuZXhwb3J0IGNvbnN0IFNVSV9HQVNfUFJJQ0UgPSAxO1xuZXhwb3J0IGNvbnN0IFNVSV9BRERSRVNTX0xFTkdUSCA9IDIwO1xuXG5leHBvcnQgZW51bSBTdWlUcmFuc2FjdGlvblR5cGUge1xuICBQYXkgPSAnUGF5JyxcbiAgUGF5U3VpID0gJ1BheVN1aScsXG4gIFBheUFsbFN1aSA9ICdQYXlBbGxTdWknLFxufVxuIl19
|
package/dist/src/lib/iface.d.ts
CHANGED
|
@@ -1,7 +1,61 @@
|
|
|
1
|
+
import { TransactionExplanation as BaseTransactionExplanation, TransactionType } from '@bitgo-beta/sdk-core';
|
|
2
|
+
import { SuiTransactionType } from './constants';
|
|
3
|
+
export interface TransactionExplanation extends BaseTransactionExplanation {
|
|
4
|
+
type: TransactionType;
|
|
5
|
+
}
|
|
6
|
+
export declare type SuiObjectRef = {
|
|
7
|
+
/** Hex code as string representing the object id */
|
|
8
|
+
objectId: string;
|
|
9
|
+
/** Object version */
|
|
10
|
+
version: number;
|
|
11
|
+
/** Base64 string representing the object digest */
|
|
12
|
+
digest: string;
|
|
13
|
+
};
|
|
14
|
+
export declare type TxDetails = PayTxDetails | PaySuiTxDetails | PayAllSuiTxDetails;
|
|
15
|
+
export interface PayTxDetails {
|
|
16
|
+
Pay: {
|
|
17
|
+
coins: SuiObjectRef[];
|
|
18
|
+
recipients: string[];
|
|
19
|
+
amounts: number[];
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
export interface PaySuiTxDetails {
|
|
23
|
+
PaySui: {
|
|
24
|
+
coins: SuiObjectRef[];
|
|
25
|
+
recipients: string[];
|
|
26
|
+
amounts: number[];
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
export interface PayAllSuiTxDetails {
|
|
30
|
+
PayAllSui: {
|
|
31
|
+
coins: SuiObjectRef[];
|
|
32
|
+
recipient: string;
|
|
33
|
+
};
|
|
34
|
+
}
|
|
1
35
|
/**
|
|
2
36
|
* The transaction data returned from the toJson() function of a transaction
|
|
3
37
|
*/
|
|
4
38
|
export interface TxData {
|
|
5
|
-
id
|
|
39
|
+
id?: string;
|
|
40
|
+
kind: {
|
|
41
|
+
Single: TxDetails;
|
|
42
|
+
};
|
|
43
|
+
sender: string;
|
|
44
|
+
gasPayment: SuiObjectRef;
|
|
45
|
+
gasBudget: number;
|
|
46
|
+
gasPrice: number;
|
|
47
|
+
}
|
|
48
|
+
export interface PayTx {
|
|
49
|
+
coins: SuiObjectRef[];
|
|
50
|
+
recipients: string[];
|
|
51
|
+
amounts: number[];
|
|
52
|
+
}
|
|
53
|
+
export interface SuiTransaction {
|
|
54
|
+
type: SuiTransactionType;
|
|
55
|
+
sender: string;
|
|
56
|
+
payTx: PayTx;
|
|
57
|
+
gasBudget: number;
|
|
58
|
+
gasPrice: number;
|
|
59
|
+
gasPayment: SuiObjectRef;
|
|
6
60
|
}
|
|
7
61
|
//# sourceMappingURL=iface.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iface.d.ts","sourceRoot":"","sources":["../../../src/lib/iface.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"iface.d.ts","sourceRoot":"","sources":["../../../src/lib/iface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,IAAI,0BAA0B,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC7G,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,WAAW,sBAAuB,SAAQ,0BAA0B;IACxE,IAAI,EAAE,eAAe,CAAC;CACvB;AAED,oBAAY,YAAY,GAAG;IACzB,oDAAoD;IACpD,QAAQ,EAAE,MAAM,CAAC;IACjB,qBAAqB;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,mDAAmD;IACnD,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,oBAAY,SAAS,GAAG,YAAY,GAAG,eAAe,GAAG,kBAAkB,CAAC;AAE5E,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE;QACH,KAAK,EAAE,YAAY,EAAE,CAAC;QACtB,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,OAAO,EAAE,MAAM,EAAE,CAAC;KACnB,CAAC;CACH;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE;QACN,KAAK,EAAE,YAAY,EAAE,CAAC;QACtB,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,OAAO,EAAE,MAAM,EAAE,CAAC;KACnB,CAAC;CACH;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE;QACT,KAAK,EAAE,YAAY,EAAE,CAAC;QACtB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE;QAAE,MAAM,EAAE,SAAS,CAAA;KAAE,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,YAAY,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,KAAK;IACpB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,kBAAkB,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,KAAK,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,YAAY,CAAC;CAC1B"}
|
package/dist/src/lib/iface.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2lmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIGFzIEJhc2VUcmFuc2FjdGlvbkV4cGxhbmF0aW9uLCBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBTdWlUcmFuc2FjdGlvblR5cGUgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNhY3Rpb25FeHBsYW5hdGlvbiBleHRlbmRzIEJhc2VUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIHtcbiAgdHlwZTogVHJhbnNhY3Rpb25UeXBlO1xufVxuXG5leHBvcnQgdHlwZSBTdWlPYmplY3RSZWYgPSB7XG4gIC8qKiBIZXggY29kZSBhcyBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBvYmplY3QgaWQgKi9cbiAgb2JqZWN0SWQ6IHN0cmluZztcbiAgLyoqIE9iamVjdCB2ZXJzaW9uICovXG4gIHZlcnNpb246IG51bWJlcjtcbiAgLyoqIEJhc2U2NCBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBvYmplY3QgZGlnZXN0ICovXG4gIGRpZ2VzdDogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgVHhEZXRhaWxzID0gUGF5VHhEZXRhaWxzIHwgUGF5U3VpVHhEZXRhaWxzIHwgUGF5QWxsU3VpVHhEZXRhaWxzO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBheVR4RGV0YWlscyB7XG4gIFBheToge1xuICAgIGNvaW5zOiBTdWlPYmplY3RSZWZbXTtcbiAgICByZWNpcGllbnRzOiBzdHJpbmdbXTtcbiAgICBhbW91bnRzOiBudW1iZXJbXTtcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQYXlTdWlUeERldGFpbHMge1xuICBQYXlTdWk6IHtcbiAgICBjb2luczogU3VpT2JqZWN0UmVmW107XG4gICAgcmVjaXBpZW50czogc3RyaW5nW107XG4gICAgYW1vdW50czogbnVtYmVyW107XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGF5QWxsU3VpVHhEZXRhaWxzIHtcbiAgUGF5QWxsU3VpOiB7XG4gICAgY29pbnM6IFN1aU9iamVjdFJlZltdO1xuICAgIHJlY2lwaWVudDogc3RyaW5nO1xuICB9O1xufVxuXG4vKipcbiAqIFRoZSB0cmFuc2FjdGlvbiBkYXRhIHJldHVybmVkIGZyb20gdGhlIHRvSnNvbigpIGZ1bmN0aW9uIG9mIGEgdHJhbnNhY3Rpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUeERhdGEge1xuICBpZD86IHN0cmluZztcbiAga2luZDogeyBTaW5nbGU6IFR4RGV0YWlscyB9O1xuICBzZW5kZXI6IHN0cmluZztcbiAgZ2FzUGF5bWVudDogU3VpT2JqZWN0UmVmO1xuICBnYXNCdWRnZXQ6IG51bWJlcjtcbiAgZ2FzUHJpY2U6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQYXlUeCB7XG4gIGNvaW5zOiBTdWlPYmplY3RSZWZbXTtcbiAgcmVjaXBpZW50czogc3RyaW5nW107XG4gIGFtb3VudHM6IG51bWJlcltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN1aVRyYW5zYWN0aW9uIHtcbiAgdHlwZTogU3VpVHJhbnNhY3Rpb25UeXBlO1xuICBzZW5kZXI6IHN0cmluZztcbiAgcGF5VHg6IFBheVR4O1xuICBnYXNCdWRnZXQ6IG51bWJlcjtcbiAgZ2FzUHJpY2U6IG51bWJlcjtcbiAgZ2FzUGF5bWVudDogU3VpT2JqZWN0UmVmO1xufVxuIl19
|
|
@@ -1,5 +1,11 @@
|
|
|
1
|
-
import { DefaultKeys, Ed25519KeyPair } from '@bitgo-beta/sdk-core';
|
|
1
|
+
import { DefaultKeys, Ed25519KeyPair, KeyPairOptions } from '@bitgo-beta/sdk-core';
|
|
2
2
|
export declare class KeyPair extends Ed25519KeyPair {
|
|
3
|
+
/**
|
|
4
|
+
* Public constructor. By default, creates a key pair with a random master seed.
|
|
5
|
+
*
|
|
6
|
+
* @param { KeyPairOptions } source Either a master seed, a private key, or a public key
|
|
7
|
+
*/
|
|
8
|
+
constructor(source?: KeyPairOptions);
|
|
3
9
|
/** @inheritdoc */
|
|
4
10
|
getKeys(): DefaultKeys;
|
|
5
11
|
/** @inheritdoc */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keyPair.d.ts","sourceRoot":"","sources":["../../../src/lib/keyPair.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"keyPair.d.ts","sourceRoot":"","sources":["../../../src/lib/keyPair.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAKnF,qBAAa,OAAQ,SAAQ,cAAc;IACzC;;;;OAIG;gBACS,MAAM,CAAC,EAAE,cAAc;IAInC,kBAAkB;IAClB,OAAO,IAAI,WAAW;IAQtB,kBAAkB;IAClB,wCAAwC,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW;IAKlE,kBAAkB;IAClB,uCAAuC,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW;IASjE,kBAAkB;IAClB,UAAU,IAAI,MAAM;CASrB"}
|
package/dist/src/lib/keyPair.js
CHANGED
|
@@ -1,24 +1,72 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
22
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
|
+
};
|
|
2
24
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
25
|
exports.KeyPair = void 0;
|
|
4
26
|
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
27
|
+
const sha3 = __importStar(require("js-sha3"));
|
|
28
|
+
const utils_1 = __importDefault(require("./utils"));
|
|
29
|
+
const bs58_1 = __importDefault(require("bs58"));
|
|
5
30
|
class KeyPair extends sdk_core_1.Ed25519KeyPair {
|
|
31
|
+
/**
|
|
32
|
+
* Public constructor. By default, creates a key pair with a random master seed.
|
|
33
|
+
*
|
|
34
|
+
* @param { KeyPairOptions } source Either a master seed, a private key, or a public key
|
|
35
|
+
*/
|
|
36
|
+
constructor(source) {
|
|
37
|
+
super(source);
|
|
38
|
+
}
|
|
6
39
|
/** @inheritdoc */
|
|
7
40
|
getKeys() {
|
|
8
|
-
|
|
41
|
+
const result = { pub: this.keyPair.pub };
|
|
42
|
+
if (this.keyPair.prv) {
|
|
43
|
+
result.prv = this.keyPair.prv;
|
|
44
|
+
}
|
|
45
|
+
return result;
|
|
9
46
|
}
|
|
10
47
|
/** @inheritdoc */
|
|
11
48
|
recordKeysFromPrivateKeyInProtocolFormat(prv) {
|
|
49
|
+
// We don't use private keys for SUI since it's implemented for TSS.
|
|
12
50
|
throw new Error('Method not implemented.');
|
|
13
51
|
}
|
|
14
52
|
/** @inheritdoc */
|
|
15
53
|
recordKeysFromPublicKeyInProtocolFormat(pub) {
|
|
16
|
-
|
|
54
|
+
pub = Buffer.from(new Uint8Array(bs58_1.default.decode(pub))).toString('hex');
|
|
55
|
+
if (!utils_1.default.isValidPublicKey(pub)) {
|
|
56
|
+
throw new Error(`Invalid Public Key ${pub}`);
|
|
57
|
+
}
|
|
58
|
+
return { pub };
|
|
17
59
|
}
|
|
18
60
|
/** @inheritdoc */
|
|
19
61
|
getAddress() {
|
|
20
|
-
|
|
62
|
+
const PUBLIC_KEY_SIZE = 32;
|
|
63
|
+
const tmp = new Uint8Array(PUBLIC_KEY_SIZE + 1);
|
|
64
|
+
const pubBuf = Buffer.from(this.keyPair.pub, 'hex');
|
|
65
|
+
tmp.set([0x00]);
|
|
66
|
+
tmp.set(pubBuf, 1);
|
|
67
|
+
// prefix with 0x to normalize address
|
|
68
|
+
return '0x'.concat(sha3.sha3_256(tmp).slice(0, 40));
|
|
21
69
|
}
|
|
22
70
|
}
|
|
23
71
|
exports.KeyPair = KeyPair;
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5UGFpci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIva2V5UGFpci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsbURBQW1GO0FBQ25GLDhDQUFnQztBQUNoQyxvREFBNEI7QUFDNUIsZ0RBQXdCO0FBRXhCLE1BQWEsT0FBUSxTQUFRLHlCQUFjO0lBQ3pDOzs7O09BSUc7SUFDSCxZQUFZLE1BQXVCO1FBQ2pDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLE9BQU87UUFDTCxNQUFNLE1BQU0sR0FBZ0IsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUN0RCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFO1lBQ3BCLE1BQU0sQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7U0FDL0I7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLHdDQUF3QyxDQUFDLEdBQVc7UUFDbEQsb0VBQW9FO1FBQ3BFLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLHVDQUF1QyxDQUFDLEdBQVc7UUFDakQsR0FBRyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxVQUFVLENBQUMsY0FBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxlQUFLLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDaEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsR0FBRyxFQUFFLENBQUMsQ0FBQztTQUM5QztRQUVELE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLFVBQVU7UUFDUixNQUFNLGVBQWUsR0FBRyxFQUFFLENBQUM7UUFDM0IsTUFBTSxHQUFHLEdBQUcsSUFBSSxVQUFVLENBQUMsZUFBZSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ2hELE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDcEQsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDaEIsR0FBRyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDbkIsc0NBQXNDO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN0RCxDQUFDO0NBQ0Y7QUE3Q0QsMEJBNkNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVmYXVsdEtleXMsIEVkMjU1MTlLZXlQYWlyLCBLZXlQYWlyT3B0aW9ucyB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCAqIGFzIHNoYTMgZnJvbSAnanMtc2hhMyc7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgYnM1OCBmcm9tICdiczU4JztcblxuZXhwb3J0IGNsYXNzIEtleVBhaXIgZXh0ZW5kcyBFZDI1NTE5S2V5UGFpciB7XG4gIC8qKlxuICAgKiBQdWJsaWMgY29uc3RydWN0b3IuIEJ5IGRlZmF1bHQsIGNyZWF0ZXMgYSBrZXkgcGFpciB3aXRoIGEgcmFuZG9tIG1hc3RlciBzZWVkLlxuICAgKlxuICAgKiBAcGFyYW0geyBLZXlQYWlyT3B0aW9ucyB9IHNvdXJjZSBFaXRoZXIgYSBtYXN0ZXIgc2VlZCwgYSBwcml2YXRlIGtleSwgb3IgYSBwdWJsaWMga2V5XG4gICAqL1xuICBjb25zdHJ1Y3Rvcihzb3VyY2U/OiBLZXlQYWlyT3B0aW9ucykge1xuICAgIHN1cGVyKHNvdXJjZSk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgZ2V0S2V5cygpOiBEZWZhdWx0S2V5cyB7XG4gICAgY29uc3QgcmVzdWx0OiBEZWZhdWx0S2V5cyA9IHsgcHViOiB0aGlzLmtleVBhaXIucHViIH07XG4gICAgaWYgKHRoaXMua2V5UGFpci5wcnYpIHtcbiAgICAgIHJlc3VsdC5wcnYgPSB0aGlzLmtleVBhaXIucHJ2O1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHJlY29yZEtleXNGcm9tUHJpdmF0ZUtleUluUHJvdG9jb2xGb3JtYXQocHJ2OiBzdHJpbmcpOiBEZWZhdWx0S2V5cyB7XG4gICAgLy8gV2UgZG9uJ3QgdXNlIHByaXZhdGUga2V5cyBmb3IgU1VJIHNpbmNlIGl0J3MgaW1wbGVtZW50ZWQgZm9yIFRTUy5cbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01ldGhvZCBub3QgaW1wbGVtZW50ZWQuJyk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcmVjb3JkS2V5c0Zyb21QdWJsaWNLZXlJblByb3RvY29sRm9ybWF0KHB1Yjogc3RyaW5nKTogRGVmYXVsdEtleXMge1xuICAgIHB1YiA9IEJ1ZmZlci5mcm9tKG5ldyBVaW50OEFycmF5KGJzNTguZGVjb2RlKHB1YikpKS50b1N0cmluZygnaGV4Jyk7XG4gICAgaWYgKCF1dGlscy5pc1ZhbGlkUHVibGljS2V5KHB1YikpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBQdWJsaWMgS2V5ICR7cHVifWApO1xuICAgIH1cblxuICAgIHJldHVybiB7IHB1YiB9O1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGdldEFkZHJlc3MoKTogc3RyaW5nIHtcbiAgICBjb25zdCBQVUJMSUNfS0VZX1NJWkUgPSAzMjtcbiAgICBjb25zdCB0bXAgPSBuZXcgVWludDhBcnJheShQVUJMSUNfS0VZX1NJWkUgKyAxKTtcbiAgICBjb25zdCBwdWJCdWYgPSBCdWZmZXIuZnJvbSh0aGlzLmtleVBhaXIucHViLCAnaGV4Jyk7XG4gICAgdG1wLnNldChbMHgwMF0pO1xuICAgIHRtcC5zZXQocHViQnVmLCAxKTtcbiAgICAvLyBwcmVmaXggd2l0aCAweCB0byBub3JtYWxpemUgYWRkcmVzc1xuICAgIHJldHVybiAnMHgnLmNvbmNhdChzaGEzLnNoYTNfMjU2KHRtcCkuc2xpY2UoMCwgNDApKTtcbiAgfVxufVxuIl19
|
|
@@ -1,8 +1,61 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { BaseKey, BaseTransaction, PublicKey as BasePublicKey, Signature, TransactionType } from '@bitgo-beta/sdk-core';
|
|
3
|
+
import { SuiObjectRef, SuiTransaction, TransactionExplanation, TxData } from './iface';
|
|
4
|
+
import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
|
|
5
|
+
import { SuiTransactionType } from './constants';
|
|
3
6
|
export declare class Transaction extends BaseTransaction {
|
|
7
|
+
private _suiTransaction;
|
|
8
|
+
private _signature;
|
|
9
|
+
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
10
|
+
get suiTransaction(): SuiTransaction;
|
|
11
|
+
setSuiTransaction(tx: SuiTransaction): void;
|
|
12
|
+
/** @inheritDoc **/
|
|
13
|
+
get id(): string;
|
|
14
|
+
addSignature(publicKey: BasePublicKey, signature: Buffer): void;
|
|
15
|
+
get suiSignature(): Signature;
|
|
16
|
+
getInputCoins(): SuiObjectRef[];
|
|
17
|
+
/** @inheritdoc */
|
|
4
18
|
canSign(key: BaseKey): boolean;
|
|
19
|
+
/** @inheritdoc */
|
|
5
20
|
toBroadcastFormat(): string;
|
|
21
|
+
/** @inheritdoc */
|
|
6
22
|
toJson(): TxData;
|
|
23
|
+
/** @inheritDoc */
|
|
24
|
+
explainTransaction(): TransactionExplanation;
|
|
25
|
+
/**
|
|
26
|
+
* Set the transaction type.
|
|
27
|
+
*
|
|
28
|
+
* @param {TransactionType} transactionType The transaction type to be set.
|
|
29
|
+
*/
|
|
30
|
+
transactionType(transactionType: TransactionType): void;
|
|
31
|
+
/**
|
|
32
|
+
* Load the input and output data on this transaction.
|
|
33
|
+
*/
|
|
34
|
+
loadInputsAndOutputs(): void;
|
|
35
|
+
/**
|
|
36
|
+
* Sets this transaction payload
|
|
37
|
+
*
|
|
38
|
+
* @param rawTransaction
|
|
39
|
+
*/
|
|
40
|
+
fromRawTransaction(rawTransaction: string): void;
|
|
41
|
+
/**
|
|
42
|
+
* Helper function for serialize() to get the correct txData with transaction type
|
|
43
|
+
*/
|
|
44
|
+
private getTxData;
|
|
45
|
+
serialize(): string;
|
|
46
|
+
private getSha256Hash;
|
|
47
|
+
static deserializeSuiTransaction(serializedTx: string): SuiTransaction;
|
|
48
|
+
static getProperTxDetails(k: any, type: SuiTransactionType): {
|
|
49
|
+
coins: SuiObjectRef[];
|
|
50
|
+
recipients: string[];
|
|
51
|
+
amounts: number[];
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* Returns a complete explanation for a transfer transaction
|
|
55
|
+
* @param {TxData} json The transaction data in json format
|
|
56
|
+
* @param {TransactionExplanation} explanationResult The transaction explanation to be completed
|
|
57
|
+
* @returns {TransactionExplanation}
|
|
58
|
+
*/
|
|
59
|
+
explainTransferTransaction(json: TxData, explanationResult: TransactionExplanation): TransactionExplanation;
|
|
7
60
|
}
|
|
8
61
|
//# sourceMappingURL=transaction.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../src/lib/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../src/lib/transaction.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,OAAO,EACP,eAAe,EAGf,SAAS,IAAI,aAAa,EAC1B,SAAS,EAET,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,EAAa,MAAM,SAAS,CAAC;AAClG,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAG7D,OAAO,EAAiB,kBAAkB,EAA8B,MAAM,aAAa,CAAC;AAM5F,qBAAa,WAAY,SAAQ,eAAe;IAC9C,OAAO,CAAC,eAAe,CAAiB;IACxC,OAAO,CAAC,UAAU,CAAY;gBAElB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,IAAI,cAAc,IAAI,cAAc,CAEnC;IAED,iBAAiB,CAAC,EAAE,EAAE,cAAc,GAAG,IAAI;IAI3C,mBAAmB;IACnB,IAAI,EAAE,IAAI,MAAM,CAEf;IAED,YAAY,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAM/D,IAAI,YAAY,IAAI,SAAS,CAE5B;IAED,aAAa,IAAI,YAAY,EAAE;IAI/B,kBAAkB;IAClB,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO;IAI9B,kBAAkB;IAClB,iBAAiB,IAAI,MAAM;IAO3B,kBAAkB;IAClB,MAAM,IAAI,MAAM;IAiDhB,kBAAkB;IAClB,kBAAkB,IAAI,sBAAsB;IAwB5C;;;;OAIG;IACH,eAAe,CAAC,eAAe,EAAE,eAAe,GAAG,IAAI;IAIvD;;OAEG;IACH,oBAAoB,IAAI,IAAI;IAgC5B;;;;OAIG;IACH,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IAWhD;;OAEG;IACH,OAAO,CAAC,SAAS;IA4CjB,SAAS,IAAI,MAAM;IAenB,OAAO,CAAC,aAAa;IAcrB,MAAM,CAAC,yBAAyB,CAAC,YAAY,EAAE,MAAM,GAAG,cAAc;IAqCtE,MAAM,CAAC,kBAAkB,CACvB,CAAC,EAAE,GAAG,EACN,IAAI,EAAE,kBAAkB,GACvB;QAAE,KAAK,EAAE,YAAY,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE;IAuCrE;;;;;OAKG;IACH,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAE,sBAAsB,GAAG,sBAAsB;CAgB5G"}
|