@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 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,3 @@
1
+ import { BCS } from '@mysten/bcs';
2
+ export declare const bcs: BCS;
3
+ //# sourceMappingURL=bcs.d.ts.map
@@ -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
@@ -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: string;
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;CACZ"}
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"}
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2lmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFRoZSB0cmFuc2FjdGlvbiBkYXRhIHJldHVybmVkIGZyb20gdGhlIHRvSnNvbigpIGZ1bmN0aW9uIG9mIGEgdHJhbnNhY3Rpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUeERhdGEge1xuICBpZDogc3RyaW5nO1xufVxuIl19
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;AAEnE,qBAAa,OAAQ,SAAQ,cAAc;IACzC,kBAAkB;IAClB,OAAO,IAAI,WAAW;IAItB,kBAAkB;IAClB,wCAAwC,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW;IAIlE,kBAAkB;IAClB,uCAAuC,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW;IAIjE,kBAAkB;IAClB,UAAU,IAAI,MAAM;CAGrB"}
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"}
@@ -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
- throw new Error('Method not implemented.');
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
- throw new Error('Method not implemented.');
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
- throw new Error('Method not implemented.');
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5UGFpci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIva2V5UGFpci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtREFBbUU7QUFFbkUsTUFBYSxPQUFRLFNBQVEseUJBQWM7SUFDekMsa0JBQWtCO0lBQ2xCLE9BQU87UUFDTCxNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELGtCQUFrQjtJQUNsQix3Q0FBd0MsQ0FBQyxHQUFXO1FBQ2xELE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLHVDQUF1QyxDQUFDLEdBQVc7UUFDakQsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsVUFBVTtRQUNSLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUM3QyxDQUFDO0NBQ0Y7QUFwQkQsMEJBb0JDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVmYXVsdEtleXMsIEVkMjU1MTlLZXlQYWlyIH0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuXG5leHBvcnQgY2xhc3MgS2V5UGFpciBleHRlbmRzIEVkMjU1MTlLZXlQYWlyIHtcbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGdldEtleXMoKTogRGVmYXVsdEtleXMge1xuICAgIHRocm93IG5ldyBFcnJvcignTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC4nKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICByZWNvcmRLZXlzRnJvbVByaXZhdGVLZXlJblByb3RvY29sRm9ybWF0KHBydjogc3RyaW5nKTogRGVmYXVsdEtleXMge1xuICAgIHRocm93IG5ldyBFcnJvcignTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC4nKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICByZWNvcmRLZXlzRnJvbVB1YmxpY0tleUluUHJvdG9jb2xGb3JtYXQocHViOiBzdHJpbmcpOiBEZWZhdWx0S2V5cyB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdNZXRob2Qgbm90IGltcGxlbWVudGVkLicpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGdldEFkZHJlc3MoKTogc3RyaW5nIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01ldGhvZCBub3QgaW1wbGVtZW50ZWQuJyk7XG4gIH1cbn1cbiJdfQ==
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5UGFpci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIva2V5UGFpci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsbURBQW1GO0FBQ25GLDhDQUFnQztBQUNoQyxvREFBNEI7QUFDNUIsZ0RBQXdCO0FBRXhCLE1BQWEsT0FBUSxTQUFRLHlCQUFjO0lBQ3pDOzs7O09BSUc7SUFDSCxZQUFZLE1BQXVCO1FBQ2pDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLE9BQU87UUFDTCxNQUFNLE1BQU0sR0FBZ0IsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUN0RCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFO1lBQ3BCLE1BQU0sQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7U0FDL0I7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLHdDQUF3QyxDQUFDLEdBQVc7UUFDbEQsb0VBQW9FO1FBQ3BFLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLHVDQUF1QyxDQUFDLEdBQVc7UUFDakQsR0FBRyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxVQUFVLENBQUMsY0FBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxlQUFLLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDaEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsR0FBRyxFQUFFLENBQUMsQ0FBQztTQUM5QztRQUVELE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLFVBQVU7UUFDUixNQUFNLGVBQWUsR0FBRyxFQUFFLENBQUM7UUFDM0IsTUFBTSxHQUFHLEdBQUcsSUFBSSxVQUFVLENBQUMsZUFBZSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ2hELE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDcEQsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDaEIsR0FBRyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDbkIsc0NBQXNDO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN0RCxDQUFDO0NBQ0Y7QUE3Q0QsMEJBNkNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVmYXVsdEtleXMsIEVkMjU1MTlLZXlQYWlyLCBLZXlQYWlyT3B0aW9ucyB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCAqIGFzIHNoYTMgZnJvbSAnanMtc2hhMyc7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgYnM1OCBmcm9tICdiczU4JztcblxuZXhwb3J0IGNsYXNzIEtleVBhaXIgZXh0ZW5kcyBFZDI1NTE5S2V5UGFpciB7XG4gIC8qKlxuICAgKiBQdWJsaWMgY29uc3RydWN0b3IuIEJ5IGRlZmF1bHQsIGNyZWF0ZXMgYSBrZXkgcGFpciB3aXRoIGEgcmFuZG9tIG1hc3RlciBzZWVkLlxuICAgKlxuICAgKiBAcGFyYW0geyBLZXlQYWlyT3B0aW9ucyB9IHNvdXJjZSBFaXRoZXIgYSBtYXN0ZXIgc2VlZCwgYSBwcml2YXRlIGtleSwgb3IgYSBwdWJsaWMga2V5XG4gICAqL1xuICBjb25zdHJ1Y3Rvcihzb3VyY2U/OiBLZXlQYWlyT3B0aW9ucykge1xuICAgIHN1cGVyKHNvdXJjZSk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgZ2V0S2V5cygpOiBEZWZhdWx0S2V5cyB7XG4gICAgY29uc3QgcmVzdWx0OiBEZWZhdWx0S2V5cyA9IHsgcHViOiB0aGlzLmtleVBhaXIucHViIH07XG4gICAgaWYgKHRoaXMua2V5UGFpci5wcnYpIHtcbiAgICAgIHJlc3VsdC5wcnYgPSB0aGlzLmtleVBhaXIucHJ2O1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHJlY29yZEtleXNGcm9tUHJpdmF0ZUtleUluUHJvdG9jb2xGb3JtYXQocHJ2OiBzdHJpbmcpOiBEZWZhdWx0S2V5cyB7XG4gICAgLy8gV2UgZG9uJ3QgdXNlIHByaXZhdGUga2V5cyBmb3IgU1VJIHNpbmNlIGl0J3MgaW1wbGVtZW50ZWQgZm9yIFRTUy5cbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01ldGhvZCBub3QgaW1wbGVtZW50ZWQuJyk7XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgcmVjb3JkS2V5c0Zyb21QdWJsaWNLZXlJblByb3RvY29sRm9ybWF0KHB1Yjogc3RyaW5nKTogRGVmYXVsdEtleXMge1xuICAgIHB1YiA9IEJ1ZmZlci5mcm9tKG5ldyBVaW50OEFycmF5KGJzNTguZGVjb2RlKHB1YikpKS50b1N0cmluZygnaGV4Jyk7XG4gICAgaWYgKCF1dGlscy5pc1ZhbGlkUHVibGljS2V5KHB1YikpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBQdWJsaWMgS2V5ICR7cHVifWApO1xuICAgIH1cblxuICAgIHJldHVybiB7IHB1YiB9O1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGdldEFkZHJlc3MoKTogc3RyaW5nIHtcbiAgICBjb25zdCBQVUJMSUNfS0VZX1NJWkUgPSAzMjtcbiAgICBjb25zdCB0bXAgPSBuZXcgVWludDhBcnJheShQVUJMSUNfS0VZX1NJWkUgKyAxKTtcbiAgICBjb25zdCBwdWJCdWYgPSBCdWZmZXIuZnJvbSh0aGlzLmtleVBhaXIucHViLCAnaGV4Jyk7XG4gICAgdG1wLnNldChbMHgwMF0pO1xuICAgIHRtcC5zZXQocHViQnVmLCAxKTtcbiAgICAvLyBwcmVmaXggd2l0aCAweCB0byBub3JtYWxpemUgYWRkcmVzc1xuICAgIHJldHVybiAnMHgnLmNvbmNhdChzaGEzLnNoYTNfMjU2KHRtcCkuc2xpY2UoMCwgNDApKTtcbiAgfVxufVxuIl19
@@ -1,8 +1,61 @@
1
- import { BaseKey, BaseTransaction } from '@bitgo-beta/sdk-core';
2
- import { TxData } from './iface';
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,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC,qBAAa,WAAY,SAAQ,eAAe;IAC9C,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO;IAI9B,iBAAiB,IAAI,MAAM;IAI3B,MAAM,IAAI,MAAM;CAGjB"}
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"}