@bitgo/sdk-coin-icp 1.4.0 → 1.6.0

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.
Files changed (36) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/dist/src/lib/iface.d.ts +165 -0
  3. package/dist/src/lib/iface.d.ts.map +1 -0
  4. package/dist/src/lib/iface.js +31 -0
  5. package/dist/src/lib/index.d.ts +3 -0
  6. package/dist/src/lib/index.d.ts.map +1 -1
  7. package/dist/src/lib/index.js +8 -2
  8. package/dist/src/lib/keyPair.js +4 -4
  9. package/dist/src/lib/protoDefinition.d.ts +2 -0
  10. package/dist/src/lib/protoDefinition.d.ts.map +1 -0
  11. package/dist/src/lib/protoDefinition.js +44 -0
  12. package/dist/src/lib/signedTransactionBuilder.d.ts +9 -0
  13. package/dist/src/lib/signedTransactionBuilder.d.ts.map +1 -0
  14. package/dist/src/lib/signedTransactionBuilder.js +69 -0
  15. package/dist/src/lib/transaction.d.ts +42 -0
  16. package/dist/src/lib/transaction.d.ts.map +1 -0
  17. package/dist/src/lib/transaction.js +169 -0
  18. package/dist/src/lib/transactionBuilder.d.ts +47 -31
  19. package/dist/src/lib/transactionBuilder.d.ts.map +1 -1
  20. package/dist/src/lib/transactionBuilder.js +98 -44
  21. package/dist/src/lib/transactionBuilderFactory.d.ts +15 -12
  22. package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
  23. package/dist/src/lib/transactionBuilderFactory.js +38 -24
  24. package/dist/src/lib/transferBuilder.d.ts +10 -25
  25. package/dist/src/lib/transferBuilder.d.ts.map +1 -1
  26. package/dist/src/lib/transferBuilder.js +95 -44
  27. package/dist/src/lib/unsignedTransactionBuilder.d.ts +12 -0
  28. package/dist/src/lib/unsignedTransactionBuilder.d.ts.map +1 -0
  29. package/dist/src/lib/unsignedTransactionBuilder.js +105 -0
  30. package/dist/src/lib/utils.d.ts +261 -7
  31. package/dist/src/lib/utils.d.ts.map +1 -1
  32. package/dist/src/lib/utils.js +453 -54
  33. package/dist/src/ticp.d.ts +0 -4
  34. package/dist/src/ticp.d.ts.map +1 -1
  35. package/dist/src/ticp.js +1 -7
  36. package/package.json +13 -9
