@airgap/icp 0.13.11-beta.0 → 0.13.11-beta.10

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 (54) hide show
  1. package/package.json +15 -16
  2. package/v1/index.d.ts +5 -3
  3. package/v1/index.js +4 -1
  4. package/v1/index.js.map +1 -1
  5. package/v1/module/ICPModule.d.ts +2 -3
  6. package/v1/module/ICPModule.js +22 -10
  7. package/v1/module/ICPModule.js.map +1 -1
  8. package/v1/protocol/ICPImplementation.d.ts +13 -5
  9. package/v1/protocol/ICPImplementation.js +92 -58
  10. package/v1/protocol/ICPImplementation.js.map +1 -1
  11. package/v1/protocol/ICPProtocol.d.ts +9 -2
  12. package/v1/protocol/ICPProtocol.js +44 -35
  13. package/v1/protocol/ICPProtocol.js.map +1 -1
  14. package/v1/protocol/icrc/CkBTCProtocol.d.ts +13 -0
  15. package/v1/protocol/icrc/CkBTCProtocol.js +328 -0
  16. package/v1/protocol/icrc/CkBTCProtocol.js.map +1 -0
  17. package/v1/protocol/icrc/ICRC1Protocol.d.ts +95 -0
  18. package/v1/protocol/icrc/ICRC1Protocol.js +717 -0
  19. package/v1/protocol/icrc/ICRC1Protocol.js.map +1 -0
  20. package/v1/serializer/v3/serializer-companion.js +16 -0
  21. package/v1/serializer/v3/serializer-companion.js.map +1 -1
  22. package/v1/types/ckbtc/metadata.d.ts +4 -0
  23. package/v1/types/ckbtc/metadata.js +3 -0
  24. package/v1/types/ckbtc/metadata.js.map +1 -0
  25. package/v1/types/crypto.d.ts +2 -0
  26. package/v1/types/crypto.js +3 -0
  27. package/v1/types/crypto.js.map +1 -0
  28. package/v1/types/icrc/account.d.ts +4 -0
  29. package/v1/types/icrc/account.js +3 -0
  30. package/v1/types/icrc/account.js.map +1 -0
  31. package/v1/types/icrc/ledger.d.ts +15 -0
  32. package/v1/types/icrc/ledger.js +92 -0
  33. package/v1/types/icrc/ledger.js.map +1 -0
  34. package/v1/types/icrc/metadata.d.ts +6 -0
  35. package/v1/types/icrc/metadata.js +3 -0
  36. package/v1/types/icrc/metadata.js.map +1 -0
  37. package/v1/types/icrc/transfer.d.ts +9 -0
  38. package/v1/types/icrc/transfer.js +3 -0
  39. package/v1/types/icrc/transfer.js.map +1 -0
  40. package/v1/types/ledger.d.ts +0 -1
  41. package/v1/types/ledger.js +1 -2
  42. package/v1/types/ledger.js.map +1 -1
  43. package/v1/types/protocol.d.ts +30 -1
  44. package/v1/utils/convert.d.ts +3 -1
  45. package/v1/utils/convert.js +9 -1
  46. package/v1/utils/convert.js.map +1 -1
  47. package/v1/utils/hdkey.js +28 -5
  48. package/v1/utils/hdkey.js.map +1 -1
  49. package/v1/utils/icrc1.d.ts +20 -0
  50. package/v1/utils/icrc1.js +171 -0
  51. package/v1/utils/icrc1.js.map +1 -0
  52. package/v1/utils/secp256k1.js +31 -7
  53. package/v1/utils/secp256k1.js.map +1 -1
  54. package/airgap-coinlib-icp.min.js +0 -91775
