@bitgo-beta/sdk-coin-icp 1.0.1-beta.95 → 1.0.1-beta.97

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 (34) hide show
  1. package/dist/src/lib/iface.d.ts +165 -0
  2. package/dist/src/lib/iface.d.ts.map +1 -0
  3. package/dist/src/lib/iface.js +31 -0
  4. package/dist/src/lib/index.d.ts +3 -0
  5. package/dist/src/lib/index.d.ts.map +1 -1
  6. package/dist/src/lib/index.js +8 -2
  7. package/dist/src/lib/protoDefinition.d.ts +2 -0
  8. package/dist/src/lib/protoDefinition.d.ts.map +1 -0
  9. package/dist/src/lib/protoDefinition.js +44 -0
  10. package/dist/src/lib/signedTransactionBuilder.d.ts +9 -0
  11. package/dist/src/lib/signedTransactionBuilder.d.ts.map +1 -0
  12. package/dist/src/lib/signedTransactionBuilder.js +69 -0
  13. package/dist/src/lib/transaction.d.ts +42 -0
  14. package/dist/src/lib/transaction.d.ts.map +1 -0
  15. package/dist/src/lib/transaction.js +169 -0
  16. package/dist/src/lib/transactionBuilder.d.ts +47 -31
  17. package/dist/src/lib/transactionBuilder.d.ts.map +1 -1
  18. package/dist/src/lib/transactionBuilder.js +98 -44
  19. package/dist/src/lib/transactionBuilderFactory.d.ts +15 -12
  20. package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
  21. package/dist/src/lib/transactionBuilderFactory.js +38 -24
  22. package/dist/src/lib/transferBuilder.d.ts +10 -25
  23. package/dist/src/lib/transferBuilder.d.ts.map +1 -1
  24. package/dist/src/lib/transferBuilder.js +95 -44
  25. package/dist/src/lib/unsignedTransactionBuilder.d.ts +12 -0
  26. package/dist/src/lib/unsignedTransactionBuilder.d.ts.map +1 -0
  27. package/dist/src/lib/unsignedTransactionBuilder.js +105 -0
  28. package/dist/src/lib/utils.d.ts +261 -7
  29. package/dist/src/lib/utils.d.ts.map +1 -1
  30. package/dist/src/lib/utils.js +453 -52
  31. package/dist/src/ticp.d.ts +0 -4
  32. package/dist/src/ticp.d.ts.map +1 -1
  33. package/dist/src/ticp.js +1 -7
  34. package/package.json +11 -7