package/CHANGELOG.md CHANGED
@@ -3,6 +3,28 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [1.6.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-icp@1.3.0...@bitgo/sdk-coin-icp@1.6.0) (2025-03-04)
7
+
8
+ ### Bug Fixes
9
+
10
+ - dependency fixes for secp256 lib ([826db0b](https://github.com/BitGo/BitGoJS/commit/826db0b5481435bb38b251e8bb5ba8ce9f78d017))
11
+ - **root:** replace elliptic with noble/curves/secp256k1 ([50a208d](https://github.com/BitGo/BitGoJS/commit/50a208d68d8b313ccb9b8e638212f61617daf92a))
12
+
13
+ ### Features
14
+
15
+ - **sdk-coin-icp:** implemented transaction builder and validations for ICP ([ecf68b8](https://github.com/BitGo/BitGoJS/commit/ecf68b8f671944992a16e0eca77ef200e83c520c))
16
+ - **sdk-coin-icp:** refactor key pair generation to use utility function ([93d84d4](https://github.com/BitGo/BitGoJS/commit/93d84d48a3e6287959626e69bcce1c430d82df7a))
17
+
18
+ # [1.5.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-icp@1.3.0...@bitgo/sdk-coin-icp@1.5.0) (2025-02-26)
19
+
20
+ ### Bug Fixes
21
+
22
+ - **root:** replace elliptic with noble/curves/secp256k1 ([50a208d](https://github.com/BitGo/BitGoJS/commit/50a208d68d8b313ccb9b8e638212f61617daf92a))
23
+
24
+ ### Features
25
+
26
+ - **sdk-coin-icp:** refactor key pair generation to use utility function ([93d84d4](https://github.com/BitGo/BitGoJS/commit/93d84d48a3e6287959626e69bcce1c430d82df7a))
27
+
6
28
  # [1.4.0](https://github.com/BitGo/BitGoJS/compare/@bitgo/sdk-coin-icp@1.3.0...@bitgo/sdk-coin-icp@1.4.0) (2025-02-20)
7
29
 
8
30
  ### Features
@@ -0,0 +1,165 @@
1
+ import { TransactionExplanation as BaseTransactionExplanation, TransactionType as BitGoTransactionType } from '@bitgo/sdk-core';
2
+ export declare const REQUEST_STATUS = "request_status";
3
+ export declare enum RequestType {
4
+ CALL = "call",
5
+ READ_STATE = "read_state"
6
+ }
7
+ export declare enum SignatureType {
8
+ ECDSA = "ecdsa"
9
+ }
10
+ export declare enum CurveType {
11
+ SECP256K1 = "secp256k1"
12
+ }
13
+ export declare enum OperationType {
14
+ TRANSACTION = "TRANSACTION",
15
+ FEE = "FEE"
16
+ }
17
+ export declare enum MethodName {
18
+ SEND_PB = "send_pb"
19
+ }
20
+ export declare enum Network {
21
+ ID = "00000000000000020101"
22
+ }
23
+ export interface IcpTransactionData {
24
+ senderAddress: string;
25
+ receiverAddress: string;
26
+ amount: string;
27
+ fee: string;
28
+ senderPublicKeyHex: string;
29
+ memo: number | BigInt;
30
+ transactionType: OperationType;
31
+ expiryTime: number | BigInt;
32
+ }
33
+ export interface IcpPublicKey {
34
+ hex_bytes: string;
35
+ curve_type: string;
36
+ }
37
+ export interface IcpAccount {
38
+ address: string;
39
+ }
40
+ export interface IcpCurrency {
41
+ symbol: string;
42
+ decimals: number;
43
+ }
44
+ export interface IcpAmount {
45
+ value: string;
46
+ currency: IcpCurrency;
47
+ }
48
+ export interface IcpOperation {
49
+ type: string;
50
+ account: IcpAccount;
51
+ amount: IcpAmount;
52
+ }
53
+ export interface IcpMetadata {
54
+ created_at_time: number;
55
+ memo: number | BigInt;
56
+ ingress_start: number | BigInt;
57
+ ingress_end: number | BigInt;
58
+ }
59
+ export interface IcpTransaction {
60
+ public_keys: IcpPublicKey[];
61
+ operations: IcpOperation[];
62
+ metadata: IcpMetadata;
63
+ }
64
+ export interface IcpAccountIdentifier {
65
+ address: string;
66
+ }
67
+ export interface SendArgs {
68
+ memo: {
69
+ memo: number | BigInt;
70
+ };
71
+ payment: {
72
+ receiverGets: {
73
+ e8s: number;
74
+ };
75
+ };
76
+ maxFee: {
77
+ e8s: number;
78
+ };
79
+ to: {
80
+ hash: Buffer;
81
+ };
82
+ createdAtTime: {
83
+ timestampNanos: number;
84
+ };
85
+ }
86
+ export interface HttpCanisterUpdate {
87
+ canister_id: Uint8Array;
88
+ method_name: MethodName;
89
+ arg: Uint8Array;
90
+ sender: Uint8Array;
91
+ ingress_expiry: bigint;
92
+ }
93
+ export interface SigningPayload {
94
+ account_identifier: IcpAccountIdentifier;
95
+ hex_bytes: string;
96
+ signature_type: SignatureType;
97
+ }
98
+ export interface PayloadsData {
99
+ payloads: SigningPayload[];
100
+ unsigned_transaction: string;
101
+ }
102
+ export interface Signatures {
103
+ signing_payload: SigningPayload;
104
+ signature_type: SignatureType;
105
+ public_key: IcpPublicKey;
106
+ hex_bytes: string;
107
+ }
108
+ export interface cborUnsignedTransaction {
109
+ updates: [string, HttpCanisterUpdate][];
110
+ ingress_expiries: bigint[];
111
+ }
112
+ export interface ReadState {
113
+ sender: Uint8Array;
114
+ paths: Array<[Buffer, Buffer]>;
115
+ ingress_expiry: bigint;
116
+ }
117
+ export interface UpdateEnvelope {
118
+ content: {
119
+ request_type: RequestType;
120
+ canister_id: Uint8Array;
121
+ method_name: MethodName;
122
+ arg: Uint8Array;
123
+ sender: Uint8Array;
124
+ ingress_expiry: bigint;
125
+ };
126
+ sender_pubkey: Uint8Array;
127
+ sender_sig: Uint8Array;
128
+ }
129
+ export interface ReadStateEnvelope {
130
+ content: ReadState & {
131
+ request_type: RequestType;
132
+ };
133
+ sender_pubkey: Uint8Array;
134
+ sender_sig: Uint8Array;
135
+ }
136
+ export interface RequestEnvelope {
137
+ update: UpdateEnvelope;
138
+ read_state: ReadStateEnvelope;
139
+ }
140
+ /**
141
+ * The transaction data returned from the toJson() function of a transaction
142
+ */
143
+ export interface TxData {
144
+ id?: string;
145
+ sender: string;
146
+ senderPublicKey: string;
147
+ recipient: string;
148
+ memo: number | BigInt;
149
+ feeAmount: string;
150
+ expirationTime: number | BigInt;
151
+ type?: BitGoTransactionType;
152
+ }
153
+ export interface IcpTransactionExplanation extends BaseTransactionExplanation {
154
+ sender?: string;
155
+ type?: BitGoTransactionType;
156
+ }
157
+ export interface NetworkIdentifier {
158
+ blockchain: string;
159
+ network: string;
160
+ }
161
+ export interface SignedTransactionRequest {
162
+ network_identifier: NetworkIdentifier;
163
+ signed_transaction: string;
164
+ }
165
+ //# sourceMappingURL=iface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iface.d.ts","sourceRoot":"","sources":["../../../src/lib/iface.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Network = exports.MethodName = exports.OperationType = exports.CurveType = exports.SignatureType = exports.RequestType = exports.REQUEST_STATUS = void 0;
4
+ exports.REQUEST_STATUS = 'request_status';
5
+ var RequestType;
6
+ (function (RequestType) {
7
+ RequestType["CALL"] = "call";
8
+ RequestType["READ_STATE"] = "read_state";
9
+ })(RequestType || (exports.RequestType = RequestType = {}));
10
+ var SignatureType;
11
+ (function (SignatureType) {
12
+ SignatureType["ECDSA"] = "ecdsa";
13
+ })(SignatureType || (exports.SignatureType = SignatureType = {}));
14
+ var CurveType;
15
+ (function (CurveType) {
16
+ CurveType["SECP256K1"] = "secp256k1";
17
+ })(CurveType || (exports.CurveType = CurveType = {}));
18
+ var OperationType;
19
+ (function (OperationType) {
20
+ OperationType["TRANSACTION"] = "TRANSACTION";
21
+ OperationType["FEE"] = "FEE";
22
+ })(OperationType || (exports.OperationType = OperationType = {}));
23
+ var MethodName;
24
+ (function (MethodName) {
25
+ MethodName["SEND_PB"] = "send_pb";
26
+ })(MethodName || (exports.MethodName = MethodName = {}));
27
+ var Network;
28
+ (function (Network) {
29
+ Network["ID"] = "00000000000000020101";
30
+ })(Network || (exports.Network = Network = {}));
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2lmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUthLFFBQUEsY0FBYyxHQUFHLGdCQUFnQixDQUFDO0FBRS9DLElBQVksV0FHWDtBQUhELFdBQVksV0FBVztJQUNyQiw0QkFBYSxDQUFBO0lBQ2Isd0NBQXlCLENBQUE7QUFDM0IsQ0FBQyxFQUhXLFdBQVcsMkJBQVgsV0FBVyxRQUd0QjtBQUVELElBQVksYUFFWDtBQUZELFdBQVksYUFBYTtJQUN2QixnQ0FBZSxDQUFBO0FBQ2pCLENBQUMsRUFGVyxhQUFhLDZCQUFiLGFBQWEsUUFFeEI7QUFFRCxJQUFZLFNBRVg7QUFGRCxXQUFZLFNBQVM7SUFDbkIsb0NBQXVCLENBQUE7QUFDekIsQ0FBQyxFQUZXLFNBQVMseUJBQVQsU0FBUyxRQUVwQjtBQUVELElBQVksYUFHWDtBQUhELFdBQVksYUFBYTtJQUN2Qiw0Q0FBMkIsQ0FBQTtJQUMzQiw0QkFBVyxDQUFBO0FBQ2IsQ0FBQyxFQUhXLGFBQWEsNkJBQWIsYUFBYSxRQUd4QjtBQUVELElBQVksVUFFWDtBQUZELFdBQVksVUFBVTtJQUNwQixpQ0FBbUIsQ0FBQTtBQUNyQixDQUFDLEVBRlcsVUFBVSwwQkFBVixVQUFVLFFBRXJCO0FBRUQsSUFBWSxPQUVYO0FBRkQsV0FBWSxPQUFPO0lBQ2pCLHNDQUEyQixDQUFBO0FBQzdCLENBQUMsRUFGVyxPQUFPLHVCQUFQLE9BQU8sUUFFbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIGFzIEJhc2VUcmFuc2FjdGlvbkV4cGxhbmF0aW9uLFxuICBUcmFuc2FjdGlvblR5cGUgYXMgQml0R29UcmFuc2FjdGlvblR5cGUsXG59IGZyb20gJ0BiaXRnby9zZGstY29yZSc7XG5cbmV4cG9ydCBjb25zdCBSRVFVRVNUX1NUQVRVUyA9ICdyZXF1ZXN0X3N0YXR1cyc7XG5cbmV4cG9ydCBlbnVtIFJlcXVlc3RUeXBlIHtcbiAgQ0FMTCA9ICdjYWxsJyxcbiAgUkVBRF9TVEFURSA9ICdyZWFkX3N0YXRlJyxcbn1cblxuZXhwb3J0IGVudW0gU2lnbmF0dXJlVHlwZSB7XG4gIEVDRFNBID0gJ2VjZHNhJyxcbn1cblxuZXhwb3J0IGVudW0gQ3VydmVUeXBlIHtcbiAgU0VDUDI1NksxID0gJ3NlY3AyNTZrMScsXG59XG5cbmV4cG9ydCBlbnVtIE9wZXJhdGlvblR5cGUge1xuICBUUkFOU0FDVElPTiA9ICdUUkFOU0FDVElPTicsXG4gIEZFRSA9ICdGRUUnLFxufVxuXG5leHBvcnQgZW51bSBNZXRob2ROYW1lIHtcbiAgU0VORF9QQiA9ICdzZW5kX3BiJywgLy8gc2VuZF9wYiBpcyB0aGUgbWV0aG9kIG5hbWUgZm9yIElDUCB0cmFuc2ZlciB0cmFuc2FjdGlvblxufVxuXG5leHBvcnQgZW51bSBOZXR3b3JrIHtcbiAgSUQgPSAnMDAwMDAwMDAwMDAwMDAwMjAxMDEnLCAvLyBJQ1AgZG9lcyBub3QgaGF2ZSBkaWZmZXJlbnQgbmV0d29yayBJRHMgZm9yIG1haW5uZXQgYW5kIHRlc3RuZXRcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJY3BUcmFuc2FjdGlvbkRhdGEge1xuICBzZW5kZXJBZGRyZXNzOiBzdHJpbmc7XG4gIHJlY2VpdmVyQWRkcmVzczogc3RyaW5nO1xuICBhbW91bnQ6IHN0cmluZztcbiAgZmVlOiBzdHJpbmc7XG4gIHNlbmRlclB1YmxpY0tleUhleDogc3RyaW5nO1xuICBtZW1vOiBudW1iZXIgfCBCaWdJbnQ7IC8vIG1lbW8gaW4gc3RyaW5nIGlzIG5vdCBhY2NlcHRlZCBieSBJQ1AgY2hhaW4uXG4gIHRyYW5zYWN0aW9uVHlwZTogT3BlcmF0aW9uVHlwZTtcbiAgZXhwaXJ5VGltZTogbnVtYmVyIHwgQmlnSW50O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEljcFB1YmxpY0tleSB7XG4gIGhleF9ieXRlczogc3RyaW5nO1xuICBjdXJ2ZV90eXBlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWNwQWNjb3VudCB7XG4gIGFkZHJlc3M6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJY3BDdXJyZW5jeSB7XG4gIHN5bWJvbDogc3RyaW5nO1xuICBkZWNpbWFsczogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEljcEFtb3VudCB7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIGN1cnJlbmN5OiBJY3BDdXJyZW5jeTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJY3BPcGVyYXRpb24ge1xuICB0eXBlOiBzdHJpbmc7XG4gIGFjY291bnQ6IEljcEFjY291bnQ7XG4gIGFtb3VudDogSWNwQW1vdW50O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEljcE1ldGFkYXRhIHtcbiAgY3JlYXRlZF9hdF90aW1lOiBudW1iZXI7XG4gIG1lbW86IG51bWJlciB8IEJpZ0ludDsgLy8gbWVtbyBpbiBzdHJpbmcgaXMgbm90IGFjY2VwdGVkIGJ5IElDUCBjaGFpbi5cbiAgaW5ncmVzc19zdGFydDogbnVtYmVyIHwgQmlnSW50OyAvLyBpdCBzaG91bGQgYmUgbmFubyBzZWNvbmRzXG4gIGluZ3Jlc3NfZW5kOiBudW1iZXIgfCBCaWdJbnQ7IC8vIGl0IHNob3VsZCBiZSBuYW5vIHNlY29uZHNcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJY3BUcmFuc2FjdGlvbiB7XG4gIHB1YmxpY19rZXlzOiBJY3BQdWJsaWNLZXlbXTtcbiAgb3BlcmF0aW9uczogSWNwT3BlcmF0aW9uW107XG4gIG1ldGFkYXRhOiBJY3BNZXRhZGF0YTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJY3BBY2NvdW50SWRlbnRpZmllciB7XG4gIGFkZHJlc3M6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZW5kQXJncyB7XG4gIG1lbW86IHsgbWVtbzogbnVtYmVyIHwgQmlnSW50IH07XG4gIHBheW1lbnQ6IHsgcmVjZWl2ZXJHZXRzOiB7IGU4czogbnVtYmVyIH0gfTtcbiAgbWF4RmVlOiB7IGU4czogbnVtYmVyIH07XG4gIHRvOiB7IGhhc2g6IEJ1ZmZlciB9O1xuICBjcmVhdGVkQXRUaW1lOiB7IHRpbWVzdGFtcE5hbm9zOiBudW1iZXIgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIdHRwQ2FuaXN0ZXJVcGRhdGUge1xuICBjYW5pc3Rlcl9pZDogVWludDhBcnJheTtcbiAgbWV0aG9kX25hbWU6IE1ldGhvZE5hbWU7XG4gIGFyZzogVWludDhBcnJheTtcbiAgc2VuZGVyOiBVaW50OEFycmF5O1xuICBpbmdyZXNzX2V4cGlyeTogYmlnaW50O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNpZ25pbmdQYXlsb2FkIHtcbiAgYWNjb3VudF9pZGVudGlmaWVyOiBJY3BBY2NvdW50SWRlbnRpZmllcjtcbiAgaGV4X2J5dGVzOiBzdHJpbmc7XG4gIHNpZ25hdHVyZV90eXBlOiBTaWduYXR1cmVUeXBlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBheWxvYWRzRGF0YSB7XG4gIHBheWxvYWRzOiBTaWduaW5nUGF5bG9hZFtdO1xuICB1bnNpZ25lZF90cmFuc2FjdGlvbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNpZ25hdHVyZXMge1xuICBzaWduaW5nX3BheWxvYWQ6IFNpZ25pbmdQYXlsb2FkO1xuICBzaWduYXR1cmVfdHlwZTogU2lnbmF0dXJlVHlwZTtcbiAgcHVibGljX2tleTogSWNwUHVibGljS2V5O1xuICBoZXhfYnl0ZXM6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBjYm9yVW5zaWduZWRUcmFuc2FjdGlvbiB7XG4gIHVwZGF0ZXM6IFtzdHJpbmcsIEh0dHBDYW5pc3RlclVwZGF0ZV1bXTtcbiAgaW5ncmVzc19leHBpcmllczogYmlnaW50W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVhZFN0YXRlIHtcbiAgc2VuZGVyOiBVaW50OEFycmF5O1xuICBwYXRoczogQXJyYXk8W0J1ZmZlciwgQnVmZmVyXT47XG4gIGluZ3Jlc3NfZXhwaXJ5OiBiaWdpbnQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlRW52ZWxvcGUge1xuICBjb250ZW50OiB7XG4gICAgcmVxdWVzdF90eXBlOiBSZXF1ZXN0VHlwZTtcbiAgICBjYW5pc3Rlcl9pZDogVWludDhBcnJheTtcbiAgICBtZXRob2RfbmFtZTogTWV0aG9kTmFtZTtcbiAgICBhcmc6IFVpbnQ4QXJyYXk7XG4gICAgc2VuZGVyOiBVaW50OEFycmF5O1xuICAgIGluZ3Jlc3NfZXhwaXJ5OiBiaWdpbnQ7XG4gIH07XG4gIHNlbmRlcl9wdWJrZXk6IFVpbnQ4QXJyYXk7XG4gIHNlbmRlcl9zaWc6IFVpbnQ4QXJyYXk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVhZFN0YXRlRW52ZWxvcGUge1xuICBjb250ZW50OiBSZWFkU3RhdGUgJiB7XG4gICAgcmVxdWVzdF90eXBlOiBSZXF1ZXN0VHlwZTtcbiAgfTtcbiAgc2VuZGVyX3B1YmtleTogVWludDhBcnJheTtcbiAgc2VuZGVyX3NpZzogVWludDhBcnJheTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXF1ZXN0RW52ZWxvcGUge1xuICB1cGRhdGU6IFVwZGF0ZUVudmVsb3BlO1xuICByZWFkX3N0YXRlOiBSZWFkU3RhdGVFbnZlbG9wZTtcbn1cblxuLyoqXG4gKiBUaGUgdHJhbnNhY3Rpb24gZGF0YSByZXR1cm5lZCBmcm9tIHRoZSB0b0pzb24oKSBmdW5jdGlvbiBvZiBhIHRyYW5zYWN0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHhEYXRhIHtcbiAgaWQ/OiBzdHJpbmc7XG4gIHNlbmRlcjogc3RyaW5nO1xuICBzZW5kZXJQdWJsaWNLZXk6IHN0cmluZztcbiAgcmVjaXBpZW50OiBzdHJpbmc7XG4gIG1lbW86IG51bWJlciB8IEJpZ0ludDtcbiAgZmVlQW1vdW50OiBzdHJpbmc7XG4gIGV4cGlyYXRpb25UaW1lOiBudW1iZXIgfCBCaWdJbnQ7XG4gIHR5cGU/OiBCaXRHb1RyYW5zYWN0aW9uVHlwZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJY3BUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIGV4dGVuZHMgQmFzZVRyYW5zYWN0aW9uRXhwbGFuYXRpb24ge1xuICBzZW5kZXI/OiBzdHJpbmc7XG4gIHR5cGU/OiBCaXRHb1RyYW5zYWN0aW9uVHlwZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOZXR3b3JrSWRlbnRpZmllciB7XG4gIGJsb2NrY2hhaW46IHN0cmluZztcbiAgbmV0d29yazogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNpZ25lZFRyYW5zYWN0aW9uUmVxdWVzdCB7XG4gIG5ldHdvcmtfaWRlbnRpZmllcjogTmV0d29ya0lkZW50aWZpZXI7XG4gIHNpZ25lZF90cmFuc2FjdGlvbjogc3RyaW5nO1xufVxuIl19
@@ -1,5 +1,8 @@
1
1
  import * as Utils from './utils';
2
+ export { KeyPair } from './keyPair';
2
3
  export { TransactionBuilder } from './transactionBuilder';
3
4
  export { TransferBuilder } from './transferBuilder';
5
+ export { TransactionBuilderFactory } from './transactionBuilderFactory';
6
+ export { Transaction } from './transaction';
4
7
  export { Utils };
5
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,CAAC"}
@@ -33,11 +33,17 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.Utils = exports.TransferBuilder = exports.TransactionBuilder = void 0;
36
+ exports.Utils = exports.Transaction = exports.TransactionBuilderFactory = exports.TransferBuilder = exports.TransactionBuilder = exports.KeyPair = void 0;
37
37
  const Utils = __importStar(require("./utils"));
38
38
  exports.Utils = Utils;
39
+ var keyPair_1 = require("./keyPair");
40
+ Object.defineProperty(exports, "KeyPair", { enumerable: true, get: function () { return keyPair_1.KeyPair; } });
39
41
  var transactionBuilder_1 = require("./transactionBuilder");
40
42
  Object.defineProperty(exports, "TransactionBuilder", { enumerable: true, get: function () { return transactionBuilder_1.TransactionBuilder; } });
41
43
  var transferBuilder_1 = require("./transferBuilder");
42
44
  Object.defineProperty(exports, "TransferBuilder", { enumerable: true, get: function () { return transferBuilder_1.TransferBuilder; } });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtDQUFpQztBQUl4QixzQkFBSztBQUZkLDJEQUEwRDtBQUFqRCx3SEFBQSxrQkFBa0IsT0FBQTtBQUMzQixxREFBb0Q7QUFBM0Msa0hBQUEsZUFBZSxPQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgVXRpbHMgZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyJztcbmV4cG9ydCB7IFRyYW5zZmVyQnVpbGRlciB9IGZyb20gJy4vdHJhbnNmZXJCdWlsZGVyJztcbmV4cG9ydCB7IFV0aWxzIH07XG4iXX0=
45
+ var transactionBuilderFactory_1 = require("./transactionBuilderFactory");
46
+ Object.defineProperty(exports, "TransactionBuilderFactory", { enumerable: true, get: function () { return transactionBuilderFactory_1.TransactionBuilderFactory; } });
47
+ var transaction_1 = require("./transaction");
48
+ Object.defineProperty(exports, "Transaction", { enumerable: true, get: function () { return transaction_1.Transaction; } });
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtDQUFpQztBQU94QixzQkFBSztBQUxkLHFDQUFvQztBQUEzQixrR0FBQSxPQUFPLE9BQUE7QUFDaEIsMkRBQTBEO0FBQWpELHdIQUFBLGtCQUFrQixPQUFBO0FBQzNCLHFEQUFvRDtBQUEzQyxrSEFBQSxlQUFlLE9BQUE7QUFDeEIseUVBQXdFO0FBQS9ELHNJQUFBLHlCQUF5QixPQUFBO0FBQ2xDLDZDQUE0QztBQUFuQywwR0FBQSxXQUFXLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBVdGlscyBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IHsgS2V5UGFpciB9IGZyb20gJy4va2V5UGFpcic7XG5leHBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5leHBvcnQgeyBUcmFuc2ZlckJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zZmVyQnVpbGRlcic7XG5leHBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5IH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXJGYWN0b3J5JztcbmV4cG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5leHBvcnQgeyBVdGlscyB9O1xuIl19
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.KeyPair = void 0;
7
7
  const sdk_core_1 = require("@bitgo/sdk-core");
8
8
  const utils_1 = __importDefault(require("./utils"));
9
- const utxo_lib_1 = require("@bitgo/utxo-lib");
9
+ const secp256k1_1 = require("@bitgo/secp256k1");
10
10
  const crypto_1 = require("crypto");
11
11
  const DEFAULT_SEED_SIZE_BYTES = 16;
12
12
  /**
@@ -23,10 +23,10 @@ class KeyPair extends sdk_core_1.Secp256k1ExtendedKeyPair {
23
23
  super(source);
24
24
  if (!source) {
25
25
  const seed = (0, crypto_1.randomBytes)(DEFAULT_SEED_SIZE_BYTES);
26
- this.hdNode = utxo_lib_1.bip32.fromSeed(seed);
26
+ this.hdNode = secp256k1_1.bip32.fromSeed(seed);
27
27
  }
28
28
  else if ((0, sdk_core_1.isSeed)(source)) {
29
- this.hdNode = utxo_lib_1.bip32.fromSeed(source.seed);
29
+ this.hdNode = secp256k1_1.bip32.fromSeed(source.seed);
30
30
  }
31
31
  else if ((0, sdk_core_1.isPrivateKey)(source)) {
32
32
  super.recordKeysFromPrivateKey(source.prv);
@@ -57,4 +57,4 @@ class KeyPair extends sdk_core_1.Secp256k1ExtendedKeyPair {
57
57
  }
58
58
  }
59
59
  exports.KeyPair = KeyPair;
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5UGFpci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIva2V5UGFpci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSw4Q0FPeUI7QUFDekIsb0RBQTRCO0FBQzVCLDhDQUF3QztBQUN4QyxtQ0FBcUM7QUFFckMsTUFBTSx1QkFBdUIsR0FBRyxFQUFFLENBQUM7QUFFbkM7O0dBRUc7QUFDSCxNQUFhLE9BQVEsU0FBUSxtQ0FBd0I7SUFDbkQ7Ozs7O09BS0c7SUFDSCxZQUFZLE1BQXVCO1FBQ2pDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNkLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNaLE1BQU0sSUFBSSxHQUFHLElBQUEsb0JBQVcsRUFBQyx1QkFBdUIsQ0FBQyxDQUFDO1lBQ2xELElBQUksQ0FBQyxNQUFNLEdBQUcsZ0JBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckMsQ0FBQzthQUFNLElBQUksSUFBQSxpQkFBTSxFQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxnQkFBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUMsQ0FBQzthQUFNLElBQUksSUFBQSx1QkFBWSxFQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDaEMsS0FBSyxDQUFDLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM3QyxDQUFDO2FBQU0sSUFBSSxJQUFBLHNCQUFXLEVBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUMvQixLQUFLLENBQUMsdUJBQXVCLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzVDLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxJQUFJLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBQzlDLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsT0FBTyxHQUFHLG1DQUF3QixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDakUsQ0FBQztJQUNILENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsT0FBTztRQUNMLE9BQU87WUFDTCxHQUFHLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7WUFDNUQsR0FBRyxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDO1NBQzNDLENBQUM7SUFDSixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLFVBQVU7UUFDUixNQUFNLFNBQVMsR0FBRyxlQUFLLENBQUMsNEJBQTRCLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3pFLE1BQU0sVUFBVSxHQUFHLElBQUksVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3RDLE1BQU0sU0FBUyxHQUFHLGVBQUssQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzdELE9BQU8sU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzlCLENBQUM7Q0FDRjtBQTFDRCwwQkEwQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEZWZhdWx0S2V5cyxcbiAgS2V5UGFpck9wdGlvbnMsXG4gIFNlY3AyNTZrMUV4dGVuZGVkS2V5UGFpcixcbiAgaXNTZWVkLFxuICBpc1ByaXZhdGVLZXksXG4gIGlzUHVibGljS2V5LFxufSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuaW1wb3J0IHV0aWxzIGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgYmlwMzIgfSBmcm9tICdAYml0Z28vdXR4by1saWInO1xuaW1wb3J0IHsgcmFuZG9tQnl0ZXMgfSBmcm9tICdjcnlwdG8nO1xuXG5jb25zdCBERUZBVUxUX1NFRURfU0laRV9CWVRFUyA9IDE2O1xuXG4vKipcbiAqIElDUCBrZXlzIGFuZCBhZGRyZXNzIG1hbmFnZW1lbnQuXG4gKi9cbmV4cG9ydCBjbGFzcyBLZXlQYWlyIGV4dGVuZHMgU2VjcDI1NmsxRXh0ZW5kZWRLZXlQYWlyIHtcbiAgLyoqXG4gICAqIFB1YmxpYyBjb25zdHJ1Y3Rvci4gQnkgZGVmYXVsdCwgY3JlYXRlcyBhIGtleSBwYWlyIHdpdGggYSByYW5kb20gbWFzdGVyIHNlZWQuXG4gICAqXG4gICAqIEBwYXJhbSB7IEtleVBhaXJPcHRpb25zIH0gc291cmNlIEVpdGhlciBhIG1hc3RlciBzZWVkLCBhIHByaXZhdGUga2V5IChleHRlbmRlZCBvciByYXcpLCBvciBhIHB1YmxpYyBrZXlcbiAgICogICAgIChleHRlbmRlZCwgY29tcHJlc3NlZCwgb3IgdW5jb21wcmVzc2VkKVxuICAgKi9cbiAgY29uc3RydWN0b3Ioc291cmNlPzogS2V5UGFpck9wdGlvbnMpIHtcbiAgICBzdXBlcihzb3VyY2UpO1xuICAgIGlmICghc291cmNlKSB7XG4gICAgICBjb25zdCBzZWVkID0gcmFuZG9tQnl0ZXMoREVGQVVMVF9TRUVEX1NJWkVfQllURVMpO1xuICAgICAgdGhpcy5oZE5vZGUgPSBiaXAzMi5mcm9tU2VlZChzZWVkKTtcbiAgICB9IGVsc2UgaWYgKGlzU2VlZChzb3VyY2UpKSB7XG4gICAgICB0aGlzLmhkTm9kZSA9IGJpcDMyLmZyb21TZWVkKHNvdXJjZS5zZWVkKTtcbiAgICB9IGVsc2UgaWYgKGlzUHJpdmF0ZUtleShzb3VyY2UpKSB7XG4gICAgICBzdXBlci5yZWNvcmRLZXlzRnJvbVByaXZhdGVLZXkoc291cmNlLnBydik7XG4gICAgfSBlbHNlIGlmIChpc1B1YmxpY0tleShzb3VyY2UpKSB7XG4gICAgICBzdXBlci5yZWNvcmRLZXlzRnJvbVB1YmxpY0tleShzb3VyY2UucHViKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGtleSBwYWlyIG9wdGlvbnMnKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5oZE5vZGUpIHtcbiAgICAgIHRoaXMua2V5UGFpciA9IFNlY3AyNTZrMUV4dGVuZGVkS2V5UGFpci50b0tleVBhaXIodGhpcy5oZE5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBnZXRLZXlzKCk6IERlZmF1bHRLZXlzIHtcbiAgICByZXR1cm4ge1xuICAgICAgcHViOiB0aGlzLmdldFB1YmxpY0tleSh7IGNvbXByZXNzZWQ6IHRydWUgfSkudG9TdHJpbmcoJ2hleCcpLFxuICAgICAgcHJ2OiB0aGlzLmdldFByaXZhdGVLZXkoKT8udG9TdHJpbmcoJ2hleCcpLFxuICAgIH07XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgZ2V0QWRkcmVzcygpOiBzdHJpbmcge1xuICAgIGNvbnN0IHByaW5jaXBhbCA9IHV0aWxzLmRlcml2ZVByaW5jaXBhbEZyb21QdWJsaWNLZXkodGhpcy5nZXRLZXlzKCkucHViKTtcbiAgICBjb25zdCBzdWJBY2NvdW50ID0gbmV3IFVpbnQ4QXJyYXkoMzIpO1xuICAgIGNvbnN0IGFjY291bnRJZCA9IHV0aWxzLmZyb21QcmluY2lwYWwocHJpbmNpcGFsLCBzdWJBY2NvdW50KTtcbiAgICByZXR1cm4gYWNjb3VudElkLnRvU3RyaW5nKCk7XG4gIH1cbn1cbiJdfQ==
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5UGFpci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIva2V5UGFpci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSw4Q0FPeUI7QUFDekIsb0RBQTRCO0FBQzVCLGdEQUF5QztBQUN6QyxtQ0FBcUM7QUFFckMsTUFBTSx1QkFBdUIsR0FBRyxFQUFFLENBQUM7QUFFbkM7O0dBRUc7QUFDSCxNQUFhLE9BQVEsU0FBUSxtQ0FBd0I7SUFDbkQ7Ozs7O09BS0c7SUFDSCxZQUFZLE1BQXVCO1FBQ2pDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNkLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNaLE1BQU0sSUFBSSxHQUFHLElBQUEsb0JBQVcsRUFBQyx1QkFBdUIsQ0FBQyxDQUFDO1lBQ2xELElBQUksQ0FBQyxNQUFNLEdBQUcsaUJBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckMsQ0FBQzthQUFNLElBQUksSUFBQSxpQkFBTSxFQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxpQkFBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUMsQ0FBQzthQUFNLElBQUksSUFBQSx1QkFBWSxFQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDaEMsS0FBSyxDQUFDLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM3QyxDQUFDO2FBQU0sSUFBSSxJQUFBLHNCQUFXLEVBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUMvQixLQUFLLENBQUMsdUJBQXVCLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzVDLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxJQUFJLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBQzlDLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsT0FBTyxHQUFHLG1DQUF3QixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDakUsQ0FBQztJQUNILENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsT0FBTztRQUNMLE9BQU87WUFDTCxHQUFHLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7WUFDNUQsR0FBRyxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDO1NBQzNDLENBQUM7SUFDSixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLFVBQVU7UUFDUixNQUFNLFNBQVMsR0FBRyxlQUFLLENBQUMsNEJBQTRCLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3pFLE1BQU0sVUFBVSxHQUFHLElBQUksVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3RDLE1BQU0sU0FBUyxHQUFHLGVBQUssQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzdELE9BQU8sU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzlCLENBQUM7Q0FDRjtBQTFDRCwwQkEwQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEZWZhdWx0S2V5cyxcbiAgS2V5UGFpck9wdGlvbnMsXG4gIFNlY3AyNTZrMUV4dGVuZGVkS2V5UGFpcixcbiAgaXNTZWVkLFxuICBpc1ByaXZhdGVLZXksXG4gIGlzUHVibGljS2V5LFxufSBmcm9tICdAYml0Z28vc2RrLWNvcmUnO1xuaW1wb3J0IHV0aWxzIGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgYmlwMzIgfSBmcm9tICdAYml0Z28vc2VjcDI1NmsxJztcbmltcG9ydCB7IHJhbmRvbUJ5dGVzIH0gZnJvbSAnY3J5cHRvJztcblxuY29uc3QgREVGQVVMVF9TRUVEX1NJWkVfQllURVMgPSAxNjtcblxuLyoqXG4gKiBJQ1Aga2V5cyBhbmQgYWRkcmVzcyBtYW5hZ2VtZW50LlxuICovXG5leHBvcnQgY2xhc3MgS2V5UGFpciBleHRlbmRzIFNlY3AyNTZrMUV4dGVuZGVkS2V5UGFpciB7XG4gIC8qKlxuICAgKiBQdWJsaWMgY29uc3RydWN0b3IuIEJ5IGRlZmF1bHQsIGNyZWF0ZXMgYSBrZXkgcGFpciB3aXRoIGEgcmFuZG9tIG1hc3RlciBzZWVkLlxuICAgKlxuICAgKiBAcGFyYW0geyBLZXlQYWlyT3B0aW9ucyB9IHNvdXJjZSBFaXRoZXIgYSBtYXN0ZXIgc2VlZCwgYSBwcml2YXRlIGtleSAoZXh0ZW5kZWQgb3IgcmF3KSwgb3IgYSBwdWJsaWMga2V5XG4gICAqICAgICAoZXh0ZW5kZWQsIGNvbXByZXNzZWQsIG9yIHVuY29tcHJlc3NlZClcbiAgICovXG4gIGNvbnN0cnVjdG9yKHNvdXJjZT86IEtleVBhaXJPcHRpb25zKSB7XG4gICAgc3VwZXIoc291cmNlKTtcbiAgICBpZiAoIXNvdXJjZSkge1xuICAgICAgY29uc3Qgc2VlZCA9IHJhbmRvbUJ5dGVzKERFRkFVTFRfU0VFRF9TSVpFX0JZVEVTKTtcbiAgICAgIHRoaXMuaGROb2RlID0gYmlwMzIuZnJvbVNlZWQoc2VlZCk7XG4gICAgfSBlbHNlIGlmIChpc1NlZWQoc291cmNlKSkge1xuICAgICAgdGhpcy5oZE5vZGUgPSBiaXAzMi5mcm9tU2VlZChzb3VyY2Uuc2VlZCk7XG4gICAgfSBlbHNlIGlmIChpc1ByaXZhdGVLZXkoc291cmNlKSkge1xuICAgICAgc3VwZXIucmVjb3JkS2V5c0Zyb21Qcml2YXRlS2V5KHNvdXJjZS5wcnYpO1xuICAgIH0gZWxzZSBpZiAoaXNQdWJsaWNLZXkoc291cmNlKSkge1xuICAgICAgc3VwZXIucmVjb3JkS2V5c0Zyb21QdWJsaWNLZXkoc291cmNlLnB1Yik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBrZXkgcGFpciBvcHRpb25zJyk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaGROb2RlKSB7XG4gICAgICB0aGlzLmtleVBhaXIgPSBTZWNwMjU2azFFeHRlbmRlZEtleVBhaXIudG9LZXlQYWlyKHRoaXMuaGROb2RlKTtcbiAgICB9XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgZ2V0S2V5cygpOiBEZWZhdWx0S2V5cyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHB1YjogdGhpcy5nZXRQdWJsaWNLZXkoeyBjb21wcmVzc2VkOiB0cnVlIH0pLnRvU3RyaW5nKCdoZXgnKSxcbiAgICAgIHBydjogdGhpcy5nZXRQcml2YXRlS2V5KCk/LnRvU3RyaW5nKCdoZXgnKSxcbiAgICB9O1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGdldEFkZHJlc3MoKTogc3RyaW5nIHtcbiAgICBjb25zdCBwcmluY2lwYWwgPSB1dGlscy5kZXJpdmVQcmluY2lwYWxGcm9tUHVibGljS2V5KHRoaXMuZ2V0S2V5cygpLnB1Yik7XG4gICAgY29uc3Qgc3ViQWNjb3VudCA9IG5ldyBVaW50OEFycmF5KDMyKTtcbiAgICBjb25zdCBhY2NvdW50SWQgPSB1dGlscy5mcm9tUHJpbmNpcGFsKHByaW5jaXBhbCwgc3ViQWNjb3VudCk7XG4gICAgcmV0dXJuIGFjY291bnRJZC50b1N0cmluZygpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export declare const protoDefinition = "\nsyntax = \"proto3\";\n\nmessage Memo {\n uint64 memo = 1;\n}\n\nmessage Tokens {\n uint64 e8s = 1;\n}\n\nmessage Payment {\n Tokens receiver_gets = 1;\n}\n\nmessage Subaccount {\n bytes sub_account = 1;\n}\n\nmessage AccountIdentifier {\n bytes hash = 1; \n}\n\nmessage BlockIndex {\n uint64 height = 1;\n}\n\nmessage TimeStamp {\n uint64 timestamp_nanos = 1;\n}\n\nmessage SendRequest {\n Memo memo = 1;\n Payment payment = 2;\n Tokens max_fee = 3;\n Subaccount from_subaccount = 4;\n AccountIdentifier to = 5;\n BlockIndex created_at = 6;\n TimeStamp created_at_time = 7;\n}";
2
+ //# sourceMappingURL=protoDefinition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protoDefinition.d.ts","sourceRoot":"","sources":["../../../src/lib/protoDefinition.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,6mBAuC1B,CAAC"}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.protoDefinition = void 0;
4
+ exports.protoDefinition = `
5
+ syntax = "proto3";
6
+
7
+ message Memo {
8
+ uint64 memo = 1;
9
+ }
10
+
11
+ message Tokens {
12
+ uint64 e8s = 1;
13
+ }
14
+
15
+ message Payment {
16
+ Tokens receiver_gets = 1;
17
+ }
18
+
19
+ message Subaccount {
20
+ bytes sub_account = 1;
21
+ }
22
+
23
+ message AccountIdentifier {
24
+ bytes hash = 1;
25
+ }
26
+
27
+ message BlockIndex {
28
+ uint64 height = 1;
29
+ }
30
+
31
+ message TimeStamp {
32
+ uint64 timestamp_nanos = 1;
33
+ }
34
+
35
+ message SendRequest {
36
+ Memo memo = 1;
37
+ Payment payment = 2;
38
+ Tokens max_fee = 3;
39
+ Subaccount from_subaccount = 4;
40
+ AccountIdentifier to = 5;
41
+ BlockIndex created_at = 6;
42
+ TimeStamp created_at_time = 7;
43
+ }`;
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdG9EZWZpbml0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9wcm90b0RlZmluaXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQWEsUUFBQSxlQUFlLEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQXVDN0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBwcm90b0RlZmluaXRpb24gPSBgXG5zeW50YXggPSBcInByb3RvM1wiO1xuXG5tZXNzYWdlIE1lbW8ge1xuICB1aW50NjQgbWVtbyA9IDE7XG59XG5cbm1lc3NhZ2UgVG9rZW5zIHtcbiAgICB1aW50NjQgZThzID0gMTtcbn1cblxubWVzc2FnZSBQYXltZW50IHtcbiAgICBUb2tlbnMgcmVjZWl2ZXJfZ2V0cyA9IDE7XG59XG5cbm1lc3NhZ2UgU3ViYWNjb3VudCB7XG4gIGJ5dGVzIHN1Yl9hY2NvdW50ID0gMTtcbn1cblxubWVzc2FnZSBBY2NvdW50SWRlbnRpZmllciB7XG4gICAgYnl0ZXMgaGFzaCA9IDE7IFxufVxuXG5tZXNzYWdlIEJsb2NrSW5kZXgge1xuICAgIHVpbnQ2NCBoZWlnaHQgPSAxO1xufVxuXG5tZXNzYWdlIFRpbWVTdGFtcCB7XG4gICAgdWludDY0IHRpbWVzdGFtcF9uYW5vcyA9IDE7XG59XG5cbm1lc3NhZ2UgU2VuZFJlcXVlc3Qge1xuICAgIE1lbW8gbWVtbyA9IDE7XG4gICAgUGF5bWVudCBwYXltZW50ID0gMjtcbiAgICBUb2tlbnMgbWF4X2ZlZSA9IDM7XG4gICAgU3ViYWNjb3VudCBmcm9tX3N1YmFjY291bnQgPSA0O1xuICAgIEFjY291bnRJZGVudGlmaWVyIHRvID0gNTtcbiAgICBCbG9ja0luZGV4IGNyZWF0ZWRfYXQgPSA2O1xuICAgIFRpbWVTdGFtcCBjcmVhdGVkX2F0X3RpbWUgPSA3O1xufWA7XG4iXX0=
@@ -0,0 +1,9 @@
1
+ import { cborUnsignedTransaction, Signatures, RequestEnvelope } from './iface';
2
+ export declare class SignedTransactionBuilder {
3
+ protected _unsigned_transaction: string;
4
+ protected _signaturePayload: Signatures[];
5
+ constructor(unsigned_transaction: string, signatures: Signatures[]);
6
+ getSignTransaction(): string;
7
+ getEnvelopes(unsignedTransaction: cborUnsignedTransaction, signatureMap: Map<string, Signatures>): [string, RequestEnvelope[]][];
8
+ }
9
+ //# sourceMappingURL=signedTransactionBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signedTransactionBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/signedTransactionBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EAEvB,UAAU,EAGV,eAAe,EAChB,MAAM,SAAS,CAAC;AAIjB,qBAAa,wBAAwB;IACnC,SAAS,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACxC,SAAS,CAAC,iBAAiB,EAAE,UAAU,EAAE,CAAC;gBAE9B,oBAAoB,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE;IAKlE,kBAAkB,IAAI,MAAM;IAoB5B,YAAY,CACV,mBAAmB,EAAE,uBAAuB,EAC5C,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,GACpC,CAAC,MAAM,EAAE,eAAe,EAAE,CAAC,EAAE;CAwCjC"}
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.SignedTransactionBuilder = void 0;
7
+ const iface_1 = require("./iface");
8
+ const utils_1 = __importDefault(require("./utils"));
9
+ const assert_1 = __importDefault(require("assert"));
10
+ class SignedTransactionBuilder {
11
+ constructor(unsigned_transaction, signatures) {
12
+ this._unsigned_transaction = unsigned_transaction;
13
+ this._signaturePayload = signatures;
14
+ }
15
+ getSignTransaction() {
16
+ const combineRequest = {
17
+ signatures: this._signaturePayload,
18
+ unsigned_transaction: this._unsigned_transaction,
19
+ };
20
+ const signatureMap = new Map();
21
+ for (const sig of combineRequest.signatures) {
22
+ signatureMap.set(sig.signing_payload.hex_bytes, sig);
23
+ }
24
+ const unsignedTransaction = utils_1.default.cborDecode(utils_1.default.blobFromHex(combineRequest.unsigned_transaction));
25
+ (0, assert_1.default)(combineRequest.signatures.length === unsignedTransaction.ingress_expiries.length * 2);
26
+ (0, assert_1.default)(unsignedTransaction.updates.length === 1);
27
+ const envelopes = this.getEnvelopes(unsignedTransaction, signatureMap);
28
+ const envelopRequests = { requests: envelopes };
29
+ const signedTransaction = utils_1.default.cborEncode(envelopRequests);
30
+ return signedTransaction;
31
+ }
32
+ getEnvelopes(unsignedTransaction, signatureMap) {
33
+ const envelopes = [];
34
+ for (const [reqType, update] of unsignedTransaction.updates) {
35
+ const requestEnvelopes = [];
36
+ for (const ingressExpiry of unsignedTransaction.ingress_expiries) {
37
+ update.ingress_expiry = ingressExpiry;
38
+ const readState = utils_1.default.makeReadStateFromUpdate(update);
39
+ const transactionSignature = utils_1.default.getTransactionSignature(signatureMap, update);
40
+ if (!transactionSignature) {
41
+ throw new Error('Transaction signature is undefined');
42
+ }
43
+ const readStateSignature = utils_1.default.getReadStateSignature(signatureMap, readState);
44
+ if (!readStateSignature) {
45
+ throw new Error('read state signature is undefined');
46
+ }
47
+ const pk_der = utils_1.default.getPublicKeyInDERFormat(transactionSignature.public_key.hex_bytes);
48
+ const updateEnvelope = {
49
+ content: { request_type: iface_1.RequestType.CALL, ...update },
50
+ sender_pubkey: pk_der,
51
+ sender_sig: utils_1.default.blobFromHex(transactionSignature.hex_bytes),
52
+ };
53
+ const readStateEnvelope = {
54
+ content: { request_type: iface_1.RequestType.READ_STATE, ...readState },
55
+ sender_pubkey: pk_der,
56
+ sender_sig: utils_1.default.blobFromHex(readStateSignature.hex_bytes),
57
+ };
58
+ requestEnvelopes.push({
59
+ update: updateEnvelope,
60
+ read_state: readStateEnvelope,
61
+ });
62
+ }
63
+ envelopes.push([reqType, requestEnvelopes]);
64
+ }
65
+ return envelopes;
66
+ }
67
+ }
68
+ exports.SignedTransactionBuilder = SignedTransactionBuilder;
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmVkVHJhbnNhY3Rpb25CdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9zaWduZWRUcmFuc2FjdGlvbkJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsbUNBT2lCO0FBQ2pCLG9EQUE0QjtBQUM1QixvREFBNEI7QUFFNUIsTUFBYSx3QkFBd0I7SUFJbkMsWUFBWSxvQkFBNEIsRUFBRSxVQUF3QjtRQUNoRSxJQUFJLENBQUMscUJBQXFCLEdBQUcsb0JBQW9CLENBQUM7UUFDbEQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFVBQVUsQ0FBQztJQUN0QyxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLE1BQU0sY0FBYyxHQUFHO1lBQ3JCLFVBQVUsRUFBRSxJQUFJLENBQUMsaUJBQWlCO1lBQ2xDLG9CQUFvQixFQUFFLElBQUksQ0FBQyxxQkFBcUI7U0FDakQsQ0FBQztRQUNGLE1BQU0sWUFBWSxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7UUFDL0IsS0FBSyxNQUFNLEdBQUcsSUFBSSxjQUFjLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDNUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUN2RCxDQUFDO1FBQ0QsTUFBTSxtQkFBbUIsR0FBRyxlQUFLLENBQUMsVUFBVSxDQUMxQyxlQUFLLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUM1QixDQUFDO1FBQzdCLElBQUEsZ0JBQU0sRUFBQyxjQUFjLENBQUMsVUFBVSxDQUFDLE1BQU0sS0FBSyxtQkFBbUIsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDN0YsSUFBQSxnQkFBTSxFQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDakQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxtQkFBbUIsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUN2RSxNQUFNLGVBQWUsR0FBRyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsQ0FBQztRQUNoRCxNQUFNLGlCQUFpQixHQUFHLGVBQUssQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDNUQsT0FBTyxpQkFBaUIsQ0FBQztJQUMzQixDQUFDO0lBRUQsWUFBWSxDQUNWLG1CQUE0QyxFQUM1QyxZQUFxQztRQUVyQyxNQUFNLFNBQVMsR0FBa0MsRUFBRSxDQUFDO1FBQ3BELEtBQUssTUFBTSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsSUFBSSxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUM1RCxNQUFNLGdCQUFnQixHQUFzQixFQUFFLENBQUM7WUFDL0MsS0FBSyxNQUFNLGFBQWEsSUFBSSxtQkFBbUIsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO2dCQUNqRSxNQUFNLENBQUMsY0FBYyxHQUFHLGFBQWEsQ0FBQztnQkFFdEMsTUFBTSxTQUFTLEdBQUcsZUFBSyxDQUFDLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUN4RCxNQUFNLG9CQUFvQixHQUFHLGVBQUssQ0FBQyx1QkFBdUIsQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLENBQUM7Z0JBQ2pGLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO29CQUMxQixNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7Z0JBQ3hELENBQUM7Z0JBRUQsTUFBTSxrQkFBa0IsR0FBRyxlQUFLLENBQUMscUJBQXFCLENBQUMsWUFBWSxFQUFFLFNBQVMsQ0FBQyxDQUFDO2dCQUNoRixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztvQkFDeEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO2dCQUN2RCxDQUFDO2dCQUVELE1BQU0sTUFBTSxHQUFHLGVBQUssQ0FBQyx1QkFBdUIsQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQ3hGLE1BQU0sY0FBYyxHQUFtQjtvQkFDckMsT0FBTyxFQUFFLEVBQUUsWUFBWSxFQUFFLG1CQUFXLENBQUMsSUFBSSxFQUFFLEdBQUcsTUFBTSxFQUFFO29CQUN0RCxhQUFhLEVBQUUsTUFBTTtvQkFDckIsVUFBVSxFQUFFLGVBQUssQ0FBQyxXQUFXLENBQUMsb0JBQW9CLENBQUMsU0FBUyxDQUFDO2lCQUM5RCxDQUFDO2dCQUVGLE1BQU0saUJBQWlCLEdBQXNCO29CQUMzQyxPQUFPLEVBQUUsRUFBRSxZQUFZLEVBQUUsbUJBQVcsQ0FBQyxVQUFVLEVBQUUsR0FBRyxTQUFTLEVBQUU7b0JBQy9ELGFBQWEsRUFBRSxNQUFNO29CQUNyQixVQUFVLEVBQUUsZUFBSyxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUM7aUJBQzVELENBQUM7Z0JBRUYsZ0JBQWdCLENBQUMsSUFBSSxDQUFDO29CQUNwQixNQUFNLEVBQUUsY0FBYztvQkFDdEIsVUFBVSxFQUFFLGlCQUFpQjtpQkFDOUIsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztZQUNELFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO1FBQzlDLENBQUM7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0NBQ0Y7QUF4RUQsNERBd0VDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgY2JvclVuc2lnbmVkVHJhbnNhY3Rpb24sXG4gIFJlcXVlc3RUeXBlLFxuICBTaWduYXR1cmVzLFxuICBVcGRhdGVFbnZlbG9wZSxcbiAgUmVhZFN0YXRlRW52ZWxvcGUsXG4gIFJlcXVlc3RFbnZlbG9wZSxcbn0gZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5cbmV4cG9ydCBjbGFzcyBTaWduZWRUcmFuc2FjdGlvbkJ1aWxkZXIge1xuICBwcm90ZWN0ZWQgX3Vuc2lnbmVkX3RyYW5zYWN0aW9uOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBfc2lnbmF0dXJlUGF5bG9hZDogU2lnbmF0dXJlc1tdO1xuXG4gIGNvbnN0cnVjdG9yKHVuc2lnbmVkX3RyYW5zYWN0aW9uOiBzdHJpbmcsIHNpZ25hdHVyZXM6IFNpZ25hdHVyZXNbXSkge1xuICAgIHRoaXMuX3Vuc2lnbmVkX3RyYW5zYWN0aW9uID0gdW5zaWduZWRfdHJhbnNhY3Rpb247XG4gICAgdGhpcy5fc2lnbmF0dXJlUGF5bG9hZCA9IHNpZ25hdHVyZXM7XG4gIH1cblxuICBnZXRTaWduVHJhbnNhY3Rpb24oKTogc3RyaW5nIHtcbiAgICBjb25zdCBjb21iaW5lUmVxdWVzdCA9IHtcbiAgICAgIHNpZ25hdHVyZXM6IHRoaXMuX3NpZ25hdHVyZVBheWxvYWQsXG4gICAgICB1bnNpZ25lZF90cmFuc2FjdGlvbjogdGhpcy5fdW5zaWduZWRfdHJhbnNhY3Rpb24sXG4gICAgfTtcbiAgICBjb25zdCBzaWduYXR1cmVNYXAgPSBuZXcgTWFwKCk7XG4gICAgZm9yIChjb25zdCBzaWcgb2YgY29tYmluZVJlcXVlc3Quc2lnbmF0dXJlcykge1xuICAgICAgc2lnbmF0dXJlTWFwLnNldChzaWcuc2lnbmluZ19wYXlsb2FkLmhleF9ieXRlcywgc2lnKTtcbiAgICB9XG4gICAgY29uc3QgdW5zaWduZWRUcmFuc2FjdGlvbiA9IHV0aWxzLmNib3JEZWNvZGUoXG4gICAgICB1dGlscy5ibG9iRnJvbUhleChjb21iaW5lUmVxdWVzdC51bnNpZ25lZF90cmFuc2FjdGlvbilcbiAgICApIGFzIGNib3JVbnNpZ25lZFRyYW5zYWN0aW9uO1xuICAgIGFzc2VydChjb21iaW5lUmVxdWVzdC5zaWduYXR1cmVzLmxlbmd0aCA9PT0gdW5zaWduZWRUcmFuc2FjdGlvbi5pbmdyZXNzX2V4cGlyaWVzLmxlbmd0aCAqIDIpO1xuICAgIGFzc2VydCh1bnNpZ25lZFRyYW5zYWN0aW9uLnVwZGF0ZXMubGVuZ3RoID09PSAxKTtcbiAgICBjb25zdCBlbnZlbG9wZXMgPSB0aGlzLmdldEVudmVsb3Blcyh1bnNpZ25lZFRyYW5zYWN0aW9uLCBzaWduYXR1cmVNYXApO1xuICAgIGNvbnN0IGVudmVsb3BSZXF1ZXN0cyA9IHsgcmVxdWVzdHM6IGVudmVsb3BlcyB9O1xuICAgIGNvbnN0IHNpZ25lZFRyYW5zYWN0aW9uID0gdXRpbHMuY2JvckVuY29kZShlbnZlbG9wUmVxdWVzdHMpO1xuICAgIHJldHVybiBzaWduZWRUcmFuc2FjdGlvbjtcbiAgfVxuXG4gIGdldEVudmVsb3BlcyhcbiAgICB1bnNpZ25lZFRyYW5zYWN0aW9uOiBjYm9yVW5zaWduZWRUcmFuc2FjdGlvbixcbiAgICBzaWduYXR1cmVNYXA6IE1hcDxzdHJpbmcsIFNpZ25hdHVyZXM+XG4gICk6IFtzdHJpbmcsIFJlcXVlc3RFbnZlbG9wZVtdXVtdIHtcbiAgICBjb25zdCBlbnZlbG9wZXM6IFtzdHJpbmcsIFJlcXVlc3RFbnZlbG9wZVtdXVtdID0gW107XG4gICAgZm9yIChjb25zdCBbcmVxVHlwZSwgdXBkYXRlXSBvZiB1bnNpZ25lZFRyYW5zYWN0aW9uLnVwZGF0ZXMpIHtcbiAgICAgIGNvbnN0IHJlcXVlc3RFbnZlbG9wZXM6IFJlcXVlc3RFbnZlbG9wZVtdID0gW107XG4gICAgICBmb3IgKGNvbnN0IGluZ3Jlc3NFeHBpcnkgb2YgdW5zaWduZWRUcmFuc2FjdGlvbi5pbmdyZXNzX2V4cGlyaWVzKSB7XG4gICAgICAgIHVwZGF0ZS5pbmdyZXNzX2V4cGlyeSA9IGluZ3Jlc3NFeHBpcnk7XG5cbiAgICAgICAgY29uc3QgcmVhZFN0YXRlID0gdXRpbHMubWFrZVJlYWRTdGF0ZUZyb21VcGRhdGUodXBkYXRlKTtcbiAgICAgICAgY29uc3QgdHJhbnNhY3Rpb25TaWduYXR1cmUgPSB1dGlscy5nZXRUcmFuc2FjdGlvblNpZ25hdHVyZShzaWduYXR1cmVNYXAsIHVwZGF0ZSk7XG4gICAgICAgIGlmICghdHJhbnNhY3Rpb25TaWduYXR1cmUpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RyYW5zYWN0aW9uIHNpZ25hdHVyZSBpcyB1bmRlZmluZWQnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHJlYWRTdGF0ZVNpZ25hdHVyZSA9IHV0aWxzLmdldFJlYWRTdGF0ZVNpZ25hdHVyZShzaWduYXR1cmVNYXAsIHJlYWRTdGF0ZSk7XG4gICAgICAgIGlmICghcmVhZFN0YXRlU2lnbmF0dXJlKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdyZWFkIHN0YXRlIHNpZ25hdHVyZSBpcyB1bmRlZmluZWQnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHBrX2RlciA9IHV0aWxzLmdldFB1YmxpY0tleUluREVSRm9ybWF0KHRyYW5zYWN0aW9uU2lnbmF0dXJlLnB1YmxpY19rZXkuaGV4X2J5dGVzKTtcbiAgICAgICAgY29uc3QgdXBkYXRlRW52ZWxvcGU6IFVwZGF0ZUVudmVsb3BlID0ge1xuICAgICAgICAgIGNvbnRlbnQ6IHsgcmVxdWVzdF90eXBlOiBSZXF1ZXN0VHlwZS5DQUxMLCAuLi51cGRhdGUgfSxcbiAgICAgICAgICBzZW5kZXJfcHVia2V5OiBwa19kZXIsXG4gICAgICAgICAgc2VuZGVyX3NpZzogdXRpbHMuYmxvYkZyb21IZXgodHJhbnNhY3Rpb25TaWduYXR1cmUuaGV4X2J5dGVzKSxcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCByZWFkU3RhdGVFbnZlbG9wZTogUmVhZFN0YXRlRW52ZWxvcGUgPSB7XG4gICAgICAgICAgY29udGVudDogeyByZXF1ZXN0X3R5cGU6IFJlcXVlc3RUeXBlLlJFQURfU1RBVEUsIC4uLnJlYWRTdGF0ZSB9LFxuICAgICAgICAgIHNlbmRlcl9wdWJrZXk6IHBrX2RlcixcbiAgICAgICAgICBzZW5kZXJfc2lnOiB1dGlscy5ibG9iRnJvbUhleChyZWFkU3RhdGVTaWduYXR1cmUuaGV4X2J5dGVzKSxcbiAgICAgICAgfTtcblxuICAgICAgICByZXF1ZXN0RW52ZWxvcGVzLnB1c2goe1xuICAgICAgICAgIHVwZGF0ZTogdXBkYXRlRW52ZWxvcGUsXG4gICAgICAgICAgcmVhZF9zdGF0ZTogcmVhZFN0YXRlRW52ZWxvcGUsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgZW52ZWxvcGVzLnB1c2goW3JlcVR5cGUsIHJlcXVlc3RFbnZlbG9wZXNdKTtcbiAgICB9XG4gICAgcmV0dXJuIGVudmVsb3BlcztcbiAgfVxufVxuIl19
@@ -0,0 +1,42 @@
1
+ import { BaseKey, BaseTransaction } from '@bitgo/sdk-core';
2
+ import { BaseCoin as CoinConfig } from '@bitgo/statics';
3
+ import { IcpTransaction, IcpTransactionData, PayloadsData, Signatures, TxData, IcpTransactionExplanation } from './iface';
4
+ import { Utils } from './utils';
5
+ export declare class Transaction extends BaseTransaction {
6
+ protected _icpTransactionData: IcpTransactionData;
7
+ protected _icpTransaction: IcpTransaction;
8
+ protected _payloadsData: PayloadsData;
9
+ protected _signedTransaction: string;
10
+ protected _signaturePayload: Signatures[];
11
+ protected _utils: Utils;
12
+ constructor(_coinConfig: Readonly<CoinConfig>, utils: Utils);
13
+ get icpTransactionData(): IcpTransactionData;
14
+ set icpTransactionData(icpTransactionData: IcpTransactionData);
15
+ get icpTransaction(): IcpTransaction;
16
+ set icpTransaction(icpTransaction: IcpTransaction);
17
+ get unsignedTransaction(): string;
18
+ get signaturePayload(): Signatures[];
19
+ set signedTransaction(signature: string);
20
+ get signedTransaction(): string;
21
+ set payloadsData(payloadsData: PayloadsData);
22
+ get payloadsData(): PayloadsData;
23
+ fromRawTransaction(rawTransaction: string): void;
24
+ addSignature(signaturePayloads: Signatures[]): void;
25
+ /** @inheritdoc */
26
+ toJson(): TxData;
27
+ /** @inheritDoc */
28
+ explainTransaction(): IcpTransactionExplanation;
29
+ /**
30
+ * Explains a transfer transaction by providing details about the recipients and the total output amount.
31
+ *
32
+ * @param {IcpTransactionExplanation} explanationResult - The initial explanation result to be extended.
33
+ * @returns {IcpTransactionExplanation} The extended explanation result including the output amount and recipients.
34
+ */
35
+ explainTransferTransaction(explanationResult: IcpTransactionExplanation): IcpTransactionExplanation;
36
+ /** @inheritdoc */
37
+ toBroadcastFormat(): string;
38
+ serialize(): string;
39
+ /** @inheritdoc */
40
+ canSign(key: BaseKey): boolean;
41
+ }
42
+ //# sourceMappingURL=transaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../src/lib/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,eAAe,EAKhB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,YAAY,EAEZ,UAAU,EACV,MAAM,EACN,yBAAyB,EAG1B,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC,qBAAa,WAAY,SAAQ,eAAe;IAC9C,SAAS,CAAC,mBAAmB,EAAE,kBAAkB,CAAC;IAClD,SAAS,CAAC,eAAe,EAAE,cAAc,CAAC;IAC1C,SAAS,CAAC,aAAa,EAAE,YAAY,CAAC;IACtC,SAAS,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACrC,SAAS,CAAC,iBAAiB,EAAE,UAAU,EAAE,CAAC;IAC1C,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC;gBAEZ,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,KAAK;IAK3D,IAAI,kBAAkB,IAAI,kBAAkB,CAE3C;IAED,IAAI,kBAAkB,CAAC,kBAAkB,EAAE,kBAAkB,EAE5D;IAED,IAAI,cAAc,IAAI,cAAc,CAEnC;IAED,IAAI,cAAc,CAAC,cAAc,EAAE,cAAc,EAEhD;IAED,IAAI,mBAAmB,IAAI,MAAM,CAEhC;IAED,IAAI,gBAAgB,IAAI,UAAU,EAAE,CAEnC;IAED,IAAI,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAEtC;IAED,IAAI,iBAAiB,IAAI,MAAM,CAE9B;IAED,IAAI,YAAY,CAAC,YAAY,EAAE,YAAY,EAE1C;IAED,IAAI,YAAY,IAAI,YAAY,CAE/B;IAED,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IAyBhD,YAAY,CAAC,iBAAiB,EAAE,UAAU,EAAE,GAAG,IAAI;IAUnD,kBAAkB;IAClB,MAAM,IAAI,MAAM;IAqBhB,kBAAkB;IAClB,kBAAkB,IAAI,yBAAyB;IAwB/C;;;;;OAKG;IACH,0BAA0B,CAAC,iBAAiB,EAAE,yBAAyB,GAAG,yBAAyB;IAcnG,kBAAkB;IAClB,iBAAiB,IAAI,MAAM;IAO3B,SAAS,IAAI,MAAM;IAWnB,kBAAkB;IAClB,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO;CAa/B"}