@@ -0,0 +1,171 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __read = (this && this.__read) || function (o, n) {
26
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
27
+ if (!m) return o;
28
+ var i = m.call(o), r, ar = [], e;
29
+ try {
30
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
31
+ }
32
+ catch (error) { e = { error: error }; }
33
+ finally {
34
+ try {
35
+ if (r && !r.done && (m = i["return"])) m.call(i);
36
+ }
37
+ finally { if (e) throw e.error; }
38
+ }
39
+ return ar;
40
+ };
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ exports.getICRC1AccountFromAddress = exports.getICRC1AddressFromAccount = exports.getICRC1AddressFromPrincipal = exports.getICRC1AddressFromPublicKey = exports.getDetailsFromTransferArgs = exports.decodeICRC1TransferArgs = exports.decodeICRC1Metadata = exports.decodeICRC1Account = exports.decodeOptionalICRC1Account = exports.encodeICRC1Account = void 0;
43
+ var hex_1 = require("@airgap/coinlib-core/utils/hex");
44
+ var module_kit_1 = require("@airgap/module-kit");
45
+ var ICPImplementation_1 = require("../protocol/ICPImplementation");
46
+ var ledger_1 = require("../types/icrc/ledger");
47
+ var IDL = __importStar(require("../utils/idl"));
48
+ var convert_1 = require("./convert");
49
+ var principal_1 = require("./principal");
50
+ function encodeICRC1Account(account) {
51
+ return {
52
+ owner: (0, hex_1.isHex)(account.owner) ? principal_1.Principal.fromHex(account.owner) : principal_1.Principal.from(account.owner),
53
+ subaccount: account.subaccount ? [Buffer.from(account.subaccount, 'hex')] : []
54
+ };
55
+ }
56
+ exports.encodeICRC1Account = encodeICRC1Account;
57
+ function decodeOptionalICRC1Account(account) {
58
+ // TODO: maybe decode with IDL?
59
+ if (!account || account.length === 0) {
60
+ return undefined;
61
+ }
62
+ return decodeICRC1Account(account);
63
+ }
64
+ exports.decodeOptionalICRC1Account = decodeOptionalICRC1Account;
65
+ function decodeICRC1Account(account) {
66
+ return {
67
+ owner: account[0].owner.toText(),
68
+ subaccount: account[0].subaccount && account[0].subaccount.length > 0
69
+ ? Buffer.from(account[0].subaccount[0]).toString('hex')
70
+ : undefined
71
+ };
72
+ }
73
+ exports.decodeICRC1Account = decodeICRC1Account;
74
+ function decodeICRC1Metadata(metadata) {
75
+ // TODO: maybe decode with IDL?
76
+ return metadata.reduce(function (acc, next) {
77
+ var _a;
78
+ switch (next[0]) {
79
+ case 'icrc1:name':
80
+ return Object.assign(acc, { name: next[1].Text });
81
+ case 'icrc1:symbol':
82
+ return Object.assign(acc, { symbol: next[1].Text });
83
+ case 'icrc1:decimals':
84
+ return Object.assign(acc, { decimals: Number(next[1].Nat) });
85
+ case 'icrc1:fee':
86
+ return Object.assign(acc, { fee: next[1].Nat.toString() });
87
+ default:
88
+ return Object.assign(acc, (_a = {}, _a[next[0]] = next[1], _a));
89
+ }
90
+ }, {});
91
+ }
92
+ exports.decodeICRC1Metadata = decodeICRC1Metadata;
93
+ function decodeICRC1TransferArgs(transaction) {
94
+ var TransferArg = (0, ledger_1.icrcIDLTypes)(IDL).TransferArg;
95
+ var transferArg = IDL.decode([TransferArg], transaction)[0];
96
+ return {
97
+ fromSubaccount: transferArg.from_subaccount && transferArg.from_subaccount.length > 0
98
+ ? Buffer.from(transferArg.from_subaccount).toString('hex')
99
+ : undefined,
100
+ to: decodeICRC1Account(transferArg.to),
101
+ amount: transferArg.amount.toString(),
102
+ fee: transferArg.fee && transferArg.fee.length > 0 ? transferArg.fee.toString() : undefined,
103
+ memo: transferArg.memo && transferArg.memo.length > 0 ? Buffer.from(transferArg.memo).toString('hex') : undefined,
104
+ createdAtTime: transferArg.created_at_time && transferArg.created_at_time.length > 0
105
+ ? transferArg.created_at_time.toString()
106
+ : undefined
107
+ };
108
+ }
109
+ exports.decodeICRC1TransferArgs = decodeICRC1TransferArgs;
110
+ function getDetailsFromTransferArgs(transferArgs, publicKey, network, defaultFee) {
111
+ var from = (0, ICPImplementation_1.getAddressFromPublicKey)(publicKey, transferArgs.fromSubaccount);
112
+ var to = (0, ICPImplementation_1.getAddressFromPrincipal)(transferArgs.to.owner, transferArgs.to.subaccount);
113
+ return [
114
+ {
115
+ from: [from],
116
+ to: [to],
117
+ isInbound: from === to,
118
+ amount: (0, module_kit_1.newAmount)(transferArgs.amount, 'blockchain'),
119
+ fee: transferArgs.fee ? (0, module_kit_1.newAmount)(transferArgs.fee, 'blockchain') : defaultFee,
120
+ network: network,
121
+ arbitraryData: transferArgs.memo
122
+ }
123
+ ];
124
+ }
125
+ exports.getDetailsFromTransferArgs = getDetailsFromTransferArgs;
126
+ function getICRC1AddressFromPublicKey(publicKey, subAccount) {
127
+ // Get principal from public key
128
+ var principal = (0, ICPImplementation_1.getPrincipalFromPublicKey)(publicKey);
129
+ return getICRC1AddressFromPrincipal(principal, subAccount);
130
+ }
131
+ exports.getICRC1AddressFromPublicKey = getICRC1AddressFromPublicKey;
132
+ function getICRC1AddressFromPrincipal(principalOrText, subAccountOrUndefined) {
133
+ var principal = typeof principalOrText === 'string'
134
+ ? (0, hex_1.isHex)(principalOrText)
135
+ ? principal_1.Principal.fromHex(principalOrText)
136
+ : principal_1.Principal.from(principalOrText)
137
+ : principalOrText;
138
+ var subAccount = typeof subAccountOrUndefined === 'string'
139
+ ? Buffer.from(subAccountOrUndefined, 'hex')
140
+ : typeof subAccountOrUndefined === 'undefined' || subAccountOrUndefined.length === 0
141
+ ? undefined
142
+ : Buffer.from(subAccountOrUndefined);
143
+ if (subAccount === undefined) {
144
+ return principal.toText();
145
+ }
146
+ // It's not specified yet how the checksum should be calculated, we should treat the below as a placeholder
147
+ var checksum = (0, convert_1.calculateCrc16)(Buffer.concat([principal.toUint8Array(), subAccount]));
148
+ return "".concat(principal.toText(), "-").concat(checksum.slice(0, 2).toString('hex'), ".").concat(subAccount.toString('hex').replace(/^(00)+/, ''));
149
+ }
150
+ exports.getICRC1AddressFromPrincipal = getICRC1AddressFromPrincipal;
151
+ function getICRC1AddressFromAccount(account) {
152
+ return getICRC1AddressFromPrincipal(account.owner, account.subaccount);
153
+ }
154
+ exports.getICRC1AddressFromAccount = getICRC1AddressFromAccount;
155
+ function getICRC1AccountFromAddress(address) {
156
+ if (!address.includes('.')) {
157
+ return {
158
+ owner: address
159
+ };
160
+ }
161
+ var _a = __read(address.split('.', 2), 2), principalWithChecksum = _a[0], subaccount = _a[1];
162
+ var principalChecksumDivider = principalWithChecksum.lastIndexOf('-');
163
+ var principal = principalWithChecksum.slice(0, principalChecksumDivider);
164
+ // TODO: check checksum?
165
+ return {
166
+ owner: principal,
167
+ subaccount: subaccount
168
+ };
169
+ }
170
+ exports.getICRC1AccountFromAddress = getICRC1AccountFromAddress;
171
+ //# sourceMappingURL=icrc1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icrc1.js","sourceRoot":"","sources":["../../../src/v1/utils/icrc1.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,29 @@ var __extends = (this && this.__extends) || (function () {
14
14
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
15
  };