@@ -0,0 +1,165 @@
1
+ import { TransactionExplanation as BaseTransactionExplanation, TransactionType as BitGoTransactionType } from '@bitgo-beta/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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2lmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUthLFFBQUEsY0FBYyxHQUFHLGdCQUFnQixDQUFDO0FBRS9DLElBQVksV0FHWDtBQUhELFdBQVksV0FBVztJQUNyQiw0QkFBYSxDQUFBO0lBQ2Isd0NBQXlCLENBQUE7QUFDM0IsQ0FBQyxFQUhXLFdBQVcsMkJBQVgsV0FBVyxRQUd0QjtBQUVELElBQVksYUFFWDtBQUZELFdBQVksYUFBYTtJQUN2QixnQ0FBZSxDQUFBO0FBQ2pCLENBQUMsRUFGVyxhQUFhLDZCQUFiLGFBQWEsUUFFeEI7QUFFRCxJQUFZLFNBRVg7QUFGRCxXQUFZLFNBQVM7SUFDbkIsb0NBQXVCLENBQUE7QUFDekIsQ0FBQyxFQUZXLFNBQVMseUJBQVQsU0FBUyxRQUVwQjtBQUVELElBQVksYUFHWDtBQUhELFdBQVksYUFBYTtJQUN2Qiw0Q0FBMkIsQ0FBQTtJQUMzQiw0QkFBVyxDQUFBO0FBQ2IsQ0FBQyxFQUhXLGFBQWEsNkJBQWIsYUFBYSxRQUd4QjtBQUVELElBQVksVUFFWDtBQUZELFdBQVksVUFBVTtJQUNwQixpQ0FBbUIsQ0FBQTtBQUNyQixDQUFDLEVBRlcsVUFBVSwwQkFBVixVQUFVLFFBRXJCO0FBRUQsSUFBWSxPQUVYO0FBRkQsV0FBWSxPQUFPO0lBQ2pCLHNDQUEyQixDQUFBO0FBQzdCLENBQUMsRUFGVyxPQUFPLHVCQUFQLE9BQU8sUUFFbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIGFzIEJhc2VUcmFuc2FjdGlvbkV4cGxhbmF0aW9uLFxuICBUcmFuc2FjdGlvblR5cGUgYXMgQml0R29UcmFuc2FjdGlvblR5cGUsXG59IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcblxuZXhwb3J0IGNvbnN0IFJFUVVFU1RfU1RBVFVTID0gJ3JlcXVlc3Rfc3RhdHVzJztcblxuZXhwb3J0IGVudW0gUmVxdWVzdFR5cGUge1xuICBDQUxMID0gJ2NhbGwnLFxuICBSRUFEX1NUQVRFID0gJ3JlYWRfc3RhdGUnLFxufVxuXG5leHBvcnQgZW51bSBTaWduYXR1cmVUeXBlIHtcbiAgRUNEU0EgPSAnZWNkc2EnLFxufVxuXG5leHBvcnQgZW51bSBDdXJ2ZVR5cGUge1xuICBTRUNQMjU2SzEgPSAnc2VjcDI1NmsxJyxcbn1cblxuZXhwb3J0IGVudW0gT3BlcmF0aW9uVHlwZSB7XG4gIFRSQU5TQUNUSU9OID0gJ1RSQU5TQUNUSU9OJyxcbiAgRkVFID0gJ0ZFRScsXG59XG5cbmV4cG9ydCBlbnVtIE1ldGhvZE5hbWUge1xuICBTRU5EX1BCID0gJ3NlbmRfcGInLCAvLyBzZW5kX3BiIGlzIHRoZSBtZXRob2QgbmFtZSBmb3IgSUNQIHRyYW5zZmVyIHRyYW5zYWN0aW9uXG59XG5cbmV4cG9ydCBlbnVtIE5ldHdvcmsge1xuICBJRCA9ICcwMDAwMDAwMDAwMDAwMDAyMDEwMScsIC8vIElDUCBkb2VzIG5vdCBoYXZlIGRpZmZlcmVudCBuZXR3b3JrIElEcyBmb3IgbWFpbm5ldCBhbmQgdGVzdG5ldFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEljcFRyYW5zYWN0aW9uRGF0YSB7XG4gIHNlbmRlckFkZHJlc3M6IHN0cmluZztcbiAgcmVjZWl2ZXJBZGRyZXNzOiBzdHJpbmc7XG4gIGFtb3VudDogc3RyaW5nO1xuICBmZWU6IHN0cmluZztcbiAgc2VuZGVyUHVibGljS2V5SGV4OiBzdHJpbmc7XG4gIG1lbW86IG51bWJlciB8IEJpZ0ludDsgLy8gbWVtbyBpbiBzdHJpbmcgaXMgbm90IGFjY2VwdGVkIGJ5IElDUCBjaGFpbi5cbiAgdHJhbnNhY3Rpb25UeXBlOiBPcGVyYXRpb25UeXBlO1xuICBleHBpcnlUaW1lOiBudW1iZXIgfCBCaWdJbnQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWNwUHVibGljS2V5IHtcbiAgaGV4X2J5dGVzOiBzdHJpbmc7XG4gIGN1cnZlX3R5cGU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJY3BBY2NvdW50IHtcbiAgYWRkcmVzczogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEljcEN1cnJlbmN5IHtcbiAgc3ltYm9sOiBzdHJpbmc7XG4gIGRlY2ltYWxzOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWNwQW1vdW50IHtcbiAgdmFsdWU6IHN0cmluZztcbiAgY3VycmVuY3k6IEljcEN1cnJlbmN5O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEljcE9wZXJhdGlvbiB7XG4gIHR5cGU6IHN0cmluZztcbiAgYWNjb3VudDogSWNwQWNjb3VudDtcbiAgYW1vdW50OiBJY3BBbW91bnQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWNwTWV0YWRhdGEge1xuICBjcmVhdGVkX2F0X3RpbWU6IG51bWJlcjtcbiAgbWVtbzogbnVtYmVyIHwgQmlnSW50OyAvLyBtZW1vIGluIHN0cmluZyBpcyBub3QgYWNjZXB0ZWQgYnkgSUNQIGNoYWluLlxuICBpbmdyZXNzX3N0YXJ0OiBudW1iZXIgfCBCaWdJbnQ7IC8vIGl0IHNob3VsZCBiZSBuYW5vIHNlY29uZHNcbiAgaW5ncmVzc19lbmQ6IG51bWJlciB8IEJpZ0ludDsgLy8gaXQgc2hvdWxkIGJlIG5hbm8gc2Vjb25kc1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEljcFRyYW5zYWN0aW9uIHtcbiAgcHVibGljX2tleXM6IEljcFB1YmxpY0tleVtdO1xuICBvcGVyYXRpb25zOiBJY3BPcGVyYXRpb25bXTtcbiAgbWV0YWRhdGE6IEljcE1ldGFkYXRhO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEljcEFjY291bnRJZGVudGlmaWVyIHtcbiAgYWRkcmVzczogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlbmRBcmdzIHtcbiAgbWVtbzogeyBtZW1vOiBudW1iZXIgfCBCaWdJbnQgfTtcbiAgcGF5bWVudDogeyByZWNlaXZlckdldHM6IHsgZThzOiBudW1iZXIgfSB9O1xuICBtYXhGZWU6IHsgZThzOiBudW1iZXIgfTtcbiAgdG86IHsgaGFzaDogQnVmZmVyIH07XG4gIGNyZWF0ZWRBdFRpbWU6IHsgdGltZXN0YW1wTmFub3M6IG51bWJlciB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEh0dHBDYW5pc3RlclVwZGF0ZSB7XG4gIGNhbmlzdGVyX2lkOiBVaW50OEFycmF5O1xuICBtZXRob2RfbmFtZTogTWV0aG9kTmFtZTtcbiAgYXJnOiBVaW50OEFycmF5O1xuICBzZW5kZXI6IFVpbnQ4QXJyYXk7XG4gIGluZ3Jlc3NfZXhwaXJ5OiBiaWdpbnQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2lnbmluZ1BheWxvYWQge1xuICBhY2NvdW50X2lkZW50aWZpZXI6IEljcEFjY291bnRJZGVudGlmaWVyO1xuICBoZXhfYnl0ZXM6IHN0cmluZztcbiAgc2lnbmF0dXJlX3R5cGU6IFNpZ25hdHVyZVR5cGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGF5bG9hZHNEYXRhIHtcbiAgcGF5bG9hZHM6IFNpZ25pbmdQYXlsb2FkW107XG4gIHVuc2lnbmVkX3RyYW5zYWN0aW9uOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2lnbmF0dXJlcyB7XG4gIHNpZ25pbmdfcGF5bG9hZDogU2lnbmluZ1BheWxvYWQ7XG4gIHNpZ25hdHVyZV90eXBlOiBTaWduYXR1cmVUeXBlO1xuICBwdWJsaWNfa2V5OiBJY3BQdWJsaWNLZXk7XG4gIGhleF9ieXRlczogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIGNib3JVbnNpZ25lZFRyYW5zYWN0aW9uIHtcbiAgdXBkYXRlczogW3N0cmluZywgSHR0cENhbmlzdGVyVXBkYXRlXVtdO1xuICBpbmdyZXNzX2V4cGlyaWVzOiBiaWdpbnRbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWFkU3RhdGUge1xuICBzZW5kZXI6IFVpbnQ4QXJyYXk7XG4gIHBhdGhzOiBBcnJheTxbQnVmZmVyLCBCdWZmZXJdPjtcbiAgaW5ncmVzc19leHBpcnk6IGJpZ2ludDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVFbnZlbG9wZSB7XG4gIGNvbnRlbnQ6IHtcbiAgICByZXF1ZXN0X3R5cGU6IFJlcXVlc3RUeXBlO1xuICAgIGNhbmlzdGVyX2lkOiBVaW50OEFycmF5O1xuICAgIG1ldGhvZF9uYW1lOiBNZXRob2ROYW1lO1xuICAgIGFyZzogVWludDhBcnJheTtcbiAgICBzZW5kZXI6IFVpbnQ4QXJyYXk7XG4gICAgaW5ncmVzc19leHBpcnk6IGJpZ2ludDtcbiAgfTtcbiAgc2VuZGVyX3B1YmtleTogVWludDhBcnJheTtcbiAgc2VuZGVyX3NpZzogVWludDhBcnJheTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWFkU3RhdGVFbnZlbG9wZSB7XG4gIGNvbnRlbnQ6IFJlYWRTdGF0ZSAmIHtcbiAgICByZXF1ZXN0X3R5cGU6IFJlcXVlc3RUeXBlO1xuICB9O1xuICBzZW5kZXJfcHVia2V5OiBVaW50OEFycmF5O1xuICBzZW5kZXJfc2lnOiBVaW50OEFycmF5O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlcXVlc3RFbnZlbG9wZSB7XG4gIHVwZGF0ZTogVXBkYXRlRW52ZWxvcGU7XG4gIHJlYWRfc3RhdGU6IFJlYWRTdGF0ZUVudmVsb3BlO1xufVxuXG4vKipcbiAqIFRoZSB0cmFuc2FjdGlvbiBkYXRhIHJldHVybmVkIGZyb20gdGhlIHRvSnNvbigpIGZ1bmN0aW9uIG9mIGEgdHJhbnNhY3Rpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUeERhdGEge1xuICBpZD86IHN0cmluZztcbiAgc2VuZGVyOiBzdHJpbmc7XG4gIHNlbmRlclB1YmxpY0tleTogc3RyaW5nO1xuICByZWNpcGllbnQ6IHN0cmluZztcbiAgbWVtbzogbnVtYmVyIHwgQmlnSW50O1xuICBmZWVBbW91bnQ6IHN0cmluZztcbiAgZXhwaXJhdGlvblRpbWU6IG51bWJlciB8IEJpZ0ludDtcbiAgdHlwZT86IEJpdEdvVHJhbnNhY3Rpb25UeXBlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEljcFRyYW5zYWN0aW9uRXhwbGFuYXRpb24gZXh0ZW5kcyBCYXNlVHJhbnNhY3Rpb25FeHBsYW5hdGlvbiB7XG4gIHNlbmRlcj86IHN0cmluZztcbiAgdHlwZT86IEJpdEdvVHJhbnNhY3Rpb25UeXBlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5ldHdvcmtJZGVudGlmaWVyIHtcbiAgYmxvY2tjaGFpbjogc3RyaW5nO1xuICBuZXR3b3JrOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2lnbmVkVHJhbnNhY3Rpb25SZXF1ZXN0IHtcbiAgbmV0d29ya19pZGVudGlmaWVyOiBOZXR3b3JrSWRlbnRpZmllcjtcbiAgc2lnbmVkX3RyYW5zYWN0aW9uOiBzdHJpbmc7XG59XG4iXX0=
@@ -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
@@ -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-beta/sdk-core';
2
+ import { BaseCoin as CoinConfig } from '@bitgo-beta/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,sBAAsB,CAAC;AAC9B,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,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"}