16
16
  })();
17
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
18
+ if (k2 === undefined) k2 = k;
19
+ var desc = Object.getOwnPropertyDescriptor(m, k);
20
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
21
+ desc = { enumerable: true, get: function() { return m[k]; } };
22
+ }
23
+ Object.defineProperty(o, k2, desc);
24
+ }) : (function(o, m, k, k2) {
25
+ if (k2 === undefined) k2 = k;
26
+ o[k2] = m[k];
27
+ }));
28
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
29
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
30
+ }) : function(o, v) {
31
+ o["default"] = v;
32
+ });
33
+ var __importStar = (this && this.__importStar) || function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
17
40
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
18
41
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19
42
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -72,14 +95,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
72
95
  Object.defineProperty(exports, "__esModule", { value: true });
73
96
  exports.Secp256k1KeyIdentity = exports.Secp256k1PublicKey = void 0;
74
97
  /* eslint-disable no-underscore-dangle */
75
- var secp256k1_1 = __importDefault(require("secp256k1"));
76
- var js_sha256_1 = require("js-sha256");
77
- var tweetnacl_1 = require("tweetnacl");
78
- var hdkey_1 = __importDefault(require("./hdkey"));
98
+ // tslint:disable: max-classes-per-file
99
+ var nacl = __importStar(require("@airgap/coinlib-core/dependencies/src/tweetnacl-1.0.1/nacl"));
79
100
  var bip39_1 = require("bip39");
101
+ var js_sha256_1 = require("js-sha256");
102
+ var secp256k1_1 = __importDefault(require("secp256k1"));
103
+ var auth_1 = require("./auth");
80
104
  var buffer_1 = require("./buffer");
81
105
  var der_1 = require("./der");
82
- var auth_1 = require("./auth");
106
+ var hdkey_1 = __importDefault(require("./hdkey"));
83
107
  var Secp256k1PublicKey = /** @class */ (function () {
84
108
  // `fromRaw` and `fromDer` should be used for instantiation, not this constructor.
85
109
  function Secp256k1PublicKey(key) {
@@ -146,9 +170,9 @@ var Secp256k1KeyIdentity = /** @class */ (function (_super) {
146
170
  }
147
171
  }
148
172
  else {
149
- privateKey = new Uint8Array((0, tweetnacl_1.randomBytes)(32));
173
+ privateKey = new Uint8Array(nacl.randomBytes(32));
150
174
  while (!secp256k1_1.default.privateKeyVerify(privateKey)) {
151
- privateKey = new Uint8Array((0, tweetnacl_1.randomBytes)(32));
175
+ privateKey = new Uint8Array(nacl.randomBytes(32));
152
176
  }
153
177
  }
154
178
  var publicKeyRaw = secp256k1_1.default.publicKeyCreate(privateKey, false);
@@ -1 +1 @@
1
- {"version":3,"file":"secp256k1.js","sourceRoot":"","sources":["../../../src/v1/utils/secp256k1.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAyC;AACzC,wDAAiC;AACjC,uCAAkC;AAClC,uCAAuC;AACvC,kDAA2B;AAC3B,+BAA0C;AAC1C,mCAAqD;AACrD,6BAAyD;AACzD,+BAAyF;AAMzF;IA8BE,kFAAkF;IAClF,4BAAoB,GAAgB;QAClC,GAAG,CAAC,UAAU,CAAA;QACd,IAAI,CAAC,MAAM,GAAG,GAAG,CAAA;QACjB,IAAI,CAAC,MAAM,GAAG,kBAAkB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;IACjD,CAAC;IAlCD;;;;OAIG;IACW,uBAAI,GAAlB,UAAmB,GAAc;QAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAA;IAClC,CAAC;IAEa,0BAAO,GAArB,UAAsB,MAAmB;QACvC,OAAO,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAA;IACvC,CAAC;IAEa,0BAAO,GAArB,UAAsB,MAA2B;QAC/C,OAAO,IAAI,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAA;IACvD,CAAC;IAEc,4BAAS,GAAxB,UAAyB,SAAsB;QAC7C,OAAO,IAAA,aAAO,EAAC,SAAS,EAAE,mBAAa,CAAC,CAAC,MAA6B,CAAA;IACxE,CAAC;IAEc,4BAAS,GAAxB,UAAyB,GAAwB;QAC/C,OAAO,IAAA,eAAS,EAAC,GAAG,EAAE,mBAAa,CAAC,CAAA;IACtC,CAAC;IAaM,kCAAK,GAAZ;QACE,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAEM,kCAAK,GAAZ;QACE,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IACH,yBAAC;AAAD,CAAC,AA5CD,IA4CC;AA5CY,gDAAkB;AA8C/B;IAA0C,wCAAY;IAmGpD,8BAAsB,SAA6B,EAAY,WAAwB;QAAvF,YACE,iBAAO,SAER;QAH8D,iBAAW,GAAX,WAAW,CAAa;QAErF,KAAI,CAAC,UAAU,GAAG,SAAS,CAAA;;IAC7B,CAAC;IArGD;;;;;;;OAOG;IACW,6BAAQ,GAAtB,UAAuB,IAAiB;QACtC,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,KAAK,EAAE,EAAE;YAClC,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAA;SAC7D;QACD,IAAI,UAAsB,CAAA;QAE1B,IAAI,IAAI,EAAE;YACR,yEAAyE;YACzE,yBAAyB;YACzB,UAAU,GAAG,IAAI,CAAA;YACjB,IAAI,CAAC,mBAAS,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE;gBAC3C,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;aACxC;SACF;aAAM;YACL,UAAU,GAAG,IAAI,UAAU,CAAC,IAAA,uBAAW,EAAC,EAAE,CAAC,CAAC,CAAA;YAC5C,OAAO,CAAC,mBAAS,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE;gBAC9C,UAAU,GAAG,IAAI,UAAU,CAAC,IAAA,uBAAW,EAAC,EAAE,CAAC,CAAC,CAAA;aAC7C;SACF;QAED,IAAM,YAAY,GAAG,mBAAS,CAAC,eAAe,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;QAEjE,IAAM,SAAS,GAAG,kBAAkB,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;QAC1D,OAAO,IAAI,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAA;IACxC,CAAC;IAEa,mCAAc,GAA5B,UAA6B,GAA8B;QACnD,IAAA,KAAA,OAAgC,GAAG,IAAA,EAAlC,YAAY,QAAA,EAAE,aAAa,QAAO,CAAA;QACzC,OAAO,IAAI,oBAAoB,CAAC,kBAAkB,CAAC,OAAO,CAAC,IAAA,sBAAa,EAAC,YAAY,CAAC,CAAC,EAAE,IAAA,sBAAa,EAAC,aAAa,CAAC,CAAC,CAAA;IACxH,CAAC;IAEa,6BAAQ,GAAtB,UAAuB,IAAY;QACjC,IAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACzB,IAAI,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;gBAClE,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;aACnD;YACD,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAA;SAC3E;QACD,MAAM,IAAI,KAAK,CAAC,+DAAwD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAE,CAAC,CAAA;IACjG,CAAC;IAED;;;;;OAKG;IACW,gCAAW,GAAzB,UAA0B,SAAsB,EAAE,UAAuB;QACvE,OAAO,IAAI,oBAAoB,CAAC,kBAAkB,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC,CAAA;IACpF,CAAC;IAED;;;;OAIG;IACW,kCAAa,GAA3B,UAA4B,SAAsB;QAChD,IAAM,SAAS,GAAG,mBAAS,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,CAAA;QAC7E,IAAM,QAAQ,GAAG,oBAAoB,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC,CAAA;QACvF,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED;;;;;OAKG;IACW,mCAAc,GAA5B,UACE,UAA6B,EAC7B,QAA6B,EAC7B,cAA4C;QAA5C,+BAAA,EAAA,oCAA4C;QAE5C,oCAAoC;QACpC,IAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAA;QAC5E,8CAA8C;QAC9C,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,EAAE,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,EAAE,EAAE;YAClE,OAAO,CAAC,IAAI,CAAC,mGAAmG,CAAC,CAAA;SAClH;QAED,IAAM,IAAI,GAAG,IAAA,0BAAkB,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QACjD,IAAM,IAAI,GAAG,eAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;QACvC,IAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;QAE5C,OAAO,oBAAoB,CAAC,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;IAChE,CAAC;IASD;;;OAGG;IACI,qCAAM,GAAb;QACE,OAAO,CAAC,IAAA,oBAAW,EAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,EAAE,IAAA,oBAAW,EAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAA;IAC9E,CAAC;IAED;;;OAGG;IACI,yCAAU,GAAjB;QACE,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,WAAW;YAC3B,SAAS,EAAE,IAAI,CAAC,UAAU;SAC3B,CAAA;IACH,CAAC;IAED;;;OAGG;IACI,2CAAY,GAAnB;QACE,OAAO,IAAI,CAAC,UAAU,CAAA;IACxB,CAAC;IAED;;;;OAIG;IACU,mCAAI,GAAjB,UAAkB,SAAsB;;;;gBAChC,IAAI,GAAG,kBAAM,CAAC,MAAM,EAAE,CAAA;gBAC5B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;gBAChB,SAAS,GAAG,mBAAS,CAAC,SAAS,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAA;gBACvH,sBAAO,SAAsB,EAAA;;;KAC9B;IACH,2BAAC;AAAD,CAAC,AA9ID,CAA0C,mBAAY,GA8IrD;AA9IY,oDAAoB;AAgJjC,kBAAe,oBAAoB,CAAA"}
1
+ {"version":3,"file":"secp256k1.js","sourceRoot":"","sources":["../../../src/v1/utils/secp256k1.ts"],"names":[],"mappings":"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"}