@d9-network/spec 1.0.2 → 1.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.papi/descriptors/.gitignore +3 -0
- package/.papi/descriptors/package.json +24 -0
- package/README.md +12 -0
- package/dist/index.cjs +113 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +78 -1
- package/dist/index.d.mts +78 -1
- package/dist/index.mjs +107 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +6 -5
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","names":["base64","module","_Enum","__export","type: ContractErrorType","label?: string","details?: unknown","errorValue: unknown","variant: number","timeoutMs: number","txHash?: string","hex","HEX_MAP","fromHex","mergeUint8","__defProp","__defNormalProp","__publicField","u32","_void","isBytes","abytes","arr","anumber","padding","alphabet","str","isBytes","arr","u64.add3L","u64.add3H","u64.rotr32H","u64.rotr32L","u64.add","u64.rotrSH","u64.rotrSL","u64.rotrBH","u64.rotrBL","u64.fromBig","mergeUint8","fromHex","fromHex","_void","u32","_void","_void","u32","metadata","extrinsic","def","metadata","metadata","extrinsic","mergeUint8","str","mergeUint8","metadata","mergeUint8","D9_TOKEN: TokenConfig","USDT_TOKEN: TokenConfig","parts: string[]"],"sources":["../../../node_modules/.bun/@polkadot-api+descriptors@file+packages+spec+.papi+descriptors+ec2463ed5a666297/node_modules/@polkadot-api/descriptors/dist/index.mjs","../src/constants.ts","../src/errors.ts","../src/wallet/hex.ts","../src/wallet/mnemonic.ts","../src/wallet/ss58.ts","../src/wallet/sr25519.ts","../../../node_modules/.bun/@polkadot-api+utils@0.2.0/node_modules/@polkadot-api/utils/dist/esm/hex.mjs","../../../node_modules/.bun/@polkadot-api+utils@0.2.0/node_modules/@polkadot-api/utils/dist/esm/mergeUint8.mjs","../../../node_modules/.bun/scale-ts@1.6.1/node_modules/scale-ts/dist/scale-ts.js","../../../node_modules/.bun/@scure+base@2.0.0/node_modules/@scure/base/index.js","../../../node_modules/.bun/@noble+hashes@2.0.1/node_modules/@noble/hashes/utils.js","../../../node_modules/.bun/@noble+hashes@2.0.1/node_modules/@noble/hashes/_blake.js","../../../node_modules/.bun/@noble+hashes@2.0.1/node_modules/@noble/hashes/_u64.js","../../../node_modules/.bun/@noble+hashes@2.0.1/node_modules/@noble/hashes/blake2.js","../../../node_modules/.bun/@polkadot-api+substrate-bindings@0.17.0/node_modules/@polkadot-api/substrate-bindings/dist/esm/utils/ss58-util.mjs","../../../node_modules/.bun/@polkadot-api+substrate-bindings@0.17.0/node_modules/@polkadot-api/substrate-bindings/dist/esm/codecs/scale/AccountId.mjs","../../../node_modules/.bun/@polkadot-api+substrate-bindings@0.17.0/node_modules/@polkadot-api/substrate-bindings/dist/esm/codecs/scale/Binary.mjs","../../../node_modules/.bun/@polkadot-api+substrate-bindings@0.17.0/node_modules/@polkadot-api/substrate-bindings/dist/esm/codecs/scale/compact.mjs","../../../node_modules/.bun/@polkadot-api+substrate-bindings@0.17.0/node_modules/@polkadot-api/substrate-bindings/dist/esm/codecs/scale/Hex.mjs","../../../node_modules/.bun/@polkadot-api+substrate-bindings@0.17.0/node_modules/@polkadot-api/substrate-bindings/dist/esm/codecs/metadata/docs.mjs","../../../node_modules/.bun/@polkadot-api+substrate-bindings@0.17.0/node_modules/@polkadot-api/substrate-bindings/dist/esm/codecs/metadata/lookup.mjs","../../../node_modules/.bun/@polkadot-api+substrate-bindings@0.17.0/node_modules/@polkadot-api/substrate-bindings/dist/esm/codecs/metadata/deprecation.mjs","../../../node_modules/.bun/@polkadot-api+substrate-bindings@0.17.0/node_modules/@polkadot-api/substrate-bindings/dist/esm/codecs/metadata/runtime-api.mjs","../../../node_modules/.bun/@polkadot-api+substrate-bindings@0.17.0/node_modules/@polkadot-api/substrate-bindings/dist/esm/codecs/metadata/pallets.mjs","../../../node_modules/.bun/@polkadot-api+substrate-bindings@0.17.0/node_modules/@polkadot-api/substrate-bindings/dist/esm/codecs/metadata/v14.mjs","../../../node_modules/.bun/@polkadot-api+substrate-bindings@0.17.0/node_modules/@polkadot-api/substrate-bindings/dist/esm/codecs/metadata/v15.mjs","../../../node_modules/.bun/@polkadot-api+substrate-bindings@0.17.0/node_modules/@polkadot-api/substrate-bindings/dist/esm/codecs/metadata/v16.mjs","../../../node_modules/.bun/@polkadot-api+substrate-bindings@0.17.0/node_modules/@polkadot-api/substrate-bindings/dist/esm/codecs/metadata/metadata.mjs","../../../node_modules/.bun/@polkadot-api+substrate-bindings@0.17.0/node_modules/@polkadot-api/substrate-bindings/dist/esm/codecs/metadata/unified.mjs","../../../node_modules/.bun/@polkadot-api+substrate-bindings@0.17.0/node_modules/@polkadot-api/substrate-bindings/dist/esm/extrinsics/extrinsic-format.mjs","../../../node_modules/.bun/@polkadot-api+substrate-bindings@0.17.0/node_modules/@polkadot-api/substrate-bindings/dist/esm/hashes/blake2.mjs","../../../node_modules/.bun/@polkadot-api+metadata-builders@0.13.9/node_modules/@polkadot-api/metadata-builders/dist/esm/lookups.mjs","../../../node_modules/.bun/@polkadot-api+signers-common@0.1.20/node_modules/@polkadot-api/signers-common/dist/esm/v4.mjs","../../../node_modules/.bun/@polkadot-api+signers-common@0.1.20/node_modules/@polkadot-api/signers-common/dist/esm/sign-bytes.mjs","../../../node_modules/.bun/@polkadot-api+signer@0.2.13/node_modules/@polkadot-api/signer/dist/esm/from-raw-signer.mjs","../src/wallet/signer.ts","../src/wallet/account.ts","../src/wallet/validation.ts","../src/utils/balance.ts","../src/utils/time.ts"],"sourcesContent":["import {\n __export\n} from \"./chunk-7P6ASYW6.mjs\";\n\n// .papi/descriptors/src/common.ts\nvar table = new Uint8Array(128);\nfor (let i = 0; i < 64; i++) table[i < 26 ? i + 65 : i < 52 ? i + 71 : i < 62 ? i - 4 : i * 4 - 205] = i;\nvar toBinary = (base64) => {\n const n = base64.length, bytes = new Uint8Array((n - Number(base64[n - 1] === \"=\") - Number(base64[n - 2] === \"=\")) * 3 / 4 | 0);\n for (let i2 = 0, j = 0; i2 < n; ) {\n const c0 = table[base64.charCodeAt(i2++)], c1 = table[base64.charCodeAt(i2++)];\n const c2 = table[base64.charCodeAt(i2++)], c3 = table[base64.charCodeAt(i2++)];\n bytes[j++] = c0 << 2 | c1 >> 4;\n bytes[j++] = c1 << 4 | c2 >> 2;\n bytes[j++] = c2 << 6 | c3;\n }\n return bytes;\n};\n\n// .papi/descriptors/src/d9.ts\nvar descriptorValues = import(\"./descriptors-JQ4ZJQ4V.mjs\").then((module) => module[\"D9\"]);\nvar metadataTypes = import(\"./metadataTypes-32V7BYUB.mjs\").then(\n (module) => toBinary(\"default\" in module ? module.default : module)\n);\nvar asset = {};\nvar extensions = {};\nvar getMetadata = () => import(\"./d9_metadata-EHIEZLL5.mjs\").then(\n (module) => toBinary(\"default\" in module ? module.default : module)\n);\nvar genesis = \"0x74e86bce7566064d40f390f75e6d066b6006b198c995dcde5c04f851144effb8\";\nvar _allDescriptors = { descriptors: descriptorValues, metadataTypes, asset, extensions, getMetadata, genesis };\nvar d9_default = _allDescriptors;\n\n// .papi/descriptors/src/common-types.ts\nimport { _Enum } from \"polkadot-api\";\nvar BalancesTypesReasons = _Enum;\nvar GrandpaStoredState = _Enum;\nvar DigestItem = _Enum;\nvar Phase = _Enum;\nvar ArithmeticError = _Enum;\nvar TransactionalError = _Enum;\nvar BalanceStatus = _Enum;\nvar GrandpaEvent = _Enum;\nvar DispatchClass = _Enum;\nvar TransactionPaymentEvent = _Enum;\nvar SessionEvent = _Enum;\nvar TransactionPaymentReleases = _Enum;\nvar MultiAddress = _Enum;\nvar GrandpaEquivocation = _Enum;\n\n// .papi/descriptors/src/contracts/index.ts\nvar contracts_exports = {};\n__export(contracts_exports, {\n burnManager: () => descriptor4,\n burnMining: () => descriptor7,\n crossChainTransfer: () => descriptor5,\n marketMaker: () => descriptor6,\n merchantMining: () => descriptor2,\n miningPool: () => descriptor8,\n nodeReward: () => descriptor,\n usdt: () => descriptor3\n});\n\n// .papi/descriptors/src/contracts/nodeReward.ts\nvar descriptor = { metadata: { \"source\": { \"hash\": \"0x0cf5fbf9a9dd4057bfc9f674a402a956f97b7fa536545a43c79362842fda587e\", \"language\": \"ink! 4.3.0\", \"compiler\": \"rustc 1.72.1\", \"build_info\": { \"build_mode\": \"Release\", \"cargo_contract_version\": \"3.2.0\", \"rust_toolchain\": \"stable-x86_64-apple-darwin\", \"wasm_opt_settings\": { \"keep_debug_symbols\": false, \"optimization_passes\": \"Z\" } } }, \"contract\": { \"name\": \"node_reward\", \"version\": \"0.1.0\", \"authors\": [\"[your_name] <[your_email]>\"] }, \"spec\": { \"constructors\": [{ \"args\": [{ \"label\": \"mining_pool\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }, { \"label\": \"rewards_pallet\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }], \"default\": false, \"docs\": [\"Constructor that initializes the `bool` value to the given `init_value`.\"], \"label\": \"new\", \"payable\": false, \"returnType\": { \"displayName\": [\"ink_primitives\", \"ConstructorResult\"], \"type\": 5 }, \"selector\": \"0x9bae9d5e\" }], \"docs\": [], \"environment\": { \"accountId\": { \"displayName\": [\"AccountId\"], \"type\": 0 }, \"balance\": { \"displayName\": [\"Balance\"], \"type\": 3 }, \"blockNumber\": { \"displayName\": [\"BlockNumber\"], \"type\": 12 }, \"chainExtension\": { \"displayName\": [\"ChainExtension\"], \"type\": 22 }, \"hash\": { \"displayName\": [\"Hash\"], \"type\": 21 }, \"maxEventTopics\": 4, \"timestamp\": { \"displayName\": [\"Timestamp\"], \"type\": 4 } }, \"events\": [{ \"args\": [{ \"docs\": [], \"indexed\": true, \"label\": \"node\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }, { \"docs\": [], \"indexed\": true, \"label\": \"receiver\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }, { \"docs\": [], \"indexed\": true, \"label\": \"amount\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 3 } }], \"docs\": [], \"label\": \"NodeRewardPaid\" }], \"lang_error\": { \"displayName\": [\"ink\", \"LangError\"], \"type\": 7 }, \"messages\": [{ \"args\": [{ \"label\": \"mining_pool\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }], \"default\": false, \"docs\": [], \"label\": \"set_mining_pool\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 8 }, \"selector\": \"0xbad17c27\" }, { \"args\": [{ \"label\": \"rewards_pallet\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }], \"default\": false, \"docs\": [], \"label\": \"set_rewards_pallet\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 8 }, \"selector\": \"0xe54af172\" }, { \"args\": [{ \"label\": \"new_admin\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }], \"default\": false, \"docs\": [], \"label\": \"relinquish_admin\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 8 }, \"selector\": \"0xda7dbaee\" }, { \"args\": [], \"default\": false, \"docs\": [], \"label\": \"accept_admin\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 8 }, \"selector\": \"0x3830821d\" }, { \"args\": [], \"default\": false, \"docs\": [], \"label\": \"cancel_admin_relinquish\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 8 }, \"selector\": \"0xf9cc42d0\" }, { \"args\": [], \"default\": false, \"docs\": [], \"label\": \"get_vote_limit\", \"mutates\": false, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 11 }, \"selector\": \"0x345bb4a1\" }, { \"args\": [{ \"label\": \"new_limit\", \"type\": { \"displayName\": [\"u64\"], \"type\": 4 } }], \"default\": false, \"docs\": [], \"label\": \"change_vote_limit\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 8 }, \"selector\": \"0x3b7e719a\" }, { \"args\": [{ \"label\": \"node_id\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }], \"default\": false, \"docs\": [], \"label\": \"withdraw_reward\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 8 }, \"selector\": \"0x07fe6b9e\" }, { \"args\": [{ \"label\": \"session_index\", \"type\": { \"displayName\": [\"u32\"], \"type\": 12 } }], \"default\": false, \"docs\": [], \"label\": \"get_session_rewards_data\", \"mutates\": false, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 13 }, \"selector\": \"0x5b4a8bb7\" }, { \"args\": [{ \"label\": \"node_id\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }], \"default\": false, \"docs\": [], \"label\": \"get_node_reward_data\", \"mutates\": false, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 16 }, \"selector\": \"0x72c500b8\" }, { \"args\": [{ \"label\": \"node_id\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }], \"default\": false, \"docs\": [], \"label\": \"get_authorized_receiver\", \"mutates\": false, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 18 }, \"selector\": \"0x7a99af59\" }, { \"args\": [{ \"label\": \"node_id\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }, { \"label\": \"receiver\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }], \"default\": false, \"docs\": [], \"label\": \"set_authorized_receiver\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 8 }, \"selector\": \"0x0aa2247a\" }, { \"args\": [{ \"label\": \"node_id\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }], \"default\": false, \"docs\": [], \"label\": \"remove_authorized_receiver\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 8 }, \"selector\": \"0x58920ed0\" }, { \"args\": [{ \"label\": \"last_session\", \"type\": { \"displayName\": [\"u32\"], \"type\": 12 } }, { \"label\": \"sorted_nodes_and_votes\", \"type\": { \"displayName\": [\"Vec\"], \"type\": 19 } }], \"default\": false, \"docs\": [], \"label\": \"update_rewards\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 8 }, \"selector\": \"0x93440f8d\" }, { \"args\": [{ \"label\": \"code_hash\", \"type\": { \"displayName\": [], \"type\": 1 } }], \"default\": false, \"docs\": [], \"label\": \"set_code\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 5 }, \"selector\": \"0x694fb50f\" }] }, \"storage\": { \"root\": { \"layout\": { \"struct\": { \"fields\": [{ \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 0 } }, \"name\": \"admin\" }, { \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 0 } }, \"name\": \"new_admin\" }, { \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 0 } }, \"name\": \"mining_pool\" }, { \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 0 } }, \"name\": \"rewards_pallet\" }, { \"layout\": { \"root\": { \"layout\": { \"struct\": { \"fields\": [{ \"layout\": { \"leaf\": { \"key\": \"0x57cf89ff\", \"ty\": 3 } }, \"name\": \"0\" }, { \"layout\": { \"leaf\": { \"key\": \"0x57cf89ff\", \"ty\": 3 } }, \"name\": \"1\" }], \"name\": \"(A, B)\" } }, \"root_key\": \"0x57cf89ff\" } }, \"name\": \"session_rewards\" }, { \"layout\": { \"root\": { \"layout\": { \"leaf\": { \"key\": \"0xce7978af\", \"ty\": 3 } }, \"root_key\": \"0xce7978af\" } }, \"name\": \"node_reward\" }, { \"layout\": { \"root\": { \"layout\": { \"leaf\": { \"key\": \"0x2802a071\", \"ty\": 0 } }, \"root_key\": \"0x2802a071\" } }, \"name\": \"authorized_reward_receiver\" }, { \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 4 } }, \"name\": \"vote_limit\" }], \"name\": \"NodeReward\" } }, \"root_key\": \"0x00000000\" } }, \"types\": [{ \"id\": 0, \"type\": { \"def\": { \"composite\": { \"fields\": [{ \"type\": 1, \"typeName\": \"[u8; 32]\" }] } }, \"path\": [\"ink_primitives\", \"types\", \"AccountId\"] } }, { \"id\": 1, \"type\": { \"def\": { \"array\": { \"len\": 32, \"type\": 2 } } } }, { \"id\": 2, \"type\": { \"def\": { \"primitive\": \"u8\" } } }, { \"id\": 3, \"type\": { \"def\": { \"primitive\": \"u128\" } } }, { \"id\": 4, \"type\": { \"def\": { \"primitive\": \"u64\" } } }, { \"id\": 5, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 6 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 7 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 6 }, { \"name\": \"E\", \"type\": 7 }], \"path\": [\"Result\"] } }, { \"id\": 6, \"type\": { \"def\": { \"tuple\": [] } } }, { \"id\": 7, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"index\": 1, \"name\": \"CouldNotReadInput\" }] } }, \"path\": [\"ink_primitives\", \"LangError\"] } }, { \"id\": 8, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 9 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 7 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 9 }, { \"name\": \"E\", \"type\": 7 }], \"path\": [\"Result\"] } }, { \"id\": 9, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 6 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 10 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 6 }, { \"name\": \"E\", \"type\": 10 }], \"path\": [\"Result\"] } }, { \"id\": 10, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 0, \"typeName\": \"AccountId\" }], \"index\": 0, \"name\": \"OnlyCallableBy\" }, { \"index\": 1, \"name\": \"BeyondQualificationForNodeStatus\" }, { \"index\": 2, \"name\": \"ErrorIssuingPayment\" }, { \"index\": 3, \"name\": \"ErrorGettingSessionPoolFromMiningPoolContract\" }, { \"index\": 4, \"name\": \"NotAuthorizedToWithdraw\" }, { \"index\": 5, \"name\": \"NothingToWithdraw\" }, { \"index\": 6, \"name\": \"ErrorGettingCurrentValidators\" }] } }, \"path\": [\"node_reward\", \"node_reward\", \"Error\"] } }, { \"id\": 11, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 4 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 7 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 4 }, { \"name\": \"E\", \"type\": 7 }], \"path\": [\"Result\"] } }, { \"id\": 12, \"type\": { \"def\": { \"primitive\": \"u32\" } } }, { \"id\": 13, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 14 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 7 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 14 }, { \"name\": \"E\", \"type\": 7 }], \"path\": [\"Result\"] } }, { \"id\": 14, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"index\": 0, \"name\": \"None\" }, { \"fields\": [{ \"type\": 15 }], \"index\": 1, \"name\": \"Some\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 15 }], \"path\": [\"Option\"] } }, { \"id\": 15, \"type\": { \"def\": { \"tuple\": [3, 3] } } }, { \"id\": 16, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 17 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 7 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 17 }, { \"name\": \"E\", \"type\": 7 }], \"path\": [\"Result\"] } }, { \"id\": 17, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"index\": 0, \"name\": \"None\" }, { \"fields\": [{ \"type\": 3 }], \"index\": 1, \"name\": \"Some\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 3 }], \"path\": [\"Option\"] } }, { \"id\": 18, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 0 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 7 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 0 }, { \"name\": \"E\", \"type\": 7 }], \"path\": [\"Result\"] } }, { \"id\": 19, \"type\": { \"def\": { \"sequence\": { \"type\": 20 } } } }, { \"id\": 20, \"type\": { \"def\": { \"tuple\": [0, 4] } } }, { \"id\": 21, \"type\": { \"def\": { \"composite\": { \"fields\": [{ \"type\": 1, \"typeName\": \"[u8; 32]\" }] } }, \"path\": [\"ink_primitives\", \"types\", \"Hash\"] } }, { \"id\": 22, \"type\": { \"def\": { \"variant\": {} }, \"path\": [\"d9_chain_extension\", \"D9ChainExtension\"] } }], \"version\": \"4\" } };\n\n// .papi/descriptors/src/contracts/merchantMining.ts\nvar descriptor2 = { metadata: { \"source\": { \"hash\": \"0x1605acf16a5d67473a30bde3624e103393a3ffaf9310f3abfcdb6ef1d1370ee4\", \"language\": \"ink! 4.3.0\", \"compiler\": \"rustc 1.76.0\", \"build_info\": { \"build_mode\": \"Release\", \"cargo_contract_version\": \"3.2.0\", \"rust_toolchain\": \"stable-aarch64-apple-darwin\", \"wasm_opt_settings\": { \"keep_debug_symbols\": false, \"optimization_passes\": \"Z\" } } }, \"contract\": { \"name\": \"d9-merchant-mining\", \"version\": \"0.1.0\", \"authors\": [\"D9Dev\"] }, \"spec\": { \"constructors\": [{ \"args\": [{ \"label\": \"amm_contract\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 2 } }, { \"label\": \"mining_pool\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 2 } }, { \"label\": \"usdt_contract\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 2 } }], \"default\": false, \"docs\": [\"Constructor that initializes the `bool` value to the given `init_value`.\"], \"label\": \"new\", \"payable\": false, \"returnType\": { \"displayName\": [\"ink_primitives\", \"ConstructorResult\"], \"type\": 5 }, \"selector\": \"0x9bae9d5e\" }], \"docs\": [], \"environment\": { \"accountId\": { \"displayName\": [\"AccountId\"], \"type\": 2 }, \"balance\": { \"displayName\": [\"Balance\"], \"type\": 1 }, \"blockNumber\": { \"displayName\": [\"BlockNumber\"], \"type\": 25 }, \"chainExtension\": { \"displayName\": [\"ChainExtension\"], \"type\": 26 }, \"hash\": { \"displayName\": [\"Hash\"], \"type\": 24 }, \"maxEventTopics\": 4, \"timestamp\": { \"displayName\": [\"Timestamp\"], \"type\": 0 } }, \"events\": [{ \"args\": [{ \"docs\": [], \"indexed\": true, \"label\": \"account_id\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 2 } }, { \"docs\": [], \"indexed\": true, \"label\": \"usdt\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 1 } }, { \"docs\": [], \"indexed\": true, \"label\": \"expiry\", \"type\": { \"displayName\": [\"Timestamp\"], \"type\": 0 } }], \"docs\": [], \"label\": \"SubscriptionExtended\" }, { \"args\": [{ \"docs\": [], \"indexed\": true, \"label\": \"account_id\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 2 } }, { \"docs\": [], \"indexed\": true, \"label\": \"redeemed_d9\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 1 } }], \"docs\": [], \"label\": \"D9Redeemed\" }, { \"args\": [{ \"docs\": [], \"indexed\": true, \"label\": \"merchant\", \"type\": { \"displayName\": [\"GreenPointsCreated\"], \"type\": 23 } }, { \"docs\": [], \"indexed\": true, \"label\": \"consumer\", \"type\": { \"displayName\": [\"GreenPointsCreated\"], \"type\": 23 } }], \"docs\": [], \"label\": \"GreenPointsTransaction\" }, { \"args\": [{ \"docs\": [], \"indexed\": true, \"label\": \"merchant\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 2 } }, { \"docs\": [], \"indexed\": true, \"label\": \"consumer\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 2 } }, { \"docs\": [], \"indexed\": true, \"label\": \"amount\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 1 } }], \"docs\": [], \"label\": \"D9MerchantPaymentSent\" }, { \"args\": [{ \"docs\": [], \"indexed\": true, \"label\": \"merchant\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 2 } }, { \"docs\": [], \"indexed\": true, \"label\": \"consumer\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 2 } }, { \"docs\": [], \"indexed\": true, \"label\": \"amount\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 1 } }], \"docs\": [], \"label\": \"USDTMerchantPaymentSent\" }, { \"args\": [{ \"docs\": [], \"indexed\": true, \"label\": \"consumer\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 2 } }, { \"docs\": [], \"indexed\": true, \"label\": \"merchant\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 2 } }, { \"docs\": [], \"indexed\": true, \"label\": \"amount\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 1 } }], \"docs\": [], \"label\": \"GivePointsUSDT\" }], \"lang_error\": { \"displayName\": [\"ink\", \"LangError\"], \"type\": 7 }, \"messages\": [{ \"args\": [{ \"label\": \"usdt_amount\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 1 } }], \"default\": false, \"docs\": [\" create merchant account subscription\"], \"label\": \"subscribe\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 8 }, \"selector\": \"0xfb968a8f\" }, { \"args\": [], \"default\": false, \"docs\": [\"withdraw a certain amount of d9 that has been converted into red points\"], \"label\": \"redeem_d9\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 11 }, \"selector\": \"0x47082626\" }, { \"args\": [{ \"label\": \"consumer_id\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 2 } }], \"default\": false, \"docs\": [], \"label\": \"give_green_points_d9\", \"mutates\": true, \"payable\": true, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 13 }, \"selector\": \"0x88b8f067\" }, { \"args\": [{ \"label\": \"consumer_id\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 2 } }, { \"label\": \"usdt_payment\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 1 } }], \"default\": false, \"docs\": [], \"label\": \"give_green_points_usdt\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 13 }, \"selector\": \"0xf52b0ab9\" }, { \"args\": [{ \"label\": \"merchant_id\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 2 } }, { \"label\": \"usdt_amount\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 1 } }], \"default\": false, \"docs\": [], \"label\": \"send_usdt_payment_to_merchant\", \"mutates\": true, \"payable\": true, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 13 }, \"selector\": \"0xa69d4305\" }, { \"args\": [{ \"label\": \"merchant_id\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 2 } }], \"default\": false, \"docs\": [\" a customer pays a merchant using d9\"], \"label\": \"send_d9_payment_to_merchant\", \"mutates\": true, \"payable\": true, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 13 }, \"selector\": \"0xb0e55803\" }, { \"args\": [{ \"label\": \"account_id\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 2 } }], \"default\": false, \"docs\": [], \"label\": \"get_expiry\", \"mutates\": false, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 8 }, \"selector\": \"0xfe38aab5\" }, { \"args\": [{ \"label\": \"account_id\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 2 } }], \"default\": false, \"docs\": [\" get account details\"], \"label\": \"get_account\", \"mutates\": false, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 16 }, \"selector\": \"0xd0f48683\" }, { \"args\": [{ \"label\": \"new_amm_contract\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 2 } }], \"default\": false, \"docs\": [], \"label\": \"change_amm_contract\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 21 }, \"selector\": \"0x0db11b82\" }, { \"args\": [{ \"label\": \"new_mining_pool\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 2 } }], \"default\": false, \"docs\": [], \"label\": \"change_mining_pool\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 21 }, \"selector\": \"0xafda72a6\" }, { \"args\": [{ \"label\": \"code_hash\", \"type\": { \"displayName\": [], \"type\": 3 } }], \"default\": false, \"docs\": [\" Modifies the code which is used to execute calls to this contract address (`AccountId`).\", \"\", \" We use this to upgrade the contract logic. We don't do any authorization here, any caller\", \" can execute this method. In a production contract you would do some authorization here.\"], \"label\": \"set_code\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 5 }, \"selector\": \"0x694fb50f\" }, { \"args\": [{ \"label\": \"new_admin\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 2 } }], \"default\": false, \"docs\": [], \"label\": \"change_admin\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 21 }, \"selector\": \"0x61ae97d7\" }] }, \"storage\": { \"root\": { \"layout\": { \"struct\": { \"fields\": [{ \"layout\": { \"root\": { \"layout\": { \"leaf\": { \"key\": \"0x368a973a\", \"ty\": 0 } }, \"root_key\": \"0x368a973a\" } }, \"name\": \"merchant_expiry\" }, { \"layout\": { \"root\": { \"layout\": { \"struct\": { \"fields\": [{ \"layout\": { \"leaf\": { \"key\": \"0xfe031739\", \"ty\": 1 } }, \"name\": \"green_points\" }, { \"layout\": { \"struct\": { \"fields\": [{ \"layout\": { \"leaf\": { \"key\": \"0xfe031739\", \"ty\": 1 } }, \"name\": \"0\" }, { \"layout\": { \"leaf\": { \"key\": \"0xfe031739\", \"ty\": 1 } }, \"name\": \"1\" }], \"name\": \"(A, B)\" } }, \"name\": \"relationship_factors\" }, { \"layout\": { \"enum\": { \"dispatchKey\": \"0xfe031739\", \"name\": \"Option\", \"variants\": { \"0\": { \"fields\": [], \"name\": \"None\" }, \"1\": { \"fields\": [{ \"layout\": { \"leaf\": { \"key\": \"0xfe031739\", \"ty\": 0 } }, \"name\": \"0\" }], \"name\": \"Some\" } } } }, \"name\": \"last_conversion\" }, { \"layout\": { \"leaf\": { \"key\": \"0xfe031739\", \"ty\": 1 } }, \"name\": \"redeemed_usdt\" }, { \"layout\": { \"leaf\": { \"key\": \"0xfe031739\", \"ty\": 1 } }, \"name\": \"redeemed_d9\" }, { \"layout\": { \"leaf\": { \"key\": \"0xfe031739\", \"ty\": 0 } }, \"name\": \"created_at\" }], \"name\": \"Account\" } }, \"root_key\": \"0xfe031739\" } }, \"name\": \"accounts\" }, { \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 1 } }, \"name\": \"subscription_fee\" }, { \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 2 } }, \"name\": \"usdt_contract\" }, { \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 2 } }, \"name\": \"amm_contract\" }, { \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 2 } }, \"name\": \"mining_pool\" }, { \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 0 } }, \"name\": \"milliseconds_day\" }, { \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 2 } }, \"name\": \"admin\" }], \"name\": \"D9MerchantMining\" } }, \"root_key\": \"0x00000000\" } }, \"types\": [{ \"id\": 0, \"type\": { \"def\": { \"primitive\": \"u64\" } } }, { \"id\": 1, \"type\": { \"def\": { \"primitive\": \"u128\" } } }, { \"id\": 2, \"type\": { \"def\": { \"composite\": { \"fields\": [{ \"type\": 3, \"typeName\": \"[u8; 32]\" }] } }, \"path\": [\"ink_primitives\", \"types\", \"AccountId\"] } }, { \"id\": 3, \"type\": { \"def\": { \"array\": { \"len\": 32, \"type\": 4 } } } }, { \"id\": 4, \"type\": { \"def\": { \"primitive\": \"u8\" } } }, { \"id\": 5, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 6 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 7 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 6 }, { \"name\": \"E\", \"type\": 7 }], \"path\": [\"Result\"] } }, { \"id\": 6, \"type\": { \"def\": { \"tuple\": [] } } }, { \"id\": 7, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"index\": 1, \"name\": \"CouldNotReadInput\" }] } }, \"path\": [\"ink_primitives\", \"LangError\"] } }, { \"id\": 8, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 9 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 7 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 9 }, { \"name\": \"E\", \"type\": 7 }], \"path\": [\"Result\"] } }, { \"id\": 9, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 0 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 10 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 0 }, { \"name\": \"E\", \"type\": 10 }], \"path\": [\"Result\"] } }, { \"id\": 10, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"index\": 0, \"name\": \"InsufficientPayment\" }, { \"index\": 1, \"name\": \"InsufficientAllowance\" }, { \"index\": 2, \"name\": \"NoMerchantAccountFound\" }, { \"index\": 3, \"name\": \"MerchantAccountExpired\" }, { \"index\": 4, \"name\": \"NoAccountFound\" }, { \"index\": 5, \"name\": \"NothingToRedeem\" }, { \"index\": 6, \"name\": \"TransferringToMainContract\" }, { \"index\": 7, \"name\": \"TransferringToUSDTToMerchant\" }, { \"index\": 8, \"name\": \"UserUSDTBalanceInsufficient\" }, { \"index\": 9, \"name\": \"D9TransferFailed\" }, { \"index\": 10, \"name\": \"USDTTransferFailed\" }, { \"index\": 11, \"name\": \"OnlyAdmin\" }, { \"index\": 12, \"name\": \"GrantingAllowanceFailed\" }, { \"index\": 13, \"name\": \"AMMConversionFailed\" }, { \"index\": 14, \"name\": \"ReceivingUSDTFromUser\" }, { \"index\": 15, \"name\": \"ConvertingToD9\" }, { \"index\": 16, \"name\": \"SendUSDTToMerchant\" }, { \"index\": 17, \"name\": \"SendingD9ToMiningPool\" }, { \"index\": 18, \"name\": \"SendingUSDTToAMM\" }, { \"index\": 19, \"name\": \"GettingUSDTFromAMM\" }, { \"index\": 20, \"name\": \"RedeemD9TransferFailed\" }, { \"index\": 21, \"name\": \"SomeEnvironmentError\" }, { \"index\": 22, \"name\": \"CalledContractTrapped\" }, { \"index\": 23, \"name\": \"CalledContractReverted\" }, { \"index\": 24, \"name\": \"NotCallable\" }, { \"index\": 25, \"name\": \"SomeDecodeError\" }, { \"index\": 26, \"name\": \"SomeOffChainError\" }, { \"index\": 27, \"name\": \"CalleeTrapped\" }, { \"index\": 28, \"name\": \"CalleeReverted\" }, { \"index\": 29, \"name\": \"KeyNotFound\" }, { \"index\": 30, \"name\": \"_BelowSubsistenceThreshold\" }, { \"index\": 31, \"name\": \"TransferFailed\" }, { \"index\": 32, \"name\": \"_EndowmentTooLow\" }, { \"index\": 33, \"name\": \"CodeNotFound\" }, { \"index\": 34, \"name\": \"Unknown\" }, { \"index\": 35, \"name\": \"LoggingDisabled\" }, { \"index\": 36, \"name\": \"CallRuntimeFailed\" }, { \"index\": 37, \"name\": \"EcdsaRecoveryFailed\" }, { \"index\": 38, \"name\": \"ErrorGettingEstimate\" }, { \"index\": 39, \"name\": \"CrossContractCallErrorGettingEstimate\" }] } }, \"path\": [\"d9_merchant_mining\", \"d9_merchant_mining\", \"Error\"] } }, { \"id\": 11, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 12 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 7 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 12 }, { \"name\": \"E\", \"type\": 7 }], \"path\": [\"Result\"] } }, { \"id\": 12, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 1 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 10 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 1 }, { \"name\": \"E\", \"type\": 10 }], \"path\": [\"Result\"] } }, { \"id\": 13, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 14 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 7 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 14 }, { \"name\": \"E\", \"type\": 7 }], \"path\": [\"Result\"] } }, { \"id\": 14, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 15 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 10 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 15 }, { \"name\": \"E\", \"type\": 10 }], \"path\": [\"Result\"] } }, { \"id\": 15, \"type\": { \"def\": { \"composite\": { \"fields\": [{ \"name\": \"merchant\", \"type\": 1, \"typeName\": \"Balance\" }, { \"name\": \"consumer\", \"type\": 1, \"typeName\": \"Balance\" }] } }, \"path\": [\"d9_merchant_mining\", \"d9_merchant_mining\", \"GreenPointsResult\"] } }, { \"id\": 16, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 17 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 7 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 17 }, { \"name\": \"E\", \"type\": 7 }], \"path\": [\"Result\"] } }, { \"id\": 17, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"index\": 0, \"name\": \"None\" }, { \"fields\": [{ \"type\": 18 }], \"index\": 1, \"name\": \"Some\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 18 }], \"path\": [\"Option\"] } }, { \"id\": 18, \"type\": { \"def\": { \"composite\": { \"fields\": [{ \"name\": \"green_points\", \"type\": 1, \"typeName\": \"Balance\" }, { \"name\": \"relationship_factors\", \"type\": 19, \"typeName\": \"(Balance, Balance)\" }, { \"name\": \"last_conversion\", \"type\": 20, \"typeName\": \"Option<Timestamp>\" }, { \"name\": \"redeemed_usdt\", \"type\": 1, \"typeName\": \"Balance\" }, { \"name\": \"redeemed_d9\", \"type\": 1, \"typeName\": \"Balance\" }, { \"name\": \"created_at\", \"type\": 0, \"typeName\": \"Timestamp\" }] } }, \"path\": [\"d9_merchant_mining\", \"d9_merchant_mining\", \"Account\"] } }, { \"id\": 19, \"type\": { \"def\": { \"tuple\": [1, 1] } } }, { \"id\": 20, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"index\": 0, \"name\": \"None\" }, { \"fields\": [{ \"type\": 0 }], \"index\": 1, \"name\": \"Some\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 0 }], \"path\": [\"Option\"] } }, { \"id\": 21, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 22 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 7 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 22 }, { \"name\": \"E\", \"type\": 7 }], \"path\": [\"Result\"] } }, { \"id\": 22, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 6 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 10 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 6 }, { \"name\": \"E\", \"type\": 10 }], \"path\": [\"Result\"] } }, { \"id\": 23, \"type\": { \"def\": { \"composite\": { \"fields\": [{ \"name\": \"account_id\", \"type\": 2, \"typeName\": \"AccountId\" }, { \"name\": \"green_points\", \"type\": 1, \"typeName\": \"Balance\" }] } }, \"path\": [\"d9_merchant_mining\", \"d9_merchant_mining\", \"GreenPointsCreated\"] } }, { \"id\": 24, \"type\": { \"def\": { \"composite\": { \"fields\": [{ \"type\": 3, \"typeName\": \"[u8; 32]\" }] } }, \"path\": [\"ink_primitives\", \"types\", \"Hash\"] } }, { \"id\": 25, \"type\": { \"def\": { \"primitive\": \"u32\" } } }, { \"id\": 26, \"type\": { \"def\": { \"variant\": {} }, \"path\": [\"d9_chain_extension\", \"D9ChainExtension\"] } }], \"version\": \"4\" } };\n\n// .papi/descriptors/src/contracts/usdt.ts\nvar descriptor3 = { metadata: { \"source\": { \"hash\": \"0x7a88ca43f88f1468755756c58c8fcac582c83a176b183301e672712efe955d03\", \"language\": \"ink! 4.3.0\", \"compiler\": \"rustc 1.72.1\", \"build_info\": { \"build_mode\": \"Release\", \"cargo_contract_version\": \"3.2.0\", \"rust_toolchain\": \"stable-x86_64-apple-darwin\", \"wasm_opt_settings\": { \"keep_debug_symbols\": false, \"optimization_passes\": \"Z\" } } }, \"contract\": { \"name\": \"d9_usdt\", \"version\": \"0.1.0\", \"authors\": [\"D9Devs\"] }, \"spec\": { \"constructors\": [{ \"args\": [{ \"label\": \"initial_supply\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 0 } }], \"default\": false, \"docs\": [], \"label\": \"new\", \"payable\": false, \"returnType\": { \"displayName\": [\"ink_primitives\", \"ConstructorResult\"], \"type\": 1 }, \"selector\": \"0x9bae9d5e\" }], \"docs\": [], \"environment\": { \"accountId\": { \"displayName\": [\"AccountId\"], \"type\": 4 }, \"balance\": { \"displayName\": [\"Balance\"], \"type\": 0 }, \"blockNumber\": { \"displayName\": [\"BlockNumber\"], \"type\": 16 }, \"chainExtension\": { \"displayName\": [\"ChainExtension\"], \"type\": 17 }, \"hash\": { \"displayName\": [\"Hash\"], \"type\": 14 }, \"maxEventTopics\": 4, \"timestamp\": { \"displayName\": [\"Timestamp\"], \"type\": 15 } }, \"events\": [{ \"args\": [{ \"docs\": [], \"indexed\": true, \"label\": \"owner\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 4 } }, { \"docs\": [], \"indexed\": true, \"label\": \"spender\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 4 } }, { \"docs\": [], \"indexed\": false, \"label\": \"amount\", \"type\": { \"displayName\": [\"u128\"], \"type\": 0 } }], \"docs\": [], \"label\": \"Approval\" }, { \"args\": [{ \"docs\": [], \"indexed\": true, \"label\": \"from\", \"type\": { \"displayName\": [\"Option\"], \"type\": 13 } }, { \"docs\": [], \"indexed\": true, \"label\": \"to\", \"type\": { \"displayName\": [\"Option\"], \"type\": 13 } }, { \"docs\": [], \"indexed\": false, \"label\": \"value\", \"type\": { \"displayName\": [\"u128\"], \"type\": 0 } }], \"docs\": [], \"label\": \"Transfer\" }], \"lang_error\": { \"displayName\": [\"ink\", \"LangError\"], \"type\": 3 }, \"messages\": [{ \"args\": [{ \"label\": \"to\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 4 } }, { \"label\": \"value\", \"type\": { \"displayName\": [\"u128\"], \"type\": 0 } }, { \"label\": \"_data\", \"type\": { \"displayName\": [\"Vec\"], \"type\": 7 } }], \"default\": false, \"docs\": [], \"label\": \"transfer\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 8 }, \"selector\": \"0x84a15da1\" }, { \"args\": [{ \"label\": \"from\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 4 } }, { \"label\": \"to\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 4 } }, { \"label\": \"value\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 0 } }, { \"label\": \"_data\", \"type\": { \"displayName\": [\"Vec\"], \"type\": 7 } }], \"default\": false, \"docs\": [], \"label\": \"transfer_from\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 8 }, \"selector\": \"0x0b396f18\" }, { \"args\": [], \"default\": false, \"docs\": [], \"label\": \"PSP22::total_supply\", \"mutates\": false, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 12 }, \"selector\": \"0x162df8c2\" }, { \"args\": [{ \"label\": \"to\", \"type\": { \"displayName\": [\"psp22_external\", \"TransferInput1\"], \"type\": 4 } }, { \"label\": \"value\", \"type\": { \"displayName\": [\"psp22_external\", \"TransferInput2\"], \"type\": 0 } }, { \"label\": \"data\", \"type\": { \"displayName\": [\"psp22_external\", \"TransferInput3\"], \"type\": 7 } }], \"default\": false, \"docs\": [], \"label\": \"PSP22::transfer\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 8 }, \"selector\": \"0xdb20f9f5\" }, { \"args\": [{ \"label\": \"spender\", \"type\": { \"displayName\": [\"psp22_external\", \"DecreaseAllowanceInput1\"], \"type\": 4 } }, { \"label\": \"delta_value\", \"type\": { \"displayName\": [\"psp22_external\", \"DecreaseAllowanceInput2\"], \"type\": 0 } }], \"default\": false, \"docs\": [], \"label\": \"PSP22::decrease_allowance\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 8 }, \"selector\": \"0xfecb57d5\" }, { \"args\": [{ \"label\": \"owner\", \"type\": { \"displayName\": [\"psp22_external\", \"BalanceOfInput1\"], \"type\": 4 } }], \"default\": false, \"docs\": [], \"label\": \"PSP22::balance_of\", \"mutates\": false, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 12 }, \"selector\": \"0x6568382f\" }, { \"args\": [{ \"label\": \"from\", \"type\": { \"displayName\": [\"psp22_external\", \"TransferFromInput1\"], \"type\": 4 } }, { \"label\": \"to\", \"type\": { \"displayName\": [\"psp22_external\", \"TransferFromInput2\"], \"type\": 4 } }, { \"label\": \"value\", \"type\": { \"displayName\": [\"psp22_external\", \"TransferFromInput3\"], \"type\": 0 } }, { \"label\": \"data\", \"type\": { \"displayName\": [\"psp22_external\", \"TransferFromInput4\"], \"type\": 7 } }], \"default\": false, \"docs\": [], \"label\": \"PSP22::transfer_from\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 8 }, \"selector\": \"0x54b3c76e\" }, { \"args\": [{ \"label\": \"spender\", \"type\": { \"displayName\": [\"psp22_external\", \"IncreaseAllowanceInput1\"], \"type\": 4 } }, { \"label\": \"delta_value\", \"type\": { \"displayName\": [\"psp22_external\", \"IncreaseAllowanceInput2\"], \"type\": 0 } }], \"default\": false, \"docs\": [], \"label\": \"PSP22::increase_allowance\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 8 }, \"selector\": \"0x96d6b57a\" }, { \"args\": [{ \"label\": \"spender\", \"type\": { \"displayName\": [\"psp22_external\", \"ApproveInput1\"], \"type\": 4 } }, { \"label\": \"value\", \"type\": { \"displayName\": [\"psp22_external\", \"ApproveInput2\"], \"type\": 0 } }], \"default\": false, \"docs\": [], \"label\": \"PSP22::approve\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 8 }, \"selector\": \"0xb20f1bbd\" }, { \"args\": [{ \"label\": \"owner\", \"type\": { \"displayName\": [\"psp22_external\", \"AllowanceInput1\"], \"type\": 4 } }, { \"label\": \"spender\", \"type\": { \"displayName\": [\"psp22_external\", \"AllowanceInput2\"], \"type\": 4 } }], \"default\": false, \"docs\": [], \"label\": \"PSP22::allowance\", \"mutates\": false, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 12 }, \"selector\": \"0x4d47d921\" }] }, \"storage\": { \"root\": { \"layout\": { \"struct\": { \"fields\": [{ \"layout\": { \"struct\": { \"fields\": [{ \"layout\": { \"root\": { \"layout\": { \"leaf\": { \"key\": \"0x270a8fc3\", \"ty\": 0 } }, \"root_key\": \"0x270a8fc3\" } }, \"name\": \"supply\" }, { \"layout\": { \"root\": { \"layout\": { \"leaf\": { \"key\": \"0xc2664826\", \"ty\": 0 } }, \"root_key\": \"0xc2664826\" } }, \"name\": \"balances\" }, { \"layout\": { \"root\": { \"layout\": { \"leaf\": { \"key\": \"0xf8d71e22\", \"ty\": 0 } }, \"root_key\": \"0xf8d71e22\" } }, \"name\": \"allowances\" }], \"name\": \"Data\" } }, \"name\": \"psp22\" }], \"name\": \"D9USDT\" } }, \"root_key\": \"0x00000000\" } }, \"types\": [{ \"id\": 0, \"type\": { \"def\": { \"primitive\": \"u128\" } } }, { \"id\": 1, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 2 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 3 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 2 }, { \"name\": \"E\", \"type\": 3 }], \"path\": [\"Result\"] } }, { \"id\": 2, \"type\": { \"def\": { \"tuple\": [] } } }, { \"id\": 3, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"index\": 1, \"name\": \"CouldNotReadInput\" }] } }, \"path\": [\"ink_primitives\", \"LangError\"] } }, { \"id\": 4, \"type\": { \"def\": { \"composite\": { \"fields\": [{ \"type\": 5, \"typeName\": \"[u8; 32]\" }] } }, \"path\": [\"ink_primitives\", \"types\", \"AccountId\"] } }, { \"id\": 5, \"type\": { \"def\": { \"array\": { \"len\": 32, \"type\": 6 } } } }, { \"id\": 6, \"type\": { \"def\": { \"primitive\": \"u8\" } } }, { \"id\": 7, \"type\": { \"def\": { \"sequence\": { \"type\": 6 } } } }, { \"id\": 8, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 9 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 3 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 9 }, { \"name\": \"E\", \"type\": 3 }], \"path\": [\"Result\"] } }, { \"id\": 9, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 2 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 10 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 2 }, { \"name\": \"E\", \"type\": 10 }], \"path\": [\"Result\"] } }, { \"id\": 10, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 11, \"typeName\": \"String\" }], \"index\": 0, \"name\": \"Custom\" }, { \"index\": 1, \"name\": \"InsufficientBalance\" }, { \"index\": 2, \"name\": \"InsufficientAllowance\" }, { \"index\": 3, \"name\": \"ZeroRecipientAddress\" }, { \"index\": 4, \"name\": \"ZeroSenderAddress\" }, { \"fields\": [{ \"type\": 11, \"typeName\": \"String\" }], \"index\": 5, \"name\": \"SafeTransferCheckFailed\" }] } }, \"path\": [\"openbrush_contracts\", \"traits\", \"errors\", \"psp22\", \"PSP22Error\"] } }, { \"id\": 11, \"type\": { \"def\": { \"primitive\": \"str\" } } }, { \"id\": 12, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 0 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 3 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 0 }, { \"name\": \"E\", \"type\": 3 }], \"path\": [\"Result\"] } }, { \"id\": 13, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"index\": 0, \"name\": \"None\" }, { \"fields\": [{ \"type\": 4 }], \"index\": 1, \"name\": \"Some\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 4 }], \"path\": [\"Option\"] } }, { \"id\": 14, \"type\": { \"def\": { \"composite\": { \"fields\": [{ \"type\": 5, \"typeName\": \"[u8; 32]\" }] } }, \"path\": [\"ink_primitives\", \"types\", \"Hash\"] } }, { \"id\": 15, \"type\": { \"def\": { \"primitive\": \"u64\" } } }, { \"id\": 16, \"type\": { \"def\": { \"primitive\": \"u32\" } } }, { \"id\": 17, \"type\": { \"def\": { \"variant\": {} }, \"path\": [\"ink_env\", \"types\", \"NoChainExtension\"] } }], \"version\": \"4\" } };\n\n// .papi/descriptors/src/contracts/burnManager.ts\nvar descriptor4 = { metadata: { \"source\": { \"hash\": \"0x2da1b7ebb4065bd2ec52012d674d4b203fab69681292bc4e594fc26fc9c2445f\", \"language\": \"ink! 4.3.0\", \"compiler\": \"rustc 1.72.0\", \"build_info\": { \"build_mode\": \"Release\", \"cargo_contract_version\": \"3.2.0\", \"rust_toolchain\": \"stable-aarch64-apple-darwin\", \"wasm_opt_settings\": { \"keep_debug_symbols\": false, \"optimization_passes\": \"Z\" } } }, \"contract\": { \"name\": \"d9-burn-manager\", \"version\": \"1.0.0\", \"authors\": [\"D9Dev\"] }, \"spec\": { \"constructors\": [{ \"args\": [{ \"label\": \"admin\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }, { \"label\": \"burn_contracts\", \"type\": { \"displayName\": [\"Vec\"], \"type\": 3 } }], \"default\": false, \"docs\": [\"Constructor that initializes the `bool` value to the given `init_value`.\"], \"label\": \"new\", \"payable\": true, \"returnType\": { \"displayName\": [\"ink_primitives\", \"ConstructorResult\"], \"type\": 6 }, \"selector\": \"0x9bae9d5e\" }], \"docs\": [], \"environment\": { \"accountId\": { \"displayName\": [\"AccountId\"], \"type\": 0 }, \"balance\": { \"displayName\": [\"Balance\"], \"type\": 4 }, \"blockNumber\": { \"displayName\": [\"BlockNumber\"], \"type\": 24 }, \"chainExtension\": { \"displayName\": [\"ChainExtension\"], \"type\": 25 }, \"hash\": { \"displayName\": [\"Hash\"], \"type\": 23 }, \"maxEventTopics\": 4, \"timestamp\": { \"displayName\": [\"Timestamp\"], \"type\": 5 } }, \"events\": [{ \"args\": [{ \"docs\": [\" initiator of of the burn\"], \"indexed\": true, \"label\": \"from\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }, { \"docs\": [\"amount of tokens burned\"], \"indexed\": true, \"label\": \"amount\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 4 } }], \"docs\": [], \"label\": \"WithdrawalExecuted\" }, { \"args\": [{ \"docs\": [\" initiator of of the burn\"], \"indexed\": true, \"label\": \"from\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }, { \"docs\": [\"amount of tokens burned\"], \"indexed\": true, \"label\": \"amount\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 4 } }], \"docs\": [], \"label\": \"BurnExecuted\" }], \"lang_error\": { \"displayName\": [\"ink\", \"LangError\"], \"type\": 8 }, \"messages\": [{ \"args\": [{ \"label\": \"burn_beneficiary\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }, { \"label\": \"burn_contract\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }], \"default\": false, \"docs\": [\" Executes a burn by making a cross-contract call, updates the total burned amount,\", \" updates the user's portfolio, and emits a `BurnExecuted` event.\", \"\", \" # Arguments\", \"\", \" * `burn_contract` - Account ID of the contract to call for the burn.\", \"\", \" # Errors\", \"\", \" Returns `Err` if the burn amount is zero, the burn contract is not valid,\", \" or the cross-contract call fails.\", \"\", \" # Returns\", \"\", \" Returns `Ok` with the updated portfolio on success.\"], \"label\": \"burn\", \"mutates\": true, \"payable\": true, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 9 }, \"selector\": \"0xb1efc17b\" }, { \"args\": [{ \"label\": \"burn_contract\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }], \"default\": false, \"docs\": [], \"label\": \"withdraw\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 9 }, \"selector\": \"0x410fcc9d\" }, { \"args\": [{ \"label\": \"account_id\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }], \"default\": false, \"docs\": [], \"label\": \"get_ancestors\", \"mutates\": false, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 15 }, \"selector\": \"0xe2ee2364\" }, { \"args\": [{ \"label\": \"burn_contract\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }], \"default\": false, \"docs\": [], \"label\": \"add_burn_contract\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 17 }, \"selector\": \"0x50cb7e6b\" }, { \"args\": [{ \"label\": \"burn_contract\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }], \"default\": false, \"docs\": [], \"label\": \"remove_burn_contract\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 6 }, \"selector\": \"0x2610355d\" }, { \"args\": [], \"default\": false, \"docs\": [], \"label\": \"get_admin\", \"mutates\": false, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 19 }, \"selector\": \"0x57b8a8a7\" }, { \"args\": [], \"default\": false, \"docs\": [], \"label\": \"get_total_burned\", \"mutates\": false, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 20 }, \"selector\": \"0x717d96e0\" }, { \"args\": [{ \"label\": \"account_id\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }], \"default\": false, \"docs\": [], \"label\": \"get_portfolio\", \"mutates\": false, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 21 }, \"selector\": \"0xf3246265\" }] }, \"storage\": { \"root\": { \"layout\": { \"struct\": { \"fields\": [{ \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 0 } }, \"name\": \"admin\" }, { \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 3 } }, \"name\": \"burn_contracts\" }, { \"layout\": { \"root\": { \"layout\": { \"struct\": { \"fields\": [{ \"layout\": { \"leaf\": { \"key\": \"0x249fe4b2\", \"ty\": 4 } }, \"name\": \"amount_burned\" }, { \"layout\": { \"leaf\": { \"key\": \"0x249fe4b2\", \"ty\": 4 } }, \"name\": \"balance_due\" }, { \"layout\": { \"leaf\": { \"key\": \"0x249fe4b2\", \"ty\": 4 } }, \"name\": \"balance_paid\" }, { \"layout\": { \"enum\": { \"dispatchKey\": \"0x249fe4b2\", \"name\": \"Option\", \"variants\": { \"0\": { \"fields\": [], \"name\": \"None\" }, \"1\": { \"fields\": [{ \"layout\": { \"struct\": { \"fields\": [{ \"layout\": { \"leaf\": { \"key\": \"0x249fe4b2\", \"ty\": 5 } }, \"name\": \"time\" }, { \"layout\": { \"leaf\": { \"key\": \"0x249fe4b2\", \"ty\": 0 } }, \"name\": \"contract\" }], \"name\": \"ActionRecord\" } }, \"name\": \"0\" }], \"name\": \"Some\" } } } }, \"name\": \"last_withdrawal\" }, { \"layout\": { \"struct\": { \"fields\": [{ \"layout\": { \"leaf\": { \"key\": \"0x249fe4b2\", \"ty\": 5 } }, \"name\": \"time\" }, { \"layout\": { \"leaf\": { \"key\": \"0x249fe4b2\", \"ty\": 0 } }, \"name\": \"contract\" }], \"name\": \"ActionRecord\" } }, \"name\": \"last_burn\" }], \"name\": \"BurnPortfolio\" } }, \"root_key\": \"0x249fe4b2\" } }, \"name\": \"portfolios\" }, { \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 4 } }, \"name\": \"total_amount_burned\" }], \"name\": \"D9BurnManager\" } }, \"root_key\": \"0x00000000\" } }, \"types\": [{ \"id\": 0, \"type\": { \"def\": { \"composite\": { \"fields\": [{ \"type\": 1, \"typeName\": \"[u8; 32]\" }] } }, \"path\": [\"ink_primitives\", \"types\", \"AccountId\"] } }, { \"id\": 1, \"type\": { \"def\": { \"array\": { \"len\": 32, \"type\": 2 } } } }, { \"id\": 2, \"type\": { \"def\": { \"primitive\": \"u8\" } } }, { \"id\": 3, \"type\": { \"def\": { \"sequence\": { \"type\": 0 } } } }, { \"id\": 4, \"type\": { \"def\": { \"primitive\": \"u128\" } } }, { \"id\": 5, \"type\": { \"def\": { \"primitive\": \"u64\" } } }, { \"id\": 6, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 7 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 8 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 7 }, { \"name\": \"E\", \"type\": 8 }], \"path\": [\"Result\"] } }, { \"id\": 7, \"type\": { \"def\": { \"tuple\": [] } } }, { \"id\": 8, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"index\": 1, \"name\": \"CouldNotReadInput\" }] } }, \"path\": [\"ink_primitives\", \"LangError\"] } }, { \"id\": 9, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 10 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 8 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 10 }, { \"name\": \"E\", \"type\": 8 }], \"path\": [\"Result\"] } }, { \"id\": 10, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 11 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 14 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 11 }, { \"name\": \"E\", \"type\": 14 }], \"path\": [\"Result\"] } }, { \"id\": 11, \"type\": { \"def\": { \"composite\": { \"fields\": [{ \"name\": \"amount_burned\", \"type\": 4, \"typeName\": \"Balance\" }, { \"name\": \"balance_due\", \"type\": 4, \"typeName\": \"Balance\" }, { \"name\": \"balance_paid\", \"type\": 4, \"typeName\": \"Balance\" }, { \"name\": \"last_withdrawal\", \"type\": 12, \"typeName\": \"Option<ActionRecord>\" }, { \"name\": \"last_burn\", \"type\": 13, \"typeName\": \"ActionRecord\" }] } }, \"path\": [\"d9_burn_common\", \"BurnPortfolio\"] } }, { \"id\": 12, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"index\": 0, \"name\": \"None\" }, { \"fields\": [{ \"type\": 13 }], \"index\": 1, \"name\": \"Some\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 13 }], \"path\": [\"Option\"] } }, { \"id\": 13, \"type\": { \"def\": { \"composite\": { \"fields\": [{ \"name\": \"time\", \"type\": 5, \"typeName\": \"Timestamp\" }, { \"name\": \"contract\", \"type\": 0, \"typeName\": \"AccountId\" }] } }, \"path\": [\"d9_burn_common\", \"ActionRecord\"] } }, { \"id\": 14, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"index\": 0, \"name\": \"BurnAmountInsufficient\" }, { \"index\": 1, \"name\": \"NoAccountFound\" }, { \"index\": 2, \"name\": \"EarlyWithdrawalAttempt\" }, { \"index\": 3, \"name\": \"ContractBalanceTooLow\" }, { \"index\": 4, \"name\": \"RestrictedFunction\" }, { \"index\": 5, \"name\": \"UsePortfolioExecuteFunction\" }, { \"index\": 6, \"name\": \"WithdrawalExceedsBalance\" }, { \"index\": 7, \"name\": \"TransferFailed\" }, { \"index\": 8, \"name\": \"InvalidCaller\" }, { \"index\": 9, \"name\": \"InvalidBurnContract\" }, { \"index\": 10, \"name\": \"BurnContractAlreadyAdded\" }, { \"index\": 11, \"name\": \"CrossContractCallFailed\" }, { \"index\": 12, \"name\": \"WithdrawalNotAllowed\" }, { \"index\": 13, \"name\": \"RuntimeErrorGettingAncestors\" }, { \"index\": 14, \"name\": \"NoAncestorsFound\" }] } }, \"path\": [\"d9_burn_common\", \"Error\"] } }, { \"id\": 15, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 16 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 8 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 16 }, { \"name\": \"E\", \"type\": 8 }], \"path\": [\"Result\"] } }, { \"id\": 16, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"index\": 0, \"name\": \"None\" }, { \"fields\": [{ \"type\": 3 }], \"index\": 1, \"name\": \"Some\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 3 }], \"path\": [\"Option\"] } }, { \"id\": 17, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 18 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 8 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 18 }, { \"name\": \"E\", \"type\": 8 }], \"path\": [\"Result\"] } }, { \"id\": 18, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 7 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 14 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 7 }, { \"name\": \"E\", \"type\": 14 }], \"path\": [\"Result\"] } }, { \"id\": 19, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 0 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 8 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 0 }, { \"name\": \"E\", \"type\": 8 }], \"path\": [\"Result\"] } }, { \"id\": 20, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 4 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 8 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 4 }, { \"name\": \"E\", \"type\": 8 }], \"path\": [\"Result\"] } }, { \"id\": 21, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 22 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 8 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 22 }, { \"name\": \"E\", \"type\": 8 }], \"path\": [\"Result\"] } }, { \"id\": 22, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"index\": 0, \"name\": \"None\" }, { \"fields\": [{ \"type\": 11 }], \"index\": 1, \"name\": \"Some\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 11 }], \"path\": [\"Option\"] } }, { \"id\": 23, \"type\": { \"def\": { \"composite\": { \"fields\": [{ \"type\": 1, \"typeName\": \"[u8; 32]\" }] } }, \"path\": [\"ink_primitives\", \"types\", \"Hash\"] } }, { \"id\": 24, \"type\": { \"def\": { \"primitive\": \"u32\" } } }, { \"id\": 25, \"type\": { \"def\": { \"variant\": {} }, \"path\": [\"d9_chain_extension\", \"D9ChainExtension\"] } }], \"version\": \"4\" } };\n\n// .papi/descriptors/src/contracts/crossChainTransfer.ts\nvar descriptor5 = { metadata: { \"source\": { \"hash\": \"0x4beac590e0c2e670b87997c893281c9eac45c8515e51bd96d7e31a660bc75db2\", \"language\": \"ink! 4.3.0\", \"compiler\": \"rustc 1.76.0\", \"build_info\": { \"build_mode\": \"Release\", \"cargo_contract_version\": \"4.0.2\", \"rust_toolchain\": \"stable-aarch64-apple-darwin\", \"wasm_opt_settings\": { \"keep_debug_symbols\": false, \"optimization_passes\": \"Z\" } } }, \"contract\": { \"name\": \"cross_chain_transfer\", \"version\": \"0.1.0\", \"authors\": [\"D9 team tech@d9network.com\"] }, \"image\": null, \"spec\": { \"constructors\": [{ \"args\": [{ \"label\": \"usdt_contract\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 1 } }], \"default\": false, \"docs\": [\"Constructor that initializes the `bool` value to the given `init_value`.\"], \"label\": \"new\", \"payable\": false, \"returnType\": { \"displayName\": [\"ink_primitives\", \"ConstructorResult\"], \"type\": 7 }, \"selector\": \"0x9bae9d5e\" }], \"docs\": [], \"environment\": { \"accountId\": { \"displayName\": [\"AccountId\"], \"type\": 1 }, \"balance\": { \"displayName\": [\"Balance\"], \"type\": 5 }, \"blockNumber\": { \"displayName\": [\"BlockNumber\"], \"type\": 28 }, \"chainExtension\": { \"displayName\": [\"ChainExtension\"], \"type\": 29 }, \"hash\": { \"displayName\": [\"Hash\"], \"type\": 27 }, \"maxEventTopics\": 4, \"timestamp\": { \"displayName\": [\"Timestamp\"], \"type\": 0 } }, \"events\": [{ \"args\": [{ \"docs\": [], \"indexed\": true, \"label\": \"transaction_id\", \"type\": { \"displayName\": [\"String\"], \"type\": 4 } }, { \"docs\": [], \"indexed\": true, \"label\": \"from_address\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 1 } }, { \"docs\": [], \"indexed\": true, \"label\": \"amount\", \"type\": { \"displayName\": [\"u128\"], \"type\": 5 } }], \"docs\": [], \"label\": \"CommitCreated\" }, { \"args\": [{ \"docs\": [], \"indexed\": true, \"label\": \"tx_id\", \"type\": { \"displayName\": [\"String\"], \"type\": 4 } }, { \"docs\": [], \"indexed\": true, \"label\": \"to_address\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 1 } }, { \"docs\": [], \"indexed\": true, \"label\": \"amount\", \"type\": { \"displayName\": [\"u128\"], \"type\": 5 } }], \"docs\": [], \"label\": \"DispatchCompleted\" }], \"lang_error\": { \"displayName\": [\"ink\", \"LangError\"], \"type\": 9 }, \"messages\": [{ \"args\": [{ \"label\": \"admin\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 1 } }], \"default\": false, \"docs\": [], \"label\": \"add_transaction_admin\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 10 }, \"selector\": \"0xec409e8a\" }, { \"args\": [{ \"label\": \"admin\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 1 } }], \"default\": false, \"docs\": [], \"label\": \"remove_transaction_admin\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 10 }, \"selector\": \"0xb3e15c07\" }, { \"args\": [], \"default\": false, \"docs\": [], \"label\": \"get_transaction_admins\", \"mutates\": false, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 14 }, \"selector\": \"0xa81d32bb\" }, { \"args\": [{ \"label\": \"admin\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 1 } }], \"default\": false, \"docs\": [], \"label\": \"is_transaction_admin\", \"mutates\": false, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 15 }, \"selector\": \"0x7a996b18\" }, { \"args\": [{ \"label\": \"user_id\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 1 } }], \"default\": false, \"docs\": [], \"label\": \"record_cancelled_tron_transfer\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 10 }, \"selector\": \"0x1617c8b4\" }, { \"args\": [{ \"label\": \"user_id\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 1 } }], \"default\": false, \"docs\": [], \"label\": \"generate_tx_id\", \"mutates\": false, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 17 }, \"selector\": \"0xfc9bd990\" }, { \"args\": [{ \"label\": \"user_id\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 1 } }], \"default\": false, \"docs\": [\" get last transaction. function is called on both chains.\"], \"label\": \"get_last_transaction\", \"mutates\": false, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 18 }, \"selector\": \"0x7081dd38\" }, { \"args\": [{ \"label\": \"user_id\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 1 } }], \"default\": false, \"docs\": [\" Helper function to get the current transaction nonce for a user\"], \"label\": \"get_current_nonce\", \"mutates\": false, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 24 }, \"selector\": \"0xe5219595\" }, { \"args\": [{ \"label\": \"tx_id\", \"type\": { \"displayName\": [\"String\"], \"type\": 4 } }], \"default\": false, \"docs\": [], \"label\": \"get_transaction\", \"mutates\": false, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 18 }, \"selector\": \"0xfeeb858e\" }, { \"args\": [{ \"label\": \"code_hash\", \"type\": { \"displayName\": [], \"type\": 2 } }], \"default\": false, \"docs\": [\" Modifies the code which is used to execute calls to this contract address (`AccountId`).\", \"\", \" We use this to upgrade the contract logic. We don't do any authorization here, any caller\", \" can execute this method. In a production contract you would do some authorization here.\"], \"label\": \"set_code\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 7 }, \"selector\": \"0x694fb50f\" }, { \"args\": [{ \"label\": \"transaction_id\", \"type\": { \"displayName\": [\"String\"], \"type\": 4 } }, { \"label\": \"from_address\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 1 } }, { \"label\": \"to_address\", \"type\": { \"displayName\": [], \"type\": 23 } }, { \"label\": \"amount\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 5 } }], \"default\": false, \"docs\": [], \"label\": \"asset_commit\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 25 }, \"selector\": \"0xc2ad66bb\" }, { \"args\": [{ \"label\": \"from_address\", \"type\": { \"displayName\": [], \"type\": 23 } }, { \"label\": \"to_address\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 1 } }, { \"label\": \"amount\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 5 } }], \"default\": false, \"docs\": [], \"label\": \"asset_dispatch\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 25 }, \"selector\": \"0x535b25a5\" }, { \"args\": [{ \"label\": \"new_controller\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 1 } }], \"default\": false, \"docs\": [], \"label\": \"change_controller\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 7 }, \"selector\": \"0xc92e346d\" }, { \"args\": [{ \"label\": \"new_admin\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 1 } }], \"default\": false, \"docs\": [], \"label\": \"relinquish_admin\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 7 }, \"selector\": \"0xda7dbaee\" }, { \"args\": [], \"default\": false, \"docs\": [], \"label\": \"claim_admin\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 7 }, \"selector\": \"0xa8656c6c\" }, { \"args\": [], \"default\": false, \"docs\": [], \"label\": \"cancel_admin_transfer\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 7 }, \"selector\": \"0xd45e3d78\" }] }, \"storage\": { \"root\": { \"layout\": { \"struct\": { \"fields\": [{ \"layout\": { \"root\": { \"layout\": { \"leaf\": { \"key\": \"0x8eb615e1\", \"ty\": 0 } }, \"root_key\": \"0x8eb615e1\" } }, \"name\": \"user_transaction_nonce\" }, { \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 1 } }, \"name\": \"super_admin\" }, { \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 1 } }, \"name\": \"new_admin\" }, { \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 1 } }, \"name\": \"controller\" }, { \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 1 } }, \"name\": \"usdt_contract\" }, { \"layout\": { \"root\": { \"layout\": { \"struct\": { \"fields\": [{ \"layout\": { \"leaf\": { \"key\": \"0x82645412\", \"ty\": 4 } }, \"name\": \"transaction_id\" }, { \"layout\": { \"enum\": { \"dispatchKey\": \"0x82645412\", \"name\": \"TransactionType\", \"variants\": { \"0\": { \"fields\": [], \"name\": \"Commit\" }, \"1\": { \"fields\": [], \"name\": \"Dispatch\" } } } }, \"name\": \"transaction_type\" }, { \"layout\": { \"enum\": { \"dispatchKey\": \"0x82645412\", \"name\": \"Chain\", \"variants\": { \"0\": { \"fields\": [], \"name\": \"D9\" }, \"1\": { \"fields\": [], \"name\": \"TRON\" } } } }, \"name\": \"from_chain\" }, { \"layout\": { \"enum\": { \"dispatchKey\": \"0x82645412\", \"name\": \"AddressType\", \"variants\": { \"0\": { \"fields\": [{ \"layout\": { \"array\": { \"layout\": { \"leaf\": { \"key\": \"0x82645412\", \"ty\": 3 } }, \"len\": 21, \"offset\": \"0x82645412\" } }, \"name\": \"0\" }], \"name\": \"Tron\" }, \"1\": { \"fields\": [{ \"layout\": { \"leaf\": { \"key\": \"0x82645412\", \"ty\": 1 } }, \"name\": \"0\" }], \"name\": \"D9\" } } } }, \"name\": \"from_address\" }, { \"layout\": { \"enum\": { \"dispatchKey\": \"0x82645412\", \"name\": \"AddressType\", \"variants\": { \"0\": { \"fields\": [{ \"layout\": { \"array\": { \"layout\": { \"leaf\": { \"key\": \"0x82645412\", \"ty\": 3 } }, \"len\": 21, \"offset\": \"0x82645412\" } }, \"name\": \"0\" }], \"name\": \"Tron\" }, \"1\": { \"fields\": [{ \"layout\": { \"leaf\": { \"key\": \"0x82645412\", \"ty\": 1 } }, \"name\": \"0\" }], \"name\": \"D9\" } } } }, \"name\": \"to_address\" }, { \"layout\": { \"leaf\": { \"key\": \"0x82645412\", \"ty\": 5 } }, \"name\": \"amount\" }, { \"layout\": { \"leaf\": { \"key\": \"0x82645412\", \"ty\": 0 } }, \"name\": \"timestamp\" }], \"name\": \"Transaction\" } }, \"root_key\": \"0x82645412\" } }, \"name\": \"transactions\" }, { \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 6 } }, \"name\": \"transaction_admins\" }], \"name\": \"CrossChainTransfer\" } }, \"root_key\": \"0x00000000\" } }, \"types\": [{ \"id\": 0, \"type\": { \"def\": { \"primitive\": \"u64\" } } }, { \"id\": 1, \"type\": { \"def\": { \"composite\": { \"fields\": [{ \"type\": 2, \"typeName\": \"[u8; 32]\" }] } }, \"path\": [\"ink_primitives\", \"types\", \"AccountId\"] } }, { \"id\": 2, \"type\": { \"def\": { \"array\": { \"len\": 32, \"type\": 3 } } } }, { \"id\": 3, \"type\": { \"def\": { \"primitive\": \"u8\" } } }, { \"id\": 4, \"type\": { \"def\": { \"primitive\": \"str\" } } }, { \"id\": 5, \"type\": { \"def\": { \"primitive\": \"u128\" } } }, { \"id\": 6, \"type\": { \"def\": { \"sequence\": { \"type\": 1 } } } }, { \"id\": 7, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 8 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 9 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 8 }, { \"name\": \"E\", \"type\": 9 }], \"path\": [\"Result\"] } }, { \"id\": 8, \"type\": { \"def\": { \"tuple\": [] } } }, { \"id\": 9, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"index\": 1, \"name\": \"CouldNotReadInput\" }] } }, \"path\": [\"ink_primitives\", \"LangError\"] } }, { \"id\": 10, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 11 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 9 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 11 }, { \"name\": \"E\", \"type\": 9 }], \"path\": [\"Result\"] } }, { \"id\": 11, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 8 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 12 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 8 }, { \"name\": \"E\", \"type\": 12 }], \"path\": [\"Result\"] } }, { \"id\": 12, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 1, \"typeName\": \"AccountId\" }], \"index\": 0, \"name\": \"Restrictedto\" }, { \"index\": 1, \"name\": \"AmountMustBeGreaterThanZero\" }, { \"index\": 2, \"name\": \"TransactionAlreadyExists\" }, { \"fields\": [{ \"type\": 13, \"typeName\": \"Chain\" }], \"index\": 3, \"name\": \"InvalidAddressLength\" }, { \"index\": 4, \"name\": \"InvalidHexString\" }, { \"index\": 5, \"name\": \"DecodedHexLengthInvalid\" }, { \"index\": 6, \"name\": \"TronAddressInvalidByteLength\" }, { \"index\": 7, \"name\": \"InvalidTronAddress\" }, { \"index\": 8, \"name\": \"TronDecodeError\" }, { \"index\": 9, \"name\": \"UnableToSendUSDT\" }, { \"index\": 10, \"name\": \"InsufficientAllowance\" }, { \"index\": 11, \"name\": \"UserUSDTBalanceInsufficient\" }, { \"index\": 12, \"name\": \"D9orUSDTProvidedLiquidityAtZero\" }, { \"index\": 13, \"name\": \"AlreadyTransactionAdmin\" }] } }, \"path\": [\"cross_chain_transfer\", \"cross_chain_transfer\", \"Error\"] } }, { \"id\": 13, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"index\": 0, \"name\": \"D9\" }, { \"index\": 1, \"name\": \"TRON\" }] } }, \"path\": [\"cross_chain_transfer\", \"cross_chain_transfer\", \"Chain\"] } }, { \"id\": 14, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 6 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 9 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 6 }, { \"name\": \"E\", \"type\": 9 }], \"path\": [\"Result\"] } }, { \"id\": 15, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 16 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 9 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 16 }, { \"name\": \"E\", \"type\": 9 }], \"path\": [\"Result\"] } }, { \"id\": 16, \"type\": { \"def\": { \"primitive\": \"bool\" } } }, { \"id\": 17, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 4 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 9 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 4 }, { \"name\": \"E\", \"type\": 9 }], \"path\": [\"Result\"] } }, { \"id\": 18, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 19 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 9 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 19 }, { \"name\": \"E\", \"type\": 9 }], \"path\": [\"Result\"] } }, { \"id\": 19, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"index\": 0, \"name\": \"None\" }, { \"fields\": [{ \"type\": 20 }], \"index\": 1, \"name\": \"Some\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 20 }], \"path\": [\"Option\"] } }, { \"id\": 20, \"type\": { \"def\": { \"composite\": { \"fields\": [{ \"name\": \"transaction_id\", \"type\": 4, \"typeName\": \"String\" }, { \"name\": \"transaction_type\", \"type\": 21, \"typeName\": \"TransactionType\" }, { \"name\": \"from_chain\", \"type\": 13, \"typeName\": \"Chain\" }, { \"name\": \"from_address\", \"type\": 22, \"typeName\": \"AddressType\" }, { \"name\": \"to_address\", \"type\": 22, \"typeName\": \"AddressType\" }, { \"name\": \"amount\", \"type\": 5, \"typeName\": \"u128\" }, { \"name\": \"timestamp\", \"type\": 0, \"typeName\": \"Timestamp\" }] } }, \"path\": [\"cross_chain_transfer\", \"cross_chain_transfer\", \"Transaction\"] } }, { \"id\": 21, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"index\": 0, \"name\": \"Commit\" }, { \"index\": 1, \"name\": \"Dispatch\" }] } }, \"path\": [\"cross_chain_transfer\", \"cross_chain_transfer\", \"TransactionType\"] } }, { \"id\": 22, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 23, \"typeName\": \"[u8; 21]\" }], \"index\": 0, \"name\": \"Tron\" }, { \"fields\": [{ \"type\": 1, \"typeName\": \"AccountId\" }], \"index\": 1, \"name\": \"D9\" }] } }, \"path\": [\"cross_chain_transfer\", \"cross_chain_transfer\", \"AddressType\"] } }, { \"id\": 23, \"type\": { \"def\": { \"array\": { \"len\": 21, \"type\": 3 } } } }, { \"id\": 24, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 0 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 9 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 0 }, { \"name\": \"E\", \"type\": 9 }], \"path\": [\"Result\"] } }, { \"id\": 25, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 26 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 9 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 26 }, { \"name\": \"E\", \"type\": 9 }], \"path\": [\"Result\"] } }, { \"id\": 26, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 4 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 12 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 4 }, { \"name\": \"E\", \"type\": 12 }], \"path\": [\"Result\"] } }, { \"id\": 27, \"type\": { \"def\": { \"composite\": { \"fields\": [{ \"type\": 2, \"typeName\": \"[u8; 32]\" }] } }, \"path\": [\"ink_primitives\", \"types\", \"Hash\"] } }, { \"id\": 28, \"type\": { \"def\": { \"primitive\": \"u32\" } } }, { \"id\": 29, \"type\": { \"def\": { \"variant\": {} }, \"path\": [\"d9_chain_extension\", \"D9ChainExtension\"] } }], \"version\": \"4\" } };\n\n// .papi/descriptors/src/contracts/marketMaker.ts\nvar descriptor6 = { metadata: { \"source\": { \"hash\": \"0x6e0eaec1512315978981967d4f9d6072c6a3f50381289c69205961fa9509fff9\", \"language\": \"ink! 4.3.0\", \"compiler\": \"rustc 1.72.1\", \"build_info\": { \"build_mode\": \"Release\", \"cargo_contract_version\": \"3.2.0\", \"rust_toolchain\": \"stable-x86_64-apple-darwin\", \"wasm_opt_settings\": { \"keep_debug_symbols\": false, \"optimization_passes\": \"Z\" } } }, \"contract\": { \"name\": \"market-maker\", \"version\": \"0.1.0\", \"authors\": [\"D9Dev\"] }, \"spec\": { \"constructors\": [{ \"args\": [{ \"label\": \"usdt_contract\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }, { \"label\": \"fee_percent\", \"type\": { \"displayName\": [\"u32\"], \"type\": 3 } }, { \"label\": \"liquidity_tolerance_percent\", \"type\": { \"displayName\": [\"u32\"], \"type\": 3 } }], \"default\": false, \"docs\": [], \"label\": \"new\", \"payable\": false, \"returnType\": { \"displayName\": [\"ink_primitives\", \"ConstructorResult\"], \"type\": 5 }, \"selector\": \"0x9bae9d5e\" }], \"docs\": [], \"environment\": { \"accountId\": { \"displayName\": [\"AccountId\"], \"type\": 0 }, \"balance\": { \"displayName\": [\"Balance\"], \"type\": 4 }, \"blockNumber\": { \"displayName\": [\"BlockNumber\"], \"type\": 3 }, \"chainExtension\": { \"displayName\": [\"ChainExtension\"], \"type\": 24 }, \"hash\": { \"displayName\": [\"Hash\"], \"type\": 22 }, \"maxEventTopics\": 4, \"timestamp\": { \"displayName\": [\"Timestamp\"], \"type\": 23 } }, \"events\": [{ \"args\": [{ \"docs\": [], \"indexed\": true, \"label\": \"account_id\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }, { \"docs\": [], \"indexed\": true, \"label\": \"usdt\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 4 } }, { \"docs\": [], \"indexed\": true, \"label\": \"d9\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 4 } }], \"docs\": [], \"label\": \"LiquidityAdded\" }, { \"args\": [{ \"docs\": [], \"indexed\": true, \"label\": \"account_id\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }, { \"docs\": [], \"indexed\": true, \"label\": \"usdt\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 4 } }, { \"docs\": [], \"indexed\": true, \"label\": \"d9\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 4 } }], \"docs\": [], \"label\": \"LiquidityRemoved\" }, { \"args\": [{ \"docs\": [], \"indexed\": true, \"label\": \"account_id\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }, { \"docs\": [], \"indexed\": true, \"label\": \"usdt\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 4 } }, { \"docs\": [], \"indexed\": true, \"label\": \"d9\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 4 } }], \"docs\": [], \"label\": \"D9ToUSDTConversion\" }, { \"args\": [{ \"docs\": [], \"indexed\": true, \"label\": \"account_id\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }, { \"docs\": [], \"indexed\": true, \"label\": \"usdt\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 4 } }, { \"docs\": [], \"indexed\": true, \"label\": \"d9\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 4 } }], \"docs\": [], \"label\": \"USDTToD9Conversion\" }], \"lang_error\": { \"displayName\": [\"ink\", \"LangError\"], \"type\": 7 }, \"messages\": [{ \"args\": [{ \"label\": \"new_admin\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }], \"default\": false, \"docs\": [], \"label\": \"change_admin\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 5 }, \"selector\": \"0x61ae97d7\" }, { \"args\": [], \"default\": false, \"docs\": [\" get pool balances (d9, usdt)\"], \"label\": \"get_currency_reserves\", \"mutates\": false, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 8 }, \"selector\": \"0x43b2d0e6\" }, { \"args\": [{ \"label\": \"account_id\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }], \"default\": false, \"docs\": [], \"label\": \"get_liquidity_provider\", \"mutates\": false, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 10 }, \"selector\": \"0x32e702ad\" }, { \"args\": [{ \"label\": \"usdt_liquidity\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 4 } }], \"default\": false, \"docs\": [\" add liquidity by adding tokens to the reserves\"], \"label\": \"add_liquidity\", \"mutates\": true, \"payable\": true, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 12 }, \"selector\": \"0x264cd04b\" }, { \"args\": [], \"default\": false, \"docs\": [], \"label\": \"remove_liquidity\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 12 }, \"selector\": \"0xbdd16bfa\" }, { \"args\": [{ \"label\": \"code_hash\", \"type\": { \"displayName\": [], \"type\": 1 } }], \"default\": false, \"docs\": [\" Modifies the code which is used to execute calls to this contract address (`AccountId`).\", \"\", \" We use this to upgrade the contract logic. We don't do any authorization here, any caller\", \" can execute this method. In a production contract you would do some authorization here.\"], \"label\": \"set_code\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 5 }, \"selector\": \"0x694fb50f\" }, { \"args\": [{ \"label\": \"usdt_liquidity\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 4 } }, { \"label\": \"d9_liquidity\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 4 } }], \"default\": false, \"docs\": [], \"label\": \"check_new_liquidity\", \"mutates\": false, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 12 }, \"selector\": \"0x5a150c03\" }, { \"args\": [{ \"label\": \"usdt\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 4 } }], \"default\": false, \"docs\": [\" sell usdt\"], \"label\": \"get_d9\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 16 }, \"selector\": \"0x0edab8e1\" }, { \"args\": [], \"default\": false, \"docs\": [\" sell d9\"], \"label\": \"get_usdt\", \"mutates\": true, \"payable\": true, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 16 }, \"selector\": \"0x5b41ab8a\" }, { \"args\": [{ \"label\": \"d9_liquidity\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 4 } }, { \"label\": \"usdt_liquidity\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 4 } }], \"default\": false, \"docs\": [\" calculate lp tokens based on usdt liquidity\"], \"label\": \"calc_new_lp_tokens\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 18 }, \"selector\": \"0xbdcee4ed\" }, { \"args\": [{ \"label\": \"direction\", \"type\": { \"displayName\": [\"Direction\"], \"type\": 19 } }, { \"label\": \"amount_0\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 4 } }], \"default\": false, \"docs\": [\" amount of currency B from A, if A => B\"], \"label\": \"calculate_exchange\", \"mutates\": false, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 16 }, \"selector\": \"0x2413eb9a\" }, { \"args\": [{ \"label\": \"direction\", \"type\": { \"displayName\": [\"Direction\"], \"type\": 19 } }, { \"label\": \"amount_0\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 4 } }], \"default\": false, \"docs\": [], \"label\": \"estimate_exchange\", \"mutates\": false, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 20 }, \"selector\": \"0x06f49352\" }, { \"args\": [{ \"label\": \"account_id\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }, { \"label\": \"amount\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 4 } }], \"default\": false, \"docs\": [\" check if usdt balance is sufficient for swap\"], \"label\": \"check_usdt_balance\", \"mutates\": false, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 12 }, \"selector\": \"0x4a74f8d9\" }] }, \"storage\": { \"root\": { \"layout\": { \"struct\": { \"fields\": [{ \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 0 } }, \"name\": \"usdt_contract\" }, { \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 3 } }, \"name\": \"fee_percent\" }, { \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 4 } }, \"name\": \"fee_total\" }, { \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 3 } }, \"name\": \"liquidity_tolerance_percent\" }, { \"layout\": { \"root\": { \"layout\": { \"leaf\": { \"key\": \"0x838a4d0c\", \"ty\": 4 } }, \"root_key\": \"0x838a4d0c\" } }, \"name\": \"liquidity_providers\" }, { \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 4 } }, \"name\": \"total_lp_tokens\" }, { \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 0 } }, \"name\": \"admin\" }], \"name\": \"MarketMaker\" } }, \"root_key\": \"0x00000000\" } }, \"types\": [{ \"id\": 0, \"type\": { \"def\": { \"composite\": { \"fields\": [{ \"type\": 1, \"typeName\": \"[u8; 32]\" }] } }, \"path\": [\"ink_primitives\", \"types\", \"AccountId\"] } }, { \"id\": 1, \"type\": { \"def\": { \"array\": { \"len\": 32, \"type\": 2 } } } }, { \"id\": 2, \"type\": { \"def\": { \"primitive\": \"u8\" } } }, { \"id\": 3, \"type\": { \"def\": { \"primitive\": \"u32\" } } }, { \"id\": 4, \"type\": { \"def\": { \"primitive\": \"u128\" } } }, { \"id\": 5, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 6 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 7 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 6 }, { \"name\": \"E\", \"type\": 7 }], \"path\": [\"Result\"] } }, { \"id\": 6, \"type\": { \"def\": { \"tuple\": [] } } }, { \"id\": 7, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"index\": 1, \"name\": \"CouldNotReadInput\" }] } }, \"path\": [\"ink_primitives\", \"LangError\"] } }, { \"id\": 8, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 9 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 7 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 9 }, { \"name\": \"E\", \"type\": 7 }], \"path\": [\"Result\"] } }, { \"id\": 9, \"type\": { \"def\": { \"tuple\": [4, 4] } } }, { \"id\": 10, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 11 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 7 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 11 }, { \"name\": \"E\", \"type\": 7 }], \"path\": [\"Result\"] } }, { \"id\": 11, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"index\": 0, \"name\": \"None\" }, { \"fields\": [{ \"type\": 4 }], \"index\": 1, \"name\": \"Some\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 4 }], \"path\": [\"Option\"] } }, { \"id\": 12, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 13 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 7 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 13 }, { \"name\": \"E\", \"type\": 7 }], \"path\": [\"Result\"] } }, { \"id\": 13, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 6 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 14 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 6 }, { \"name\": \"E\", \"type\": 14 }], \"path\": [\"Result\"] } }, { \"id\": 14, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"index\": 0, \"name\": \"D9orUSDTProvidedLiquidityAtZero\" }, { \"index\": 1, \"name\": \"ConversionAmountTooLow\" }, { \"index\": 2, \"name\": \"CouldntTransferUSDTFromUser\" }, { \"fields\": [{ \"type\": 15, \"typeName\": \"Currency\" }], \"index\": 3, \"name\": \"InsufficientLiquidity\" }, { \"index\": 4, \"name\": \"InsufficientAllowance\" }, { \"fields\": [{ \"type\": 15, \"typeName\": \"Currency\" }], \"index\": 5, \"name\": \"MarketMakerHasInsufficientFunds\" }, { \"index\": 6, \"name\": \"InsufficientLiquidityProvided\" }, { \"index\": 7, \"name\": \"USDTBalanceInsufficient\" }, { \"index\": 8, \"name\": \"LiquidityProviderNotFound\" }, { \"fields\": [{ \"type\": 4, \"typeName\": \"Balance\" }, { \"type\": 4, \"typeName\": \"Balance\" }], \"index\": 9, \"name\": \"LiquidityAddedBeyondTolerance\" }, { \"index\": 10, \"name\": \"InsufficientLPTokens\" }, { \"index\": 11, \"name\": \"InsufficientContractLPTokens\" }, { \"index\": 12, \"name\": \"DivisionByZero\" }, { \"index\": 13, \"name\": \"MultiplicationError\" }, { \"index\": 14, \"name\": \"USDTTooSmall\" }, { \"index\": 15, \"name\": \"USDTTooMuch\" }, { \"index\": 16, \"name\": \"LiquidityTooLow\" }] } }, \"path\": [\"market_maker\", \"market_maker\", \"Error\"] } }, { \"id\": 15, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"index\": 0, \"name\": \"D9\" }, { \"index\": 1, \"name\": \"USDT\" }] } }, \"path\": [\"market_maker\", \"market_maker\", \"Currency\"] } }, { \"id\": 16, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 17 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 7 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 17 }, { \"name\": \"E\", \"type\": 7 }], \"path\": [\"Result\"] } }, { \"id\": 17, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 4 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 14 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 4 }, { \"name\": \"E\", \"type\": 14 }], \"path\": [\"Result\"] } }, { \"id\": 18, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 4 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 7 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 4 }, { \"name\": \"E\", \"type\": 7 }], \"path\": [\"Result\"] } }, { \"id\": 19, \"type\": { \"def\": { \"composite\": { \"fields\": [{ \"type\": 15, \"typeName\": \"Currency\" }, { \"type\": 15, \"typeName\": \"Currency\" }] } }, \"path\": [\"market_maker\", \"market_maker\", \"Direction\"] } }, { \"id\": 20, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 21 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 7 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 21 }, { \"name\": \"E\", \"type\": 7 }], \"path\": [\"Result\"] } }, { \"id\": 21, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 9 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 14 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 9 }, { \"name\": \"E\", \"type\": 14 }], \"path\": [\"Result\"] } }, { \"id\": 22, \"type\": { \"def\": { \"composite\": { \"fields\": [{ \"type\": 1, \"typeName\": \"[u8; 32]\" }] } }, \"path\": [\"ink_primitives\", \"types\", \"Hash\"] } }, { \"id\": 23, \"type\": { \"def\": { \"primitive\": \"u64\" } } }, { \"id\": 24, \"type\": { \"def\": { \"variant\": {} }, \"path\": [\"d9_chain_extension\", \"D9ChainExtension\"] } }], \"version\": \"4\" } };\n\n// .papi/descriptors/src/contracts/burnMining.ts\nvar descriptor7 = { metadata: { \"source\": { \"hash\": \"0xa1245e9aaa904fd32b47665ecb84bff4d2357eea3d82257d092e3e05b66b3904\", \"language\": \"ink! 4.3.0\", \"compiler\": \"rustc 1.72.0\", \"build_info\": { \"build_mode\": \"Release\", \"cargo_contract_version\": \"3.2.0\", \"rust_toolchain\": \"stable-aarch64-apple-darwin\", \"wasm_opt_settings\": { \"keep_debug_symbols\": false, \"optimization_passes\": \"Z\" } } }, \"contract\": { \"name\": \"d9-burn-mining\", \"version\": \"0.1.0\", \"authors\": [\"D9Dev\"] }, \"spec\": { \"constructors\": [{ \"args\": [{ \"label\": \"main_pool\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 1 } }, { \"label\": \"burn_minimum\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 0 } }], \"default\": false, \"docs\": [], \"label\": \"new\", \"payable\": true, \"returnType\": { \"displayName\": [\"ink_primitives\", \"ConstructorResult\"], \"type\": 5 }, \"selector\": \"0x9bae9d5e\" }], \"docs\": [], \"environment\": { \"accountId\": { \"displayName\": [\"AccountId\"], \"type\": 1 }, \"balance\": { \"displayName\": [\"Balance\"], \"type\": 0 }, \"blockNumber\": { \"displayName\": [\"BlockNumber\"], \"type\": 25 }, \"chainExtension\": { \"displayName\": [\"ChainExtension\"], \"type\": 26 }, \"hash\": { \"displayName\": [\"Hash\"], \"type\": 24 }, \"maxEventTopics\": 4, \"timestamp\": { \"displayName\": [\"Timestamp\"], \"type\": 4 } }, \"events\": [], \"lang_error\": { \"displayName\": [\"ink\", \"LangError\"], \"type\": 7 }, \"messages\": [{ \"args\": [{ \"label\": \"new_main\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 1 } }], \"default\": false, \"docs\": [], \"label\": \"change_main\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 8 }, \"selector\": \"0x6cfbbb35\" }, { \"args\": [{ \"label\": \"new_day_milliseconds\", \"type\": { \"displayName\": [\"Timestamp\"], \"type\": 4 } }], \"default\": false, \"docs\": [], \"label\": \"set_day_milliseconds\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 8 }, \"selector\": \"0x57d2bc7f\" }, { \"args\": [{ \"label\": \"account_id\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 1 } }], \"default\": false, \"docs\": [], \"label\": \"get_account\", \"mutates\": false, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 11 }, \"selector\": \"0xd0f48683\" }, { \"args\": [{ \"label\": \"account_id\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 1 } }, { \"label\": \"burn_amount\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 0 } }], \"default\": false, \"docs\": [\" burn funcion callable by ownly master contract\", \"\", \" does the necessary checks then calls the internal burn function `_burn`\"], \"label\": \"initiate_burn\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 16 }, \"selector\": \"0x34aff0a0\" }, { \"args\": [{ \"label\": \"account_id\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 1 } }], \"default\": false, \"docs\": [\" calculate values to be used by the burn manager\"], \"label\": \"prepare_withdrawal\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 18 }, \"selector\": \"0x9c2e384b\" }, { \"args\": [{ \"label\": \"account_id\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 1 } }], \"default\": false, \"docs\": [], \"label\": \"get_ancestors\", \"mutates\": false, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 21 }, \"selector\": \"0xe2ee2364\" }, { \"args\": [{ \"label\": \"user\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 1 } }, { \"label\": \"amount_burned\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 0 } }], \"default\": false, \"docs\": [], \"label\": \"update_data\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 8 }, \"selector\": \"0x0590a9a1\" }, { \"args\": [{ \"label\": \"code_hash\", \"type\": { \"displayName\": [], \"type\": 2 } }], \"default\": false, \"docs\": [\" Modifies the code which is used to execute calls to this contract address (`AccountId`).\", \"\", \" We use this to upgrade the contract logic. We don't do any authorization here, any caller\", \" can execute this method. In a production contract you would do some authorization here.\"], \"label\": \"set_code\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 5 }, \"selector\": \"0x694fb50f\" }] }, \"storage\": { \"root\": { \"layout\": { \"struct\": { \"fields\": [{ \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 0 } }, \"name\": \"total_amount_burned\" }, { \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 1 } }, \"name\": \"main_pool\" }, { \"layout\": { \"root\": { \"layout\": { \"struct\": { \"fields\": [{ \"layout\": { \"leaf\": { \"key\": \"0x125717b1\", \"ty\": 4 } }, \"name\": \"creation_timestamp\" }, { \"layout\": { \"leaf\": { \"key\": \"0x125717b1\", \"ty\": 0 } }, \"name\": \"amount_burned\" }, { \"layout\": { \"leaf\": { \"key\": \"0x125717b1\", \"ty\": 0 } }, \"name\": \"balance_due\" }, { \"layout\": { \"leaf\": { \"key\": \"0x125717b1\", \"ty\": 0 } }, \"name\": \"balance_paid\" }, { \"layout\": { \"enum\": { \"dispatchKey\": \"0x125717b1\", \"name\": \"Option\", \"variants\": { \"0\": { \"fields\": [], \"name\": \"None\" }, \"1\": { \"fields\": [{ \"layout\": { \"leaf\": { \"key\": \"0x125717b1\", \"ty\": 4 } }, \"name\": \"0\" }], \"name\": \"Some\" } } } }, \"name\": \"last_withdrawal\" }, { \"layout\": { \"leaf\": { \"key\": \"0x125717b1\", \"ty\": 4 } }, \"name\": \"last_burn\" }, { \"layout\": { \"struct\": { \"fields\": [{ \"layout\": { \"leaf\": { \"key\": \"0x125717b1\", \"ty\": 0 } }, \"name\": \"0\" }, { \"layout\": { \"leaf\": { \"key\": \"0x125717b1\", \"ty\": 0 } }, \"name\": \"1\" }], \"name\": \"(A, B)\" } }, \"name\": \"referral_boost_coefficients\" }, { \"layout\": { \"leaf\": { \"key\": \"0x125717b1\", \"ty\": 4 } }, \"name\": \"last_interaction\" }], \"name\": \"Account\" } }, \"root_key\": \"0x125717b1\" } }, \"name\": \"accounts\" }, { \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 0 } }, \"name\": \"burn_minimum\" }, { \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 4 } }, \"name\": \"day_milliseconds\" }, { \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 1 } }, \"name\": \"admin\" }], \"name\": \"D9burnMining\" } }, \"root_key\": \"0x00000000\" } }, \"types\": [{ \"id\": 0, \"type\": { \"def\": { \"primitive\": \"u128\" } } }, { \"id\": 1, \"type\": { \"def\": { \"composite\": { \"fields\": [{ \"type\": 2, \"typeName\": \"[u8; 32]\" }] } }, \"path\": [\"ink_primitives\", \"types\", \"AccountId\"] } }, { \"id\": 2, \"type\": { \"def\": { \"array\": { \"len\": 32, \"type\": 3 } } } }, { \"id\": 3, \"type\": { \"def\": { \"primitive\": \"u8\" } } }, { \"id\": 4, \"type\": { \"def\": { \"primitive\": \"u64\" } } }, { \"id\": 5, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 6 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 7 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 6 }, { \"name\": \"E\", \"type\": 7 }], \"path\": [\"Result\"] } }, { \"id\": 6, \"type\": { \"def\": { \"tuple\": [] } } }, { \"id\": 7, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"index\": 1, \"name\": \"CouldNotReadInput\" }] } }, \"path\": [\"ink_primitives\", \"LangError\"] } }, { \"id\": 8, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 9 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 7 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 9 }, { \"name\": \"E\", \"type\": 7 }], \"path\": [\"Result\"] } }, { \"id\": 9, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 6 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 10 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 6 }, { \"name\": \"E\", \"type\": 10 }], \"path\": [\"Result\"] } }, { \"id\": 10, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"index\": 0, \"name\": \"BurnAmountInsufficient\" }, { \"index\": 1, \"name\": \"NoAccountFound\" }, { \"index\": 2, \"name\": \"EarlyWithdrawalAttempt\" }, { \"index\": 3, \"name\": \"ContractBalanceTooLow\" }, { \"index\": 4, \"name\": \"RestrictedFunction\" }, { \"index\": 5, \"name\": \"UsePortfolioExecuteFunction\" }, { \"index\": 6, \"name\": \"WithdrawalExceedsBalance\" }, { \"index\": 7, \"name\": \"TransferFailed\" }, { \"index\": 8, \"name\": \"InvalidCaller\" }, { \"index\": 9, \"name\": \"InvalidBurnContract\" }, { \"index\": 10, \"name\": \"BurnContractAlreadyAdded\" }, { \"index\": 11, \"name\": \"BurnAmountNotMultipleOf100\" }, { \"index\": 12, \"name\": \"CrossContractCallFailed\" }, { \"index\": 13, \"name\": \"WithdrawalNotAllowed\" }, { \"index\": 14, \"name\": \"WithdrawalAmountZero\" }, { \"index\": 15, \"name\": \"RuntimeErrorGettingAncestors\" }, { \"index\": 16, \"name\": \"NoAncestorsFound\" }, { \"index\": 17, \"name\": \"MustBeMultipleOf100\" }, { \"index\": 18, \"name\": \"RemoteCallToBurnContractFailed\" }, { \"index\": 19, \"name\": \"RemoteCallToMiningPoolFailed\" }, { \"index\": 20, \"name\": \"SomeEnvironmentError\" }, { \"index\": 21, \"name\": \"CalledContractTrapped\" }, { \"index\": 22, \"name\": \"CalledContractReverted\" }, { \"index\": 23, \"name\": \"NotCallable\" }, { \"index\": 24, \"name\": \"SomeDecodeError\" }, { \"index\": 25, \"name\": \"SomeOffChainError\" }, { \"index\": 26, \"name\": \"CalleeTrapped\" }, { \"index\": 27, \"name\": \"CalleeReverted\" }, { \"index\": 28, \"name\": \"KeyNotFound\" }, { \"index\": 29, \"name\": \"_BelowSubsistenceThreshold\" }, { \"index\": 30, \"name\": \"EnvironmentalTransferFailed\" }, { \"index\": 31, \"name\": \"_EndowmentTooLow\" }, { \"index\": 32, \"name\": \"CodeNotFound\" }, { \"index\": 33, \"name\": \"Unknown\" }, { \"index\": 34, \"name\": \"LoggingDisabled\" }, { \"index\": 35, \"name\": \"CallRuntimeFailed\" }, { \"index\": 36, \"name\": \"EcdsaRecoveryFailed\" }, { \"index\": 37, \"name\": \"WithdrawalAmountExceedsBalance\" }] } }, \"path\": [\"d9_burn_common\", \"Error\"] } }, { \"id\": 11, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 12 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 7 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 12 }, { \"name\": \"E\", \"type\": 7 }], \"path\": [\"Result\"] } }, { \"id\": 12, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"index\": 0, \"name\": \"None\" }, { \"fields\": [{ \"type\": 13 }], \"index\": 1, \"name\": \"Some\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 13 }], \"path\": [\"Option\"] } }, { \"id\": 13, \"type\": { \"def\": { \"composite\": { \"fields\": [{ \"name\": \"creation_timestamp\", \"type\": 4, \"typeName\": \"Timestamp\" }, { \"name\": \"amount_burned\", \"type\": 0, \"typeName\": \"Balance\" }, { \"name\": \"balance_due\", \"type\": 0, \"typeName\": \"Balance\" }, { \"name\": \"balance_paid\", \"type\": 0, \"typeName\": \"Balance\" }, { \"name\": \"last_withdrawal\", \"type\": 14, \"typeName\": \"Option<Timestamp>\" }, { \"name\": \"last_burn\", \"type\": 4, \"typeName\": \"Timestamp\" }, { \"name\": \"referral_boost_coefficients\", \"type\": 15, \"typeName\": \"(Balance, Balance)\" }, { \"name\": \"last_interaction\", \"type\": 4, \"typeName\": \"Timestamp\" }] } }, \"path\": [\"d9_burn_common\", \"Account\"] } }, { \"id\": 14, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"index\": 0, \"name\": \"None\" }, { \"fields\": [{ \"type\": 4 }], \"index\": 1, \"name\": \"Some\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 4 }], \"path\": [\"Option\"] } }, { \"id\": 15, \"type\": { \"def\": { \"tuple\": [0, 0] } } }, { \"id\": 16, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 17 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 7 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 17 }, { \"name\": \"E\", \"type\": 7 }], \"path\": [\"Result\"] } }, { \"id\": 17, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 0 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 10 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 0 }, { \"name\": \"E\", \"type\": 10 }], \"path\": [\"Result\"] } }, { \"id\": 18, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 19 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 7 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 19 }, { \"name\": \"E\", \"type\": 7 }], \"path\": [\"Result\"] } }, { \"id\": 19, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 20 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 10 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 20 }, { \"name\": \"E\", \"type\": 10 }], \"path\": [\"Result\"] } }, { \"id\": 20, \"type\": { \"def\": { \"tuple\": [0, 4] } } }, { \"id\": 21, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 22 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 7 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 22 }, { \"name\": \"E\", \"type\": 7 }], \"path\": [\"Result\"] } }, { \"id\": 22, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"index\": 0, \"name\": \"None\" }, { \"fields\": [{ \"type\": 23 }], \"index\": 1, \"name\": \"Some\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 23 }], \"path\": [\"Option\"] } }, { \"id\": 23, \"type\": { \"def\": { \"sequence\": { \"type\": 1 } } } }, { \"id\": 24, \"type\": { \"def\": { \"composite\": { \"fields\": [{ \"type\": 2, \"typeName\": \"[u8; 32]\" }] } }, \"path\": [\"ink_primitives\", \"types\", \"Hash\"] } }, { \"id\": 25, \"type\": { \"def\": { \"primitive\": \"u32\" } } }, { \"id\": 26, \"type\": { \"def\": { \"variant\": {} }, \"path\": [\"d9_chain_extension\", \"D9ChainExtension\"] } }], \"version\": \"4\" } };\n\n// .papi/descriptors/src/contracts/miningPool.ts\nvar descriptor8 = { metadata: { \"source\": { \"hash\": \"0x7786436103072d79da5e85e15869fc4b3b835913425a705a809e8677626f1c7c\", \"language\": \"ink! 4.3.0\", \"compiler\": \"rustc 1.72.1\", \"build_info\": { \"build_mode\": \"Release\", \"cargo_contract_version\": \"3.2.0\", \"rust_toolchain\": \"stable-x86_64-apple-darwin\", \"wasm_opt_settings\": { \"keep_debug_symbols\": false, \"optimization_passes\": \"Z\" } } }, \"contract\": { \"name\": \"mining_pool\", \"version\": \"0.1.0\", \"authors\": [\"D9\"] }, \"spec\": { \"constructors\": [{ \"args\": [{ \"label\": \"main_contract\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }, { \"label\": \"merchant_contract\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }, { \"label\": \"node_reward_contract\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }, { \"label\": \"amm_contract\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }], \"default\": false, \"docs\": [\"Constructor that initializes the `bool` value to the given `init_value`.\"], \"label\": \"new\", \"payable\": false, \"returnType\": { \"displayName\": [\"ink_primitives\", \"ConstructorResult\"], \"type\": 5 }, \"selector\": \"0x9bae9d5e\" }], \"docs\": [], \"environment\": { \"accountId\": { \"displayName\": [\"AccountId\"], \"type\": 0 }, \"balance\": { \"displayName\": [\"Balance\"], \"type\": 3 }, \"blockNumber\": { \"displayName\": [\"BlockNumber\"], \"type\": 4 }, \"chainExtension\": { \"displayName\": [\"ChainExtension\"], \"type\": 16 }, \"hash\": { \"displayName\": [\"Hash\"], \"type\": 14 }, \"maxEventTopics\": 4, \"timestamp\": { \"displayName\": [\"Timestamp\"], \"type\": 15 } }, \"events\": [], \"lang_error\": { \"displayName\": [\"ink\", \"LangError\"], \"type\": 7 }, \"messages\": [{ \"args\": [], \"default\": false, \"docs\": [], \"label\": \"get_accumulative_reward_pool\", \"mutates\": false, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 8 }, \"selector\": \"0x71ebcde6\" }, { \"args\": [{ \"label\": \"account_id\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }, { \"label\": \"amount\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 3 } }], \"default\": false, \"docs\": [], \"label\": \"pay_node_reward\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 9 }, \"selector\": \"0x2f0dd006\" }, { \"args\": [], \"default\": false, \"docs\": [], \"label\": \"get_merchant_volume\", \"mutates\": false, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 8 }, \"selector\": \"0x3e3207be\" }, { \"args\": [{ \"label\": \"session_index\", \"type\": { \"displayName\": [\"u32\"], \"type\": 4 } }], \"default\": false, \"docs\": [], \"label\": \"get_session_volume\", \"mutates\": false, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 8 }, \"selector\": \"0x91894472\" }, { \"args\": [{ \"label\": \"session_index\", \"type\": { \"displayName\": [\"u32\"], \"type\": 4 } }], \"default\": false, \"docs\": [], \"label\": \"update_pool_and_retrieve\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 12 }, \"selector\": \"0x8a1783cd\" }, { \"args\": [{ \"label\": \"amount\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 3 } }], \"default\": false, \"docs\": [], \"label\": \"deduct_from_reward_pool\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 9 }, \"selector\": \"0x7df305eb\" }, { \"args\": [], \"default\": false, \"docs\": [], \"label\": \"get_total_volume\", \"mutates\": false, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 8 }, \"selector\": \"0xe88330b2\" }, { \"args\": [], \"default\": false, \"docs\": [], \"label\": \"process_merchant_payment\", \"mutates\": true, \"payable\": true, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 9 }, \"selector\": \"0xcbdfeaf9\" }, { \"args\": [{ \"label\": \"user_account\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }, { \"label\": \"redeemable_usdt\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 3 } }], \"default\": false, \"docs\": [], \"label\": \"merchant_user_redeem_d9\", \"mutates\": false, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 12 }, \"selector\": \"0x152062a1\" }, { \"args\": [{ \"label\": \"merchant_contract\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }], \"default\": false, \"docs\": [], \"label\": \"change_merchant_contract\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 9 }, \"selector\": \"0x1221b207\" }, { \"args\": [{ \"label\": \"to\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }, { \"label\": \"amount\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 3 } }], \"default\": false, \"docs\": [], \"label\": \"send_to\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 9 }, \"selector\": \"0x651d5be0\" }, { \"args\": [{ \"label\": \"node_reward_contract\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }], \"default\": false, \"docs\": [], \"label\": \"change_node_reward_contract\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 9 }, \"selector\": \"0x5cfb2c63\" }, { \"args\": [{ \"label\": \"amm_contract\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }], \"default\": false, \"docs\": [], \"label\": \"change_amm_contract\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 9 }, \"selector\": \"0x0db11b82\" }, { \"args\": [{ \"label\": \"main_contract\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }], \"default\": false, \"docs\": [], \"label\": \"change_main_contract\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 9 }, \"selector\": \"0xbb530edc\" }, { \"args\": [{ \"label\": \"code_hash\", \"type\": { \"displayName\": [], \"type\": 1 } }], \"default\": false, \"docs\": [], \"label\": \"set_code\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 5 }, \"selector\": \"0x694fb50f\" }] }, \"storage\": { \"root\": { \"layout\": { \"struct\": { \"fields\": [{ \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 0 } }, \"name\": \"admin\" }, { \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 0 } }, \"name\": \"main_contract\" }, { \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 0 } }, \"name\": \"merchant_contract\" }, { \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 0 } }, \"name\": \"node_reward_contract\" }, { \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 0 } }, \"name\": \"amm_contract\" }, { \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 3 } }, \"name\": \"merchant_volume\" }, { \"layout\": { \"root\": { \"layout\": { \"leaf\": { \"key\": \"0xd9887759\", \"ty\": 3 } }, \"root_key\": \"0xd9887759\" } }, \"name\": \"volume_at_index\" }, { \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 4 } }, \"name\": \"last_session\" }, { \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 3 } }, \"name\": \"accumulative_reward_pool\" }], \"name\": \"MiningPool\" } }, \"root_key\": \"0x00000000\" } }, \"types\": [{ \"id\": 0, \"type\": { \"def\": { \"composite\": { \"fields\": [{ \"type\": 1, \"typeName\": \"[u8; 32]\" }] } }, \"path\": [\"ink_primitives\", \"types\", \"AccountId\"] } }, { \"id\": 1, \"type\": { \"def\": { \"array\": { \"len\": 32, \"type\": 2 } } } }, { \"id\": 2, \"type\": { \"def\": { \"primitive\": \"u8\" } } }, { \"id\": 3, \"type\": { \"def\": { \"primitive\": \"u128\" } } }, { \"id\": 4, \"type\": { \"def\": { \"primitive\": \"u32\" } } }, { \"id\": 5, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 6 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 7 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 6 }, { \"name\": \"E\", \"type\": 7 }], \"path\": [\"Result\"] } }, { \"id\": 6, \"type\": { \"def\": { \"tuple\": [] } } }, { \"id\": 7, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"index\": 1, \"name\": \"CouldNotReadInput\" }] } }, \"path\": [\"ink_primitives\", \"LangError\"] } }, { \"id\": 8, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 3 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 7 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 3 }, { \"name\": \"E\", \"type\": 7 }], \"path\": [\"Result\"] } }, { \"id\": 9, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 10 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 7 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 10 }, { \"name\": \"E\", \"type\": 7 }], \"path\": [\"Result\"] } }, { \"id\": 10, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 6 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 11 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 6 }, { \"name\": \"E\", \"type\": 11 }], \"path\": [\"Result\"] } }, { \"id\": 11, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 0, \"typeName\": \"AccountId\" }], \"index\": 0, \"name\": \"OnlyCallableBy\" }, { \"index\": 1, \"name\": \"FailedToGetExchangeAmount\" }, { \"index\": 2, \"name\": \"FailedToTransferD9ToUser\" }, { \"index\": 3, \"name\": \"SessionPoolNotReady\" }] } }, \"path\": [\"mining_pool\", \"mining_pool\", \"Error\"] } }, { \"id\": 12, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 13 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 7 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 13 }, { \"name\": \"E\", \"type\": 7 }], \"path\": [\"Result\"] } }, { \"id\": 13, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 3 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 11 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 3 }, { \"name\": \"E\", \"type\": 11 }], \"path\": [\"Result\"] } }, { \"id\": 14, \"type\": { \"def\": { \"composite\": { \"fields\": [{ \"type\": 1, \"typeName\": \"[u8; 32]\" }] } }, \"path\": [\"ink_primitives\", \"types\", \"Hash\"] } }, { \"id\": 15, \"type\": { \"def\": { \"primitive\": \"u64\" } } }, { \"id\": 16, \"type\": { \"def\": { \"variant\": {} }, \"path\": [\"d9_chain_extension\", \"D9ChainExtension\"] } }], \"version\": \"4\" } };\n\n// .papi/descriptors/src/index.ts\nvar metadatas = { [\"0x05b81d038cfe33e4d5c55559161bbda14e8cca5b1beb2d4ed7d5da1544f22e90\"]: d9_default };\nvar getMetadata2 = async (codeHash) => {\n try {\n return await metadatas[codeHash].getMetadata();\n } catch {\n }\n return null;\n};\nexport {\n ArithmeticError,\n BalanceStatus,\n BalancesTypesReasons,\n DigestItem,\n DispatchClass,\n GrandpaEquivocation,\n GrandpaEvent,\n GrandpaStoredState,\n MultiAddress,\n Phase,\n SessionEvent,\n TransactionPaymentEvent,\n TransactionPaymentReleases,\n TransactionalError,\n contracts_exports as contracts,\n d9_default as d9,\n getMetadata2 as getMetadata\n};\n","/**\n * D9 Network constants\n */\n\n/**\n * D9 SS58 address prefix.\n *\n * SS58 is the address format used by Substrate-based chains. Each chain has a unique\n * prefix that determines the address format and ensures addresses are network-specific.\n *\n * D9 uses prefix 9, which produces addresses starting with 'c' or 'd'.\n *\n * This prefix is automatically applied to all AccountId encoding/decoding operations\n * in the SDK, including:\n * - Contract call parameter encoding\n * - Result decoding\n * - Event parsing\n *\n * @see https://github.com/paritytech/ss58-registry for the full SS58 registry\n */\nexport const D9_SS58_PREFIX = 9;\n\n/** D9 token decimals */\nexport const D9_DECIMALS = 12;\n\n/** D9 token symbol */\nexport const D9_SYMBOL = \"D9\";\n\n/** USDT token decimals */\nexport const USDT_DECIMALS = 2;\n\n/** USDT token symbol */\nexport const USDT_SYMBOL = \"USDT\";\n","/**\n * Structured error types for contract operations.\n * Provides detailed error information for debugging and handling.\n */\n\n/**\n * Error types for contract operations\n */\nexport type ContractErrorType =\n | \"METADATA_ERROR\" // Missing or invalid contract metadata\n | \"ENCODE_ERROR\" // Failed to encode call data\n | \"DECODE_ERROR\" // Failed to decode response\n | \"NETWORK_ERROR\" // Network or RPC error\n | \"CONTRACT_ERROR\" // Contract returned an error\n | \"LANG_ERROR\" // Ink LangError (CouldNotReadInput, etc.)\n | \"TIMEOUT_ERROR\" // Request timeout\n | \"ABORTED\" // Request was aborted\n | \"SIGNER_ERROR\" // Signer related error\n | \"TX_ERROR\"; // Transaction submission error\n\n/**\n * Base error class for all contract-related errors\n */\nexport class ContractError extends Error {\n public readonly timestamp: Date;\n\n public override readonly cause?: Error;\n\n constructor(\n message: string,\n public readonly type: ContractErrorType,\n public readonly label?: string,\n public readonly details?: unknown,\n cause?: Error,\n ) {\n super(message, { cause });\n this.name = \"ContractError\";\n this.timestamp = new Date();\n\n // Maintains proper stack trace for where error was thrown\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, ContractError);\n }\n }\n\n /**\n * Create a formatted error message for logging\n */\n toLogString(): string {\n const parts = [`[${this.type}]`, this.label ? `${this.label}:` : \"\", this.message].filter(\n Boolean,\n );\n\n if (this.details) {\n parts.push(`Details: ${JSON.stringify(this.details)}`);\n }\n\n return parts.join(\" \");\n }\n\n /**\n * Convert to a plain object for serialization\n */\n toJSON(): Record<string, unknown> {\n return {\n name: this.name,\n type: this.type,\n message: this.message,\n label: this.label,\n details: this.details,\n timestamp: this.timestamp.toISOString(),\n stack: this.stack,\n };\n }\n}\n\n/**\n * Error thrown when contract metadata is missing or invalid\n */\nexport class MetadataError extends ContractError {\n constructor(message: string, details?: unknown) {\n super(message, \"METADATA_ERROR\", undefined, details);\n this.name = \"MetadataError\";\n }\n}\n\n/**\n * Error thrown when encoding call data fails\n */\nexport class EncodeError extends ContractError {\n constructor(label: string, message: string, details?: unknown) {\n super(message, \"ENCODE_ERROR\", label, details);\n this.name = \"EncodeError\";\n }\n}\n\n/**\n * Error thrown when decoding response fails\n */\nexport class DecodeError extends ContractError {\n constructor(label: string, message: string, details?: unknown) {\n super(message, \"DECODE_ERROR\", label, details);\n this.name = \"DecodeError\";\n }\n}\n\n/**\n * Error thrown for network/RPC errors\n */\nexport class NetworkError extends ContractError {\n constructor(message: string, cause?: Error, details?: unknown) {\n super(message, \"NETWORK_ERROR\", undefined, details, cause);\n this.name = \"NetworkError\";\n }\n}\n\n/**\n * Error thrown when contract returns an error result\n */\nexport class ContractExecutionError extends ContractError {\n constructor(\n label: string,\n public readonly errorValue: unknown,\n ) {\n super(\n `Contract execution failed: ${JSON.stringify(errorValue)}`,\n \"CONTRACT_ERROR\",\n label,\n errorValue,\n );\n this.name = \"ContractExecutionError\";\n }\n}\n\n/**\n * Error thrown for Ink LangError\n */\nexport class LangError extends ContractError {\n constructor(\n label: string,\n public readonly variant: number,\n ) {\n const variantName = variant === 1 ? \"CouldNotReadInput\" : `Unknown(${variant})`;\n super(`Ink LangError: ${variantName}`, \"LANG_ERROR\", label, {\n variant,\n variantName,\n });\n this.name = \"LangError\";\n }\n}\n\n/**\n * Error thrown when request times out\n */\nexport class TimeoutError extends ContractError {\n constructor(\n label: string,\n public readonly timeoutMs: number,\n ) {\n super(`Request timed out after ${timeoutMs}ms`, \"TIMEOUT_ERROR\", label, {\n timeoutMs,\n });\n this.name = \"TimeoutError\";\n }\n}\n\n/**\n * Error thrown when request is aborted\n */\nexport class AbortedError extends ContractError {\n constructor(label: string, reason?: string) {\n super(reason || \"Request was aborted\", \"ABORTED\", label, { reason });\n this.name = \"AbortedError\";\n }\n}\n\n/**\n * Error thrown for signer-related issues\n */\nexport class SignerError extends ContractError {\n constructor(message: string, details?: unknown) {\n super(message, \"SIGNER_ERROR\", undefined, details);\n this.name = \"SignerError\";\n }\n}\n\n/**\n * Error thrown when transaction submission fails\n */\nexport class TransactionError extends ContractError {\n constructor(\n label: string,\n message: string,\n public readonly txHash?: string,\n details?: unknown,\n ) {\n super(message, \"TX_ERROR\", label, { ...(details as object), txHash });\n this.name = \"TransactionError\";\n }\n}\n\n/**\n * Type guard to check if an error is a ContractError\n */\nexport function isContractError(error: unknown): error is ContractError {\n return error instanceof ContractError;\n}\n\n/**\n * Type guard to check for specific error types\n */\nexport function isErrorType<T extends ContractErrorType>(\n error: unknown,\n type: T,\n): error is ContractError & { type: T } {\n return isContractError(error) && error.type === type;\n}\n","import type { HexString } from \"polkadot-api\";\n\nexport type { HexString } from \"polkadot-api\";\n\nexport function isHexString(input: unknown): input is HexString {\n if (typeof input !== \"string\") return false;\n if (!input.startsWith(\"0x\")) return false;\n const s = input.slice(2);\n return s.length % 2 === 0 && /^[0-9a-fA-F]+$/.test(s);\n}\n\nexport function hexToBytes(hex: unknown): Uint8Array {\n if (!isHexString(hex)) {\n throw new Error(\"Invalid hex string\");\n }\n const s = (hex as string).slice(2);\n const out = new Uint8Array(s.length / 2);\n for (let i = 0; i < out.length; i++) {\n out[i] = Number.parseInt(s.slice(i * 2, i * 2 + 2), 16);\n }\n return out;\n}\n\nexport function bytesToHex(bytes: Uint8Array): HexString {\n let hex = \"\";\n for (let i = 0; i < bytes.length; i++) {\n hex += bytes[i]!.toString(16).padStart(2, \"0\");\n }\n return `0x${hex}` as const;\n}\n","import {\n generateMnemonic as hdkdGenerateMnemonic,\n mnemonicToMiniSecret as hdkdMnemonicToMiniSecret,\n validateMnemonic as hdkdValidateMnemonic,\n} from \"@polkadot-labs/hdkd-helpers\";\n\nexport function generateMnemonic(): string {\n return hdkdGenerateMnemonic();\n}\n\nexport function validateMnemonic(mnemonic: string): boolean {\n return hdkdValidateMnemonic(mnemonic);\n}\n\nexport function mnemonicToMiniSecret(mnemonic: string, password?: string): Uint8Array {\n if (!validateMnemonic(mnemonic)) throw new Error(\"Invalid mnemonic\");\n return hdkdMnemonicToMiniSecret(mnemonic, password);\n}\n","import { ss58Decode, ss58Encode } from \"@polkadot-labs/hdkd-helpers\";\nimport type { SS58String } from \"polkadot-api\";\nexport type { SS58String } from \"polkadot-api\";\n\nexport function ss58DecodePublicKey(address: SS58String): Uint8Array {\n const [publicKey] = ss58Decode(address);\n return publicKey;\n}\n\nexport function ss58Reencode(address: SS58String, ss58Format: number): SS58String {\n const publicKey = ss58DecodePublicKey(address);\n return ss58Encode(publicKey, ss58Format) as SS58String;\n}\n","import { sr25519CreateDerive, withNetworkAccount } from \"@polkadot-labs/hdkd\";\nimport type { KeyPair } from \"@polkadot-labs/hdkd-helpers\";\nimport type { SS58String } from \"polkadot-api\";\n\nimport { hexToBytes } from \"./hex\";\n\nexport type Sr25519Keypair = KeyPair;\n\nexport function sr25519KeypairFromMiniSecret(miniSecret: Uint8Array): Sr25519Keypair {\n const derive = sr25519CreateDerive(miniSecret);\n const kp = derive(\"\");\n // hdkd derives at the root when path is empty string.\n return kp;\n}\n\nexport function sr25519DeriveFromMiniSecret(\n miniSecret: Uint8Array,\n derivationPath: string,\n): Sr25519Keypair {\n const derive = sr25519CreateDerive(miniSecret);\n return derive(derivationPath);\n}\n\nexport function sr25519AddressFromKeypair(\n keypair: Sr25519Keypair,\n ss58Format?: number,\n): SS58String {\n return withNetworkAccount(keypair, ss58Format).ss58Address as SS58String;\n}\n\nexport function sr25519AddressFromSecretKeyHex(\n secretKeyHex: string,\n ss58Format: number,\n): SS58String {\n const secretKey = hexToBytes(secretKeyHex);\n if (secretKey.length !== 32) {\n throw new Error(\"sr25519 secret key must be 32 bytes\");\n }\n const keypair = sr25519KeypairFromMiniSecret(secretKey);\n return sr25519AddressFromKeypair(keypair, ss58Format);\n}\n","const HEX_STR = \"0123456789abcdef\";\nfunction toHex(bytes) {\n const result = new Array(bytes.length + 1);\n result[0] = \"0x\";\n for (let i = 0; i < bytes.length; ) {\n const b = bytes[i++];\n result[i] = HEX_STR[b >> 4] + HEX_STR[b & 15];\n }\n return result.join(\"\");\n}\nconst HEX_MAP = {\n 0: 0,\n 1: 1,\n 2: 2,\n 3: 3,\n 4: 4,\n 5: 5,\n 6: 6,\n 7: 7,\n 8: 8,\n 9: 9,\n a: 10,\n b: 11,\n c: 12,\n d: 13,\n e: 14,\n f: 15,\n A: 10,\n B: 11,\n C: 12,\n D: 13,\n E: 14,\n F: 15\n};\nfunction fromHex(hexString) {\n const isOdd = hexString.length % 2;\n const base = (hexString[1] === \"x\" ? 2 : 0) + isOdd;\n const nBytes = (hexString.length - base) / 2 + isOdd;\n const bytes = new Uint8Array(nBytes);\n if (isOdd) bytes[0] = 0 | HEX_MAP[hexString[2]];\n for (let i = 0; i < nBytes; ) {\n const idx = base + i * 2;\n const a = HEX_MAP[hexString[idx]];\n const b = HEX_MAP[hexString[idx + 1]];\n bytes[isOdd + i++] = a << 4 | b;\n }\n return bytes;\n}\n\nexport { fromHex, toHex };\n//# sourceMappingURL=hex.mjs.map\n","const mergeUint8 = (...i) => {\n const inputs = Array.isArray(i[0]) ? i[0] : i;\n const totalLen = inputs.reduce((acc, a) => acc + a.byteLength, 0);\n const result = new Uint8Array(totalLen);\n for (let idx = 0, at = 0; idx < inputs.length; idx++) {\n const current = inputs[idx];\n result.set(current, at);\n at += current.byteLength;\n }\n return result;\n};\n\nexport { mergeUint8 };\n//# sourceMappingURL=mergeUint8.mjs.map\n","var __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => {\n __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n return value;\n};\n\n// src/internal/toInternalBytes.ts\nvar HEX_MAP = {\n 0: 0,\n 1: 1,\n 2: 2,\n 3: 3,\n 4: 4,\n 5: 5,\n 6: 6,\n 7: 7,\n 8: 8,\n 9: 9,\n a: 10,\n b: 11,\n c: 12,\n d: 13,\n e: 14,\n f: 15,\n A: 10,\n B: 11,\n C: 12,\n D: 13,\n E: 14,\n F: 15\n};\nfunction fromHex(hexString) {\n const isOdd = hexString.length % 2;\n const base = (hexString[1] === \"x\" ? 2 : 0) + isOdd;\n const nBytes = (hexString.length - base) / 2 + isOdd;\n const bytes = new Uint8Array(nBytes);\n if (isOdd)\n bytes[0] = 0 | HEX_MAP[hexString[2]];\n for (let i = 0; i < nBytes; ) {\n const idx = base + i * 2;\n const a = HEX_MAP[hexString[idx]];\n const b = HEX_MAP[hexString[idx + 1]];\n bytes[isOdd + i++] = a << 4 | b;\n }\n return bytes;\n}\nvar InternalUint8Array = class extends Uint8Array {\n constructor(buffer) {\n super(buffer);\n __publicField(this, \"i\", 0);\n __publicField(this, \"v\");\n this.v = new DataView(buffer);\n }\n};\nvar toInternalBytes = (fn) => (buffer) => fn(buffer instanceof InternalUint8Array ? buffer : new InternalUint8Array(buffer instanceof Uint8Array ? buffer.buffer : typeof buffer === \"string\" ? fromHex(buffer).buffer : buffer));\n\n// src/internal/mergeUint8.ts\nvar mergeUint8 = (inputs) => {\n const len = inputs.length;\n let totalLen = 0;\n for (let i = 0; i < len; i++)\n totalLen += inputs[i].length;\n const result = new Uint8Array(totalLen);\n for (let idx = 0, at = 0; idx < len; idx++) {\n const current = inputs[idx];\n result.set(current, at);\n at += current.byteLength;\n }\n return result;\n};\n\n// src/internal/mapObject.ts\nfunction mapObject(input, mapper) {\n const keys = Object.keys(input);\n const len = keys.length;\n const result = {};\n for (let i = 0; i < len; i++) {\n const key = keys[i];\n result[key] = mapper(input[key], key);\n }\n return result;\n}\n\n// src/utils.ts\nvar createDecoder = toInternalBytes;\nvar createCodec = (encoder, decoder) => {\n const result = [encoder, decoder];\n result.enc = encoder;\n result.dec = decoder;\n return result;\n};\nvar enhanceEncoder = (encoder, mapper) => (value) => encoder(mapper(value));\nvar enhanceDecoder = (decoder, mapper) => (value) => mapper(decoder(value));\nvar enhanceCodec = ([encoder, decoder], toFrom, fromTo) => createCodec(enhanceEncoder(encoder, toFrom), enhanceDecoder(decoder, fromTo));\n\n// src/codecs/fixed-width-ints.ts\nfunction decodeInt(nBytes, getter) {\n return toInternalBytes((bytes) => {\n const result = bytes.v[getter](bytes.i, true);\n bytes.i += nBytes;\n return result;\n });\n}\nfunction encodeInt(nBytes, setter) {\n return (input) => {\n const result = new Uint8Array(nBytes);\n const dv = new DataView(result.buffer);\n dv[setter](0, input, true);\n return result;\n };\n}\nfunction intCodec(nBytes, getter, setter) {\n return createCodec(encodeInt(nBytes, setter), decodeInt(nBytes, getter));\n}\nvar u8 = intCodec(1, \"getUint8\", \"setUint8\");\nvar u16 = intCodec(2, \"getUint16\", \"setUint16\");\nvar u32 = intCodec(4, \"getUint32\", \"setUint32\");\nvar u64 = intCodec(8, \"getBigUint64\", \"setBigUint64\");\nvar i8 = intCodec(1, \"getInt8\", \"setInt8\");\nvar i16 = intCodec(2, \"getInt16\", \"setInt16\");\nvar i32 = intCodec(4, \"getInt32\", \"setInt32\");\nvar i64 = intCodec(8, \"getBigInt64\", \"setBigInt64\");\nvar x128Enc = (value) => {\n const result = new Uint8Array(16);\n const dv = new DataView(result.buffer);\n dv.setBigInt64(0, value, true);\n dv.setBigInt64(8, value >> 64n, true);\n return result;\n};\nvar create128Dec = (method) => toInternalBytes((input) => {\n const { v, i } = input;\n const right = v.getBigUint64(i, true);\n const left = v[method](i + 8, true);\n input.i += 16;\n return left << 64n | right;\n});\nvar u128 = createCodec(x128Enc, create128Dec(\"getBigUint64\"));\nvar i128 = createCodec(x128Enc, create128Dec(\"getBigInt64\"));\nvar x256Enc = (value) => {\n const result = new Uint8Array(32);\n const dv = new DataView(result.buffer);\n dv.setBigInt64(0, value, true);\n dv.setBigInt64(8, value >> 64n, true);\n dv.setBigInt64(16, value >> 128n, true);\n dv.setBigInt64(24, value >> 192n, true);\n return result;\n};\nvar create256Dec = (method) => toInternalBytes((input) => {\n let result = input.v.getBigUint64(input.i, true);\n input.i += 8;\n result |= input.v.getBigUint64(input.i, true) << 64n;\n input.i += 8;\n result |= input.v.getBigUint64(input.i, true) << 128n;\n input.i += 8;\n result |= input.v[method](input.i, true) << 192n;\n input.i += 8;\n return result;\n});\nvar u256 = createCodec(x256Enc, create256Dec(\"getBigUint64\"));\nvar i256 = createCodec(x256Enc, create256Dec(\"getBigInt64\"));\n\n// src/codecs/bool.ts\nvar bool = enhanceCodec(u8, (value) => value ? 1 : 0, Boolean);\n\n// src/codecs/compact.ts\nvar decoders = [u8[1], u16[1], u32[1]];\nvar compactDec = toInternalBytes((bytes) => {\n const init = bytes[bytes.i];\n const kind = init & 3;\n if (kind < 3)\n return decoders[kind](bytes) >>> 2;\n const nBytes = (init >>> 2) + 4;\n bytes.i++;\n let result = 0n;\n const nU64 = nBytes / 8 | 0;\n let shift = 0n;\n for (let i = 0; i < nU64; i++) {\n result = u64[1](bytes) << shift | result;\n shift += 64n;\n }\n let nReminders = nBytes % 8;\n if (nReminders > 3) {\n result = BigInt(u32[1](bytes)) << shift | result;\n shift += 32n;\n nReminders -= 4;\n }\n if (nReminders > 1) {\n result = BigInt(u16[1](bytes)) << shift | result;\n shift += 16n;\n nReminders -= 2;\n }\n if (nReminders)\n result = BigInt(u8[1](bytes)) << shift | result;\n return result;\n});\nvar MIN_U64 = 1n << 56n;\nvar MIN_U32 = 1 << 24;\nvar MIN_U16 = 256;\nvar U32_MASK = 4294967295n;\nvar SINGLE_BYTE_MODE_LIMIT = 1 << 6;\nvar TWO_BYTE_MODE_LIMIT = 1 << 14;\nvar FOUR_BYTE_MODE_LIMIT = 1 << 30;\nvar compactEnc = (input) => {\n if (input < 0)\n throw new Error(`Wrong compact input (${input})`);\n const nInput = Number(input) << 2;\n if (input < SINGLE_BYTE_MODE_LIMIT)\n return u8[0](nInput);\n if (input < TWO_BYTE_MODE_LIMIT)\n return u16[0](nInput | 1);\n if (input < FOUR_BYTE_MODE_LIMIT)\n return u32[0](nInput | 2);\n let buffers = [new Uint8Array(1)];\n let bigValue = BigInt(input);\n while (bigValue >= MIN_U64) {\n buffers.push(u64[0](bigValue));\n bigValue >>= 64n;\n }\n if (bigValue >= MIN_U32) {\n buffers.push(u32[0](Number(bigValue & U32_MASK)));\n bigValue >>= 32n;\n }\n let smValue = Number(bigValue);\n if (smValue >= MIN_U16) {\n buffers.push(u16[0](smValue));\n smValue >>= 16;\n }\n smValue && buffers.push(u8[0](smValue));\n const result = mergeUint8(buffers);\n result[0] = result.length - 5 << 2 | 3;\n return result;\n};\nvar compact = createCodec(compactEnc, compactDec);\n\n// src/codecs/str.ts\nvar textEncoder = new TextEncoder();\nvar strEnc = (str2) => {\n const val = textEncoder.encode(str2);\n return mergeUint8([compact.enc(val.length), val]);\n};\nvar textDecoder = new TextDecoder();\nvar strDec = toInternalBytes((bytes) => {\n let nElements = compact.dec(bytes);\n const dv = new DataView(bytes.buffer, bytes.i, nElements);\n bytes.i += nElements;\n return textDecoder.decode(dv);\n});\nvar str = createCodec(strEnc, strDec);\n\n// src/codecs/void.ts\nvar noop = () => {\n};\nvar emptyArr = new Uint8Array(0);\nvar _void = createCodec(() => emptyArr, noop);\n\n// src/codecs/Bytes.ts\nvar BytesEnc = (nBytes) => nBytes === void 0 ? (bytes) => mergeUint8([compact.enc(bytes.length), bytes]) : (bytes) => bytes.length === nBytes ? bytes : bytes.slice(0, nBytes);\nvar BytesDec = (nBytes) => toInternalBytes((bytes) => {\n const len = nBytes === void 0 ? compact.dec(bytes) : nBytes !== Infinity ? nBytes : bytes.byteLength - bytes.i;\n const result = new Uint8Array(bytes.buffer.slice(bytes.i, bytes.i + len));\n bytes.i += len;\n return result;\n});\nvar Bytes = (nBytes) => createCodec(BytesEnc(nBytes), BytesDec(nBytes));\nBytes.enc = BytesEnc;\nBytes.dec = BytesDec;\n\n// src/codecs/Enum.ts\nvar enumEnc = (inner, x) => {\n const keys = Object.keys(inner);\n const mappedKeys = new Map(x?.map((actualIdx, idx) => [keys[idx], actualIdx]) ?? keys.map((key, idx) => [key, idx]));\n const getKey = (key) => mappedKeys.get(key);\n return ({ tag, value }) => mergeUint8([u8.enc(getKey(tag)), inner[tag](value)]);\n};\nvar enumDec = (inner, x) => {\n const keys = Object.keys(inner);\n const mappedKeys = new Map(x?.map((actualIdx, idx) => [actualIdx, keys[idx]]) ?? keys.map((key, idx) => [idx, key]));\n return toInternalBytes((bytes) => {\n const idx = u8.dec(bytes);\n const tag = mappedKeys.get(idx);\n const innerDecoder = inner[tag];\n return {\n tag,\n value: innerDecoder(bytes)\n };\n });\n};\nvar Enum = (inner, ...args) => createCodec(enumEnc(mapObject(inner, ([encoder]) => encoder), ...args), enumDec(mapObject(inner, ([, decoder]) => decoder), ...args));\nEnum.enc = enumEnc;\nEnum.dec = enumDec;\n\n// src/codecs/Option.ts\nvar OptionDec = (inner) => toInternalBytes((bytes) => u8[1](bytes) > 0 ? inner(bytes) : void 0);\nvar OptionEnc = (inner) => (value) => {\n const result = new Uint8Array(1);\n if (value === void 0)\n return result;\n result[0] = 1;\n return mergeUint8([result, inner(value)]);\n};\nvar Option = (inner) => createCodec(OptionEnc(inner[0]), OptionDec(inner[1]));\nOption.enc = OptionEnc;\nOption.dec = OptionDec;\n\n// src/codecs/Result.ts\nvar ResultDec = (okDecoder, koDecoder) => toInternalBytes((bytes) => {\n const success = u8[1](bytes) === 0;\n const decoder = success ? okDecoder : koDecoder;\n const value = decoder(bytes);\n return { success, value };\n});\nvar ResultEnc = (okEncoder, koEncoder) => ({ success, value }) => mergeUint8([\n u8[0](success ? 0 : 1),\n (success ? okEncoder : koEncoder)(value)\n]);\nvar Result = (okCodec, koCodec) => createCodec(ResultEnc(okCodec[0], koCodec[0]), ResultDec(okCodec[1], koCodec[1]));\nResult.dec = ResultDec;\nResult.enc = ResultEnc;\n\n// src/codecs/Tuple.ts\nvar TupleDec = (...decoders2) => toInternalBytes((bytes) => decoders2.map((decoder) => decoder(bytes)));\nvar TupleEnc = (...encoders) => (values) => mergeUint8(encoders.map((enc, idx) => enc(values[idx])));\nvar Tuple = (...codecs) => createCodec(TupleEnc(...codecs.map(([encoder]) => encoder)), TupleDec(...codecs.map(([, decoder]) => decoder)));\nTuple.enc = TupleEnc;\nTuple.dec = TupleDec;\n\n// src/codecs/Struct.ts\nvar StructEnc = (encoders) => {\n const keys = Object.keys(encoders);\n return enhanceEncoder(Tuple.enc(...Object.values(encoders)), (input) => keys.map((k) => input[k]));\n};\nvar StructDec = (decoders2) => {\n const keys = Object.keys(decoders2);\n return enhanceDecoder(Tuple.dec(...Object.values(decoders2)), (tuple) => Object.fromEntries(tuple.map((value, idx) => [keys[idx], value])));\n};\nvar Struct = (codecs) => createCodec(StructEnc(mapObject(codecs, (x) => x[0])), StructDec(mapObject(codecs, (x) => x[1])));\nStruct.enc = StructEnc;\nStruct.dec = StructDec;\n\n// src/codecs/Vector.ts\nvar VectorEnc = (inner, size) => size >= 0 ? (value) => mergeUint8(value.map(inner)) : (value) => mergeUint8([compact.enc(value.length), mergeUint8(value.map(inner))]);\nvar VectorDec = (getter, size) => toInternalBytes((bytes) => {\n const nElements = size >= 0 ? size : compact.dec(bytes);\n const result = new Array(nElements);\n for (let i = 0; i < nElements; i++) {\n result[i] = getter(bytes);\n }\n return result;\n});\nvar Vector = (inner, size) => createCodec(VectorEnc(inner[0], size), VectorDec(inner[1], size));\nVector.enc = VectorEnc;\nVector.dec = VectorDec;\nexport {\n Bytes,\n Enum,\n Option,\n Result,\n Struct,\n Tuple,\n Vector,\n _void,\n bool,\n compact,\n createCodec,\n createDecoder,\n enhanceCodec,\n enhanceDecoder,\n enhanceEncoder,\n i128,\n i16,\n i256,\n i32,\n i64,\n i8,\n str,\n u128,\n u16,\n u256,\n u32,\n u64,\n u8\n};\n//# sourceMappingURL=scale-ts.js.map\n","/*! scure-base - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction isBytes(a) {\n return a instanceof Uint8Array || (ArrayBuffer.isView(a) && a.constructor.name === 'Uint8Array');\n}\n/** Asserts something is Uint8Array. */\nfunction abytes(b) {\n if (!isBytes(b))\n throw new Error('Uint8Array expected');\n}\nfunction isArrayOf(isString, arr) {\n if (!Array.isArray(arr))\n return false;\n if (arr.length === 0)\n return true;\n if (isString) {\n return arr.every((item) => typeof item === 'string');\n }\n else {\n return arr.every((item) => Number.isSafeInteger(item));\n }\n}\nfunction afn(input) {\n if (typeof input !== 'function')\n throw new Error('function expected');\n return true;\n}\nfunction astr(label, input) {\n if (typeof input !== 'string')\n throw new Error(`${label}: string expected`);\n return true;\n}\nfunction anumber(n) {\n if (!Number.isSafeInteger(n))\n throw new Error(`invalid integer: ${n}`);\n}\nfunction aArr(input) {\n if (!Array.isArray(input))\n throw new Error('array expected');\n}\nfunction astrArr(label, input) {\n if (!isArrayOf(true, input))\n throw new Error(`${label}: array of strings expected`);\n}\nfunction anumArr(label, input) {\n if (!isArrayOf(false, input))\n throw new Error(`${label}: array of numbers expected`);\n}\n/**\n * @__NO_SIDE_EFFECTS__\n */\nfunction chain(...args) {\n const id = (a) => a;\n // Wrap call in closure so JIT can inline calls\n const wrap = (a, b) => (c) => a(b(c));\n // Construct chain of args[-1].encode(args[-2].encode([...]))\n const encode = args.map((x) => x.encode).reduceRight(wrap, id);\n // Construct chain of args[0].decode(args[1].decode(...))\n const decode = args.map((x) => x.decode).reduce(wrap, id);\n return { encode, decode };\n}\n/**\n * Encodes integer radix representation to array of strings using alphabet and back.\n * Could also be array of strings.\n * @__NO_SIDE_EFFECTS__\n */\nfunction alphabet(letters) {\n // mapping 1 to \"b\"\n const lettersA = typeof letters === 'string' ? letters.split('') : letters;\n const len = lettersA.length;\n astrArr('alphabet', lettersA);\n // mapping \"b\" to 1\n const indexes = new Map(lettersA.map((l, i) => [l, i]));\n return {\n encode: (digits) => {\n aArr(digits);\n return digits.map((i) => {\n if (!Number.isSafeInteger(i) || i < 0 || i >= len)\n throw new Error(`alphabet.encode: digit index outside alphabet \"${i}\". Allowed: ${letters}`);\n return lettersA[i];\n });\n },\n decode: (input) => {\n aArr(input);\n return input.map((letter) => {\n astr('alphabet.decode', letter);\n const i = indexes.get(letter);\n if (i === undefined)\n throw new Error(`Unknown letter: \"${letter}\". Allowed: ${letters}`);\n return i;\n });\n },\n };\n}\n/**\n * @__NO_SIDE_EFFECTS__\n */\nfunction join(separator = '') {\n astr('join', separator);\n return {\n encode: (from) => {\n astrArr('join.decode', from);\n return from.join(separator);\n },\n decode: (to) => {\n astr('join.decode', to);\n return to.split(separator);\n },\n };\n}\n/**\n * Pad strings array so it has integer number of bits\n * @__NO_SIDE_EFFECTS__\n */\nfunction padding(bits, chr = '=') {\n anumber(bits);\n astr('padding', chr);\n return {\n encode(data) {\n astrArr('padding.encode', data);\n while ((data.length * bits) % 8)\n data.push(chr);\n return data;\n },\n decode(input) {\n astrArr('padding.decode', input);\n let end = input.length;\n if ((end * bits) % 8)\n throw new Error('padding: invalid, string should have whole number of bytes');\n for (; end > 0 && input[end - 1] === chr; end--) {\n const last = end - 1;\n const byte = last * bits;\n if (byte % 8 === 0)\n throw new Error('padding: invalid, string has too much padding');\n }\n return input.slice(0, end);\n },\n };\n}\n/**\n * @__NO_SIDE_EFFECTS__\n */\nfunction normalize(fn) {\n afn(fn);\n return { encode: (from) => from, decode: (to) => fn(to) };\n}\n/**\n * Slow: O(n^2) time complexity\n */\nfunction convertRadix(data, from, to) {\n // base 1 is impossible\n if (from < 2)\n throw new Error(`convertRadix: invalid from=${from}, base cannot be less than 2`);\n if (to < 2)\n throw new Error(`convertRadix: invalid to=${to}, base cannot be less than 2`);\n aArr(data);\n if (!data.length)\n return [];\n let pos = 0;\n const res = [];\n const digits = Array.from(data, (d) => {\n anumber(d);\n if (d < 0 || d >= from)\n throw new Error(`invalid integer: ${d}`);\n return d;\n });\n const dlen = digits.length;\n while (true) {\n let carry = 0;\n let done = true;\n for (let i = pos; i < dlen; i++) {\n const digit = digits[i];\n const fromCarry = from * carry;\n const digitBase = fromCarry + digit;\n if (!Number.isSafeInteger(digitBase) ||\n fromCarry / from !== carry ||\n digitBase - digit !== fromCarry) {\n throw new Error('convertRadix: carry overflow');\n }\n const div = digitBase / to;\n carry = digitBase % to;\n const rounded = Math.floor(div);\n digits[i] = rounded;\n if (!Number.isSafeInteger(rounded) || rounded * to + carry !== digitBase)\n throw new Error('convertRadix: carry overflow');\n if (!done)\n continue;\n else if (!rounded)\n pos = i;\n else\n done = false;\n }\n res.push(carry);\n if (done)\n break;\n }\n for (let i = 0; i < data.length - 1 && data[i] === 0; i++)\n res.push(0);\n return res.reverse();\n}\nconst gcd = (a, b) => (b === 0 ? a : gcd(b, a % b));\nconst radix2carry = /* @__NO_SIDE_EFFECTS__ */ (from, to) => from + (to - gcd(from, to));\nconst powers = /* @__PURE__ */ (() => {\n let res = [];\n for (let i = 0; i < 40; i++)\n res.push(2 ** i);\n return res;\n})();\n/**\n * Implemented with numbers, because BigInt is 5x slower\n */\nfunction convertRadix2(data, from, to, padding) {\n aArr(data);\n if (from <= 0 || from > 32)\n throw new Error(`convertRadix2: wrong from=${from}`);\n if (to <= 0 || to > 32)\n throw new Error(`convertRadix2: wrong to=${to}`);\n if (radix2carry(from, to) > 32) {\n throw new Error(`convertRadix2: carry overflow from=${from} to=${to} carryBits=${radix2carry(from, to)}`);\n }\n let carry = 0;\n let pos = 0; // bitwise position in current element\n const max = powers[from];\n const mask = powers[to] - 1;\n const res = [];\n for (const n of data) {\n anumber(n);\n if (n >= max)\n throw new Error(`convertRadix2: invalid data word=${n} from=${from}`);\n carry = (carry << from) | n;\n if (pos + from > 32)\n throw new Error(`convertRadix2: carry overflow pos=${pos} from=${from}`);\n pos += from;\n for (; pos >= to; pos -= to)\n res.push(((carry >> (pos - to)) & mask) >>> 0);\n const pow = powers[pos];\n if (pow === undefined)\n throw new Error('invalid carry');\n carry &= pow - 1; // clean carry, otherwise it will cause overflow\n }\n carry = (carry << (to - pos)) & mask;\n if (!padding && pos >= from)\n throw new Error('Excess padding');\n if (!padding && carry > 0)\n throw new Error(`Non-zero padding: ${carry}`);\n if (padding && pos > 0)\n res.push(carry >>> 0);\n return res;\n}\n/**\n * @__NO_SIDE_EFFECTS__\n */\nfunction radix(num) {\n anumber(num);\n const _256 = 2 ** 8;\n return {\n encode: (bytes) => {\n if (!isBytes(bytes))\n throw new Error('radix.encode input should be Uint8Array');\n return convertRadix(Array.from(bytes), _256, num);\n },\n decode: (digits) => {\n anumArr('radix.decode', digits);\n return Uint8Array.from(convertRadix(digits, num, _256));\n },\n };\n}\n/**\n * If both bases are power of same number (like `2**8 <-> 2**64`),\n * there is a linear algorithm. For now we have implementation for power-of-two bases only.\n * @__NO_SIDE_EFFECTS__\n */\nfunction radix2(bits, revPadding = false) {\n anumber(bits);\n if (bits <= 0 || bits > 32)\n throw new Error('radix2: bits should be in (0..32]');\n if (radix2carry(8, bits) > 32 || radix2carry(bits, 8) > 32)\n throw new Error('radix2: carry overflow');\n return {\n encode: (bytes) => {\n if (!isBytes(bytes))\n throw new Error('radix2.encode input should be Uint8Array');\n return convertRadix2(Array.from(bytes), 8, bits, !revPadding);\n },\n decode: (digits) => {\n anumArr('radix2.decode', digits);\n return Uint8Array.from(convertRadix2(digits, bits, 8, revPadding));\n },\n };\n}\nfunction unsafeWrapper(fn) {\n afn(fn);\n return function (...args) {\n try {\n return fn.apply(null, args);\n }\n catch (e) { }\n };\n}\nfunction checksum(len, fn) {\n anumber(len);\n afn(fn);\n return {\n encode(data) {\n if (!isBytes(data))\n throw new Error('checksum.encode: input should be Uint8Array');\n const sum = fn(data).slice(0, len);\n const res = new Uint8Array(data.length + len);\n res.set(data);\n res.set(sum, data.length);\n return res;\n },\n decode(data) {\n if (!isBytes(data))\n throw new Error('checksum.decode: input should be Uint8Array');\n const payload = data.slice(0, -len);\n const oldChecksum = data.slice(-len);\n const newChecksum = fn(payload).slice(0, len);\n for (let i = 0; i < len; i++)\n if (newChecksum[i] !== oldChecksum[i])\n throw new Error('Invalid checksum');\n return payload;\n },\n };\n}\n// prettier-ignore\nexport const utils = {\n alphabet, chain, checksum, convertRadix, convertRadix2, radix, radix2, join, padding,\n};\n// RFC 4648 aka RFC 3548\n// ---------------------\n/**\n * base16 encoding from RFC 4648.\n * @example\n * ```js\n * base16.encode(Uint8Array.from([0x12, 0xab]));\n * // => '12AB'\n * ```\n */\nexport const base16 = chain(radix2(4), alphabet('0123456789ABCDEF'), join(''));\n/**\n * base32 encoding from RFC 4648. Has padding.\n * Use `base32nopad` for unpadded version.\n * Also check out `base32hex`, `base32hexnopad`, `base32crockford`.\n * @example\n * ```js\n * base32.encode(Uint8Array.from([0x12, 0xab]));\n * // => 'CKVQ===='\n * base32.decode('CKVQ====');\n * // => Uint8Array.from([0x12, 0xab])\n * ```\n */\nexport const base32 = chain(radix2(5), alphabet('ABCDEFGHIJKLMNOPQRSTUVWXYZ234567'), padding(5), join(''));\n/**\n * base32 encoding from RFC 4648. No padding.\n * Use `base32` for padded version.\n * Also check out `base32hex`, `base32hexnopad`, `base32crockford`.\n * @example\n * ```js\n * base32nopad.encode(Uint8Array.from([0x12, 0xab]));\n * // => 'CKVQ'\n * base32nopad.decode('CKVQ');\n * // => Uint8Array.from([0x12, 0xab])\n * ```\n */\nexport const base32nopad = chain(radix2(5), alphabet('ABCDEFGHIJKLMNOPQRSTUVWXYZ234567'), join(''));\n/**\n * base32 encoding from RFC 4648. Padded. Compared to ordinary `base32`, slightly different alphabet.\n * Use `base32hexnopad` for unpadded version.\n * @example\n * ```js\n * base32hex.encode(Uint8Array.from([0x12, 0xab]));\n * // => '2ALG===='\n * base32hex.decode('2ALG====');\n * // => Uint8Array.from([0x12, 0xab])\n * ```\n */\nexport const base32hex = chain(radix2(5), alphabet('0123456789ABCDEFGHIJKLMNOPQRSTUV'), padding(5), join(''));\n/**\n * base32 encoding from RFC 4648. No padding. Compared to ordinary `base32`, slightly different alphabet.\n * Use `base32hex` for padded version.\n * @example\n * ```js\n * base32hexnopad.encode(Uint8Array.from([0x12, 0xab]));\n * // => '2ALG'\n * base32hexnopad.decode('2ALG');\n * // => Uint8Array.from([0x12, 0xab])\n * ```\n */\nexport const base32hexnopad = chain(radix2(5), alphabet('0123456789ABCDEFGHIJKLMNOPQRSTUV'), join(''));\n/**\n * base32 encoding from RFC 4648. Doug Crockford's version.\n * https://www.crockford.com/base32.html\n * @example\n * ```js\n * base32crockford.encode(Uint8Array.from([0x12, 0xab]));\n * // => '2ANG'\n * base32crockford.decode('2ANG');\n * // => Uint8Array.from([0x12, 0xab])\n * ```\n */\nexport const base32crockford = chain(radix2(5), alphabet('0123456789ABCDEFGHJKMNPQRSTVWXYZ'), join(''), normalize((s) => s.toUpperCase().replace(/O/g, '0').replace(/[IL]/g, '1')));\n// Built-in base64 conversion https://caniuse.com/mdn-javascript_builtins_uint8array_frombase64\n// prettier-ignore\nconst hasBase64Builtin = /* @__PURE__ */ (() => typeof Uint8Array.from([]).toBase64 === 'function' &&\n typeof Uint8Array.fromBase64 === 'function')();\nconst decodeBase64Builtin = (s, isUrl) => {\n astr('base64', s);\n const re = isUrl ? /^[A-Za-z0-9=_-]+$/ : /^[A-Za-z0-9=+/]+$/;\n const alphabet = isUrl ? 'base64url' : 'base64';\n if (s.length > 0 && !re.test(s))\n throw new Error('invalid base64');\n return Uint8Array.fromBase64(s, { alphabet, lastChunkHandling: 'strict' });\n};\n/**\n * base64 from RFC 4648. Padded.\n * Use `base64nopad` for unpadded version.\n * Also check out `base64url`, `base64urlnopad`.\n * Falls back to built-in function, when available.\n * @example\n * ```js\n * base64.encode(Uint8Array.from([0x12, 0xab]));\n * // => 'Eqs='\n * base64.decode('Eqs=');\n * // => Uint8Array.from([0x12, 0xab])\n * ```\n */\n// prettier-ignore\nexport const base64 = hasBase64Builtin ? {\n encode(b) { abytes(b); return b.toBase64(); },\n decode(s) { return decodeBase64Builtin(s, false); },\n} : chain(radix2(6), alphabet('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'), padding(6), join(''));\n/**\n * base64 from RFC 4648. No padding.\n * Use `base64` for padded version.\n * @example\n * ```js\n * base64nopad.encode(Uint8Array.from([0x12, 0xab]));\n * // => 'Eqs'\n * base64nopad.decode('Eqs');\n * // => Uint8Array.from([0x12, 0xab])\n * ```\n */\nexport const base64nopad = chain(radix2(6), alphabet('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'), join(''));\n/**\n * base64 from RFC 4648, using URL-safe alphabet. Padded.\n * Use `base64urlnopad` for unpadded version.\n * Falls back to built-in function, when available.\n * @example\n * ```js\n * base64url.encode(Uint8Array.from([0x12, 0xab]));\n * // => 'Eqs='\n * base64url.decode('Eqs=');\n * // => Uint8Array.from([0x12, 0xab])\n * ```\n */\n// prettier-ignore\nexport const base64url = hasBase64Builtin ? {\n encode(b) { abytes(b); return b.toBase64({ alphabet: 'base64url' }); },\n decode(s) { return decodeBase64Builtin(s, true); },\n} : chain(radix2(6), alphabet('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_'), padding(6), join(''));\n/**\n * base64 from RFC 4648, using URL-safe alphabet. No padding.\n * Use `base64url` for padded version.\n * @example\n * ```js\n * base64urlnopad.encode(Uint8Array.from([0x12, 0xab]));\n * // => 'Eqs'\n * base64urlnopad.decode('Eqs');\n * // => Uint8Array.from([0x12, 0xab])\n * ```\n */\nexport const base64urlnopad = chain(radix2(6), alphabet('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_'), join(''));\n// base58 code\n// -----------\nconst genBase58 = /* @__NO_SIDE_EFFECTS__ */ (abc) => chain(radix(58), alphabet(abc), join(''));\n/**\n * base58: base64 without ambigous characters +, /, 0, O, I, l.\n * Quadratic (O(n^2)) - so, can't be used on large inputs.\n * @example\n * ```js\n * base58.decode('01abcdef');\n * // => '3UhJW'\n * ```\n */\nexport const base58 = genBase58('123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz');\n/**\n * base58: flickr version. Check out `base58`.\n */\nexport const base58flickr = genBase58('123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ');\n/**\n * base58: XRP version. Check out `base58`.\n */\nexport const base58xrp = genBase58('rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz');\n// Data len (index) -> encoded block len\nconst XMR_BLOCK_LEN = [0, 2, 3, 5, 6, 7, 9, 10, 11];\n/**\n * base58: XMR version. Check out `base58`.\n * Done in 8-byte blocks (which equals 11 chars in decoding). Last (non-full) block padded with '1' to size in XMR_BLOCK_LEN.\n * Block encoding significantly reduces quadratic complexity of base58.\n */\nexport const base58xmr = {\n encode(data) {\n let res = '';\n for (let i = 0; i < data.length; i += 8) {\n const block = data.subarray(i, i + 8);\n res += base58.encode(block).padStart(XMR_BLOCK_LEN[block.length], '1');\n }\n return res;\n },\n decode(str) {\n let res = [];\n for (let i = 0; i < str.length; i += 11) {\n const slice = str.slice(i, i + 11);\n const blockLen = XMR_BLOCK_LEN.indexOf(slice.length);\n const block = base58.decode(slice);\n for (let j = 0; j < block.length - blockLen; j++) {\n if (block[j] !== 0)\n throw new Error('base58xmr: wrong padding');\n }\n res = res.concat(Array.from(block.slice(block.length - blockLen)));\n }\n return Uint8Array.from(res);\n },\n};\n/**\n * Method, which creates base58check encoder.\n * Requires function, calculating sha256.\n */\nexport const createBase58check = (sha256) => chain(checksum(4, (data) => sha256(sha256(data))), base58);\n/**\n * Use `createBase58check` instead.\n * @deprecated\n */\nexport const base58check = createBase58check;\nconst BECH_ALPHABET = chain(alphabet('qpzry9x8gf2tvdw0s3jn54khce6mua7l'), join(''));\nconst POLYMOD_GENERATORS = [0x3b6a57b2, 0x26508e6d, 0x1ea119fa, 0x3d4233dd, 0x2a1462b3];\nfunction bech32Polymod(pre) {\n const b = pre >> 25;\n let chk = (pre & 0x1ffffff) << 5;\n for (let i = 0; i < POLYMOD_GENERATORS.length; i++) {\n if (((b >> i) & 1) === 1)\n chk ^= POLYMOD_GENERATORS[i];\n }\n return chk;\n}\nfunction bechChecksum(prefix, words, encodingConst = 1) {\n const len = prefix.length;\n let chk = 1;\n for (let i = 0; i < len; i++) {\n const c = prefix.charCodeAt(i);\n if (c < 33 || c > 126)\n throw new Error(`Invalid prefix (${prefix})`);\n chk = bech32Polymod(chk) ^ (c >> 5);\n }\n chk = bech32Polymod(chk);\n for (let i = 0; i < len; i++)\n chk = bech32Polymod(chk) ^ (prefix.charCodeAt(i) & 0x1f);\n for (let v of words)\n chk = bech32Polymod(chk) ^ v;\n for (let i = 0; i < 6; i++)\n chk = bech32Polymod(chk);\n chk ^= encodingConst;\n return BECH_ALPHABET.encode(convertRadix2([chk % powers[30]], 30, 5, false));\n}\n/**\n * @__NO_SIDE_EFFECTS__\n */\nfunction genBech32(encoding) {\n const ENCODING_CONST = encoding === 'bech32' ? 1 : 0x2bc830a3;\n const _words = radix2(5);\n const fromWords = _words.decode;\n const toWords = _words.encode;\n const fromWordsUnsafe = unsafeWrapper(fromWords);\n function encode(prefix, words, limit = 90) {\n astr('bech32.encode prefix', prefix);\n if (isBytes(words))\n words = Array.from(words);\n anumArr('bech32.encode', words);\n const plen = prefix.length;\n if (plen === 0)\n throw new TypeError(`Invalid prefix length ${plen}`);\n const actualLength = plen + 7 + words.length;\n if (limit !== false && actualLength > limit)\n throw new TypeError(`Length ${actualLength} exceeds limit ${limit}`);\n const lowered = prefix.toLowerCase();\n const sum = bechChecksum(lowered, words, ENCODING_CONST);\n return `${lowered}1${BECH_ALPHABET.encode(words)}${sum}`;\n }\n function decode(str, limit = 90) {\n astr('bech32.decode input', str);\n const slen = str.length;\n if (slen < 8 || (limit !== false && slen > limit))\n throw new TypeError(`invalid string length: ${slen} (${str}). Expected (8..${limit})`);\n // don't allow mixed case\n const lowered = str.toLowerCase();\n if (str !== lowered && str !== str.toUpperCase())\n throw new Error(`String must be lowercase or uppercase`);\n const sepIndex = lowered.lastIndexOf('1');\n if (sepIndex === 0 || sepIndex === -1)\n throw new Error(`Letter \"1\" must be present between prefix and data only`);\n const prefix = lowered.slice(0, sepIndex);\n const data = lowered.slice(sepIndex + 1);\n if (data.length < 6)\n throw new Error('Data must be at least 6 characters long');\n const words = BECH_ALPHABET.decode(data).slice(0, -6);\n const sum = bechChecksum(prefix, words, ENCODING_CONST);\n if (!data.endsWith(sum))\n throw new Error(`Invalid checksum in ${str}: expected \"${sum}\"`);\n return { prefix, words };\n }\n const decodeUnsafe = unsafeWrapper(decode);\n function decodeToBytes(str) {\n const { prefix, words } = decode(str, false);\n return { prefix, words, bytes: fromWords(words) };\n }\n function encodeFromBytes(prefix, bytes) {\n return encode(prefix, toWords(bytes));\n }\n return {\n encode,\n decode,\n encodeFromBytes,\n decodeToBytes,\n decodeUnsafe,\n fromWords,\n fromWordsUnsafe,\n toWords,\n };\n}\n/**\n * bech32 from BIP 173. Operates on words.\n * For high-level, check out scure-btc-signer:\n * https://github.com/paulmillr/scure-btc-signer.\n */\nexport const bech32 = genBech32('bech32');\n/**\n * bech32m from BIP 350. Operates on words.\n * It was to mitigate `bech32` weaknesses.\n * For high-level, check out scure-btc-signer:\n * https://github.com/paulmillr/scure-btc-signer.\n */\nexport const bech32m = genBech32('bech32m');\n/**\n * UTF-8-to-byte decoder. Uses built-in TextDecoder / TextEncoder.\n * @example\n * ```js\n * const b = utf8.decode(\"hey\"); // => new Uint8Array([ 104, 101, 121 ])\n * const str = utf8.encode(b); // \"hey\"\n * ```\n */\nexport const utf8 = {\n encode: (data) => new TextDecoder().decode(data),\n decode: (str) => new TextEncoder().encode(str),\n};\n// Built-in hex conversion https://caniuse.com/mdn-javascript_builtins_uint8array_fromhex\n// prettier-ignore\nconst hasHexBuiltin = /* @__PURE__ */ (() => typeof Uint8Array.from([]).toHex === 'function' &&\n typeof Uint8Array.fromHex === 'function')();\n// prettier-ignore\nconst hexBuiltin = {\n encode(data) { abytes(data); return data.toHex(); },\n decode(s) { astr('hex', s); return Uint8Array.fromHex(s); },\n};\n/**\n * hex string decoder. Uses built-in function, when available.\n * @example\n * ```js\n * const b = hex.decode(\"0102ff\"); // => new Uint8Array([ 1, 2, 255 ])\n * const str = hex.encode(b); // \"0102ff\"\n * ```\n */\nexport const hex = hasHexBuiltin\n ? hexBuiltin\n : chain(radix2(4), alphabet('0123456789abcdef'), join(''), normalize((s) => {\n if (typeof s !== 'string' || s.length % 2 !== 0)\n throw new TypeError(`hex.decode: expected string, got ${typeof s} with length ${s.length}`);\n return s.toLowerCase();\n }));\n// prettier-ignore\nconst CODERS = {\n utf8, hex, base16, base32, base64, base64url, base58, base58xmr\n};\nconst coderTypeError = 'Invalid encoding type. Available types: utf8, hex, base16, base32, base64, base64url, base58, base58xmr';\n/** @deprecated */\nexport const bytesToString = (type, bytes) => {\n if (typeof type !== 'string' || !CODERS.hasOwnProperty(type))\n throw new TypeError(coderTypeError);\n if (!isBytes(bytes))\n throw new TypeError('bytesToString() expects Uint8Array');\n return CODERS[type].encode(bytes);\n};\n/** @deprecated */\nexport const str = bytesToString; // as in python, but for bytes only\n/** @deprecated */\nexport const stringToBytes = (type, str) => {\n if (!CODERS.hasOwnProperty(type))\n throw new TypeError(coderTypeError);\n if (typeof str !== 'string')\n throw new TypeError('stringToBytes() expects string');\n return CODERS[type].decode(str);\n};\n/** @deprecated */\nexport const bytes = stringToBytes;\n//# sourceMappingURL=index.js.map","/**\n * Utilities for hex, bytes, CSPRNG.\n * @module\n */\n/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */\n/** Checks if something is Uint8Array. Be careful: nodejs Buffer will return true. */\nexport function isBytes(a) {\n return a instanceof Uint8Array || (ArrayBuffer.isView(a) && a.constructor.name === 'Uint8Array');\n}\n/** Asserts something is positive integer. */\nexport function anumber(n, title = '') {\n if (!Number.isSafeInteger(n) || n < 0) {\n const prefix = title && `\"${title}\" `;\n throw new Error(`${prefix}expected integer >= 0, got ${n}`);\n }\n}\n/** Asserts something is Uint8Array. */\nexport function abytes(value, length, title = '') {\n const bytes = isBytes(value);\n const len = value?.length;\n const needsLen = length !== undefined;\n if (!bytes || (needsLen && len !== length)) {\n const prefix = title && `\"${title}\" `;\n const ofLen = needsLen ? ` of length ${length}` : '';\n const got = bytes ? `length=${len}` : `type=${typeof value}`;\n throw new Error(prefix + 'expected Uint8Array' + ofLen + ', got ' + got);\n }\n return value;\n}\n/** Asserts something is hash */\nexport function ahash(h) {\n if (typeof h !== 'function' || typeof h.create !== 'function')\n throw new Error('Hash must wrapped by utils.createHasher');\n anumber(h.outputLen);\n anumber(h.blockLen);\n}\n/** Asserts a hash instance has not been destroyed / finished */\nexport function aexists(instance, checkFinished = true) {\n if (instance.destroyed)\n throw new Error('Hash instance has been destroyed');\n if (checkFinished && instance.finished)\n throw new Error('Hash#digest() has already been called');\n}\n/** Asserts output is properly-sized byte array */\nexport function aoutput(out, instance) {\n abytes(out, undefined, 'digestInto() output');\n const min = instance.outputLen;\n if (out.length < min) {\n throw new Error('\"digestInto() output\" expected to be of length >=' + min);\n }\n}\n/** Cast u8 / u16 / u32 to u8. */\nexport function u8(arr) {\n return new Uint8Array(arr.buffer, arr.byteOffset, arr.byteLength);\n}\n/** Cast u8 / u16 / u32 to u32. */\nexport function u32(arr) {\n return new Uint32Array(arr.buffer, arr.byteOffset, Math.floor(arr.byteLength / 4));\n}\n/** Zeroize a byte array. Warning: JS provides no guarantees. */\nexport function clean(...arrays) {\n for (let i = 0; i < arrays.length; i++) {\n arrays[i].fill(0);\n }\n}\n/** Create DataView of an array for easy byte-level manipulation. */\nexport function createView(arr) {\n return new DataView(arr.buffer, arr.byteOffset, arr.byteLength);\n}\n/** The rotate right (circular right shift) operation for uint32 */\nexport function rotr(word, shift) {\n return (word << (32 - shift)) | (word >>> shift);\n}\n/** The rotate left (circular left shift) operation for uint32 */\nexport function rotl(word, shift) {\n return (word << shift) | ((word >>> (32 - shift)) >>> 0);\n}\n/** Is current platform little-endian? Most are. Big-Endian platform: IBM */\nexport const isLE = /* @__PURE__ */ (() => new Uint8Array(new Uint32Array([0x11223344]).buffer)[0] === 0x44)();\n/** The byte swap operation for uint32 */\nexport function byteSwap(word) {\n return (((word << 24) & 0xff000000) |\n ((word << 8) & 0xff0000) |\n ((word >>> 8) & 0xff00) |\n ((word >>> 24) & 0xff));\n}\n/** Conditionally byte swap if on a big-endian platform */\nexport const swap8IfBE = isLE\n ? (n) => n\n : (n) => byteSwap(n);\n/** In place byte swap for Uint32Array */\nexport function byteSwap32(arr) {\n for (let i = 0; i < arr.length; i++) {\n arr[i] = byteSwap(arr[i]);\n }\n return arr;\n}\nexport const swap32IfBE = isLE\n ? (u) => u\n : byteSwap32;\n// Built-in hex conversion https://caniuse.com/mdn-javascript_builtins_uint8array_fromhex\nconst hasHexBuiltin = /* @__PURE__ */ (() => \n// @ts-ignore\ntypeof Uint8Array.from([]).toHex === 'function' && typeof Uint8Array.fromHex === 'function')();\n// Array where index 0xf0 (240) is mapped to string 'f0'\nconst hexes = /* @__PURE__ */ Array.from({ length: 256 }, (_, i) => i.toString(16).padStart(2, '0'));\n/**\n * Convert byte array to hex string. Uses built-in function, when available.\n * @example bytesToHex(Uint8Array.from([0xca, 0xfe, 0x01, 0x23])) // 'cafe0123'\n */\nexport function bytesToHex(bytes) {\n abytes(bytes);\n // @ts-ignore\n if (hasHexBuiltin)\n return bytes.toHex();\n // pre-caching improves the speed 6x\n let hex = '';\n for (let i = 0; i < bytes.length; i++) {\n hex += hexes[bytes[i]];\n }\n return hex;\n}\n// We use optimized technique to convert hex string to byte array\nconst asciis = { _0: 48, _9: 57, A: 65, F: 70, a: 97, f: 102 };\nfunction asciiToBase16(ch) {\n if (ch >= asciis._0 && ch <= asciis._9)\n return ch - asciis._0; // '2' => 50-48\n if (ch >= asciis.A && ch <= asciis.F)\n return ch - (asciis.A - 10); // 'B' => 66-(65-10)\n if (ch >= asciis.a && ch <= asciis.f)\n return ch - (asciis.a - 10); // 'b' => 98-(97-10)\n return;\n}\n/**\n * Convert hex string to byte array. Uses built-in function, when available.\n * @example hexToBytes('cafe0123') // Uint8Array.from([0xca, 0xfe, 0x01, 0x23])\n */\nexport function hexToBytes(hex) {\n if (typeof hex !== 'string')\n throw new Error('hex string expected, got ' + typeof hex);\n // @ts-ignore\n if (hasHexBuiltin)\n return Uint8Array.fromHex(hex);\n const hl = hex.length;\n const al = hl / 2;\n if (hl % 2)\n throw new Error('hex string expected, got unpadded hex of length ' + hl);\n const array = new Uint8Array(al);\n for (let ai = 0, hi = 0; ai < al; ai++, hi += 2) {\n const n1 = asciiToBase16(hex.charCodeAt(hi));\n const n2 = asciiToBase16(hex.charCodeAt(hi + 1));\n if (n1 === undefined || n2 === undefined) {\n const char = hex[hi] + hex[hi + 1];\n throw new Error('hex string expected, got non-hex character \"' + char + '\" at index ' + hi);\n }\n array[ai] = n1 * 16 + n2; // multiply first octet, e.g. 'a3' => 10*16+3 => 160 + 3 => 163\n }\n return array;\n}\n/**\n * There is no setImmediate in browser and setTimeout is slow.\n * Call of async fn will return Promise, which will be fullfiled only on\n * next scheduler queue processing step and this is exactly what we need.\n */\nexport const nextTick = async () => { };\n/** Returns control to thread each 'tick' ms to avoid blocking. */\nexport async function asyncLoop(iters, tick, cb) {\n let ts = Date.now();\n for (let i = 0; i < iters; i++) {\n cb(i);\n // Date.now() is not monotonic, so in case if clock goes backwards we return return control too\n const diff = Date.now() - ts;\n if (diff >= 0 && diff < tick)\n continue;\n await nextTick();\n ts += diff;\n }\n}\n/**\n * Converts string to bytes using UTF8 encoding.\n * Built-in doesn't validate input to be string: we do the check.\n * @example utf8ToBytes('abc') // Uint8Array.from([97, 98, 99])\n */\nexport function utf8ToBytes(str) {\n if (typeof str !== 'string')\n throw new Error('string expected');\n return new Uint8Array(new TextEncoder().encode(str)); // https://bugzil.la/1681809\n}\n/**\n * Helper for KDFs: consumes uint8array or string.\n * When string is passed, does utf8 decoding, using TextDecoder.\n */\nexport function kdfInputToBytes(data, errorTitle = '') {\n if (typeof data === 'string')\n return utf8ToBytes(data);\n return abytes(data, undefined, errorTitle);\n}\n/** Copies several Uint8Arrays into one. */\nexport function concatBytes(...arrays) {\n let sum = 0;\n for (let i = 0; i < arrays.length; i++) {\n const a = arrays[i];\n abytes(a);\n sum += a.length;\n }\n const res = new Uint8Array(sum);\n for (let i = 0, pad = 0; i < arrays.length; i++) {\n const a = arrays[i];\n res.set(a, pad);\n pad += a.length;\n }\n return res;\n}\n/** Merges default options and passed options. */\nexport function checkOpts(defaults, opts) {\n if (opts !== undefined && {}.toString.call(opts) !== '[object Object]')\n throw new Error('options must be object or undefined');\n const merged = Object.assign(defaults, opts);\n return merged;\n}\n/** Creates function with outputLen, blockLen, create properties from a class constructor. */\nexport function createHasher(hashCons, info = {}) {\n const hashC = (msg, opts) => hashCons(opts).update(msg).digest();\n const tmp = hashCons(undefined);\n hashC.outputLen = tmp.outputLen;\n hashC.blockLen = tmp.blockLen;\n hashC.create = (opts) => hashCons(opts);\n Object.assign(hashC, info);\n return Object.freeze(hashC);\n}\n/** Cryptographically secure PRNG. Uses internal OS-level `crypto.getRandomValues`. */\nexport function randomBytes(bytesLength = 32) {\n const cr = typeof globalThis === 'object' ? globalThis.crypto : null;\n if (typeof cr?.getRandomValues !== 'function')\n throw new Error('crypto.getRandomValues must be defined');\n return cr.getRandomValues(new Uint8Array(bytesLength));\n}\n/** Creates OID opts for NIST hashes, with prefix 06 09 60 86 48 01 65 03 04 02. */\nexport const oidNist = (suffix) => ({\n oid: Uint8Array.from([0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, suffix]),\n});\n//# sourceMappingURL=utils.js.map","/**\n * Internal helpers for blake hash.\n * @module\n */\nimport { rotr } from \"./utils.js\";\n/**\n * Internal blake variable.\n * For BLAKE2b, the two extra permutations for rounds 10 and 11 are SIGMA[10..11] = SIGMA[0..1].\n */\n// prettier-ignore\nexport const BSIGMA = /* @__PURE__ */ Uint8Array.from([\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,\n 14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3,\n 11, 8, 12, 0, 5, 2, 15, 13, 10, 14, 3, 6, 7, 1, 9, 4,\n 7, 9, 3, 1, 13, 12, 11, 14, 2, 6, 5, 10, 4, 0, 15, 8,\n 9, 0, 5, 7, 2, 4, 10, 15, 14, 1, 11, 12, 6, 8, 3, 13,\n 2, 12, 6, 10, 0, 11, 8, 3, 4, 13, 7, 5, 15, 14, 1, 9,\n 12, 5, 1, 15, 14, 13, 4, 10, 0, 7, 6, 3, 9, 2, 8, 11,\n 13, 11, 7, 14, 12, 1, 3, 9, 5, 0, 15, 4, 8, 6, 2, 10,\n 6, 15, 14, 9, 11, 3, 0, 8, 12, 2, 13, 7, 1, 4, 10, 5,\n 10, 2, 8, 4, 7, 6, 1, 5, 15, 11, 9, 14, 3, 12, 13, 0,\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,\n 14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3,\n // Blake1, unused in others\n 11, 8, 12, 0, 5, 2, 15, 13, 10, 14, 3, 6, 7, 1, 9, 4,\n 7, 9, 3, 1, 13, 12, 11, 14, 2, 6, 5, 10, 4, 0, 15, 8,\n 9, 0, 5, 7, 2, 4, 10, 15, 14, 1, 11, 12, 6, 8, 3, 13,\n 2, 12, 6, 10, 0, 11, 8, 3, 4, 13, 7, 5, 15, 14, 1, 9,\n]);\n// Mixing function G splitted in two halfs\nexport function G1s(a, b, c, d, x) {\n a = (a + b + x) | 0;\n d = rotr(d ^ a, 16);\n c = (c + d) | 0;\n b = rotr(b ^ c, 12);\n return { a, b, c, d };\n}\nexport function G2s(a, b, c, d, x) {\n a = (a + b + x) | 0;\n d = rotr(d ^ a, 8);\n c = (c + d) | 0;\n b = rotr(b ^ c, 7);\n return { a, b, c, d };\n}\n//# sourceMappingURL=_blake.js.map","/**\n * Internal helpers for u64. BigUint64Array is too slow as per 2025, so we implement it using Uint32Array.\n * @todo re-check https://issues.chromium.org/issues/42212588\n * @module\n */\nconst U32_MASK64 = /* @__PURE__ */ BigInt(2 ** 32 - 1);\nconst _32n = /* @__PURE__ */ BigInt(32);\nfunction fromBig(n, le = false) {\n if (le)\n return { h: Number(n & U32_MASK64), l: Number((n >> _32n) & U32_MASK64) };\n return { h: Number((n >> _32n) & U32_MASK64) | 0, l: Number(n & U32_MASK64) | 0 };\n}\nfunction split(lst, le = false) {\n const len = lst.length;\n let Ah = new Uint32Array(len);\n let Al = new Uint32Array(len);\n for (let i = 0; i < len; i++) {\n const { h, l } = fromBig(lst[i], le);\n [Ah[i], Al[i]] = [h, l];\n }\n return [Ah, Al];\n}\nconst toBig = (h, l) => (BigInt(h >>> 0) << _32n) | BigInt(l >>> 0);\n// for Shift in [0, 32)\nconst shrSH = (h, _l, s) => h >>> s;\nconst shrSL = (h, l, s) => (h << (32 - s)) | (l >>> s);\n// Right rotate for Shift in [1, 32)\nconst rotrSH = (h, l, s) => (h >>> s) | (l << (32 - s));\nconst rotrSL = (h, l, s) => (h << (32 - s)) | (l >>> s);\n// Right rotate for Shift in (32, 64), NOTE: 32 is special case.\nconst rotrBH = (h, l, s) => (h << (64 - s)) | (l >>> (s - 32));\nconst rotrBL = (h, l, s) => (h >>> (s - 32)) | (l << (64 - s));\n// Right rotate for shift===32 (just swaps l&h)\nconst rotr32H = (_h, l) => l;\nconst rotr32L = (h, _l) => h;\n// Left rotate for Shift in [1, 32)\nconst rotlSH = (h, l, s) => (h << s) | (l >>> (32 - s));\nconst rotlSL = (h, l, s) => (l << s) | (h >>> (32 - s));\n// Left rotate for Shift in (32, 64), NOTE: 32 is special case.\nconst rotlBH = (h, l, s) => (l << (s - 32)) | (h >>> (64 - s));\nconst rotlBL = (h, l, s) => (h << (s - 32)) | (l >>> (64 - s));\n// JS uses 32-bit signed integers for bitwise operations which means we cannot\n// simple take carry out of low bit sum by shift, we need to use division.\nfunction add(Ah, Al, Bh, Bl) {\n const l = (Al >>> 0) + (Bl >>> 0);\n return { h: (Ah + Bh + ((l / 2 ** 32) | 0)) | 0, l: l | 0 };\n}\n// Addition with more than 2 elements\nconst add3L = (Al, Bl, Cl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0);\nconst add3H = (low, Ah, Bh, Ch) => (Ah + Bh + Ch + ((low / 2 ** 32) | 0)) | 0;\nconst add4L = (Al, Bl, Cl, Dl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0);\nconst add4H = (low, Ah, Bh, Ch, Dh) => (Ah + Bh + Ch + Dh + ((low / 2 ** 32) | 0)) | 0;\nconst add5L = (Al, Bl, Cl, Dl, El) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0) + (El >>> 0);\nconst add5H = (low, Ah, Bh, Ch, Dh, Eh) => (Ah + Bh + Ch + Dh + Eh + ((low / 2 ** 32) | 0)) | 0;\n// prettier-ignore\nexport { add, add3H, add3L, add4H, add4L, add5H, add5L, fromBig, rotlBH, rotlBL, rotlSH, rotlSL, rotr32H, rotr32L, rotrBH, rotrBL, rotrSH, rotrSL, shrSH, shrSL, split, toBig };\n// prettier-ignore\nconst u64 = {\n fromBig, split, toBig,\n shrSH, shrSL,\n rotrSH, rotrSL, rotrBH, rotrBL,\n rotr32H, rotr32L,\n rotlSH, rotlSL, rotlBH, rotlBL,\n add, add3L, add3H, add4L, add4H, add5H, add5L,\n};\nexport default u64;\n//# sourceMappingURL=_u64.js.map","/**\n * blake2b (64-bit) & blake2s (8 to 32-bit) hash functions.\n * b could have been faster, but there is no fast u64 in js, so s is 1.5x faster.\n * @module\n */\nimport { BSIGMA, G1s, G2s } from \"./_blake.js\";\nimport { SHA256_IV } from \"./_md.js\";\nimport * as u64 from \"./_u64.js\";\n// prettier-ignore\nimport { abytes, aexists, anumber, aoutput, clean, createHasher, swap32IfBE, swap8IfBE, u32 } from \"./utils.js\";\n// Same as SHA512_IV, but swapped endianness: LE instead of BE. iv[1] is iv[0], etc.\nconst B2B_IV = /* @__PURE__ */ Uint32Array.from([\n 0xf3bcc908, 0x6a09e667, 0x84caa73b, 0xbb67ae85, 0xfe94f82b, 0x3c6ef372, 0x5f1d36f1, 0xa54ff53a,\n 0xade682d1, 0x510e527f, 0x2b3e6c1f, 0x9b05688c, 0xfb41bd6b, 0x1f83d9ab, 0x137e2179, 0x5be0cd19,\n]);\n// Temporary buffer\nconst BBUF = /* @__PURE__ */ new Uint32Array(32);\n// Mixing function G splitted in two halfs\nfunction G1b(a, b, c, d, msg, x) {\n // NOTE: V is LE here\n const Xl = msg[x], Xh = msg[x + 1]; // prettier-ignore\n let Al = BBUF[2 * a], Ah = BBUF[2 * a + 1]; // prettier-ignore\n let Bl = BBUF[2 * b], Bh = BBUF[2 * b + 1]; // prettier-ignore\n let Cl = BBUF[2 * c], Ch = BBUF[2 * c + 1]; // prettier-ignore\n let Dl = BBUF[2 * d], Dh = BBUF[2 * d + 1]; // prettier-ignore\n // v[a] = (v[a] + v[b] + x) | 0;\n let ll = u64.add3L(Al, Bl, Xl);\n Ah = u64.add3H(ll, Ah, Bh, Xh);\n Al = ll | 0;\n // v[d] = rotr(v[d] ^ v[a], 32)\n ({ Dh, Dl } = { Dh: Dh ^ Ah, Dl: Dl ^ Al });\n ({ Dh, Dl } = { Dh: u64.rotr32H(Dh, Dl), Dl: u64.rotr32L(Dh, Dl) });\n // v[c] = (v[c] + v[d]) | 0;\n ({ h: Ch, l: Cl } = u64.add(Ch, Cl, Dh, Dl));\n // v[b] = rotr(v[b] ^ v[c], 24)\n ({ Bh, Bl } = { Bh: Bh ^ Ch, Bl: Bl ^ Cl });\n ({ Bh, Bl } = { Bh: u64.rotrSH(Bh, Bl, 24), Bl: u64.rotrSL(Bh, Bl, 24) });\n ((BBUF[2 * a] = Al), (BBUF[2 * a + 1] = Ah));\n ((BBUF[2 * b] = Bl), (BBUF[2 * b + 1] = Bh));\n ((BBUF[2 * c] = Cl), (BBUF[2 * c + 1] = Ch));\n ((BBUF[2 * d] = Dl), (BBUF[2 * d + 1] = Dh));\n}\nfunction G2b(a, b, c, d, msg, x) {\n // NOTE: V is LE here\n const Xl = msg[x], Xh = msg[x + 1]; // prettier-ignore\n let Al = BBUF[2 * a], Ah = BBUF[2 * a + 1]; // prettier-ignore\n let Bl = BBUF[2 * b], Bh = BBUF[2 * b + 1]; // prettier-ignore\n let Cl = BBUF[2 * c], Ch = BBUF[2 * c + 1]; // prettier-ignore\n let Dl = BBUF[2 * d], Dh = BBUF[2 * d + 1]; // prettier-ignore\n // v[a] = (v[a] + v[b] + x) | 0;\n let ll = u64.add3L(Al, Bl, Xl);\n Ah = u64.add3H(ll, Ah, Bh, Xh);\n Al = ll | 0;\n // v[d] = rotr(v[d] ^ v[a], 16)\n ({ Dh, Dl } = { Dh: Dh ^ Ah, Dl: Dl ^ Al });\n ({ Dh, Dl } = { Dh: u64.rotrSH(Dh, Dl, 16), Dl: u64.rotrSL(Dh, Dl, 16) });\n // v[c] = (v[c] + v[d]) | 0;\n ({ h: Ch, l: Cl } = u64.add(Ch, Cl, Dh, Dl));\n // v[b] = rotr(v[b] ^ v[c], 63)\n ({ Bh, Bl } = { Bh: Bh ^ Ch, Bl: Bl ^ Cl });\n ({ Bh, Bl } = { Bh: u64.rotrBH(Bh, Bl, 63), Bl: u64.rotrBL(Bh, Bl, 63) });\n ((BBUF[2 * a] = Al), (BBUF[2 * a + 1] = Ah));\n ((BBUF[2 * b] = Bl), (BBUF[2 * b + 1] = Bh));\n ((BBUF[2 * c] = Cl), (BBUF[2 * c + 1] = Ch));\n ((BBUF[2 * d] = Dl), (BBUF[2 * d + 1] = Dh));\n}\nfunction checkBlake2Opts(outputLen, opts = {}, keyLen, saltLen, persLen) {\n anumber(keyLen);\n if (outputLen < 0 || outputLen > keyLen)\n throw new Error('outputLen bigger than keyLen');\n const { key, salt, personalization } = opts;\n if (key !== undefined && (key.length < 1 || key.length > keyLen))\n throw new Error('\"key\" expected to be undefined or of length=1..' + keyLen);\n if (salt !== undefined)\n abytes(salt, saltLen, 'salt');\n if (personalization !== undefined)\n abytes(personalization, persLen, 'personalization');\n}\n/** Internal base class for BLAKE2. */\nexport class _BLAKE2 {\n buffer;\n buffer32;\n finished = false;\n destroyed = false;\n length = 0;\n pos = 0;\n blockLen;\n outputLen;\n constructor(blockLen, outputLen) {\n anumber(blockLen);\n anumber(outputLen);\n this.blockLen = blockLen;\n this.outputLen = outputLen;\n this.buffer = new Uint8Array(blockLen);\n this.buffer32 = u32(this.buffer);\n }\n update(data) {\n aexists(this);\n abytes(data);\n // Main difference with other hashes: there is flag for last block,\n // so we cannot process current block before we know that there\n // is the next one. This significantly complicates logic and reduces ability\n // to do zero-copy processing\n const { blockLen, buffer, buffer32 } = this;\n const len = data.length;\n const offset = data.byteOffset;\n const buf = data.buffer;\n for (let pos = 0; pos < len;) {\n // If buffer is full and we still have input (don't process last block, same as blake2s)\n if (this.pos === blockLen) {\n swap32IfBE(buffer32);\n this.compress(buffer32, 0, false);\n swap32IfBE(buffer32);\n this.pos = 0;\n }\n const take = Math.min(blockLen - this.pos, len - pos);\n const dataOffset = offset + pos;\n // full block && aligned to 4 bytes && not last in input\n if (take === blockLen && !(dataOffset % 4) && pos + take < len) {\n const data32 = new Uint32Array(buf, dataOffset, Math.floor((len - pos) / 4));\n swap32IfBE(data32);\n for (let pos32 = 0; pos + blockLen < len; pos32 += buffer32.length, pos += blockLen) {\n this.length += blockLen;\n this.compress(data32, pos32, false);\n }\n swap32IfBE(data32);\n continue;\n }\n buffer.set(data.subarray(pos, pos + take), this.pos);\n this.pos += take;\n this.length += take;\n pos += take;\n }\n return this;\n }\n digestInto(out) {\n aexists(this);\n aoutput(out, this);\n const { pos, buffer32 } = this;\n this.finished = true;\n // Padding\n clean(this.buffer.subarray(pos));\n swap32IfBE(buffer32);\n this.compress(buffer32, 0, true);\n swap32IfBE(buffer32);\n const out32 = u32(out);\n this.get().forEach((v, i) => (out32[i] = swap8IfBE(v)));\n }\n digest() {\n const { buffer, outputLen } = this;\n this.digestInto(buffer);\n const res = buffer.slice(0, outputLen);\n this.destroy();\n return res;\n }\n _cloneInto(to) {\n const { buffer, length, finished, destroyed, outputLen, pos } = this;\n to ||= new this.constructor({ dkLen: outputLen });\n to.set(...this.get());\n to.buffer.set(buffer);\n to.destroyed = destroyed;\n to.finished = finished;\n to.length = length;\n to.pos = pos;\n // @ts-ignore\n to.outputLen = outputLen;\n return to;\n }\n clone() {\n return this._cloneInto();\n }\n}\n/** Internal blake2b hash class. */\nexport class _BLAKE2b extends _BLAKE2 {\n // Same as SHA-512, but LE\n v0l = B2B_IV[0] | 0;\n v0h = B2B_IV[1] | 0;\n v1l = B2B_IV[2] | 0;\n v1h = B2B_IV[3] | 0;\n v2l = B2B_IV[4] | 0;\n v2h = B2B_IV[5] | 0;\n v3l = B2B_IV[6] | 0;\n v3h = B2B_IV[7] | 0;\n v4l = B2B_IV[8] | 0;\n v4h = B2B_IV[9] | 0;\n v5l = B2B_IV[10] | 0;\n v5h = B2B_IV[11] | 0;\n v6l = B2B_IV[12] | 0;\n v6h = B2B_IV[13] | 0;\n v7l = B2B_IV[14] | 0;\n v7h = B2B_IV[15] | 0;\n constructor(opts = {}) {\n const olen = opts.dkLen === undefined ? 64 : opts.dkLen;\n super(128, olen);\n checkBlake2Opts(olen, opts, 64, 16, 16);\n let { key, personalization, salt } = opts;\n let keyLength = 0;\n if (key !== undefined) {\n abytes(key, undefined, 'key');\n keyLength = key.length;\n }\n this.v0l ^= this.outputLen | (keyLength << 8) | (0x01 << 16) | (0x01 << 24);\n if (salt !== undefined) {\n abytes(salt, undefined, 'salt');\n const slt = u32(salt);\n this.v4l ^= swap8IfBE(slt[0]);\n this.v4h ^= swap8IfBE(slt[1]);\n this.v5l ^= swap8IfBE(slt[2]);\n this.v5h ^= swap8IfBE(slt[3]);\n }\n if (personalization !== undefined) {\n abytes(personalization, undefined, 'personalization');\n const pers = u32(personalization);\n this.v6l ^= swap8IfBE(pers[0]);\n this.v6h ^= swap8IfBE(pers[1]);\n this.v7l ^= swap8IfBE(pers[2]);\n this.v7h ^= swap8IfBE(pers[3]);\n }\n if (key !== undefined) {\n // Pad to blockLen and update\n const tmp = new Uint8Array(this.blockLen);\n tmp.set(key);\n this.update(tmp);\n }\n }\n // prettier-ignore\n get() {\n let { v0l, v0h, v1l, v1h, v2l, v2h, v3l, v3h, v4l, v4h, v5l, v5h, v6l, v6h, v7l, v7h } = this;\n return [v0l, v0h, v1l, v1h, v2l, v2h, v3l, v3h, v4l, v4h, v5l, v5h, v6l, v6h, v7l, v7h];\n }\n // prettier-ignore\n set(v0l, v0h, v1l, v1h, v2l, v2h, v3l, v3h, v4l, v4h, v5l, v5h, v6l, v6h, v7l, v7h) {\n this.v0l = v0l | 0;\n this.v0h = v0h | 0;\n this.v1l = v1l | 0;\n this.v1h = v1h | 0;\n this.v2l = v2l | 0;\n this.v2h = v2h | 0;\n this.v3l = v3l | 0;\n this.v3h = v3h | 0;\n this.v4l = v4l | 0;\n this.v4h = v4h | 0;\n this.v5l = v5l | 0;\n this.v5h = v5h | 0;\n this.v6l = v6l | 0;\n this.v6h = v6h | 0;\n this.v7l = v7l | 0;\n this.v7h = v7h | 0;\n }\n compress(msg, offset, isLast) {\n this.get().forEach((v, i) => (BBUF[i] = v)); // First half from state.\n BBUF.set(B2B_IV, 16); // Second half from IV.\n let { h, l } = u64.fromBig(BigInt(this.length));\n BBUF[24] = B2B_IV[8] ^ l; // Low word of the offset.\n BBUF[25] = B2B_IV[9] ^ h; // High word.\n // Invert all bits for last block\n if (isLast) {\n BBUF[28] = ~BBUF[28];\n BBUF[29] = ~BBUF[29];\n }\n let j = 0;\n const s = BSIGMA;\n for (let i = 0; i < 12; i++) {\n G1b(0, 4, 8, 12, msg, offset + 2 * s[j++]);\n G2b(0, 4, 8, 12, msg, offset + 2 * s[j++]);\n G1b(1, 5, 9, 13, msg, offset + 2 * s[j++]);\n G2b(1, 5, 9, 13, msg, offset + 2 * s[j++]);\n G1b(2, 6, 10, 14, msg, offset + 2 * s[j++]);\n G2b(2, 6, 10, 14, msg, offset + 2 * s[j++]);\n G1b(3, 7, 11, 15, msg, offset + 2 * s[j++]);\n G2b(3, 7, 11, 15, msg, offset + 2 * s[j++]);\n G1b(0, 5, 10, 15, msg, offset + 2 * s[j++]);\n G2b(0, 5, 10, 15, msg, offset + 2 * s[j++]);\n G1b(1, 6, 11, 12, msg, offset + 2 * s[j++]);\n G2b(1, 6, 11, 12, msg, offset + 2 * s[j++]);\n G1b(2, 7, 8, 13, msg, offset + 2 * s[j++]);\n G2b(2, 7, 8, 13, msg, offset + 2 * s[j++]);\n G1b(3, 4, 9, 14, msg, offset + 2 * s[j++]);\n G2b(3, 4, 9, 14, msg, offset + 2 * s[j++]);\n }\n this.v0l ^= BBUF[0] ^ BBUF[16];\n this.v0h ^= BBUF[1] ^ BBUF[17];\n this.v1l ^= BBUF[2] ^ BBUF[18];\n this.v1h ^= BBUF[3] ^ BBUF[19];\n this.v2l ^= BBUF[4] ^ BBUF[20];\n this.v2h ^= BBUF[5] ^ BBUF[21];\n this.v3l ^= BBUF[6] ^ BBUF[22];\n this.v3h ^= BBUF[7] ^ BBUF[23];\n this.v4l ^= BBUF[8] ^ BBUF[24];\n this.v4h ^= BBUF[9] ^ BBUF[25];\n this.v5l ^= BBUF[10] ^ BBUF[26];\n this.v5h ^= BBUF[11] ^ BBUF[27];\n this.v6l ^= BBUF[12] ^ BBUF[28];\n this.v6h ^= BBUF[13] ^ BBUF[29];\n this.v7l ^= BBUF[14] ^ BBUF[30];\n this.v7h ^= BBUF[15] ^ BBUF[31];\n clean(BBUF);\n }\n destroy() {\n this.destroyed = true;\n clean(this.buffer32);\n this.set(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);\n }\n}\n/**\n * Blake2b hash function. 64-bit. 1.5x slower than blake2s in JS.\n * @param msg - message that would be hashed\n * @param opts - dkLen output length, key for MAC mode, salt, personalization\n */\nexport const blake2b = /* @__PURE__ */ createHasher((opts) => new _BLAKE2b(opts));\n/** BLAKE2-compress core method. */\n// prettier-ignore\nexport function compress(s, offset, msg, rounds, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15) {\n let j = 0;\n for (let i = 0; i < rounds; i++) {\n ({ a: v0, b: v4, c: v8, d: v12 } = G1s(v0, v4, v8, v12, msg[offset + s[j++]]));\n ({ a: v0, b: v4, c: v8, d: v12 } = G2s(v0, v4, v8, v12, msg[offset + s[j++]]));\n ({ a: v1, b: v5, c: v9, d: v13 } = G1s(v1, v5, v9, v13, msg[offset + s[j++]]));\n ({ a: v1, b: v5, c: v9, d: v13 } = G2s(v1, v5, v9, v13, msg[offset + s[j++]]));\n ({ a: v2, b: v6, c: v10, d: v14 } = G1s(v2, v6, v10, v14, msg[offset + s[j++]]));\n ({ a: v2, b: v6, c: v10, d: v14 } = G2s(v2, v6, v10, v14, msg[offset + s[j++]]));\n ({ a: v3, b: v7, c: v11, d: v15 } = G1s(v3, v7, v11, v15, msg[offset + s[j++]]));\n ({ a: v3, b: v7, c: v11, d: v15 } = G2s(v3, v7, v11, v15, msg[offset + s[j++]]));\n ({ a: v0, b: v5, c: v10, d: v15 } = G1s(v0, v5, v10, v15, msg[offset + s[j++]]));\n ({ a: v0, b: v5, c: v10, d: v15 } = G2s(v0, v5, v10, v15, msg[offset + s[j++]]));\n ({ a: v1, b: v6, c: v11, d: v12 } = G1s(v1, v6, v11, v12, msg[offset + s[j++]]));\n ({ a: v1, b: v6, c: v11, d: v12 } = G2s(v1, v6, v11, v12, msg[offset + s[j++]]));\n ({ a: v2, b: v7, c: v8, d: v13 } = G1s(v2, v7, v8, v13, msg[offset + s[j++]]));\n ({ a: v2, b: v7, c: v8, d: v13 } = G2s(v2, v7, v8, v13, msg[offset + s[j++]]));\n ({ a: v3, b: v4, c: v9, d: v14 } = G1s(v3, v4, v9, v14, msg[offset + s[j++]]));\n ({ a: v3, b: v4, c: v9, d: v14 } = G2s(v3, v4, v9, v14, msg[offset + s[j++]]));\n }\n return { v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15 };\n}\nconst B2S_IV = /* @__PURE__ */ SHA256_IV.slice();\n/** Internal blake2s hash class. */\nexport class _BLAKE2s extends _BLAKE2 {\n // Internal state, same as SHA-256\n v0 = B2S_IV[0] | 0;\n v1 = B2S_IV[1] | 0;\n v2 = B2S_IV[2] | 0;\n v3 = B2S_IV[3] | 0;\n v4 = B2S_IV[4] | 0;\n v5 = B2S_IV[5] | 0;\n v6 = B2S_IV[6] | 0;\n v7 = B2S_IV[7] | 0;\n constructor(opts = {}) {\n const olen = opts.dkLen === undefined ? 32 : opts.dkLen;\n super(64, olen);\n checkBlake2Opts(olen, opts, 32, 8, 8);\n let { key, personalization, salt } = opts;\n let keyLength = 0;\n if (key !== undefined) {\n abytes(key, undefined, 'key');\n keyLength = key.length;\n }\n this.v0 ^= this.outputLen | (keyLength << 8) | (0x01 << 16) | (0x01 << 24);\n if (salt !== undefined) {\n abytes(salt, undefined, 'salt');\n const slt = u32(salt);\n this.v4 ^= swap8IfBE(slt[0]);\n this.v5 ^= swap8IfBE(slt[1]);\n }\n if (personalization !== undefined) {\n abytes(personalization, undefined, 'personalization');\n const pers = u32(personalization);\n this.v6 ^= swap8IfBE(pers[0]);\n this.v7 ^= swap8IfBE(pers[1]);\n }\n if (key !== undefined) {\n // Pad to blockLen and update\n const tmp = new Uint8Array(this.blockLen);\n tmp.set(key);\n this.update(tmp);\n }\n }\n get() {\n const { v0, v1, v2, v3, v4, v5, v6, v7 } = this;\n return [v0, v1, v2, v3, v4, v5, v6, v7];\n }\n // prettier-ignore\n set(v0, v1, v2, v3, v4, v5, v6, v7) {\n this.v0 = v0 | 0;\n this.v1 = v1 | 0;\n this.v2 = v2 | 0;\n this.v3 = v3 | 0;\n this.v4 = v4 | 0;\n this.v5 = v5 | 0;\n this.v6 = v6 | 0;\n this.v7 = v7 | 0;\n }\n compress(msg, offset, isLast) {\n const { h, l } = u64.fromBig(BigInt(this.length));\n // prettier-ignore\n const { v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15 } = compress(BSIGMA, offset, msg, 10, this.v0, this.v1, this.v2, this.v3, this.v4, this.v5, this.v6, this.v7, B2S_IV[0], B2S_IV[1], B2S_IV[2], B2S_IV[3], l ^ B2S_IV[4], h ^ B2S_IV[5], isLast ? ~B2S_IV[6] : B2S_IV[6], B2S_IV[7]);\n this.v0 ^= v0 ^ v8;\n this.v1 ^= v1 ^ v9;\n this.v2 ^= v2 ^ v10;\n this.v3 ^= v3 ^ v11;\n this.v4 ^= v4 ^ v12;\n this.v5 ^= v5 ^ v13;\n this.v6 ^= v6 ^ v14;\n this.v7 ^= v7 ^ v15;\n }\n destroy() {\n this.destroyed = true;\n clean(this.buffer32);\n this.set(0, 0, 0, 0, 0, 0, 0, 0);\n }\n}\n/**\n * Blake2s hash function. Focuses on 8-bit to 32-bit platforms. 1.5x faster than blake2b in JS.\n * @param msg - message that would be hashed\n * @param opts - dkLen output length, key for MAC mode, salt, personalization\n */\nexport const blake2s = /* @__PURE__ */ createHasher((opts) => new _BLAKE2s(opts));\n//# sourceMappingURL=blake2.js.map","import { base58 } from '@scure/base';\nimport { blake2b } from '@noble/hashes/blake2.js';\n\nconst SS58_PREFIX = new TextEncoder().encode(\"SS58PRE\");\nconst CHECKSUM_LENGTH = 2;\nconst getSs58AddressInfo = (address) => {\n try {\n const decoded = base58.decode(address);\n const prefixBytes = decoded.subarray(0, decoded[0] & 64 ? 2 : 1);\n const publicKey = decoded.subarray(\n prefixBytes.length,\n decoded.length - CHECKSUM_LENGTH\n );\n const checksum = decoded.subarray(prefixBytes.length + publicKey.length);\n const expectedChecksum = blake2b(\n Uint8Array.of(...SS58_PREFIX, ...prefixBytes, ...publicKey),\n {\n dkLen: 64\n }\n ).subarray(0, CHECKSUM_LENGTH);\n const isChecksumValid = checksum[0] === expectedChecksum[0] && checksum[1] === expectedChecksum[1];\n if (!isChecksumValid) return { isValid: false };\n return {\n isValid: true,\n ss58Format: prefixBytesToNumber(prefixBytes),\n publicKey: publicKey.slice()\n };\n } catch (_) {\n return { isValid: false };\n }\n};\nconst prefixBytesToNumber = (bytes) => {\n const dv = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);\n return dv.byteLength === 1 ? dv.getUint8(0) : dv.getUint16(0);\n};\nconst withSs58Cache = (fn) => {\n let cache = {};\n let activityCount = 0;\n let latestCount = 0;\n const checkActivity = () => {\n if (activityCount === latestCount) {\n cache = {};\n activityCount = latestCount = 0;\n } else {\n latestCount = activityCount;\n setTimeout(checkActivity, 0);\n }\n };\n return (publicKey) => {\n var _a, _b;\n if (++activityCount === 1) checkActivity();\n let entry = cache;\n const lastIdx = publicKey.length - 1;\n for (let i = 0; i <= lastIdx; i++) entry = entry[_a = publicKey[i]] || (entry[_a] = {});\n return entry[_b = publicKey[lastIdx]] || (entry[_b] = fn(publicKey));\n };\n};\nconst fromBufferToBase58 = (ss58Format) => {\n const prefixBytes = ss58Format < 64 ? Uint8Array.of(ss58Format) : Uint8Array.of(\n (ss58Format & 252) >> 2 | 64,\n ss58Format >> 8 | (ss58Format & 3) << 6\n );\n return withSs58Cache((publicKey) => {\n const checksum = blake2b(\n Uint8Array.of(...SS58_PREFIX, ...prefixBytes, ...publicKey),\n {\n dkLen: 64\n }\n ).subarray(0, CHECKSUM_LENGTH);\n return base58.encode(\n Uint8Array.of(...prefixBytes, ...publicKey, ...checksum)\n );\n });\n};\n\nexport { fromBufferToBase58, getSs58AddressInfo };\n//# sourceMappingURL=ss58-util.mjs.map\n","import { enhanceCodec, Bytes } from 'scale-ts';\nimport { fromBufferToBase58, getSs58AddressInfo } from '../../utils/ss58-util.mjs';\n\nfunction fromBase58ToBuffer(nBytes, _ss58Format) {\n return (address) => {\n const info = getSs58AddressInfo(address);\n if (!info.isValid) throw new Error(\"Invalid checksum\");\n const { publicKey } = info;\n if (publicKey.length !== nBytes)\n throw new Error(\"Invalid public key length\");\n return publicKey;\n };\n}\nconst AccountId = (ss58Format = 42, nBytes = 32) => enhanceCodec(\n Bytes(nBytes),\n fromBase58ToBuffer(nBytes),\n fromBufferToBase58(ss58Format)\n);\n\nexport { AccountId };\n//# sourceMappingURL=AccountId.mjs.map\n","import { Tuple, compact, Bytes, createCodec } from 'scale-ts';\nimport { fromHex, toHex, mergeUint8 } from '@polkadot-api/utils';\nimport { AccountId } from './AccountId.mjs';\n\nvar __defProp = Object.defineProperty;\nvar __typeError = (msg) => {\n throw TypeError(msg);\n};\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\nvar __accessCheck = (obj, member, msg) => member.has(obj) || __typeError(\"Cannot \" + msg);\nvar __privateGet = (obj, member, getter) => (__accessCheck(obj, member, \"read from private field\"), getter ? getter.call(obj) : member.get(obj));\nvar __privateAdd = (obj, member, value) => member.has(obj) ? __typeError(\"Cannot add the same private member more than once\") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\nvar __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, \"write to private field\"), member.set(obj, value), value);\nvar _bytes, _opaqueBytes, _hex, _opaqueHex, _str;\nconst textEncoder$3 = new TextEncoder();\nconst textDecoder$2 = new TextDecoder();\nconst opaqueBytesDec = Tuple(compact, Bytes(Infinity))[1];\nclass Binary {\n constructor(data, opaque = false) {\n __privateAdd(this, _bytes);\n __privateAdd(this, _opaqueBytes, null);\n __privateAdd(this, _hex, null);\n __privateAdd(this, _opaqueHex, null);\n __privateAdd(this, _str, null);\n __publicField(this, \"asText\", () => __privateGet(this, _str) ?? __privateSet(this, _str, textDecoder$2.decode(__privateGet(this, _bytes))));\n __publicField(this, \"asHex\", () => __privateGet(this, _hex) ?? __privateSet(this, _hex, toHex(__privateGet(this, _bytes))));\n __publicField(this, \"asOpaqueHex\", () => __privateGet(this, _opaqueHex) ?? __privateSet(this, _opaqueHex, toHex(this.asOpaqueBytes())));\n __publicField(this, \"asBytes\", () => __privateGet(this, _bytes));\n __publicField(this, \"asOpaqueBytes\", () => __privateGet(this, _opaqueBytes) ?? __privateSet(this, _opaqueBytes, mergeUint8([\n compact[0](__privateGet(this, _bytes).length),\n __privateGet(this, _bytes)\n ])));\n if (opaque) {\n try {\n const [len, bytes] = opaqueBytesDec(data);\n if (len === bytes.length) {\n __privateSet(this, _bytes, bytes);\n __privateSet(this, _opaqueBytes, data);\n return;\n }\n } catch (_) {\n }\n throw new Error(\"Invalid opaque bytes\");\n } else __privateSet(this, _bytes, data);\n }\n static fromText(input) {\n return new this(textEncoder$3.encode(input));\n }\n static fromHex(input) {\n return new this(fromHex(input));\n }\n static fromOpaqueHex(input) {\n return new this(fromHex(input), true);\n }\n static fromBytes(input) {\n return new this(input);\n }\n static fromOpaqueBytes(input) {\n return new this(input, true);\n }\n}\n_bytes = new WeakMap();\n_opaqueBytes = new WeakMap();\n_hex = new WeakMap();\n_opaqueHex = new WeakMap();\n_str = new WeakMap();\nconst [accountIdEncoder] = AccountId();\nclass FixedSizeBinary extends Binary {\n constructor(data) {\n super(data);\n }\n static fromArray(input) {\n return new this(new Uint8Array(input));\n }\n static fromAccountId32(input) {\n return new this(accountIdEncoder(input));\n }\n}\nconst enc$2 = (nBytes) => {\n const _enc = Bytes.enc(nBytes);\n return (value) => _enc(value.asBytes());\n};\nconst dec$2 = (nBytes) => {\n const _dec = Bytes.dec(nBytes);\n const Bin2 = nBytes == null ? Binary : FixedSizeBinary;\n return (value) => Bin2.fromBytes(_dec(value));\n};\nconst Bin = (nBytes) => createCodec(enc$2(nBytes), dec$2(nBytes));\nBin.enc = enc$2;\nBin.dec = dec$2;\n\nexport { Bin, Binary, FixedSizeBinary };\n//# sourceMappingURL=Binary.mjs.map\n","import { enhanceCodec, compact } from 'scale-ts';\n\nconst compactNumber = enhanceCodec(compact, (v) => v, Number);\nconst compactBn = enhanceCodec(compact, (v) => v, BigInt);\n\nexport { compactBn, compactNumber };\n//# sourceMappingURL=compact.mjs.map\n","import { fromHex, toHex } from '@polkadot-api/utils';\nimport { createCodec, Bytes } from 'scale-ts';\n\nconst enc$1 = (nBytes) => {\n const _enc = Bytes.enc(nBytes);\n return (value) => _enc(fromHex(value));\n};\nconst dec$1 = (nBytes) => {\n const _dec = Bytes.dec(nBytes);\n return (value) => toHex(_dec(value));\n};\nconst Hex = (nBytes) => createCodec(enc$1(nBytes), dec$1(nBytes));\nHex.enc = enc$1;\nHex.dec = dec$1;\n\nexport { Hex };\n//# sourceMappingURL=Hex.mjs.map\n","import { Vector, str } from 'scale-ts';\n\nconst docs = Vector(str);\n\nexport { docs };\n//# sourceMappingURL=docs.mjs.map\n","import { compactNumber } from '../scale/compact.mjs';\nimport { Option, str, Enum, _void, Vector, Struct, u32, u8 } from 'scale-ts';\nimport { docs } from './docs.mjs';\n\nconst oStr = Option(str);\nconst primitive = Enum({\n bool: _void,\n char: _void,\n str: _void,\n u8: _void,\n u16: _void,\n u32: _void,\n u64: _void,\n u128: _void,\n u256: _void,\n i8: _void,\n i16: _void,\n i32: _void,\n i64: _void,\n i128: _void,\n i256: _void\n});\nconst fields = Vector(\n Struct({\n name: oStr,\n type: compactNumber,\n typeName: oStr,\n docs\n })\n);\nconst arr = Struct({\n len: u32,\n type: compactNumber\n});\nconst bitSequence = Struct({\n bitStoreType: compactNumber,\n bitOrderType: compactNumber\n});\nconst variant = Vector(\n Struct({\n name: str,\n fields,\n index: u8,\n docs\n })\n);\nconst def = Enum({\n composite: fields,\n variant,\n sequence: compactNumber,\n array: arr,\n tuple: Vector(compactNumber),\n primitive,\n compact: compactNumber,\n bitSequence\n});\nconst param = Struct({\n name: str,\n type: Option(compactNumber)\n});\nconst params = Vector(param);\nconst entry = Struct({\n id: compactNumber,\n path: docs,\n params,\n def,\n docs\n});\nconst lookup = Vector(entry);\n\nexport { lookup };\n//# sourceMappingURL=lookup.mjs.map\n","import { Enum, _void, Struct, str, Option, Vector, u8 } from 'scale-ts';\n\nconst itemDeprecation = Enum({\n NotDeprecated: _void,\n DeprecatedWithoutNote: _void,\n Deprecated: Struct({\n note: str,\n since: Option(str)\n })\n});\nconst variantDeprecation = Vector(\n Struct({\n index: u8,\n deprecation: Enum(\n {\n DeprecatedWithoutNote: _void,\n Deprecated: Struct({\n note: str,\n since: Option(str)\n })\n },\n [1, 2]\n )\n })\n);\n\nexport { itemDeprecation, variantDeprecation };\n//# sourceMappingURL=deprecation.mjs.map\n","import { Vector, Struct, str } from 'scale-ts';\nimport { docs } from './docs.mjs';\nimport '../../utils/ss58-util.mjs';\nimport '../scale/Binary.mjs';\nimport '../scale/bitSequence.mjs';\nimport '../scale/char.mjs';\nimport { compactNumber } from '../scale/compact.mjs';\nimport { Hex } from '../scale/Hex.mjs';\nimport '../scale/fixed-str.mjs';\nimport '../scale/Variant.mjs';\nimport '../scale/ethAccount.mjs';\nimport '../scale/shaped.mjs';\nimport '../scale/BitSeq.mjs';\nimport { itemDeprecation } from './deprecation.mjs';\n\nconst runtimeApiMethod = {\n name: str,\n inputs: Vector(\n Struct({\n name: str,\n type: compactNumber\n })\n ),\n output: compactNumber,\n docs\n};\nconst runtimeApiV15 = Struct({\n name: str,\n methods: Vector(Struct(runtimeApiMethod)),\n docs\n});\nconst runtimeApi = Struct({\n name: str,\n methods: Vector(\n Struct({ ...runtimeApiMethod, deprecationInfo: itemDeprecation })\n ),\n docs,\n version: compactNumber,\n deprecationInfo: itemDeprecation\n});\nconst viewFunction = Struct({\n id: Hex(32),\n ...runtimeApiMethod,\n deprecationInfo: itemDeprecation\n});\n\nexport { runtimeApi, runtimeApiMethod, runtimeApiV15, viewFunction };\n//# sourceMappingURL=runtime-api.mjs.map\n","import { Enum, _void, Vector, Struct, Option, str, u8 } from 'scale-ts';\nimport '../../utils/ss58-util.mjs';\nimport '../scale/Binary.mjs';\nimport '../scale/bitSequence.mjs';\nimport '../scale/char.mjs';\nimport { compactNumber } from '../scale/compact.mjs';\nimport { Hex } from '../scale/Hex.mjs';\nimport '../scale/fixed-str.mjs';\nimport '../scale/Variant.mjs';\nimport '../scale/ethAccount.mjs';\nimport '../scale/shaped.mjs';\nimport '../scale/BitSeq.mjs';\nimport { docs } from './docs.mjs';\nimport { variantDeprecation, itemDeprecation } from './deprecation.mjs';\nimport { viewFunction } from './runtime-api.mjs';\n\nconst hashType = Enum({\n Blake2128: _void,\n Blake2256: _void,\n Blake2128Concat: _void,\n Twox128: _void,\n Twox256: _void,\n Twox64Concat: _void,\n Identity: _void\n});\nconst hashers$1 = Vector(hashType);\nconst storageMap = Struct({\n hashers: hashers$1,\n key: compactNumber,\n value: compactNumber\n});\nconst storageItem = {\n name: str,\n modifier: u8,\n type: Enum({\n plain: compactNumber,\n map: storageMap\n }),\n fallback: Hex(),\n docs\n};\nconst enumRefV14 = Option(compactNumber);\nconst v14Pallet = {\n name: str,\n storage: Option(\n Struct({\n prefix: str,\n items: Vector(Struct(storageItem))\n })\n ),\n calls: enumRefV14,\n events: enumRefV14,\n constants: Vector(\n Struct({\n name: str,\n type: compactNumber,\n value: Hex(),\n docs\n })\n ),\n errors: enumRefV14,\n index: u8\n};\nconst v15Pallet = {\n ...v14Pallet,\n docs\n};\nconst enumRef = Option(\n Struct({ type: compactNumber, deprecationInfo: variantDeprecation })\n);\nconst v16Pallet = {\n name: str,\n storage: Option(\n Struct({\n prefix: str,\n items: Vector(\n Struct({\n ...storageItem,\n deprecationInfo: itemDeprecation\n })\n )\n })\n ),\n calls: enumRef,\n events: enumRef,\n constants: Vector(\n Struct({\n name: str,\n type: compactNumber,\n value: Hex(),\n docs,\n deprecationInfo: itemDeprecation\n })\n ),\n errors: enumRef,\n associatedTypes: Vector(\n Struct({\n name: str,\n type: compactNumber,\n docs\n })\n ),\n viewFns: Vector(viewFunction),\n index: u8,\n docs,\n deprecationInfo: itemDeprecation\n};\n\nexport { storageMap, v14Pallet, v15Pallet, v16Pallet };\n//# sourceMappingURL=pallets.mjs.map\n","import { Struct, u8, Vector, str, createCodec } from 'scale-ts';\nimport { lookup } from './lookup.mjs';\nimport '../../utils/ss58-util.mjs';\nimport '../scale/Binary.mjs';\nimport '../scale/bitSequence.mjs';\nimport '../scale/char.mjs';\nimport { compactNumber } from '../scale/compact.mjs';\nimport '../scale/Hex.mjs';\nimport '../scale/fixed-str.mjs';\nimport '../scale/Variant.mjs';\nimport '../scale/ethAccount.mjs';\nimport '../scale/shaped.mjs';\nimport '../scale/BitSeq.mjs';\nimport { v14Pallet } from './pallets.mjs';\n\nconst empty = new Uint8Array();\nconst Always = (value) => createCodec(\n () => empty,\n () => value\n);\nconst extrinsic$2 = Struct({\n type: compactNumber,\n version: u8,\n signedExtensions: Vector(\n Struct({\n identifier: str,\n type: compactNumber,\n additionalSigned: compactNumber\n })\n )\n});\nconst v14 = Struct({\n lookup,\n pallets: Vector(Struct({ ...v14Pallet, docs: Always([]) })),\n extrinsic: extrinsic$2,\n type: compactNumber,\n apis: Always([])\n});\n\nexport { v14 };\n//# sourceMappingURL=v14.mjs.map\n","import { Struct, u8, Vector, str, Tuple } from 'scale-ts';\nimport { lookup } from './lookup.mjs';\nimport { v15Pallet } from './pallets.mjs';\nimport '../../utils/ss58-util.mjs';\nimport '../scale/Binary.mjs';\nimport '../scale/bitSequence.mjs';\nimport '../scale/char.mjs';\nimport { compactNumber } from '../scale/compact.mjs';\nimport { Hex } from '../scale/Hex.mjs';\nimport '../scale/fixed-str.mjs';\nimport '../scale/Variant.mjs';\nimport '../scale/ethAccount.mjs';\nimport '../scale/shaped.mjs';\nimport '../scale/BitSeq.mjs';\nimport { runtimeApiV15 } from './runtime-api.mjs';\n\nconst extrinsic$1 = Struct({\n version: u8,\n address: compactNumber,\n call: compactNumber,\n signature: compactNumber,\n extra: compactNumber,\n signedExtensions: Vector(\n Struct({\n identifier: str,\n type: compactNumber,\n additionalSigned: compactNumber\n })\n )\n});\nconst v15 = Struct({\n lookup,\n pallets: Vector(Struct(v15Pallet)),\n extrinsic: extrinsic$1,\n type: compactNumber,\n apis: Vector(runtimeApiV15),\n outerEnums: Struct({\n call: compactNumber,\n event: compactNumber,\n error: compactNumber\n }),\n custom: Vector(Tuple(str, Struct({ type: compactNumber, value: Hex() })))\n});\n\nexport { v15 };\n//# sourceMappingURL=v15.mjs.map\n","import { Struct, Vector, str, Tuple, u8 } from 'scale-ts';\nimport { lookup } from './lookup.mjs';\nimport { v16Pallet } from './pallets.mjs';\nimport '../../utils/ss58-util.mjs';\nimport '../scale/Binary.mjs';\nimport '../scale/bitSequence.mjs';\nimport '../scale/char.mjs';\nimport { compactNumber } from '../scale/compact.mjs';\nimport { Hex } from '../scale/Hex.mjs';\nimport '../scale/fixed-str.mjs';\nimport '../scale/Variant.mjs';\nimport '../scale/ethAccount.mjs';\nimport '../scale/shaped.mjs';\nimport '../scale/BitSeq.mjs';\nimport { runtimeApi } from './runtime-api.mjs';\n\nconst extrinsic = Struct({\n version: Vector(u8),\n address: compactNumber,\n call: compactNumber,\n signature: compactNumber,\n signedExtensionsByVersion: Vector(Tuple(u8, Vector(compactNumber))),\n signedExtensions: Vector(\n Struct({\n identifier: str,\n type: compactNumber,\n additionalSigned: compactNumber\n })\n )\n});\nconst v16 = Struct({\n lookup,\n pallets: Vector(Struct(v16Pallet)),\n extrinsic,\n apis: Vector(runtimeApi),\n outerEnums: Struct({\n call: compactNumber,\n event: compactNumber,\n error: compactNumber\n }),\n custom: Vector(Tuple(str, Struct({ type: compactNumber, value: Hex() })))\n});\n\nexport { v16 };\n//# sourceMappingURL=v16.mjs.map\n","import { createCodec, Struct, u32, Enum, Bytes, Option, Tuple, compact } from 'scale-ts';\nimport { v14 } from './v14.mjs';\nimport { v15 } from './v15.mjs';\nimport { v16 } from './v16.mjs';\n\nconst unsupportedFn = () => {\n throw new Error(\"Unsupported metadata version!\");\n};\nconst unsupported = createCodec(\n unsupportedFn,\n unsupportedFn\n);\nconst metadata = Struct({\n magicNumber: u32,\n metadata: Enum({\n v0: unsupported,\n v1: unsupported,\n v2: unsupported,\n v3: unsupported,\n v4: unsupported,\n v5: unsupported,\n v6: unsupported,\n v7: unsupported,\n v8: unsupported,\n v9: unsupported,\n v10: unsupported,\n v11: unsupported,\n v12: unsupported,\n v13: unsupported,\n v14,\n v15,\n v16\n })\n});\nconst opaqueBytes = Bytes();\nconst optionOpaque = Option(opaqueBytes);\nconst opaqueOpaqueBytes = Tuple(compact, opaqueBytes);\nconst decAnyMetadata = (input) => {\n try {\n return metadata.dec(input);\n } catch (_) {\n }\n try {\n return metadata.dec(optionOpaque.dec(input));\n } catch (_) {\n }\n try {\n return metadata.dec(opaqueBytes.dec(input));\n } catch (_) {\n }\n try {\n return metadata.dec(opaqueOpaqueBytes.dec(input)[1]);\n } catch (_) {\n }\n throw null;\n};\n\nexport { decAnyMetadata, metadata };\n//# sourceMappingURL=metadata.mjs.map\n","const unifyMetadata = (metadata) => {\n if (\"magicNumber\" in metadata) metadata = metadata.metadata;\n if (\"tag\" in metadata) {\n if (metadata.tag !== \"v14\" && metadata.tag !== \"v15\" && metadata.tag !== \"v16\")\n throw new Error(\"Only metadata 14, 15, and 16 are supported\");\n metadata = metadata.value;\n }\n if (\"signedExtensionsByVersion\" in metadata.extrinsic) {\n const {\n extrinsic: {\n signedExtensions,\n signedExtensionsByVersion,\n ...restExtrinsic\n },\n ...rest\n } = metadata;\n if (!signedExtensionsByVersion.some(([v]) => v === 0)) {\n throw new Error(\"Extension version 0 not found\");\n }\n return {\n version: 16,\n extrinsic: {\n ...restExtrinsic,\n signedExtensions: Object.fromEntries(\n signedExtensionsByVersion.map(([v, idxs]) => [\n v,\n idxs.map((extIdx) => signedExtensions[extIdx])\n ])\n )\n },\n ...rest\n };\n }\n if (\"custom\" in metadata) {\n const { lookup: lookup2, extrinsic: extrinsic2, custom, apis, pallets: pallets2, outerEnums } = metadata;\n return {\n version: 15,\n lookup: lookup2,\n pallets: pallets2.map((p) => ({\n ...p,\n calls: p.calls != null ? { type: p.calls } : void 0,\n events: p.events != null ? { type: p.events } : void 0,\n errors: p.errors != null ? { type: p.errors } : void 0,\n viewFns: [],\n associatedTypes: []\n })),\n extrinsic: {\n ...extrinsic2,\n signedExtensions: { 0: extrinsic2.signedExtensions },\n version: [extrinsic2.version]\n },\n apis,\n outerEnums,\n custom\n };\n }\n const { lookup, extrinsic, pallets } = metadata;\n return {\n version: 14,\n lookup,\n pallets: pallets.map((p) => ({\n ...p,\n calls: p.calls != null ? { type: p.calls } : void 0,\n events: p.events != null ? { type: p.events } : void 0,\n errors: p.errors != null ? { type: p.errors } : void 0,\n viewFns: [],\n associatedTypes: []\n })),\n extrinsic: {\n ...extrinsic,\n signedExtensions: { 0: extrinsic.signedExtensions },\n version: [extrinsic.version]\n },\n apis: []\n };\n};\n\nexport { unifyMetadata };\n//# sourceMappingURL=unified.mjs.map\n","import { enhanceCodec, u8 } from 'scale-ts';\n\nconst TYPES = {\n bare: 0,\n 0: \"bare\",\n general: 1,\n 1: \"general\",\n signed: 2,\n 2: \"signed\"\n};\nconst extrinsicFormat = enhanceCodec(\n u8,\n ({ version, type }) => version + (TYPES[type] << 6),\n (v) => {\n const version = v & 63;\n const type = v >> 6;\n if (version === 4 && (type === TYPES.bare || type === TYPES.signed))\n return { version, type: TYPES[type] };\n if (version === 5 && (type === TYPES.bare || type === TYPES.general))\n return { version, type: TYPES[type] };\n throw new Error(`ExtrinsicFormat ${v} not valid`);\n }\n);\n\nexport { extrinsicFormat };\n//# sourceMappingURL=extrinsic-format.mjs.map\n","import { mergeUint8 } from '@polkadot-api/utils';\nimport { blake2b } from '@noble/hashes/blake2.js';\n\nconst len32$1 = { dkLen: 32 };\nconst Blake2256 = (encoded) => blake2b(encoded, len32$1);\nconst len16 = { dkLen: 16 };\nconst Blake2128 = (encoded) => blake2b(encoded, len16);\nconst Blake2128Concat = (encoded) => mergeUint8([Blake2128(encoded), encoded]);\n\nexport { Blake2128, Blake2128Concat, Blake2256 };\n//# sourceMappingURL=blake2.mjs.map\n","const isBytes = (value, nBytes) => value.type === \"array\" && value.len === nBytes && value.value.type === \"primitive\" && value.value.value === \"u8\";\nconst _void = { type: \"void\" };\nconst _denormalizeLookup = (lookupData, customMap = () => null) => {\n const lookups = /* @__PURE__ */ new Map();\n const from = /* @__PURE__ */ new Set();\n const withCache = (fn) => {\n return (id) => {\n let entry = lookups.get(id);\n if (entry) return entry;\n if (from.has(id)) {\n const entry2 = {\n id\n };\n lookups.set(id, entry2);\n return entry2;\n }\n from.add(id);\n const value = fn(id);\n entry = lookups.get(id);\n if (entry) {\n Object.assign(entry, value);\n } else {\n entry = {\n id,\n ...value\n };\n lookups.set(id, entry);\n }\n from.delete(id);\n return entry;\n };\n };\n let isAccountId32SearchOn = true;\n let isAccountId20SearchOn = true;\n const getLookupEntryDef = withCache((id) => {\n const custom = customMap(lookupData[id]);\n if (custom) return custom;\n const { def, path, params } = lookupData[id];\n if (def.tag === \"composite\") {\n if (def.value.length === 0) return _void;\n if (def.value.length === 1) {\n const inner = getLookupEntryDef(def.value[0].type);\n if (isAccountId32SearchOn && path.at(-1) === \"AccountId32\" && isBytes(inner, 32)) {\n isAccountId32SearchOn = false;\n return { type: \"AccountId32\" };\n }\n if (isAccountId20SearchOn && path.at(-1) === \"AccountId20\" && isBytes(inner, 20)) {\n isAccountId20SearchOn = false;\n return { type: \"AccountId20\" };\n }\n return inner;\n }\n return getComplexVar(def.value);\n }\n if (def.tag === \"variant\") {\n if (path.length === 1 && path[0] === \"Option\" && params.length === 1 && params[0].name === \"T\") {\n const value = getLookupEntryDef(params[0].type);\n return value.type === \"void\" ? (\n // Option<void> would return a Codec<undefined> which makes no sense\n // Therefore, we better treat it as a bool\n { type: \"primitive\", value: \"bool\" }\n ) : {\n type: \"option\",\n value\n };\n }\n if (path.length === 1 && path[0] === \"Result\" && params.length === 2 && params[0].name === \"T\" && params[1].name === \"E\") {\n return {\n type: \"result\",\n value: {\n ok: getLookupEntryDef(params[0].type),\n ko: getLookupEntryDef(params[1].type)\n }\n };\n }\n if (def.value.length === 0) return _void;\n const enumValue = {};\n const enumDocs = {};\n def.value.forEach((x) => {\n const key = x.name;\n enumDocs[key] = x.docs;\n if (x.fields.length === 0) {\n enumValue[key] = { ..._void, idx: x.index };\n return;\n }\n if (x.fields.length === 1 && !x.fields[0].name) {\n enumValue[key] = {\n type: \"lookupEntry\",\n value: getLookupEntryDef(x.fields[0].type),\n idx: x.index\n };\n return;\n }\n enumValue[key] = { ...getComplexVar(x.fields), idx: x.index };\n });\n return {\n type: \"enum\",\n value: enumValue,\n innerDocs: enumDocs\n };\n }\n if (def.tag === \"sequence\")\n return {\n type: \"sequence\",\n value: getLookupEntryDef(def.value)\n };\n if (def.tag === \"array\") {\n const { len } = def.value;\n const value = getLookupEntryDef(def.value.type);\n return !len || value.type === \"void\" ? _void : len > 1 ? {\n type: \"array\",\n value,\n len: def.value.len\n } : value;\n }\n if (def.tag === \"tuple\") {\n if (def.value.length === 0) return _void;\n return def.value.length > 1 ? getArrayOrTuple(\n def.value.map((x) => getLookupEntryDef(x)),\n def.value.map((x) => lookupData[x].docs)\n ) : getLookupEntryDef(def.value[0]);\n }\n if (def.tag === \"primitive\") {\n return {\n type: \"primitive\",\n value: def.value.tag\n };\n }\n if (def.tag === \"compact\") {\n const translated = getLookupEntryDef(def.value);\n if (translated.type === \"void\") return _void;\n const isBig = Number(translated.value.slice(1)) > 32;\n return {\n type: \"compact\",\n isBig,\n size: translated.value\n };\n }\n return {\n type: def.tag,\n isLSB: (lookupData[def.value.bitOrderType].path.at(-1) ?? \"LSB\").toUpperCase().startsWith(\"LSB\")\n };\n });\n const getComplexVar = (input) => {\n let allKey = true;\n const values = {};\n const innerDocs = {};\n input.forEach((x, idx) => {\n allKey = allKey && !!x.name;\n const key = x.name || idx;\n const value = getLookupEntryDef(x.type);\n if (value.type !== \"void\") {\n values[key] = value;\n innerDocs[key] = x.docs;\n }\n });\n return allKey ? {\n type: \"struct\",\n value: values,\n innerDocs\n } : getArrayOrTuple(Object.values(values), Object.values(innerDocs));\n };\n const getArrayOrTuple = (values, innerDocs) => {\n if (values.every((v) => v.id === values[0].id) && innerDocs.every((doc) => !doc.length)) {\n const [value] = values;\n return value.type === \"void\" ? _void : {\n type: \"array\",\n value: values[0],\n len: values.length\n };\n }\n return {\n type: \"tuple\",\n value: values,\n innerDocs\n };\n };\n return getLookupEntryDef;\n};\nconst denormalizeLookup = (lookupData) => _denormalizeLookup(lookupData);\nconst getLookupFn = (metadata) => {\n const getLookupEntryDef = _denormalizeLookup(metadata.lookup, ({ def }) => {\n if (def.tag === \"composite\") {\n const moduleErrorLength = getModuleErrorLength(def);\n if (moduleErrorLength) {\n return {\n type: \"enum\",\n innerDocs: {},\n value: Object.fromEntries(\n metadata.pallets.map((p) => [\n p.name,\n p.errors == null ? { ..._void, idx: p.index } : {\n type: \"lookupEntry\",\n value: getLookupEntryDef(p.errors.type),\n idx: p.index\n }\n ])\n ),\n byteLength: moduleErrorLength\n };\n }\n }\n return null;\n });\n function getModuleErrorLength(def) {\n const preChecks = def.value.length === 2 && def.value[0].name === \"index\" && def.value[1].name === \"error\";\n if (!preChecks) return null;\n const index = getLookupEntryDef(def.value[0].type);\n const error = getLookupEntryDef(def.value[1].type);\n return index.type === \"primitive\" && index.value === \"u8\" && error.type === \"array\" && error.value.type === \"primitive\" && error.value.value === \"u8\" ? 1 + error.len : null;\n }\n const getCall = () => {\n if (\"call\" in metadata.extrinsic) {\n return metadata.extrinsic.call;\n }\n const extrinsic = metadata.lookup[metadata.extrinsic.type];\n const call = extrinsic?.params.find((p) => p.name === \"Call\");\n return call?.type ?? null;\n };\n return Object.assign(getLookupEntryDef, { metadata, call: getCall() });\n};\n\nexport { denormalizeLookup, getLookupFn };\n//# sourceMappingURL=lookups.mjs.map\n","import { extrinsicFormat, compact } from '@polkadot-api/substrate-bindings';\nimport { mergeUint8 } from '@polkadot-api/utils';\nimport { getLookupFn } from '@polkadot-api/metadata-builders';\n\nconst unkownSignerType = () => new Error(\"Unkown signer\");\nconst getSignerType = (metadata) => {\n const { extrinsic } = metadata;\n const getLookup = getLookupFn(metadata);\n let address;\n let signature;\n if (\"address\" in extrinsic) {\n address = getLookup(extrinsic.address);\n signature = getLookup(extrinsic.signature);\n } else {\n const extProps = Object.fromEntries(\n metadata.lookup[extrinsic.type].params.filter((x) => x.type != null).map((x) => [x.name, getLookup(x.type)])\n );\n address = extProps[\"Address\"];\n signature = extProps[\"Signature\"];\n if (!address || !signature) throw unkownSignerType();\n }\n if (address.type === \"AccountId20\" && signature.type === \"array\" && signature.len === 65 && signature.value.type === \"primitive\" && signature.value.value === \"u8\")\n return [1 /* Ethereum */, []];\n if (signature.type !== \"enum\" || [\"Ecdsa\", \"Ed25519\", \"Sr25519\"].some((x) => !(x in signature.value)))\n throw unkownSignerType();\n if (address.type === \"enum\") {\n const id = address.value[\"Id\"];\n if (id.type === \"lookupEntry\" && id.value.type === \"AccountId32\")\n return [0 /* Polkadot */, [id.idx]];\n } else if (address.type === \"AccountId32\") return [0 /* Polkadot */, []];\n throw unkownSignerType();\n};\nconst signingTypeId = {\n Ed25519: 0,\n Sr25519: 1,\n Ecdsa: 2\n};\nconst createV4Tx = (metadata, publicKey, signed, extra, callData, signingType) => {\n const [signerType, addressPrefix] = getSignerType(metadata);\n const preResult = mergeUint8([\n extrinsicFormat.enc({ version: 4, type: \"signed\" }),\n // converting it to a `MultiAddress` enum, where the index 0 is `Id(AccountId)`\n signerType === 1 /* Ethereum */ ? publicKey : new Uint8Array([...addressPrefix, ...publicKey]),\n signerType === 1 /* Ethereum */ || !signingType ? signed : new Uint8Array([signingTypeId[signingType], ...signed]),\n ...extra,\n callData\n ]);\n return mergeUint8([compact.enc(preResult.length), preResult]);\n};\n\nexport { createV4Tx };\n//# sourceMappingURL=v4.mjs.map\n","import { Binary } from '@polkadot-api/substrate-bindings';\nimport { mergeUint8 } from '@polkadot-api/utils';\n\nconst [preBytes, postBytes] = [\"<Bytes>\", \"</Bytes>\"].map(\n (str) => Binary.fromText(str).asBytes()\n);\nconst getSignBytes = (sign) => async (data) => {\n let isPadded = true;\n let i;\n for (i = 0; isPadded && i < preBytes.length; i++)\n isPadded = preBytes[i] === data[i];\n isPadded = isPadded && i === preBytes.length;\n const postDataStart = data.length - postBytes.length;\n for (i = 0; isPadded && i < postBytes.length; i++)\n isPadded = postBytes[i] === data[postDataStart + i];\n isPadded = isPadded && i === postBytes.length;\n return sign(isPadded ? data : mergeUint8([preBytes, data, postBytes]));\n};\n\nexport { getSignBytes };\n//# sourceMappingURL=sign-bytes.mjs.map\n","import { mergeUint8 } from '@polkadot-api/utils';\nimport { getSignBytes, createV4Tx } from '@polkadot-api/signers-common';\nimport { Blake2256, unifyMetadata, decAnyMetadata } from '@polkadot-api/substrate-bindings';\nimport { merkleizeMetadata } from '@polkadot-api/merkleize-metadata';\n\nfunction getPolkadotSigner(publicKey, signingType, sign) {\n const signTx = async (callData, signedExtensions, metadata, _, hasher = Blake2256) => {\n const decMeta = unifyMetadata(decAnyMetadata(metadata));\n const extra = [];\n const additionalSigned = [];\n decMeta.extrinsic.signedExtensions[0].map(({ identifier }) => {\n const signedExtension = signedExtensions[identifier];\n if (!signedExtension)\n throw new Error(`Missing ${identifier} signed extension`);\n extra.push(signedExtension.value);\n additionalSigned.push(signedExtension.additionalSigned);\n });\n const toSign = mergeUint8([callData, ...extra, ...additionalSigned]);\n const signed = await sign(toSign.length > 256 ? hasher(toSign) : toSign);\n return createV4Tx(decMeta, publicKey, signed, extra, callData, signingType);\n };\n return {\n publicKey,\n signTx,\n signBytes: getSignBytes(sign)\n };\n}\nconst METADATA_IDENTIFIER = \"CheckMetadataHash\";\nconst oneU8 = Uint8Array.from([1]);\nconst withMetadataHash = (networkInfo, base) => ({\n ...base,\n signTx: async (callData, signedExtensions, metadata, ...rest) => base.signTx(\n callData,\n signedExtensions[METADATA_IDENTIFIER] ? {\n ...signedExtensions,\n [METADATA_IDENTIFIER]: {\n identifier: METADATA_IDENTIFIER,\n value: oneU8,\n additionalSigned: mergeUint8([\n oneU8,\n merkleizeMetadata(metadata, networkInfo).digest()\n ])\n }\n } : signedExtensions,\n metadata,\n ...rest\n )\n});\n\nexport { getPolkadotSigner, withMetadataHash };\n//# sourceMappingURL=from-raw-signer.mjs.map\n","import { getPolkadotSigner } from \"@polkadot-api/signer\";\nimport type { PolkadotSigner } from \"polkadot-api\";\nimport type { KeyPair } from \"@polkadot-labs/hdkd-helpers\";\n\nexport type { PolkadotSigner } from \"polkadot-api\";\n\nexport function createSr25519SignerFromKeypair(keypair: KeyPair): PolkadotSigner {\n return getPolkadotSigner(keypair.publicKey, \"Sr25519\", (payload) => keypair.sign(payload));\n}\n","import type { SS58String } from \"polkadot-api\";\n\nimport { mnemonicToMiniSecret } from \"./mnemonic\";\nimport { hexToBytes, type HexString } from \"./hex\";\nimport {\n sr25519DeriveFromMiniSecret,\n sr25519KeypairFromMiniSecret,\n sr25519AddressFromKeypair,\n} from \"./sr25519\";\nimport { createSr25519SignerFromKeypair } from \"./signer\";\n\nexport type WalletAccount = {\n address: SS58String;\n publicKey: Uint8Array;\n /**\n * Signer for polkadot-api transactions\n */\n signer: ReturnType<typeof createSr25519SignerFromKeypair>;\n};\n\nexport function createAccountFromMnemonic(options: {\n mnemonic: string;\n ss58Format?: number;\n password?: string;\n derivationPath?: string;\n keyType?: \"sr25519\" | \"ed25519\" | \"secp256k1\";\n}): WalletAccount {\n const miniSecret = mnemonicToMiniSecret(options.mnemonic, options.password);\n const keypair = options.derivationPath\n ? sr25519DeriveFromMiniSecret(miniSecret, options.derivationPath)\n : sr25519KeypairFromMiniSecret(miniSecret);\n\n return {\n address: sr25519AddressFromKeypair(keypair, options.ss58Format),\n publicKey: keypair.publicKey,\n signer: createSr25519SignerFromKeypair(keypair),\n };\n}\n\nexport function createAccountFromPrivateKey(options: {\n secretKeyHex: HexString;\n ss58Format?: number;\n keyType: \"sr25519\" | \"ed25519\" | \"secp256k1\";\n}): WalletAccount {\n const secretBytes = hexToBytes(options.secretKeyHex);\n if (secretBytes.length !== 32) {\n throw new Error(\"secret key must be 32 bytes\");\n }\n const keypair = sr25519KeypairFromMiniSecret(secretBytes);\n return {\n address: sr25519AddressFromKeypair(keypair, options.ss58Format),\n publicKey: keypair.publicKey,\n signer: createSr25519SignerFromKeypair(keypair),\n };\n}\n","/**\n * Address validation utilities for D9 blockchain\n */\n\nimport { ss58Decode, ss58Encode } from \"@polkadot-labs/hdkd-helpers\";\nimport type { SS58String } from \"polkadot-api\";\nimport { D9_SS58_PREFIX } from \"../constants\";\n\n/**\n * Check if a value is a valid SS58 address\n *\n * @param address - The value to check\n * @returns True if the value is a valid SS58 address\n *\n * @example\n * ```typescript\n * isValidAddress(\"5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY\"); // true\n * isValidAddress(\"invalid\"); // false\n * isValidAddress(null); // false\n * ```\n */\nexport function isValidAddress(address: unknown): address is SS58String {\n if (typeof address !== \"string\" || address.length === 0) {\n return false;\n }\n\n try {\n ss58Decode(address);\n return true;\n } catch {\n return false;\n }\n}\n\n/**\n * Check if a value is a valid D9 address (SS58 prefix 9)\n *\n * @param address - The value to check\n * @returns True if the value is a valid D9 address\n *\n * @example\n * ```typescript\n * isValidD9Address(\"XYZd9...\"); // true (if valid D9 prefix)\n * isValidD9Address(\"5GrwvaEF...\"); // false (Polkadot prefix)\n * ```\n */\nexport function isValidD9Address(address: unknown): address is SS58String {\n return isValidAddressForNetwork(address, D9_SS58_PREFIX);\n}\n\n/**\n * Check if a value is a valid address for a specific network\n *\n * @param address - The value to check\n * @param expectedPrefix - The expected SS58 prefix\n * @returns True if the value is a valid address with the expected prefix\n *\n * @example\n * ```typescript\n * isValidAddressForNetwork(address, 0); // Polkadot\n * isValidAddressForNetwork(address, 2); // Kusama\n * isValidAddressForNetwork(address, 9); // D9\n * ```\n */\nexport function isValidAddressForNetwork(\n address: unknown,\n expectedPrefix: number,\n): address is SS58String {\n if (typeof address !== \"string\" || address.length === 0) {\n return false;\n }\n\n try {\n const [, prefix] = ss58Decode(address);\n return prefix === expectedPrefix;\n } catch {\n return false;\n }\n}\n\n/**\n * Get the SS58 prefix of an address\n *\n * @param address - The SS58 address\n * @returns The SS58 prefix\n * @throws Error if the address is invalid\n *\n * @example\n * ```typescript\n * getAddressPrefix(\"5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY\"); // 42 (Substrate generic)\n * ```\n */\nexport function getAddressPrefix(address: SS58String): number {\n const [, prefix] = ss58Decode(address);\n return prefix;\n}\n\n/**\n * Compare two addresses for equality (same public key)\n *\n * Addresses with different SS58 prefixes can represent the same account.\n * This function compares the underlying public keys.\n *\n * @param a - First address\n * @param b - Second address\n * @returns True if both addresses represent the same public key\n *\n * @example\n * ```typescript\n * // Same account, different network formats\n * const polkadotAddr = \"15oF4uVJwmo4TdGW7VfQxNLavjCXviqxT9S1MgbjMNHr6Sp5\";\n * const genericAddr = \"5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY\";\n * addressesEqual(polkadotAddr, genericAddr); // true\n * ```\n */\nexport function addressesEqual(a: SS58String, b: SS58String): boolean {\n try {\n const [publicKeyA] = ss58Decode(a);\n const [publicKeyB] = ss58Decode(b);\n\n if (publicKeyA.length !== publicKeyB.length) {\n return false;\n }\n\n for (let i = 0; i < publicKeyA.length; i++) {\n if (publicKeyA[i] !== publicKeyB[i]) {\n return false;\n }\n }\n\n return true;\n } catch {\n return false;\n }\n}\n\n/**\n * Convert an address to a specific SS58 format\n *\n * @param address - The SS58 address\n * @param targetPrefix - The target SS58 prefix\n * @returns The address encoded with the target prefix\n * @throws Error if the address is invalid\n *\n * @example\n * ```typescript\n * const d9Address = toNetworkAddress(\"5GrwvaEF...\", 9);\n * ```\n */\nexport function toNetworkAddress(address: SS58String, targetPrefix: number): SS58String {\n const [publicKey] = ss58Decode(address);\n return ss58Encode(publicKey, targetPrefix) as SS58String;\n}\n\n/**\n * Convert an address to D9 format\n *\n * @param address - The SS58 address\n * @returns The address encoded with D9 prefix (9)\n *\n * @example\n * ```typescript\n * const d9Address = toD9Address(\"5GrwvaEF...\");\n * ```\n */\nexport function toD9Address(address: SS58String): SS58String {\n return toNetworkAddress(address, D9_SS58_PREFIX);\n}\n","/**\n * Balance formatting utilities for D9 blockchain\n */\n\nimport { D9_DECIMALS, D9_SYMBOL, USDT_DECIMALS, USDT_SYMBOL } from \"../constants\";\n\n/**\n * Token configuration for formatting\n */\nexport interface TokenConfig {\n decimals: number;\n symbol: string;\n}\n\n/**\n * Pre-configured D9 token\n */\nexport const D9_TOKEN: TokenConfig = {\n decimals: D9_DECIMALS,\n symbol: D9_SYMBOL,\n};\n\n/**\n * Pre-configured USDT token\n */\nexport const USDT_TOKEN: TokenConfig = {\n decimals: USDT_DECIMALS,\n symbol: USDT_SYMBOL,\n};\n\n/**\n * Options for formatting balance\n */\nexport interface FormatBalanceOptions {\n /** Number of decimal places (default: token's decimals) */\n decimals?: number;\n /** Maximum decimal places to display (default: 4) */\n maxDecimals?: number;\n /** Whether to trim trailing zeros (default: true) */\n trimTrailingZeros?: boolean;\n /** Thousands separator (default: none) */\n thousandsSeparator?: string;\n}\n\n/**\n * Format a raw planck value to a human-readable balance string\n *\n * @param planck - The raw balance in planck units (smallest unit)\n * @param options - Formatting options\n * @returns Formatted balance string\n *\n * @example\n * ```typescript\n * formatBalance(1_500_000_000_000n, { decimals: 12 }); // \"1.5\"\n * formatBalance(1_500_000_000_000n, { decimals: 12, maxDecimals: 2 }); // \"1.50\"\n * formatBalance(1_000_000_000_000_000n, { decimals: 12, thousandsSeparator: \",\" }); // \"1,000\"\n * ```\n */\nexport function formatBalance(planck: bigint, options: FormatBalanceOptions = {}): string {\n const {\n decimals = D9_DECIMALS,\n maxDecimals = 4,\n trimTrailingZeros = true,\n thousandsSeparator,\n } = options;\n\n if (decimals < 0 || decimals > 30) {\n throw new Error(\"Decimals must be between 0 and 30\");\n }\n\n const divisor = 10n ** BigInt(decimals);\n const isNegative = planck < 0n;\n const absolutePlanck = isNegative ? -planck : planck;\n\n const wholePart = absolutePlanck / divisor;\n const fractionalPart = absolutePlanck % divisor;\n\n // Format whole part with optional thousands separator\n let wholeStr = wholePart.toString();\n if (thousandsSeparator && wholeStr.length > 3) {\n wholeStr = wholeStr.replace(/\\B(?=(\\d{3})+(?!\\d))/g, thousandsSeparator);\n }\n\n // Format fractional part\n if (decimals === 0 || maxDecimals === 0) {\n return isNegative ? `-${wholeStr}` : wholeStr;\n }\n\n let fractionalStr = fractionalPart.toString().padStart(decimals, \"0\");\n\n // Truncate to maxDecimals\n if (fractionalStr.length > maxDecimals) {\n fractionalStr = fractionalStr.slice(0, maxDecimals);\n }\n\n // Trim trailing zeros if requested\n if (trimTrailingZeros) {\n fractionalStr = fractionalStr.replace(/0+$/, \"\");\n }\n\n const prefix = isNegative ? \"-\" : \"\";\n\n if (fractionalStr === \"\") {\n return `${prefix}${wholeStr}`;\n }\n\n return `${prefix}${wholeStr}.${fractionalStr}`;\n}\n\n/**\n * Parse a human-readable amount string to planck units\n *\n * @param amount - The amount as a string or number\n * @param options - Parse options\n * @returns The amount in planck units (bigint)\n *\n * @example\n * ```typescript\n * parseAmount(\"1.5\", { decimals: 12 }); // 1_500_000_000_000n\n * parseAmount(1.5, { decimals: 12 }); // 1_500_000_000_000n\n * parseAmount(\"1,000.50\", { decimals: 12 }); // 1_000_500_000_000_000n\n * ```\n */\nexport function parseAmount(amount: string | number, options: { decimals?: number } = {}): bigint {\n const { decimals = D9_DECIMALS } = options;\n\n if (decimals < 0 || decimals > 30) {\n throw new Error(\"Decimals must be between 0 and 30\");\n }\n\n // Convert to string and remove thousands separators\n let amountStr = String(amount).replace(/,/g, \"\").trim();\n\n // Handle negative numbers\n const isNegative = amountStr.startsWith(\"-\");\n if (isNegative) {\n amountStr = amountStr.slice(1);\n }\n\n // Validate format\n if (!/^\\d*\\.?\\d*$/.test(amountStr) || amountStr === \"\" || amountStr === \".\") {\n throw new Error(`Invalid amount format: ${amount}`);\n }\n\n const [wholePart = \"0\", fractionalPart = \"\"] = amountStr.split(\".\");\n\n // Check if fractional part exceeds decimals\n if (fractionalPart.length > decimals) {\n throw new Error(\n `Amount has more decimal places (${fractionalPart.length}) than supported (${decimals})`,\n );\n }\n\n // Pad fractional part to full precision\n const paddedFractional = fractionalPart.padEnd(decimals, \"0\");\n\n // Combine and convert to bigint\n const planckStr = wholePart + paddedFractional;\n const planck = BigInt(planckStr);\n\n return isNegative ? -planck : planck;\n}\n\n/**\n * Format a token amount with symbol\n *\n * @param planck - The raw balance in planck units\n * @param token - Token configuration\n * @param options - Additional formatting options\n * @returns Formatted string with token symbol\n *\n * @example\n * ```typescript\n * formatTokenAmount(1_500_000_000_000n, D9_TOKEN); // \"1.5 D9\"\n * formatTokenAmount(1000n, USDT_TOKEN); // \"10 USDT\"\n * ```\n */\nexport function formatTokenAmount(\n planck: bigint,\n token: TokenConfig,\n options: Omit<FormatBalanceOptions, \"decimals\"> = {},\n): string {\n const formatted = formatBalance(planck, { ...options, decimals: token.decimals });\n return `${formatted} ${token.symbol}`;\n}\n","/**\n * Block time utilities for D9 blockchain\n */\n\n// D9 blockchain timing constants\nexport const D9_BLOCK_TIME_MS = 3000; // ~3 seconds per block\nexport const BLOCKS_PER_MINUTE = 20;\nexport const BLOCKS_PER_HOUR = 1200;\nexport const BLOCKS_PER_DAY = 28800;\nexport const BLOCKS_PER_WEEK = 201600;\n\n/**\n * Convert milliseconds to blocks\n *\n * @param ms - Duration in milliseconds\n * @returns Number of blocks (rounded down)\n *\n * @example\n * ```typescript\n * msToBlocks(60_000); // 20 blocks (1 minute)\n * msToBlocks(3_600_000); // 1200 blocks (1 hour)\n * ```\n */\nexport function msToBlocks(ms: number): number {\n if (ms < 0) {\n throw new Error(\"Duration cannot be negative\");\n }\n return Math.floor(ms / D9_BLOCK_TIME_MS);\n}\n\n/**\n * Convert blocks to milliseconds\n *\n * @param blocks - Number of blocks\n * @returns Duration in milliseconds\n *\n * @example\n * ```typescript\n * blocksToMs(20); // 60_000 (1 minute)\n * blocksToMs(1200); // 3_600_000 (1 hour)\n * ```\n */\nexport function blocksToMs(blocks: number): number {\n if (blocks < 0) {\n throw new Error(\"Block count cannot be negative\");\n }\n return blocks * D9_BLOCK_TIME_MS;\n}\n\n/**\n * Estimate the block number at a target time\n *\n * @param targetTime - The target time to estimate block for\n * @param currentBlock - The current block number\n * @param currentTime - The current time (default: now)\n * @returns Estimated block number at target time\n *\n * @example\n * ```typescript\n * const targetBlock = estimateBlockAtTime(\n * new Date(Date.now() + 3_600_000), // 1 hour from now\n * 1000, // current block\n * ); // ~2200\n * ```\n */\nexport function estimateBlockAtTime(\n targetTime: Date,\n currentBlock: number,\n currentTime: Date = new Date(),\n): number {\n const timeDiffMs = targetTime.getTime() - currentTime.getTime();\n const blockDiff = Math.floor(timeDiffMs / D9_BLOCK_TIME_MS);\n return Math.max(0, currentBlock + blockDiff);\n}\n\n/**\n * Estimate the time at a target block\n *\n * @param targetBlock - The target block number\n * @param currentBlock - The current block number\n * @param currentTime - The current time (default: now)\n * @returns Estimated time at target block\n *\n * @example\n * ```typescript\n * const unlockTime = estimateTimeAtBlock(\n * 2200, // target block\n * 1000, // current block\n * ); // ~1 hour from now\n * ```\n */\nexport function estimateTimeAtBlock(\n targetBlock: number,\n currentBlock: number,\n currentTime: Date = new Date(),\n): Date {\n const blockDiff = targetBlock - currentBlock;\n const timeDiffMs = blockDiff * D9_BLOCK_TIME_MS;\n return new Date(currentTime.getTime() + timeDiffMs);\n}\n\n/**\n * Calculate the number of blocks until a target time\n *\n * @param targetTime - The target time\n * @param currentBlock - The current block number\n * @param currentTime - The current time (default: now)\n * @returns Number of blocks until target time (negative if in the past)\n *\n * @example\n * ```typescript\n * const blocksRemaining = blocksUntil(unlockTime, currentBlock);\n * if (blocksRemaining > 0) {\n * console.log(`${blocksRemaining} blocks until unlock`);\n * }\n * ```\n */\nexport function blocksUntil(\n targetTime: Date,\n currentBlock: number,\n currentTime: Date = new Date(),\n): number {\n return estimateBlockAtTime(targetTime, currentBlock, currentTime) - currentBlock;\n}\n\n/**\n * Format options for duration display\n */\nexport interface FormatDurationOptions {\n /** Whether to show short units (d, h, m, s) or long (days, hours, minutes, seconds) */\n short?: boolean;\n /** Maximum number of units to display (default: 2) */\n maxUnits?: number;\n}\n\n/**\n * Format a block duration as a human-readable string\n *\n * @param blocks - Number of blocks\n * @param options - Formatting options\n * @returns Human-readable duration string\n *\n * @example\n * ```typescript\n * formatBlockDuration(20); // \"1 minute\"\n * formatBlockDuration(1200); // \"1 hour\"\n * formatBlockDuration(BLOCKS_PER_DAY); // \"1 day\"\n * formatBlockDuration(30000, { short: true }); // \"1d 1h\"\n * ```\n */\nexport function formatBlockDuration(blocks: number, options: FormatDurationOptions = {}): string {\n const { short = false, maxUnits = 2 } = options;\n\n if (blocks < 0) {\n throw new Error(\"Block count cannot be negative\");\n }\n\n if (blocks === 0) {\n return short ? \"0s\" : \"0 seconds\";\n }\n\n const totalSeconds = Math.floor((blocks * D9_BLOCK_TIME_MS) / 1000);\n\n const days = Math.floor(totalSeconds / 86400);\n const hours = Math.floor((totalSeconds % 86400) / 3600);\n const minutes = Math.floor((totalSeconds % 3600) / 60);\n const seconds = totalSeconds % 60;\n\n const parts: string[] = [];\n\n if (days > 0) {\n parts.push(short ? `${days}d` : `${days} ${days === 1 ? \"day\" : \"days\"}`);\n }\n if (hours > 0) {\n parts.push(short ? `${hours}h` : `${hours} ${hours === 1 ? \"hour\" : \"hours\"}`);\n }\n if (minutes > 0) {\n parts.push(short ? `${minutes}m` : `${minutes} ${minutes === 1 ? \"minute\" : \"minutes\"}`);\n }\n if (seconds > 0 && parts.length < maxUnits) {\n parts.push(short ? `${seconds}s` : `${seconds} ${seconds === 1 ? \"second\" : \"seconds\"}`);\n }\n\n return parts.slice(0, maxUnits).join(short ? \" \" : \", \");\n}\n"],"x_google_ignoreList":[0,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["base64","module","_Enum","__export","type: ContractErrorType","label?: string","details?: unknown","errorValue: unknown","variant: number","timeoutMs: number","txHash?: string","hex","HEX_MAP","fromHex","mergeUint8","__defProp","__defNormalProp","__publicField","u32","_void","isBytes","abytes","arr","anumber","padding","alphabet","str","isBytes","arr","u64.add3L","u64.add3H","u64.rotr32H","u64.rotr32L","u64.add","u64.rotrSH","u64.rotrSL","u64.rotrBH","u64.rotrBL","u64.fromBig","mergeUint8","fromHex","fromHex","_void","u32","_void","_void","u32","metadata","extrinsic","def","metadata","metadata","extrinsic","mergeUint8","str","mergeUint8","metadata","mergeUint8","D9_TOKEN: TokenConfig","USDT_TOKEN: TokenConfig","parts: string[]","arr","hexToBytesInternal","hex"],"sources":["../../../node_modules/.bun/@polkadot-api+descriptors@file+packages+spec+.papi+descriptors+ec2463ed5a666297/node_modules/@polkadot-api/descriptors/dist/index.mjs","../src/constants.ts","../src/errors.ts","../src/wallet/hex.ts","../src/wallet/mnemonic.ts","../src/wallet/ss58.ts","../src/wallet/sr25519.ts","../../../node_modules/.bun/@polkadot-api+utils@0.2.0/node_modules/@polkadot-api/utils/dist/esm/hex.mjs","../../../node_modules/.bun/@polkadot-api+utils@0.2.0/node_modules/@polkadot-api/utils/dist/esm/mergeUint8.mjs","../../../node_modules/.bun/scale-ts@1.6.1/node_modules/scale-ts/dist/scale-ts.js","../../../node_modules/.bun/@scure+base@2.0.0/node_modules/@scure/base/index.js","../../../node_modules/.bun/@noble+hashes@2.0.1/node_modules/@noble/hashes/utils.js","../../../node_modules/.bun/@noble+hashes@2.0.1/node_modules/@noble/hashes/_blake.js","../../../node_modules/.bun/@noble+hashes@2.0.1/node_modules/@noble/hashes/_u64.js","../../../node_modules/.bun/@noble+hashes@2.0.1/node_modules/@noble/hashes/blake2.js","../../../node_modules/.bun/@polkadot-api+substrate-bindings@0.17.0/node_modules/@polkadot-api/substrate-bindings/dist/esm/utils/ss58-util.mjs","../../../node_modules/.bun/@polkadot-api+substrate-bindings@0.17.0/node_modules/@polkadot-api/substrate-bindings/dist/esm/codecs/scale/AccountId.mjs","../../../node_modules/.bun/@polkadot-api+substrate-bindings@0.17.0/node_modules/@polkadot-api/substrate-bindings/dist/esm/codecs/scale/Binary.mjs","../../../node_modules/.bun/@polkadot-api+substrate-bindings@0.17.0/node_modules/@polkadot-api/substrate-bindings/dist/esm/codecs/scale/compact.mjs","../../../node_modules/.bun/@polkadot-api+substrate-bindings@0.17.0/node_modules/@polkadot-api/substrate-bindings/dist/esm/codecs/scale/Hex.mjs","../../../node_modules/.bun/@polkadot-api+substrate-bindings@0.17.0/node_modules/@polkadot-api/substrate-bindings/dist/esm/codecs/metadata/docs.mjs","../../../node_modules/.bun/@polkadot-api+substrate-bindings@0.17.0/node_modules/@polkadot-api/substrate-bindings/dist/esm/codecs/metadata/lookup.mjs","../../../node_modules/.bun/@polkadot-api+substrate-bindings@0.17.0/node_modules/@polkadot-api/substrate-bindings/dist/esm/codecs/metadata/deprecation.mjs","../../../node_modules/.bun/@polkadot-api+substrate-bindings@0.17.0/node_modules/@polkadot-api/substrate-bindings/dist/esm/codecs/metadata/runtime-api.mjs","../../../node_modules/.bun/@polkadot-api+substrate-bindings@0.17.0/node_modules/@polkadot-api/substrate-bindings/dist/esm/codecs/metadata/pallets.mjs","../../../node_modules/.bun/@polkadot-api+substrate-bindings@0.17.0/node_modules/@polkadot-api/substrate-bindings/dist/esm/codecs/metadata/v14.mjs","../../../node_modules/.bun/@polkadot-api+substrate-bindings@0.17.0/node_modules/@polkadot-api/substrate-bindings/dist/esm/codecs/metadata/v15.mjs","../../../node_modules/.bun/@polkadot-api+substrate-bindings@0.17.0/node_modules/@polkadot-api/substrate-bindings/dist/esm/codecs/metadata/v16.mjs","../../../node_modules/.bun/@polkadot-api+substrate-bindings@0.17.0/node_modules/@polkadot-api/substrate-bindings/dist/esm/codecs/metadata/metadata.mjs","../../../node_modules/.bun/@polkadot-api+substrate-bindings@0.17.0/node_modules/@polkadot-api/substrate-bindings/dist/esm/codecs/metadata/unified.mjs","../../../node_modules/.bun/@polkadot-api+substrate-bindings@0.17.0/node_modules/@polkadot-api/substrate-bindings/dist/esm/extrinsics/extrinsic-format.mjs","../../../node_modules/.bun/@polkadot-api+substrate-bindings@0.17.0/node_modules/@polkadot-api/substrate-bindings/dist/esm/hashes/blake2.mjs","../../../node_modules/.bun/@polkadot-api+metadata-builders@0.13.9/node_modules/@polkadot-api/metadata-builders/dist/esm/lookups.mjs","../../../node_modules/.bun/@polkadot-api+signers-common@0.1.20/node_modules/@polkadot-api/signers-common/dist/esm/v4.mjs","../../../node_modules/.bun/@polkadot-api+signers-common@0.1.20/node_modules/@polkadot-api/signers-common/dist/esm/sign-bytes.mjs","../../../node_modules/.bun/@polkadot-api+signer@0.2.13/node_modules/@polkadot-api/signer/dist/esm/from-raw-signer.mjs","../src/wallet/signer.ts","../src/wallet/account.ts","../src/wallet/validation.ts","../src/utils/balance.ts","../src/utils/time.ts","../src/utils/bytes.ts"],"sourcesContent":["import {\n __export\n} from \"./chunk-7P6ASYW6.mjs\";\n\n// .papi/descriptors/src/common.ts\nvar table = new Uint8Array(128);\nfor (let i = 0; i < 64; i++) table[i < 26 ? i + 65 : i < 52 ? i + 71 : i < 62 ? i - 4 : i * 4 - 205] = i;\nvar toBinary = (base64) => {\n const n = base64.length, bytes = new Uint8Array((n - Number(base64[n - 1] === \"=\") - Number(base64[n - 2] === \"=\")) * 3 / 4 | 0);\n for (let i2 = 0, j = 0; i2 < n; ) {\n const c0 = table[base64.charCodeAt(i2++)], c1 = table[base64.charCodeAt(i2++)];\n const c2 = table[base64.charCodeAt(i2++)], c3 = table[base64.charCodeAt(i2++)];\n bytes[j++] = c0 << 2 | c1 >> 4;\n bytes[j++] = c1 << 4 | c2 >> 2;\n bytes[j++] = c2 << 6 | c3;\n }\n return bytes;\n};\n\n// .papi/descriptors/src/d9.ts\nvar descriptorValues = import(\"./descriptors-JQ4ZJQ4V.mjs\").then((module) => module[\"D9\"]);\nvar metadataTypes = import(\"./metadataTypes-32V7BYUB.mjs\").then(\n (module) => toBinary(\"default\" in module ? module.default : module)\n);\nvar asset = {};\nvar extensions = {};\nvar getMetadata = () => import(\"./d9_metadata-EHIEZLL5.mjs\").then(\n (module) => toBinary(\"default\" in module ? module.default : module)\n);\nvar genesis = \"0x74e86bce7566064d40f390f75e6d066b6006b198c995dcde5c04f851144effb8\";\nvar _allDescriptors = { descriptors: descriptorValues, metadataTypes, asset, extensions, getMetadata, genesis };\nvar d9_default = _allDescriptors;\n\n// .papi/descriptors/src/common-types.ts\nimport { _Enum } from \"polkadot-api\";\nvar BalancesTypesReasons = _Enum;\nvar GrandpaStoredState = _Enum;\nvar DigestItem = _Enum;\nvar Phase = _Enum;\nvar ArithmeticError = _Enum;\nvar TransactionalError = _Enum;\nvar BalanceStatus = _Enum;\nvar GrandpaEvent = _Enum;\nvar DispatchClass = _Enum;\nvar TransactionPaymentEvent = _Enum;\nvar SessionEvent = _Enum;\nvar TransactionPaymentReleases = _Enum;\nvar MultiAddress = _Enum;\nvar GrandpaEquivocation = _Enum;\n\n// .papi/descriptors/src/contracts/index.ts\nvar contracts_exports = {};\n__export(contracts_exports, {\n burnManager: () => descriptor4,\n burnMining: () => descriptor7,\n crossChainTransfer: () => descriptor5,\n marketMaker: () => descriptor6,\n merchantMining: () => descriptor2,\n miningPool: () => descriptor8,\n nodeReward: () => descriptor,\n usdt: () => descriptor3\n});\n\n// .papi/descriptors/src/contracts/nodeReward.ts\nvar descriptor = { metadata: { \"source\": { \"hash\": \"0x0cf5fbf9a9dd4057bfc9f674a402a956f97b7fa536545a43c79362842fda587e\", \"language\": \"ink! 4.3.0\", \"compiler\": \"rustc 1.72.1\", \"build_info\": { \"build_mode\": \"Release\", \"cargo_contract_version\": \"3.2.0\", \"rust_toolchain\": \"stable-x86_64-apple-darwin\", \"wasm_opt_settings\": { \"keep_debug_symbols\": false, \"optimization_passes\": \"Z\" } } }, \"contract\": { \"name\": \"node_reward\", \"version\": \"0.1.0\", \"authors\": [\"[your_name] <[your_email]>\"] }, \"spec\": { \"constructors\": [{ \"args\": [{ \"label\": \"mining_pool\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }, { \"label\": \"rewards_pallet\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }], \"default\": false, \"docs\": [\"Constructor that initializes the `bool` value to the given `init_value`.\"], \"label\": \"new\", \"payable\": false, \"returnType\": { \"displayName\": [\"ink_primitives\", \"ConstructorResult\"], \"type\": 5 }, \"selector\": \"0x9bae9d5e\" }], \"docs\": [], \"environment\": { \"accountId\": { \"displayName\": [\"AccountId\"], \"type\": 0 }, \"balance\": { \"displayName\": [\"Balance\"], \"type\": 3 }, \"blockNumber\": { \"displayName\": [\"BlockNumber\"], \"type\": 12 }, \"chainExtension\": { \"displayName\": [\"ChainExtension\"], \"type\": 22 }, \"hash\": { \"displayName\": [\"Hash\"], \"type\": 21 }, \"maxEventTopics\": 4, \"timestamp\": { \"displayName\": [\"Timestamp\"], \"type\": 4 } }, \"events\": [{ \"args\": [{ \"docs\": [], \"indexed\": true, \"label\": \"node\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }, { \"docs\": [], \"indexed\": true, \"label\": \"receiver\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }, { \"docs\": [], \"indexed\": true, \"label\": \"amount\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 3 } }], \"docs\": [], \"label\": \"NodeRewardPaid\" }], \"lang_error\": { \"displayName\": [\"ink\", \"LangError\"], \"type\": 7 }, \"messages\": [{ \"args\": [{ \"label\": \"mining_pool\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }], \"default\": false, \"docs\": [], \"label\": \"set_mining_pool\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 8 }, \"selector\": \"0xbad17c27\" }, { \"args\": [{ \"label\": \"rewards_pallet\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }], \"default\": false, \"docs\": [], \"label\": \"set_rewards_pallet\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 8 }, \"selector\": \"0xe54af172\" }, { \"args\": [{ \"label\": \"new_admin\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }], \"default\": false, \"docs\": [], \"label\": \"relinquish_admin\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 8 }, \"selector\": \"0xda7dbaee\" }, { \"args\": [], \"default\": false, \"docs\": [], \"label\": \"accept_admin\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 8 }, \"selector\": \"0x3830821d\" }, { \"args\": [], \"default\": false, \"docs\": [], \"label\": \"cancel_admin_relinquish\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 8 }, \"selector\": \"0xf9cc42d0\" }, { \"args\": [], \"default\": false, \"docs\": [], \"label\": \"get_vote_limit\", \"mutates\": false, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 11 }, \"selector\": \"0x345bb4a1\" }, { \"args\": [{ \"label\": \"new_limit\", \"type\": { \"displayName\": [\"u64\"], \"type\": 4 } }], \"default\": false, \"docs\": [], \"label\": \"change_vote_limit\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 8 }, \"selector\": \"0x3b7e719a\" }, { \"args\": [{ \"label\": \"node_id\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }], \"default\": false, \"docs\": [], \"label\": \"withdraw_reward\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 8 }, \"selector\": \"0x07fe6b9e\" }, { \"args\": [{ \"label\": \"session_index\", \"type\": { \"displayName\": [\"u32\"], \"type\": 12 } }], \"default\": false, \"docs\": [], \"label\": \"get_session_rewards_data\", \"mutates\": false, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 13 }, \"selector\": \"0x5b4a8bb7\" }, { \"args\": [{ \"label\": \"node_id\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }], \"default\": false, \"docs\": [], \"label\": \"get_node_reward_data\", \"mutates\": false, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 16 }, \"selector\": \"0x72c500b8\" }, { \"args\": [{ \"label\": \"node_id\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }], \"default\": false, \"docs\": [], \"label\": \"get_authorized_receiver\", \"mutates\": false, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 18 }, \"selector\": \"0x7a99af59\" }, { \"args\": [{ \"label\": \"node_id\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }, { \"label\": \"receiver\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }], \"default\": false, \"docs\": [], \"label\": \"set_authorized_receiver\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 8 }, \"selector\": \"0x0aa2247a\" }, { \"args\": [{ \"label\": \"node_id\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }], \"default\": false, \"docs\": [], \"label\": \"remove_authorized_receiver\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 8 }, \"selector\": \"0x58920ed0\" }, { \"args\": [{ \"label\": \"last_session\", \"type\": { \"displayName\": [\"u32\"], \"type\": 12 } }, { \"label\": \"sorted_nodes_and_votes\", \"type\": { \"displayName\": [\"Vec\"], \"type\": 19 } }], \"default\": false, \"docs\": [], \"label\": \"update_rewards\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 8 }, \"selector\": \"0x93440f8d\" }, { \"args\": [{ \"label\": \"code_hash\", \"type\": { \"displayName\": [], \"type\": 1 } }], \"default\": false, \"docs\": [], \"label\": \"set_code\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 5 }, \"selector\": \"0x694fb50f\" }] }, \"storage\": { \"root\": { \"layout\": { \"struct\": { \"fields\": [{ \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 0 } }, \"name\": \"admin\" }, { \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 0 } }, \"name\": \"new_admin\" }, { \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 0 } }, \"name\": \"mining_pool\" }, { \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 0 } }, \"name\": \"rewards_pallet\" }, { \"layout\": { \"root\": { \"layout\": { \"struct\": { \"fields\": [{ \"layout\": { \"leaf\": { \"key\": \"0x57cf89ff\", \"ty\": 3 } }, \"name\": \"0\" }, { \"layout\": { \"leaf\": { \"key\": \"0x57cf89ff\", \"ty\": 3 } }, \"name\": \"1\" }], \"name\": \"(A, B)\" } }, \"root_key\": \"0x57cf89ff\" } }, \"name\": \"session_rewards\" }, { \"layout\": { \"root\": { \"layout\": { \"leaf\": { \"key\": \"0xce7978af\", \"ty\": 3 } }, \"root_key\": \"0xce7978af\" } }, \"name\": \"node_reward\" }, { \"layout\": { \"root\": { \"layout\": { \"leaf\": { \"key\": \"0x2802a071\", \"ty\": 0 } }, \"root_key\": \"0x2802a071\" } }, \"name\": \"authorized_reward_receiver\" }, { \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 4 } }, \"name\": \"vote_limit\" }], \"name\": \"NodeReward\" } }, \"root_key\": \"0x00000000\" } }, \"types\": [{ \"id\": 0, \"type\": { \"def\": { \"composite\": { \"fields\": [{ \"type\": 1, \"typeName\": \"[u8; 32]\" }] } }, \"path\": [\"ink_primitives\", \"types\", \"AccountId\"] } }, { \"id\": 1, \"type\": { \"def\": { \"array\": { \"len\": 32, \"type\": 2 } } } }, { \"id\": 2, \"type\": { \"def\": { \"primitive\": \"u8\" } } }, { \"id\": 3, \"type\": { \"def\": { \"primitive\": \"u128\" } } }, { \"id\": 4, \"type\": { \"def\": { \"primitive\": \"u64\" } } }, { \"id\": 5, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 6 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 7 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 6 }, { \"name\": \"E\", \"type\": 7 }], \"path\": [\"Result\"] } }, { \"id\": 6, \"type\": { \"def\": { \"tuple\": [] } } }, { \"id\": 7, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"index\": 1, \"name\": \"CouldNotReadInput\" }] } }, \"path\": [\"ink_primitives\", \"LangError\"] } }, { \"id\": 8, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 9 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 7 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 9 }, { \"name\": \"E\", \"type\": 7 }], \"path\": [\"Result\"] } }, { \"id\": 9, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 6 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 10 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 6 }, { \"name\": \"E\", \"type\": 10 }], \"path\": [\"Result\"] } }, { \"id\": 10, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 0, \"typeName\": \"AccountId\" }], \"index\": 0, \"name\": \"OnlyCallableBy\" }, { \"index\": 1, \"name\": \"BeyondQualificationForNodeStatus\" }, { \"index\": 2, \"name\": \"ErrorIssuingPayment\" }, { \"index\": 3, \"name\": \"ErrorGettingSessionPoolFromMiningPoolContract\" }, { \"index\": 4, \"name\": \"NotAuthorizedToWithdraw\" }, { \"index\": 5, \"name\": \"NothingToWithdraw\" }, { \"index\": 6, \"name\": \"ErrorGettingCurrentValidators\" }] } }, \"path\": [\"node_reward\", \"node_reward\", \"Error\"] } }, { \"id\": 11, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 4 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 7 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 4 }, { \"name\": \"E\", \"type\": 7 }], \"path\": [\"Result\"] } }, { \"id\": 12, \"type\": { \"def\": { \"primitive\": \"u32\" } } }, { \"id\": 13, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 14 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 7 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 14 }, { \"name\": \"E\", \"type\": 7 }], \"path\": [\"Result\"] } }, { \"id\": 14, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"index\": 0, \"name\": \"None\" }, { \"fields\": [{ \"type\": 15 }], \"index\": 1, \"name\": \"Some\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 15 }], \"path\": [\"Option\"] } }, { \"id\": 15, \"type\": { \"def\": { \"tuple\": [3, 3] } } }, { \"id\": 16, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 17 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 7 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 17 }, { \"name\": \"E\", \"type\": 7 }], \"path\": [\"Result\"] } }, { \"id\": 17, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"index\": 0, \"name\": \"None\" }, { \"fields\": [{ \"type\": 3 }], \"index\": 1, \"name\": \"Some\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 3 }], \"path\": [\"Option\"] } }, { \"id\": 18, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 0 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 7 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 0 }, { \"name\": \"E\", \"type\": 7 }], \"path\": [\"Result\"] } }, { \"id\": 19, \"type\": { \"def\": { \"sequence\": { \"type\": 20 } } } }, { \"id\": 20, \"type\": { \"def\": { \"tuple\": [0, 4] } } }, { \"id\": 21, \"type\": { \"def\": { \"composite\": { \"fields\": [{ \"type\": 1, \"typeName\": \"[u8; 32]\" }] } }, \"path\": [\"ink_primitives\", \"types\", \"Hash\"] } }, { \"id\": 22, \"type\": { \"def\": { \"variant\": {} }, \"path\": [\"d9_chain_extension\", \"D9ChainExtension\"] } }], \"version\": \"4\" } };\n\n// .papi/descriptors/src/contracts/merchantMining.ts\nvar descriptor2 = { metadata: { \"source\": { \"hash\": \"0x1605acf16a5d67473a30bde3624e103393a3ffaf9310f3abfcdb6ef1d1370ee4\", \"language\": \"ink! 4.3.0\", \"compiler\": \"rustc 1.76.0\", \"build_info\": { \"build_mode\": \"Release\", \"cargo_contract_version\": \"3.2.0\", \"rust_toolchain\": \"stable-aarch64-apple-darwin\", \"wasm_opt_settings\": { \"keep_debug_symbols\": false, \"optimization_passes\": \"Z\" } } }, \"contract\": { \"name\": \"d9-merchant-mining\", \"version\": \"0.1.0\", \"authors\": [\"D9Dev\"] }, \"spec\": { \"constructors\": [{ \"args\": [{ \"label\": \"amm_contract\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 2 } }, { \"label\": \"mining_pool\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 2 } }, { \"label\": \"usdt_contract\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 2 } }], \"default\": false, \"docs\": [\"Constructor that initializes the `bool` value to the given `init_value`.\"], \"label\": \"new\", \"payable\": false, \"returnType\": { \"displayName\": [\"ink_primitives\", \"ConstructorResult\"], \"type\": 5 }, \"selector\": \"0x9bae9d5e\" }], \"docs\": [], \"environment\": { \"accountId\": { \"displayName\": [\"AccountId\"], \"type\": 2 }, \"balance\": { \"displayName\": [\"Balance\"], \"type\": 1 }, \"blockNumber\": { \"displayName\": [\"BlockNumber\"], \"type\": 25 }, \"chainExtension\": { \"displayName\": [\"ChainExtension\"], \"type\": 26 }, \"hash\": { \"displayName\": [\"Hash\"], \"type\": 24 }, \"maxEventTopics\": 4, \"timestamp\": { \"displayName\": [\"Timestamp\"], \"type\": 0 } }, \"events\": [{ \"args\": [{ \"docs\": [], \"indexed\": true, \"label\": \"account_id\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 2 } }, { \"docs\": [], \"indexed\": true, \"label\": \"usdt\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 1 } }, { \"docs\": [], \"indexed\": true, \"label\": \"expiry\", \"type\": { \"displayName\": [\"Timestamp\"], \"type\": 0 } }], \"docs\": [], \"label\": \"SubscriptionExtended\" }, { \"args\": [{ \"docs\": [], \"indexed\": true, \"label\": \"account_id\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 2 } }, { \"docs\": [], \"indexed\": true, \"label\": \"redeemed_d9\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 1 } }], \"docs\": [], \"label\": \"D9Redeemed\" }, { \"args\": [{ \"docs\": [], \"indexed\": true, \"label\": \"merchant\", \"type\": { \"displayName\": [\"GreenPointsCreated\"], \"type\": 23 } }, { \"docs\": [], \"indexed\": true, \"label\": \"consumer\", \"type\": { \"displayName\": [\"GreenPointsCreated\"], \"type\": 23 } }], \"docs\": [], \"label\": \"GreenPointsTransaction\" }, { \"args\": [{ \"docs\": [], \"indexed\": true, \"label\": \"merchant\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 2 } }, { \"docs\": [], \"indexed\": true, \"label\": \"consumer\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 2 } }, { \"docs\": [], \"indexed\": true, \"label\": \"amount\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 1 } }], \"docs\": [], \"label\": \"D9MerchantPaymentSent\" }, { \"args\": [{ \"docs\": [], \"indexed\": true, \"label\": \"merchant\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 2 } }, { \"docs\": [], \"indexed\": true, \"label\": \"consumer\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 2 } }, { \"docs\": [], \"indexed\": true, \"label\": \"amount\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 1 } }], \"docs\": [], \"label\": \"USDTMerchantPaymentSent\" }, { \"args\": [{ \"docs\": [], \"indexed\": true, \"label\": \"consumer\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 2 } }, { \"docs\": [], \"indexed\": true, \"label\": \"merchant\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 2 } }, { \"docs\": [], \"indexed\": true, \"label\": \"amount\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 1 } }], \"docs\": [], \"label\": \"GivePointsUSDT\" }], \"lang_error\": { \"displayName\": [\"ink\", \"LangError\"], \"type\": 7 }, \"messages\": [{ \"args\": [{ \"label\": \"usdt_amount\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 1 } }], \"default\": false, \"docs\": [\" create merchant account subscription\"], \"label\": \"subscribe\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 8 }, \"selector\": \"0xfb968a8f\" }, { \"args\": [], \"default\": false, \"docs\": [\"withdraw a certain amount of d9 that has been converted into red points\"], \"label\": \"redeem_d9\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 11 }, \"selector\": \"0x47082626\" }, { \"args\": [{ \"label\": \"consumer_id\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 2 } }], \"default\": false, \"docs\": [], \"label\": \"give_green_points_d9\", \"mutates\": true, \"payable\": true, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 13 }, \"selector\": \"0x88b8f067\" }, { \"args\": [{ \"label\": \"consumer_id\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 2 } }, { \"label\": \"usdt_payment\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 1 } }], \"default\": false, \"docs\": [], \"label\": \"give_green_points_usdt\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 13 }, \"selector\": \"0xf52b0ab9\" }, { \"args\": [{ \"label\": \"merchant_id\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 2 } }, { \"label\": \"usdt_amount\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 1 } }], \"default\": false, \"docs\": [], \"label\": \"send_usdt_payment_to_merchant\", \"mutates\": true, \"payable\": true, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 13 }, \"selector\": \"0xa69d4305\" }, { \"args\": [{ \"label\": \"merchant_id\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 2 } }], \"default\": false, \"docs\": [\" a customer pays a merchant using d9\"], \"label\": \"send_d9_payment_to_merchant\", \"mutates\": true, \"payable\": true, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 13 }, \"selector\": \"0xb0e55803\" }, { \"args\": [{ \"label\": \"account_id\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 2 } }], \"default\": false, \"docs\": [], \"label\": \"get_expiry\", \"mutates\": false, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 8 }, \"selector\": \"0xfe38aab5\" }, { \"args\": [{ \"label\": \"account_id\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 2 } }], \"default\": false, \"docs\": [\" get account details\"], \"label\": \"get_account\", \"mutates\": false, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 16 }, \"selector\": \"0xd0f48683\" }, { \"args\": [{ \"label\": \"new_amm_contract\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 2 } }], \"default\": false, \"docs\": [], \"label\": \"change_amm_contract\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 21 }, \"selector\": \"0x0db11b82\" }, { \"args\": [{ \"label\": \"new_mining_pool\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 2 } }], \"default\": false, \"docs\": [], \"label\": \"change_mining_pool\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 21 }, \"selector\": \"0xafda72a6\" }, { \"args\": [{ \"label\": \"code_hash\", \"type\": { \"displayName\": [], \"type\": 3 } }], \"default\": false, \"docs\": [\" Modifies the code which is used to execute calls to this contract address (`AccountId`).\", \"\", \" We use this to upgrade the contract logic. We don't do any authorization here, any caller\", \" can execute this method. In a production contract you would do some authorization here.\"], \"label\": \"set_code\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 5 }, \"selector\": \"0x694fb50f\" }, { \"args\": [{ \"label\": \"new_admin\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 2 } }], \"default\": false, \"docs\": [], \"label\": \"change_admin\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 21 }, \"selector\": \"0x61ae97d7\" }] }, \"storage\": { \"root\": { \"layout\": { \"struct\": { \"fields\": [{ \"layout\": { \"root\": { \"layout\": { \"leaf\": { \"key\": \"0x368a973a\", \"ty\": 0 } }, \"root_key\": \"0x368a973a\" } }, \"name\": \"merchant_expiry\" }, { \"layout\": { \"root\": { \"layout\": { \"struct\": { \"fields\": [{ \"layout\": { \"leaf\": { \"key\": \"0xfe031739\", \"ty\": 1 } }, \"name\": \"green_points\" }, { \"layout\": { \"struct\": { \"fields\": [{ \"layout\": { \"leaf\": { \"key\": \"0xfe031739\", \"ty\": 1 } }, \"name\": \"0\" }, { \"layout\": { \"leaf\": { \"key\": \"0xfe031739\", \"ty\": 1 } }, \"name\": \"1\" }], \"name\": \"(A, B)\" } }, \"name\": \"relationship_factors\" }, { \"layout\": { \"enum\": { \"dispatchKey\": \"0xfe031739\", \"name\": \"Option\", \"variants\": { \"0\": { \"fields\": [], \"name\": \"None\" }, \"1\": { \"fields\": [{ \"layout\": { \"leaf\": { \"key\": \"0xfe031739\", \"ty\": 0 } }, \"name\": \"0\" }], \"name\": \"Some\" } } } }, \"name\": \"last_conversion\" }, { \"layout\": { \"leaf\": { \"key\": \"0xfe031739\", \"ty\": 1 } }, \"name\": \"redeemed_usdt\" }, { \"layout\": { \"leaf\": { \"key\": \"0xfe031739\", \"ty\": 1 } }, \"name\": \"redeemed_d9\" }, { \"layout\": { \"leaf\": { \"key\": \"0xfe031739\", \"ty\": 0 } }, \"name\": \"created_at\" }], \"name\": \"Account\" } }, \"root_key\": \"0xfe031739\" } }, \"name\": \"accounts\" }, { \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 1 } }, \"name\": \"subscription_fee\" }, { \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 2 } }, \"name\": \"usdt_contract\" }, { \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 2 } }, \"name\": \"amm_contract\" }, { \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 2 } }, \"name\": \"mining_pool\" }, { \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 0 } }, \"name\": \"milliseconds_day\" }, { \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 2 } }, \"name\": \"admin\" }], \"name\": \"D9MerchantMining\" } }, \"root_key\": \"0x00000000\" } }, \"types\": [{ \"id\": 0, \"type\": { \"def\": { \"primitive\": \"u64\" } } }, { \"id\": 1, \"type\": { \"def\": { \"primitive\": \"u128\" } } }, { \"id\": 2, \"type\": { \"def\": { \"composite\": { \"fields\": [{ \"type\": 3, \"typeName\": \"[u8; 32]\" }] } }, \"path\": [\"ink_primitives\", \"types\", \"AccountId\"] } }, { \"id\": 3, \"type\": { \"def\": { \"array\": { \"len\": 32, \"type\": 4 } } } }, { \"id\": 4, \"type\": { \"def\": { \"primitive\": \"u8\" } } }, { \"id\": 5, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 6 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 7 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 6 }, { \"name\": \"E\", \"type\": 7 }], \"path\": [\"Result\"] } }, { \"id\": 6, \"type\": { \"def\": { \"tuple\": [] } } }, { \"id\": 7, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"index\": 1, \"name\": \"CouldNotReadInput\" }] } }, \"path\": [\"ink_primitives\", \"LangError\"] } }, { \"id\": 8, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 9 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 7 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 9 }, { \"name\": \"E\", \"type\": 7 }], \"path\": [\"Result\"] } }, { \"id\": 9, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 0 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 10 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 0 }, { \"name\": \"E\", \"type\": 10 }], \"path\": [\"Result\"] } }, { \"id\": 10, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"index\": 0, \"name\": \"InsufficientPayment\" }, { \"index\": 1, \"name\": \"InsufficientAllowance\" }, { \"index\": 2, \"name\": \"NoMerchantAccountFound\" }, { \"index\": 3, \"name\": \"MerchantAccountExpired\" }, { \"index\": 4, \"name\": \"NoAccountFound\" }, { \"index\": 5, \"name\": \"NothingToRedeem\" }, { \"index\": 6, \"name\": \"TransferringToMainContract\" }, { \"index\": 7, \"name\": \"TransferringToUSDTToMerchant\" }, { \"index\": 8, \"name\": \"UserUSDTBalanceInsufficient\" }, { \"index\": 9, \"name\": \"D9TransferFailed\" }, { \"index\": 10, \"name\": \"USDTTransferFailed\" }, { \"index\": 11, \"name\": \"OnlyAdmin\" }, { \"index\": 12, \"name\": \"GrantingAllowanceFailed\" }, { \"index\": 13, \"name\": \"AMMConversionFailed\" }, { \"index\": 14, \"name\": \"ReceivingUSDTFromUser\" }, { \"index\": 15, \"name\": \"ConvertingToD9\" }, { \"index\": 16, \"name\": \"SendUSDTToMerchant\" }, { \"index\": 17, \"name\": \"SendingD9ToMiningPool\" }, { \"index\": 18, \"name\": \"SendingUSDTToAMM\" }, { \"index\": 19, \"name\": \"GettingUSDTFromAMM\" }, { \"index\": 20, \"name\": \"RedeemD9TransferFailed\" }, { \"index\": 21, \"name\": \"SomeEnvironmentError\" }, { \"index\": 22, \"name\": \"CalledContractTrapped\" }, { \"index\": 23, \"name\": \"CalledContractReverted\" }, { \"index\": 24, \"name\": \"NotCallable\" }, { \"index\": 25, \"name\": \"SomeDecodeError\" }, { \"index\": 26, \"name\": \"SomeOffChainError\" }, { \"index\": 27, \"name\": \"CalleeTrapped\" }, { \"index\": 28, \"name\": \"CalleeReverted\" }, { \"index\": 29, \"name\": \"KeyNotFound\" }, { \"index\": 30, \"name\": \"_BelowSubsistenceThreshold\" }, { \"index\": 31, \"name\": \"TransferFailed\" }, { \"index\": 32, \"name\": \"_EndowmentTooLow\" }, { \"index\": 33, \"name\": \"CodeNotFound\" }, { \"index\": 34, \"name\": \"Unknown\" }, { \"index\": 35, \"name\": \"LoggingDisabled\" }, { \"index\": 36, \"name\": \"CallRuntimeFailed\" }, { \"index\": 37, \"name\": \"EcdsaRecoveryFailed\" }, { \"index\": 38, \"name\": \"ErrorGettingEstimate\" }, { \"index\": 39, \"name\": \"CrossContractCallErrorGettingEstimate\" }] } }, \"path\": [\"d9_merchant_mining\", \"d9_merchant_mining\", \"Error\"] } }, { \"id\": 11, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 12 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 7 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 12 }, { \"name\": \"E\", \"type\": 7 }], \"path\": [\"Result\"] } }, { \"id\": 12, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 1 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 10 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 1 }, { \"name\": \"E\", \"type\": 10 }], \"path\": [\"Result\"] } }, { \"id\": 13, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 14 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 7 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 14 }, { \"name\": \"E\", \"type\": 7 }], \"path\": [\"Result\"] } }, { \"id\": 14, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 15 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 10 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 15 }, { \"name\": \"E\", \"type\": 10 }], \"path\": [\"Result\"] } }, { \"id\": 15, \"type\": { \"def\": { \"composite\": { \"fields\": [{ \"name\": \"merchant\", \"type\": 1, \"typeName\": \"Balance\" }, { \"name\": \"consumer\", \"type\": 1, \"typeName\": \"Balance\" }] } }, \"path\": [\"d9_merchant_mining\", \"d9_merchant_mining\", \"GreenPointsResult\"] } }, { \"id\": 16, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 17 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 7 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 17 }, { \"name\": \"E\", \"type\": 7 }], \"path\": [\"Result\"] } }, { \"id\": 17, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"index\": 0, \"name\": \"None\" }, { \"fields\": [{ \"type\": 18 }], \"index\": 1, \"name\": \"Some\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 18 }], \"path\": [\"Option\"] } }, { \"id\": 18, \"type\": { \"def\": { \"composite\": { \"fields\": [{ \"name\": \"green_points\", \"type\": 1, \"typeName\": \"Balance\" }, { \"name\": \"relationship_factors\", \"type\": 19, \"typeName\": \"(Balance, Balance)\" }, { \"name\": \"last_conversion\", \"type\": 20, \"typeName\": \"Option<Timestamp>\" }, { \"name\": \"redeemed_usdt\", \"type\": 1, \"typeName\": \"Balance\" }, { \"name\": \"redeemed_d9\", \"type\": 1, \"typeName\": \"Balance\" }, { \"name\": \"created_at\", \"type\": 0, \"typeName\": \"Timestamp\" }] } }, \"path\": [\"d9_merchant_mining\", \"d9_merchant_mining\", \"Account\"] } }, { \"id\": 19, \"type\": { \"def\": { \"tuple\": [1, 1] } } }, { \"id\": 20, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"index\": 0, \"name\": \"None\" }, { \"fields\": [{ \"type\": 0 }], \"index\": 1, \"name\": \"Some\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 0 }], \"path\": [\"Option\"] } }, { \"id\": 21, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 22 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 7 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 22 }, { \"name\": \"E\", \"type\": 7 }], \"path\": [\"Result\"] } }, { \"id\": 22, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 6 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 10 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 6 }, { \"name\": \"E\", \"type\": 10 }], \"path\": [\"Result\"] } }, { \"id\": 23, \"type\": { \"def\": { \"composite\": { \"fields\": [{ \"name\": \"account_id\", \"type\": 2, \"typeName\": \"AccountId\" }, { \"name\": \"green_points\", \"type\": 1, \"typeName\": \"Balance\" }] } }, \"path\": [\"d9_merchant_mining\", \"d9_merchant_mining\", \"GreenPointsCreated\"] } }, { \"id\": 24, \"type\": { \"def\": { \"composite\": { \"fields\": [{ \"type\": 3, \"typeName\": \"[u8; 32]\" }] } }, \"path\": [\"ink_primitives\", \"types\", \"Hash\"] } }, { \"id\": 25, \"type\": { \"def\": { \"primitive\": \"u32\" } } }, { \"id\": 26, \"type\": { \"def\": { \"variant\": {} }, \"path\": [\"d9_chain_extension\", \"D9ChainExtension\"] } }], \"version\": \"4\" } };\n\n// .papi/descriptors/src/contracts/usdt.ts\nvar descriptor3 = { metadata: { \"source\": { \"hash\": \"0x7a88ca43f88f1468755756c58c8fcac582c83a176b183301e672712efe955d03\", \"language\": \"ink! 4.3.0\", \"compiler\": \"rustc 1.72.1\", \"build_info\": { \"build_mode\": \"Release\", \"cargo_contract_version\": \"3.2.0\", \"rust_toolchain\": \"stable-x86_64-apple-darwin\", \"wasm_opt_settings\": { \"keep_debug_symbols\": false, \"optimization_passes\": \"Z\" } } }, \"contract\": { \"name\": \"d9_usdt\", \"version\": \"0.1.0\", \"authors\": [\"D9Devs\"] }, \"spec\": { \"constructors\": [{ \"args\": [{ \"label\": \"initial_supply\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 0 } }], \"default\": false, \"docs\": [], \"label\": \"new\", \"payable\": false, \"returnType\": { \"displayName\": [\"ink_primitives\", \"ConstructorResult\"], \"type\": 1 }, \"selector\": \"0x9bae9d5e\" }], \"docs\": [], \"environment\": { \"accountId\": { \"displayName\": [\"AccountId\"], \"type\": 4 }, \"balance\": { \"displayName\": [\"Balance\"], \"type\": 0 }, \"blockNumber\": { \"displayName\": [\"BlockNumber\"], \"type\": 16 }, \"chainExtension\": { \"displayName\": [\"ChainExtension\"], \"type\": 17 }, \"hash\": { \"displayName\": [\"Hash\"], \"type\": 14 }, \"maxEventTopics\": 4, \"timestamp\": { \"displayName\": [\"Timestamp\"], \"type\": 15 } }, \"events\": [{ \"args\": [{ \"docs\": [], \"indexed\": true, \"label\": \"owner\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 4 } }, { \"docs\": [], \"indexed\": true, \"label\": \"spender\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 4 } }, { \"docs\": [], \"indexed\": false, \"label\": \"amount\", \"type\": { \"displayName\": [\"u128\"], \"type\": 0 } }], \"docs\": [], \"label\": \"Approval\" }, { \"args\": [{ \"docs\": [], \"indexed\": true, \"label\": \"from\", \"type\": { \"displayName\": [\"Option\"], \"type\": 13 } }, { \"docs\": [], \"indexed\": true, \"label\": \"to\", \"type\": { \"displayName\": [\"Option\"], \"type\": 13 } }, { \"docs\": [], \"indexed\": false, \"label\": \"value\", \"type\": { \"displayName\": [\"u128\"], \"type\": 0 } }], \"docs\": [], \"label\": \"Transfer\" }], \"lang_error\": { \"displayName\": [\"ink\", \"LangError\"], \"type\": 3 }, \"messages\": [{ \"args\": [{ \"label\": \"to\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 4 } }, { \"label\": \"value\", \"type\": { \"displayName\": [\"u128\"], \"type\": 0 } }, { \"label\": \"_data\", \"type\": { \"displayName\": [\"Vec\"], \"type\": 7 } }], \"default\": false, \"docs\": [], \"label\": \"transfer\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 8 }, \"selector\": \"0x84a15da1\" }, { \"args\": [{ \"label\": \"from\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 4 } }, { \"label\": \"to\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 4 } }, { \"label\": \"value\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 0 } }, { \"label\": \"_data\", \"type\": { \"displayName\": [\"Vec\"], \"type\": 7 } }], \"default\": false, \"docs\": [], \"label\": \"transfer_from\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 8 }, \"selector\": \"0x0b396f18\" }, { \"args\": [], \"default\": false, \"docs\": [], \"label\": \"PSP22::total_supply\", \"mutates\": false, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 12 }, \"selector\": \"0x162df8c2\" }, { \"args\": [{ \"label\": \"to\", \"type\": { \"displayName\": [\"psp22_external\", \"TransferInput1\"], \"type\": 4 } }, { \"label\": \"value\", \"type\": { \"displayName\": [\"psp22_external\", \"TransferInput2\"], \"type\": 0 } }, { \"label\": \"data\", \"type\": { \"displayName\": [\"psp22_external\", \"TransferInput3\"], \"type\": 7 } }], \"default\": false, \"docs\": [], \"label\": \"PSP22::transfer\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 8 }, \"selector\": \"0xdb20f9f5\" }, { \"args\": [{ \"label\": \"spender\", \"type\": { \"displayName\": [\"psp22_external\", \"DecreaseAllowanceInput1\"], \"type\": 4 } }, { \"label\": \"delta_value\", \"type\": { \"displayName\": [\"psp22_external\", \"DecreaseAllowanceInput2\"], \"type\": 0 } }], \"default\": false, \"docs\": [], \"label\": \"PSP22::decrease_allowance\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 8 }, \"selector\": \"0xfecb57d5\" }, { \"args\": [{ \"label\": \"owner\", \"type\": { \"displayName\": [\"psp22_external\", \"BalanceOfInput1\"], \"type\": 4 } }], \"default\": false, \"docs\": [], \"label\": \"PSP22::balance_of\", \"mutates\": false, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 12 }, \"selector\": \"0x6568382f\" }, { \"args\": [{ \"label\": \"from\", \"type\": { \"displayName\": [\"psp22_external\", \"TransferFromInput1\"], \"type\": 4 } }, { \"label\": \"to\", \"type\": { \"displayName\": [\"psp22_external\", \"TransferFromInput2\"], \"type\": 4 } }, { \"label\": \"value\", \"type\": { \"displayName\": [\"psp22_external\", \"TransferFromInput3\"], \"type\": 0 } }, { \"label\": \"data\", \"type\": { \"displayName\": [\"psp22_external\", \"TransferFromInput4\"], \"type\": 7 } }], \"default\": false, \"docs\": [], \"label\": \"PSP22::transfer_from\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 8 }, \"selector\": \"0x54b3c76e\" }, { \"args\": [{ \"label\": \"spender\", \"type\": { \"displayName\": [\"psp22_external\", \"IncreaseAllowanceInput1\"], \"type\": 4 } }, { \"label\": \"delta_value\", \"type\": { \"displayName\": [\"psp22_external\", \"IncreaseAllowanceInput2\"], \"type\": 0 } }], \"default\": false, \"docs\": [], \"label\": \"PSP22::increase_allowance\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 8 }, \"selector\": \"0x96d6b57a\" }, { \"args\": [{ \"label\": \"spender\", \"type\": { \"displayName\": [\"psp22_external\", \"ApproveInput1\"], \"type\": 4 } }, { \"label\": \"value\", \"type\": { \"displayName\": [\"psp22_external\", \"ApproveInput2\"], \"type\": 0 } }], \"default\": false, \"docs\": [], \"label\": \"PSP22::approve\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 8 }, \"selector\": \"0xb20f1bbd\" }, { \"args\": [{ \"label\": \"owner\", \"type\": { \"displayName\": [\"psp22_external\", \"AllowanceInput1\"], \"type\": 4 } }, { \"label\": \"spender\", \"type\": { \"displayName\": [\"psp22_external\", \"AllowanceInput2\"], \"type\": 4 } }], \"default\": false, \"docs\": [], \"label\": \"PSP22::allowance\", \"mutates\": false, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 12 }, \"selector\": \"0x4d47d921\" }] }, \"storage\": { \"root\": { \"layout\": { \"struct\": { \"fields\": [{ \"layout\": { \"struct\": { \"fields\": [{ \"layout\": { \"root\": { \"layout\": { \"leaf\": { \"key\": \"0x270a8fc3\", \"ty\": 0 } }, \"root_key\": \"0x270a8fc3\" } }, \"name\": \"supply\" }, { \"layout\": { \"root\": { \"layout\": { \"leaf\": { \"key\": \"0xc2664826\", \"ty\": 0 } }, \"root_key\": \"0xc2664826\" } }, \"name\": \"balances\" }, { \"layout\": { \"root\": { \"layout\": { \"leaf\": { \"key\": \"0xf8d71e22\", \"ty\": 0 } }, \"root_key\": \"0xf8d71e22\" } }, \"name\": \"allowances\" }], \"name\": \"Data\" } }, \"name\": \"psp22\" }], \"name\": \"D9USDT\" } }, \"root_key\": \"0x00000000\" } }, \"types\": [{ \"id\": 0, \"type\": { \"def\": { \"primitive\": \"u128\" } } }, { \"id\": 1, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 2 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 3 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 2 }, { \"name\": \"E\", \"type\": 3 }], \"path\": [\"Result\"] } }, { \"id\": 2, \"type\": { \"def\": { \"tuple\": [] } } }, { \"id\": 3, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"index\": 1, \"name\": \"CouldNotReadInput\" }] } }, \"path\": [\"ink_primitives\", \"LangError\"] } }, { \"id\": 4, \"type\": { \"def\": { \"composite\": { \"fields\": [{ \"type\": 5, \"typeName\": \"[u8; 32]\" }] } }, \"path\": [\"ink_primitives\", \"types\", \"AccountId\"] } }, { \"id\": 5, \"type\": { \"def\": { \"array\": { \"len\": 32, \"type\": 6 } } } }, { \"id\": 6, \"type\": { \"def\": { \"primitive\": \"u8\" } } }, { \"id\": 7, \"type\": { \"def\": { \"sequence\": { \"type\": 6 } } } }, { \"id\": 8, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 9 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 3 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 9 }, { \"name\": \"E\", \"type\": 3 }], \"path\": [\"Result\"] } }, { \"id\": 9, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 2 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 10 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 2 }, { \"name\": \"E\", \"type\": 10 }], \"path\": [\"Result\"] } }, { \"id\": 10, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 11, \"typeName\": \"String\" }], \"index\": 0, \"name\": \"Custom\" }, { \"index\": 1, \"name\": \"InsufficientBalance\" }, { \"index\": 2, \"name\": \"InsufficientAllowance\" }, { \"index\": 3, \"name\": \"ZeroRecipientAddress\" }, { \"index\": 4, \"name\": \"ZeroSenderAddress\" }, { \"fields\": [{ \"type\": 11, \"typeName\": \"String\" }], \"index\": 5, \"name\": \"SafeTransferCheckFailed\" }] } }, \"path\": [\"openbrush_contracts\", \"traits\", \"errors\", \"psp22\", \"PSP22Error\"] } }, { \"id\": 11, \"type\": { \"def\": { \"primitive\": \"str\" } } }, { \"id\": 12, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 0 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 3 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 0 }, { \"name\": \"E\", \"type\": 3 }], \"path\": [\"Result\"] } }, { \"id\": 13, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"index\": 0, \"name\": \"None\" }, { \"fields\": [{ \"type\": 4 }], \"index\": 1, \"name\": \"Some\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 4 }], \"path\": [\"Option\"] } }, { \"id\": 14, \"type\": { \"def\": { \"composite\": { \"fields\": [{ \"type\": 5, \"typeName\": \"[u8; 32]\" }] } }, \"path\": [\"ink_primitives\", \"types\", \"Hash\"] } }, { \"id\": 15, \"type\": { \"def\": { \"primitive\": \"u64\" } } }, { \"id\": 16, \"type\": { \"def\": { \"primitive\": \"u32\" } } }, { \"id\": 17, \"type\": { \"def\": { \"variant\": {} }, \"path\": [\"ink_env\", \"types\", \"NoChainExtension\"] } }], \"version\": \"4\" } };\n\n// .papi/descriptors/src/contracts/burnManager.ts\nvar descriptor4 = { metadata: { \"source\": { \"hash\": \"0x2da1b7ebb4065bd2ec52012d674d4b203fab69681292bc4e594fc26fc9c2445f\", \"language\": \"ink! 4.3.0\", \"compiler\": \"rustc 1.72.0\", \"build_info\": { \"build_mode\": \"Release\", \"cargo_contract_version\": \"3.2.0\", \"rust_toolchain\": \"stable-aarch64-apple-darwin\", \"wasm_opt_settings\": { \"keep_debug_symbols\": false, \"optimization_passes\": \"Z\" } } }, \"contract\": { \"name\": \"d9-burn-manager\", \"version\": \"1.0.0\", \"authors\": [\"D9Dev\"] }, \"spec\": { \"constructors\": [{ \"args\": [{ \"label\": \"admin\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }, { \"label\": \"burn_contracts\", \"type\": { \"displayName\": [\"Vec\"], \"type\": 3 } }], \"default\": false, \"docs\": [\"Constructor that initializes the `bool` value to the given `init_value`.\"], \"label\": \"new\", \"payable\": true, \"returnType\": { \"displayName\": [\"ink_primitives\", \"ConstructorResult\"], \"type\": 6 }, \"selector\": \"0x9bae9d5e\" }], \"docs\": [], \"environment\": { \"accountId\": { \"displayName\": [\"AccountId\"], \"type\": 0 }, \"balance\": { \"displayName\": [\"Balance\"], \"type\": 4 }, \"blockNumber\": { \"displayName\": [\"BlockNumber\"], \"type\": 24 }, \"chainExtension\": { \"displayName\": [\"ChainExtension\"], \"type\": 25 }, \"hash\": { \"displayName\": [\"Hash\"], \"type\": 23 }, \"maxEventTopics\": 4, \"timestamp\": { \"displayName\": [\"Timestamp\"], \"type\": 5 } }, \"events\": [{ \"args\": [{ \"docs\": [\" initiator of of the burn\"], \"indexed\": true, \"label\": \"from\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }, { \"docs\": [\"amount of tokens burned\"], \"indexed\": true, \"label\": \"amount\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 4 } }], \"docs\": [], \"label\": \"WithdrawalExecuted\" }, { \"args\": [{ \"docs\": [\" initiator of of the burn\"], \"indexed\": true, \"label\": \"from\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }, { \"docs\": [\"amount of tokens burned\"], \"indexed\": true, \"label\": \"amount\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 4 } }], \"docs\": [], \"label\": \"BurnExecuted\" }], \"lang_error\": { \"displayName\": [\"ink\", \"LangError\"], \"type\": 8 }, \"messages\": [{ \"args\": [{ \"label\": \"burn_beneficiary\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }, { \"label\": \"burn_contract\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }], \"default\": false, \"docs\": [\" Executes a burn by making a cross-contract call, updates the total burned amount,\", \" updates the user's portfolio, and emits a `BurnExecuted` event.\", \"\", \" # Arguments\", \"\", \" * `burn_contract` - Account ID of the contract to call for the burn.\", \"\", \" # Errors\", \"\", \" Returns `Err` if the burn amount is zero, the burn contract is not valid,\", \" or the cross-contract call fails.\", \"\", \" # Returns\", \"\", \" Returns `Ok` with the updated portfolio on success.\"], \"label\": \"burn\", \"mutates\": true, \"payable\": true, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 9 }, \"selector\": \"0xb1efc17b\" }, { \"args\": [{ \"label\": \"burn_contract\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }], \"default\": false, \"docs\": [], \"label\": \"withdraw\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 9 }, \"selector\": \"0x410fcc9d\" }, { \"args\": [{ \"label\": \"account_id\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }], \"default\": false, \"docs\": [], \"label\": \"get_ancestors\", \"mutates\": false, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 15 }, \"selector\": \"0xe2ee2364\" }, { \"args\": [{ \"label\": \"burn_contract\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }], \"default\": false, \"docs\": [], \"label\": \"add_burn_contract\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 17 }, \"selector\": \"0x50cb7e6b\" }, { \"args\": [{ \"label\": \"burn_contract\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }], \"default\": false, \"docs\": [], \"label\": \"remove_burn_contract\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 6 }, \"selector\": \"0x2610355d\" }, { \"args\": [], \"default\": false, \"docs\": [], \"label\": \"get_admin\", \"mutates\": false, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 19 }, \"selector\": \"0x57b8a8a7\" }, { \"args\": [], \"default\": false, \"docs\": [], \"label\": \"get_total_burned\", \"mutates\": false, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 20 }, \"selector\": \"0x717d96e0\" }, { \"args\": [{ \"label\": \"account_id\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }], \"default\": false, \"docs\": [], \"label\": \"get_portfolio\", \"mutates\": false, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 21 }, \"selector\": \"0xf3246265\" }] }, \"storage\": { \"root\": { \"layout\": { \"struct\": { \"fields\": [{ \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 0 } }, \"name\": \"admin\" }, { \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 3 } }, \"name\": \"burn_contracts\" }, { \"layout\": { \"root\": { \"layout\": { \"struct\": { \"fields\": [{ \"layout\": { \"leaf\": { \"key\": \"0x249fe4b2\", \"ty\": 4 } }, \"name\": \"amount_burned\" }, { \"layout\": { \"leaf\": { \"key\": \"0x249fe4b2\", \"ty\": 4 } }, \"name\": \"balance_due\" }, { \"layout\": { \"leaf\": { \"key\": \"0x249fe4b2\", \"ty\": 4 } }, \"name\": \"balance_paid\" }, { \"layout\": { \"enum\": { \"dispatchKey\": \"0x249fe4b2\", \"name\": \"Option\", \"variants\": { \"0\": { \"fields\": [], \"name\": \"None\" }, \"1\": { \"fields\": [{ \"layout\": { \"struct\": { \"fields\": [{ \"layout\": { \"leaf\": { \"key\": \"0x249fe4b2\", \"ty\": 5 } }, \"name\": \"time\" }, { \"layout\": { \"leaf\": { \"key\": \"0x249fe4b2\", \"ty\": 0 } }, \"name\": \"contract\" }], \"name\": \"ActionRecord\" } }, \"name\": \"0\" }], \"name\": \"Some\" } } } }, \"name\": \"last_withdrawal\" }, { \"layout\": { \"struct\": { \"fields\": [{ \"layout\": { \"leaf\": { \"key\": \"0x249fe4b2\", \"ty\": 5 } }, \"name\": \"time\" }, { \"layout\": { \"leaf\": { \"key\": \"0x249fe4b2\", \"ty\": 0 } }, \"name\": \"contract\" }], \"name\": \"ActionRecord\" } }, \"name\": \"last_burn\" }], \"name\": \"BurnPortfolio\" } }, \"root_key\": \"0x249fe4b2\" } }, \"name\": \"portfolios\" }, { \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 4 } }, \"name\": \"total_amount_burned\" }], \"name\": \"D9BurnManager\" } }, \"root_key\": \"0x00000000\" } }, \"types\": [{ \"id\": 0, \"type\": { \"def\": { \"composite\": { \"fields\": [{ \"type\": 1, \"typeName\": \"[u8; 32]\" }] } }, \"path\": [\"ink_primitives\", \"types\", \"AccountId\"] } }, { \"id\": 1, \"type\": { \"def\": { \"array\": { \"len\": 32, \"type\": 2 } } } }, { \"id\": 2, \"type\": { \"def\": { \"primitive\": \"u8\" } } }, { \"id\": 3, \"type\": { \"def\": { \"sequence\": { \"type\": 0 } } } }, { \"id\": 4, \"type\": { \"def\": { \"primitive\": \"u128\" } } }, { \"id\": 5, \"type\": { \"def\": { \"primitive\": \"u64\" } } }, { \"id\": 6, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 7 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 8 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 7 }, { \"name\": \"E\", \"type\": 8 }], \"path\": [\"Result\"] } }, { \"id\": 7, \"type\": { \"def\": { \"tuple\": [] } } }, { \"id\": 8, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"index\": 1, \"name\": \"CouldNotReadInput\" }] } }, \"path\": [\"ink_primitives\", \"LangError\"] } }, { \"id\": 9, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 10 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 8 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 10 }, { \"name\": \"E\", \"type\": 8 }], \"path\": [\"Result\"] } }, { \"id\": 10, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 11 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 14 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 11 }, { \"name\": \"E\", \"type\": 14 }], \"path\": [\"Result\"] } }, { \"id\": 11, \"type\": { \"def\": { \"composite\": { \"fields\": [{ \"name\": \"amount_burned\", \"type\": 4, \"typeName\": \"Balance\" }, { \"name\": \"balance_due\", \"type\": 4, \"typeName\": \"Balance\" }, { \"name\": \"balance_paid\", \"type\": 4, \"typeName\": \"Balance\" }, { \"name\": \"last_withdrawal\", \"type\": 12, \"typeName\": \"Option<ActionRecord>\" }, { \"name\": \"last_burn\", \"type\": 13, \"typeName\": \"ActionRecord\" }] } }, \"path\": [\"d9_burn_common\", \"BurnPortfolio\"] } }, { \"id\": 12, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"index\": 0, \"name\": \"None\" }, { \"fields\": [{ \"type\": 13 }], \"index\": 1, \"name\": \"Some\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 13 }], \"path\": [\"Option\"] } }, { \"id\": 13, \"type\": { \"def\": { \"composite\": { \"fields\": [{ \"name\": \"time\", \"type\": 5, \"typeName\": \"Timestamp\" }, { \"name\": \"contract\", \"type\": 0, \"typeName\": \"AccountId\" }] } }, \"path\": [\"d9_burn_common\", \"ActionRecord\"] } }, { \"id\": 14, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"index\": 0, \"name\": \"BurnAmountInsufficient\" }, { \"index\": 1, \"name\": \"NoAccountFound\" }, { \"index\": 2, \"name\": \"EarlyWithdrawalAttempt\" }, { \"index\": 3, \"name\": \"ContractBalanceTooLow\" }, { \"index\": 4, \"name\": \"RestrictedFunction\" }, { \"index\": 5, \"name\": \"UsePortfolioExecuteFunction\" }, { \"index\": 6, \"name\": \"WithdrawalExceedsBalance\" }, { \"index\": 7, \"name\": \"TransferFailed\" }, { \"index\": 8, \"name\": \"InvalidCaller\" }, { \"index\": 9, \"name\": \"InvalidBurnContract\" }, { \"index\": 10, \"name\": \"BurnContractAlreadyAdded\" }, { \"index\": 11, \"name\": \"CrossContractCallFailed\" }, { \"index\": 12, \"name\": \"WithdrawalNotAllowed\" }, { \"index\": 13, \"name\": \"RuntimeErrorGettingAncestors\" }, { \"index\": 14, \"name\": \"NoAncestorsFound\" }] } }, \"path\": [\"d9_burn_common\", \"Error\"] } }, { \"id\": 15, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 16 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 8 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 16 }, { \"name\": \"E\", \"type\": 8 }], \"path\": [\"Result\"] } }, { \"id\": 16, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"index\": 0, \"name\": \"None\" }, { \"fields\": [{ \"type\": 3 }], \"index\": 1, \"name\": \"Some\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 3 }], \"path\": [\"Option\"] } }, { \"id\": 17, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 18 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 8 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 18 }, { \"name\": \"E\", \"type\": 8 }], \"path\": [\"Result\"] } }, { \"id\": 18, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 7 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 14 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 7 }, { \"name\": \"E\", \"type\": 14 }], \"path\": [\"Result\"] } }, { \"id\": 19, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 0 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 8 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 0 }, { \"name\": \"E\", \"type\": 8 }], \"path\": [\"Result\"] } }, { \"id\": 20, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 4 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 8 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 4 }, { \"name\": \"E\", \"type\": 8 }], \"path\": [\"Result\"] } }, { \"id\": 21, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 22 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 8 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 22 }, { \"name\": \"E\", \"type\": 8 }], \"path\": [\"Result\"] } }, { \"id\": 22, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"index\": 0, \"name\": \"None\" }, { \"fields\": [{ \"type\": 11 }], \"index\": 1, \"name\": \"Some\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 11 }], \"path\": [\"Option\"] } }, { \"id\": 23, \"type\": { \"def\": { \"composite\": { \"fields\": [{ \"type\": 1, \"typeName\": \"[u8; 32]\" }] } }, \"path\": [\"ink_primitives\", \"types\", \"Hash\"] } }, { \"id\": 24, \"type\": { \"def\": { \"primitive\": \"u32\" } } }, { \"id\": 25, \"type\": { \"def\": { \"variant\": {} }, \"path\": [\"d9_chain_extension\", \"D9ChainExtension\"] } }], \"version\": \"4\" } };\n\n// .papi/descriptors/src/contracts/crossChainTransfer.ts\nvar descriptor5 = { metadata: { \"source\": { \"hash\": \"0x4beac590e0c2e670b87997c893281c9eac45c8515e51bd96d7e31a660bc75db2\", \"language\": \"ink! 4.3.0\", \"compiler\": \"rustc 1.76.0\", \"build_info\": { \"build_mode\": \"Release\", \"cargo_contract_version\": \"4.0.2\", \"rust_toolchain\": \"stable-aarch64-apple-darwin\", \"wasm_opt_settings\": { \"keep_debug_symbols\": false, \"optimization_passes\": \"Z\" } } }, \"contract\": { \"name\": \"cross_chain_transfer\", \"version\": \"0.1.0\", \"authors\": [\"D9 team tech@d9network.com\"] }, \"image\": null, \"spec\": { \"constructors\": [{ \"args\": [{ \"label\": \"usdt_contract\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 1 } }], \"default\": false, \"docs\": [\"Constructor that initializes the `bool` value to the given `init_value`.\"], \"label\": \"new\", \"payable\": false, \"returnType\": { \"displayName\": [\"ink_primitives\", \"ConstructorResult\"], \"type\": 7 }, \"selector\": \"0x9bae9d5e\" }], \"docs\": [], \"environment\": { \"accountId\": { \"displayName\": [\"AccountId\"], \"type\": 1 }, \"balance\": { \"displayName\": [\"Balance\"], \"type\": 5 }, \"blockNumber\": { \"displayName\": [\"BlockNumber\"], \"type\": 28 }, \"chainExtension\": { \"displayName\": [\"ChainExtension\"], \"type\": 29 }, \"hash\": { \"displayName\": [\"Hash\"], \"type\": 27 }, \"maxEventTopics\": 4, \"timestamp\": { \"displayName\": [\"Timestamp\"], \"type\": 0 } }, \"events\": [{ \"args\": [{ \"docs\": [], \"indexed\": true, \"label\": \"transaction_id\", \"type\": { \"displayName\": [\"String\"], \"type\": 4 } }, { \"docs\": [], \"indexed\": true, \"label\": \"from_address\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 1 } }, { \"docs\": [], \"indexed\": true, \"label\": \"amount\", \"type\": { \"displayName\": [\"u128\"], \"type\": 5 } }], \"docs\": [], \"label\": \"CommitCreated\" }, { \"args\": [{ \"docs\": [], \"indexed\": true, \"label\": \"tx_id\", \"type\": { \"displayName\": [\"String\"], \"type\": 4 } }, { \"docs\": [], \"indexed\": true, \"label\": \"to_address\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 1 } }, { \"docs\": [], \"indexed\": true, \"label\": \"amount\", \"type\": { \"displayName\": [\"u128\"], \"type\": 5 } }], \"docs\": [], \"label\": \"DispatchCompleted\" }], \"lang_error\": { \"displayName\": [\"ink\", \"LangError\"], \"type\": 9 }, \"messages\": [{ \"args\": [{ \"label\": \"admin\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 1 } }], \"default\": false, \"docs\": [], \"label\": \"add_transaction_admin\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 10 }, \"selector\": \"0xec409e8a\" }, { \"args\": [{ \"label\": \"admin\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 1 } }], \"default\": false, \"docs\": [], \"label\": \"remove_transaction_admin\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 10 }, \"selector\": \"0xb3e15c07\" }, { \"args\": [], \"default\": false, \"docs\": [], \"label\": \"get_transaction_admins\", \"mutates\": false, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 14 }, \"selector\": \"0xa81d32bb\" }, { \"args\": [{ \"label\": \"admin\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 1 } }], \"default\": false, \"docs\": [], \"label\": \"is_transaction_admin\", \"mutates\": false, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 15 }, \"selector\": \"0x7a996b18\" }, { \"args\": [{ \"label\": \"user_id\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 1 } }], \"default\": false, \"docs\": [], \"label\": \"record_cancelled_tron_transfer\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 10 }, \"selector\": \"0x1617c8b4\" }, { \"args\": [{ \"label\": \"user_id\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 1 } }], \"default\": false, \"docs\": [], \"label\": \"generate_tx_id\", \"mutates\": false, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 17 }, \"selector\": \"0xfc9bd990\" }, { \"args\": [{ \"label\": \"user_id\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 1 } }], \"default\": false, \"docs\": [\" get last transaction. function is called on both chains.\"], \"label\": \"get_last_transaction\", \"mutates\": false, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 18 }, \"selector\": \"0x7081dd38\" }, { \"args\": [{ \"label\": \"user_id\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 1 } }], \"default\": false, \"docs\": [\" Helper function to get the current transaction nonce for a user\"], \"label\": \"get_current_nonce\", \"mutates\": false, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 24 }, \"selector\": \"0xe5219595\" }, { \"args\": [{ \"label\": \"tx_id\", \"type\": { \"displayName\": [\"String\"], \"type\": 4 } }], \"default\": false, \"docs\": [], \"label\": \"get_transaction\", \"mutates\": false, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 18 }, \"selector\": \"0xfeeb858e\" }, { \"args\": [{ \"label\": \"code_hash\", \"type\": { \"displayName\": [], \"type\": 2 } }], \"default\": false, \"docs\": [\" Modifies the code which is used to execute calls to this contract address (`AccountId`).\", \"\", \" We use this to upgrade the contract logic. We don't do any authorization here, any caller\", \" can execute this method. In a production contract you would do some authorization here.\"], \"label\": \"set_code\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 7 }, \"selector\": \"0x694fb50f\" }, { \"args\": [{ \"label\": \"transaction_id\", \"type\": { \"displayName\": [\"String\"], \"type\": 4 } }, { \"label\": \"from_address\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 1 } }, { \"label\": \"to_address\", \"type\": { \"displayName\": [], \"type\": 23 } }, { \"label\": \"amount\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 5 } }], \"default\": false, \"docs\": [], \"label\": \"asset_commit\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 25 }, \"selector\": \"0xc2ad66bb\" }, { \"args\": [{ \"label\": \"from_address\", \"type\": { \"displayName\": [], \"type\": 23 } }, { \"label\": \"to_address\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 1 } }, { \"label\": \"amount\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 5 } }], \"default\": false, \"docs\": [], \"label\": \"asset_dispatch\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 25 }, \"selector\": \"0x535b25a5\" }, { \"args\": [{ \"label\": \"new_controller\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 1 } }], \"default\": false, \"docs\": [], \"label\": \"change_controller\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 7 }, \"selector\": \"0xc92e346d\" }, { \"args\": [{ \"label\": \"new_admin\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 1 } }], \"default\": false, \"docs\": [], \"label\": \"relinquish_admin\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 7 }, \"selector\": \"0xda7dbaee\" }, { \"args\": [], \"default\": false, \"docs\": [], \"label\": \"claim_admin\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 7 }, \"selector\": \"0xa8656c6c\" }, { \"args\": [], \"default\": false, \"docs\": [], \"label\": \"cancel_admin_transfer\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 7 }, \"selector\": \"0xd45e3d78\" }] }, \"storage\": { \"root\": { \"layout\": { \"struct\": { \"fields\": [{ \"layout\": { \"root\": { \"layout\": { \"leaf\": { \"key\": \"0x8eb615e1\", \"ty\": 0 } }, \"root_key\": \"0x8eb615e1\" } }, \"name\": \"user_transaction_nonce\" }, { \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 1 } }, \"name\": \"super_admin\" }, { \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 1 } }, \"name\": \"new_admin\" }, { \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 1 } }, \"name\": \"controller\" }, { \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 1 } }, \"name\": \"usdt_contract\" }, { \"layout\": { \"root\": { \"layout\": { \"struct\": { \"fields\": [{ \"layout\": { \"leaf\": { \"key\": \"0x82645412\", \"ty\": 4 } }, \"name\": \"transaction_id\" }, { \"layout\": { \"enum\": { \"dispatchKey\": \"0x82645412\", \"name\": \"TransactionType\", \"variants\": { \"0\": { \"fields\": [], \"name\": \"Commit\" }, \"1\": { \"fields\": [], \"name\": \"Dispatch\" } } } }, \"name\": \"transaction_type\" }, { \"layout\": { \"enum\": { \"dispatchKey\": \"0x82645412\", \"name\": \"Chain\", \"variants\": { \"0\": { \"fields\": [], \"name\": \"D9\" }, \"1\": { \"fields\": [], \"name\": \"TRON\" } } } }, \"name\": \"from_chain\" }, { \"layout\": { \"enum\": { \"dispatchKey\": \"0x82645412\", \"name\": \"AddressType\", \"variants\": { \"0\": { \"fields\": [{ \"layout\": { \"array\": { \"layout\": { \"leaf\": { \"key\": \"0x82645412\", \"ty\": 3 } }, \"len\": 21, \"offset\": \"0x82645412\" } }, \"name\": \"0\" }], \"name\": \"Tron\" }, \"1\": { \"fields\": [{ \"layout\": { \"leaf\": { \"key\": \"0x82645412\", \"ty\": 1 } }, \"name\": \"0\" }], \"name\": \"D9\" } } } }, \"name\": \"from_address\" }, { \"layout\": { \"enum\": { \"dispatchKey\": \"0x82645412\", \"name\": \"AddressType\", \"variants\": { \"0\": { \"fields\": [{ \"layout\": { \"array\": { \"layout\": { \"leaf\": { \"key\": \"0x82645412\", \"ty\": 3 } }, \"len\": 21, \"offset\": \"0x82645412\" } }, \"name\": \"0\" }], \"name\": \"Tron\" }, \"1\": { \"fields\": [{ \"layout\": { \"leaf\": { \"key\": \"0x82645412\", \"ty\": 1 } }, \"name\": \"0\" }], \"name\": \"D9\" } } } }, \"name\": \"to_address\" }, { \"layout\": { \"leaf\": { \"key\": \"0x82645412\", \"ty\": 5 } }, \"name\": \"amount\" }, { \"layout\": { \"leaf\": { \"key\": \"0x82645412\", \"ty\": 0 } }, \"name\": \"timestamp\" }], \"name\": \"Transaction\" } }, \"root_key\": \"0x82645412\" } }, \"name\": \"transactions\" }, { \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 6 } }, \"name\": \"transaction_admins\" }], \"name\": \"CrossChainTransfer\" } }, \"root_key\": \"0x00000000\" } }, \"types\": [{ \"id\": 0, \"type\": { \"def\": { \"primitive\": \"u64\" } } }, { \"id\": 1, \"type\": { \"def\": { \"composite\": { \"fields\": [{ \"type\": 2, \"typeName\": \"[u8; 32]\" }] } }, \"path\": [\"ink_primitives\", \"types\", \"AccountId\"] } }, { \"id\": 2, \"type\": { \"def\": { \"array\": { \"len\": 32, \"type\": 3 } } } }, { \"id\": 3, \"type\": { \"def\": { \"primitive\": \"u8\" } } }, { \"id\": 4, \"type\": { \"def\": { \"primitive\": \"str\" } } }, { \"id\": 5, \"type\": { \"def\": { \"primitive\": \"u128\" } } }, { \"id\": 6, \"type\": { \"def\": { \"sequence\": { \"type\": 1 } } } }, { \"id\": 7, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 8 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 9 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 8 }, { \"name\": \"E\", \"type\": 9 }], \"path\": [\"Result\"] } }, { \"id\": 8, \"type\": { \"def\": { \"tuple\": [] } } }, { \"id\": 9, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"index\": 1, \"name\": \"CouldNotReadInput\" }] } }, \"path\": [\"ink_primitives\", \"LangError\"] } }, { \"id\": 10, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 11 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 9 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 11 }, { \"name\": \"E\", \"type\": 9 }], \"path\": [\"Result\"] } }, { \"id\": 11, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 8 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 12 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 8 }, { \"name\": \"E\", \"type\": 12 }], \"path\": [\"Result\"] } }, { \"id\": 12, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 1, \"typeName\": \"AccountId\" }], \"index\": 0, \"name\": \"Restrictedto\" }, { \"index\": 1, \"name\": \"AmountMustBeGreaterThanZero\" }, { \"index\": 2, \"name\": \"TransactionAlreadyExists\" }, { \"fields\": [{ \"type\": 13, \"typeName\": \"Chain\" }], \"index\": 3, \"name\": \"InvalidAddressLength\" }, { \"index\": 4, \"name\": \"InvalidHexString\" }, { \"index\": 5, \"name\": \"DecodedHexLengthInvalid\" }, { \"index\": 6, \"name\": \"TronAddressInvalidByteLength\" }, { \"index\": 7, \"name\": \"InvalidTronAddress\" }, { \"index\": 8, \"name\": \"TronDecodeError\" }, { \"index\": 9, \"name\": \"UnableToSendUSDT\" }, { \"index\": 10, \"name\": \"InsufficientAllowance\" }, { \"index\": 11, \"name\": \"UserUSDTBalanceInsufficient\" }, { \"index\": 12, \"name\": \"D9orUSDTProvidedLiquidityAtZero\" }, { \"index\": 13, \"name\": \"AlreadyTransactionAdmin\" }] } }, \"path\": [\"cross_chain_transfer\", \"cross_chain_transfer\", \"Error\"] } }, { \"id\": 13, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"index\": 0, \"name\": \"D9\" }, { \"index\": 1, \"name\": \"TRON\" }] } }, \"path\": [\"cross_chain_transfer\", \"cross_chain_transfer\", \"Chain\"] } }, { \"id\": 14, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 6 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 9 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 6 }, { \"name\": \"E\", \"type\": 9 }], \"path\": [\"Result\"] } }, { \"id\": 15, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 16 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 9 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 16 }, { \"name\": \"E\", \"type\": 9 }], \"path\": [\"Result\"] } }, { \"id\": 16, \"type\": { \"def\": { \"primitive\": \"bool\" } } }, { \"id\": 17, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 4 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 9 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 4 }, { \"name\": \"E\", \"type\": 9 }], \"path\": [\"Result\"] } }, { \"id\": 18, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 19 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 9 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 19 }, { \"name\": \"E\", \"type\": 9 }], \"path\": [\"Result\"] } }, { \"id\": 19, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"index\": 0, \"name\": \"None\" }, { \"fields\": [{ \"type\": 20 }], \"index\": 1, \"name\": \"Some\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 20 }], \"path\": [\"Option\"] } }, { \"id\": 20, \"type\": { \"def\": { \"composite\": { \"fields\": [{ \"name\": \"transaction_id\", \"type\": 4, \"typeName\": \"String\" }, { \"name\": \"transaction_type\", \"type\": 21, \"typeName\": \"TransactionType\" }, { \"name\": \"from_chain\", \"type\": 13, \"typeName\": \"Chain\" }, { \"name\": \"from_address\", \"type\": 22, \"typeName\": \"AddressType\" }, { \"name\": \"to_address\", \"type\": 22, \"typeName\": \"AddressType\" }, { \"name\": \"amount\", \"type\": 5, \"typeName\": \"u128\" }, { \"name\": \"timestamp\", \"type\": 0, \"typeName\": \"Timestamp\" }] } }, \"path\": [\"cross_chain_transfer\", \"cross_chain_transfer\", \"Transaction\"] } }, { \"id\": 21, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"index\": 0, \"name\": \"Commit\" }, { \"index\": 1, \"name\": \"Dispatch\" }] } }, \"path\": [\"cross_chain_transfer\", \"cross_chain_transfer\", \"TransactionType\"] } }, { \"id\": 22, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 23, \"typeName\": \"[u8; 21]\" }], \"index\": 0, \"name\": \"Tron\" }, { \"fields\": [{ \"type\": 1, \"typeName\": \"AccountId\" }], \"index\": 1, \"name\": \"D9\" }] } }, \"path\": [\"cross_chain_transfer\", \"cross_chain_transfer\", \"AddressType\"] } }, { \"id\": 23, \"type\": { \"def\": { \"array\": { \"len\": 21, \"type\": 3 } } } }, { \"id\": 24, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 0 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 9 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 0 }, { \"name\": \"E\", \"type\": 9 }], \"path\": [\"Result\"] } }, { \"id\": 25, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 26 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 9 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 26 }, { \"name\": \"E\", \"type\": 9 }], \"path\": [\"Result\"] } }, { \"id\": 26, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 4 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 12 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 4 }, { \"name\": \"E\", \"type\": 12 }], \"path\": [\"Result\"] } }, { \"id\": 27, \"type\": { \"def\": { \"composite\": { \"fields\": [{ \"type\": 2, \"typeName\": \"[u8; 32]\" }] } }, \"path\": [\"ink_primitives\", \"types\", \"Hash\"] } }, { \"id\": 28, \"type\": { \"def\": { \"primitive\": \"u32\" } } }, { \"id\": 29, \"type\": { \"def\": { \"variant\": {} }, \"path\": [\"d9_chain_extension\", \"D9ChainExtension\"] } }], \"version\": \"4\" } };\n\n// .papi/descriptors/src/contracts/marketMaker.ts\nvar descriptor6 = { metadata: { \"source\": { \"hash\": \"0x6e0eaec1512315978981967d4f9d6072c6a3f50381289c69205961fa9509fff9\", \"language\": \"ink! 4.3.0\", \"compiler\": \"rustc 1.72.1\", \"build_info\": { \"build_mode\": \"Release\", \"cargo_contract_version\": \"3.2.0\", \"rust_toolchain\": \"stable-x86_64-apple-darwin\", \"wasm_opt_settings\": { \"keep_debug_symbols\": false, \"optimization_passes\": \"Z\" } } }, \"contract\": { \"name\": \"market-maker\", \"version\": \"0.1.0\", \"authors\": [\"D9Dev\"] }, \"spec\": { \"constructors\": [{ \"args\": [{ \"label\": \"usdt_contract\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }, { \"label\": \"fee_percent\", \"type\": { \"displayName\": [\"u32\"], \"type\": 3 } }, { \"label\": \"liquidity_tolerance_percent\", \"type\": { \"displayName\": [\"u32\"], \"type\": 3 } }], \"default\": false, \"docs\": [], \"label\": \"new\", \"payable\": false, \"returnType\": { \"displayName\": [\"ink_primitives\", \"ConstructorResult\"], \"type\": 5 }, \"selector\": \"0x9bae9d5e\" }], \"docs\": [], \"environment\": { \"accountId\": { \"displayName\": [\"AccountId\"], \"type\": 0 }, \"balance\": { \"displayName\": [\"Balance\"], \"type\": 4 }, \"blockNumber\": { \"displayName\": [\"BlockNumber\"], \"type\": 3 }, \"chainExtension\": { \"displayName\": [\"ChainExtension\"], \"type\": 24 }, \"hash\": { \"displayName\": [\"Hash\"], \"type\": 22 }, \"maxEventTopics\": 4, \"timestamp\": { \"displayName\": [\"Timestamp\"], \"type\": 23 } }, \"events\": [{ \"args\": [{ \"docs\": [], \"indexed\": true, \"label\": \"account_id\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }, { \"docs\": [], \"indexed\": true, \"label\": \"usdt\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 4 } }, { \"docs\": [], \"indexed\": true, \"label\": \"d9\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 4 } }], \"docs\": [], \"label\": \"LiquidityAdded\" }, { \"args\": [{ \"docs\": [], \"indexed\": true, \"label\": \"account_id\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }, { \"docs\": [], \"indexed\": true, \"label\": \"usdt\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 4 } }, { \"docs\": [], \"indexed\": true, \"label\": \"d9\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 4 } }], \"docs\": [], \"label\": \"LiquidityRemoved\" }, { \"args\": [{ \"docs\": [], \"indexed\": true, \"label\": \"account_id\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }, { \"docs\": [], \"indexed\": true, \"label\": \"usdt\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 4 } }, { \"docs\": [], \"indexed\": true, \"label\": \"d9\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 4 } }], \"docs\": [], \"label\": \"D9ToUSDTConversion\" }, { \"args\": [{ \"docs\": [], \"indexed\": true, \"label\": \"account_id\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }, { \"docs\": [], \"indexed\": true, \"label\": \"usdt\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 4 } }, { \"docs\": [], \"indexed\": true, \"label\": \"d9\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 4 } }], \"docs\": [], \"label\": \"USDTToD9Conversion\" }], \"lang_error\": { \"displayName\": [\"ink\", \"LangError\"], \"type\": 7 }, \"messages\": [{ \"args\": [{ \"label\": \"new_admin\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }], \"default\": false, \"docs\": [], \"label\": \"change_admin\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 5 }, \"selector\": \"0x61ae97d7\" }, { \"args\": [], \"default\": false, \"docs\": [\" get pool balances (d9, usdt)\"], \"label\": \"get_currency_reserves\", \"mutates\": false, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 8 }, \"selector\": \"0x43b2d0e6\" }, { \"args\": [{ \"label\": \"account_id\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }], \"default\": false, \"docs\": [], \"label\": \"get_liquidity_provider\", \"mutates\": false, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 10 }, \"selector\": \"0x32e702ad\" }, { \"args\": [{ \"label\": \"usdt_liquidity\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 4 } }], \"default\": false, \"docs\": [\" add liquidity by adding tokens to the reserves\"], \"label\": \"add_liquidity\", \"mutates\": true, \"payable\": true, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 12 }, \"selector\": \"0x264cd04b\" }, { \"args\": [], \"default\": false, \"docs\": [], \"label\": \"remove_liquidity\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 12 }, \"selector\": \"0xbdd16bfa\" }, { \"args\": [{ \"label\": \"code_hash\", \"type\": { \"displayName\": [], \"type\": 1 } }], \"default\": false, \"docs\": [\" Modifies the code which is used to execute calls to this contract address (`AccountId`).\", \"\", \" We use this to upgrade the contract logic. We don't do any authorization here, any caller\", \" can execute this method. In a production contract you would do some authorization here.\"], \"label\": \"set_code\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 5 }, \"selector\": \"0x694fb50f\" }, { \"args\": [{ \"label\": \"usdt_liquidity\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 4 } }, { \"label\": \"d9_liquidity\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 4 } }], \"default\": false, \"docs\": [], \"label\": \"check_new_liquidity\", \"mutates\": false, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 12 }, \"selector\": \"0x5a150c03\" }, { \"args\": [{ \"label\": \"usdt\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 4 } }], \"default\": false, \"docs\": [\" sell usdt\"], \"label\": \"get_d9\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 16 }, \"selector\": \"0x0edab8e1\" }, { \"args\": [], \"default\": false, \"docs\": [\" sell d9\"], \"label\": \"get_usdt\", \"mutates\": true, \"payable\": true, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 16 }, \"selector\": \"0x5b41ab8a\" }, { \"args\": [{ \"label\": \"d9_liquidity\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 4 } }, { \"label\": \"usdt_liquidity\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 4 } }], \"default\": false, \"docs\": [\" calculate lp tokens based on usdt liquidity\"], \"label\": \"calc_new_lp_tokens\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 18 }, \"selector\": \"0xbdcee4ed\" }, { \"args\": [{ \"label\": \"direction\", \"type\": { \"displayName\": [\"Direction\"], \"type\": 19 } }, { \"label\": \"amount_0\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 4 } }], \"default\": false, \"docs\": [\" amount of currency B from A, if A => B\"], \"label\": \"calculate_exchange\", \"mutates\": false, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 16 }, \"selector\": \"0x2413eb9a\" }, { \"args\": [{ \"label\": \"direction\", \"type\": { \"displayName\": [\"Direction\"], \"type\": 19 } }, { \"label\": \"amount_0\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 4 } }], \"default\": false, \"docs\": [], \"label\": \"estimate_exchange\", \"mutates\": false, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 20 }, \"selector\": \"0x06f49352\" }, { \"args\": [{ \"label\": \"account_id\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }, { \"label\": \"amount\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 4 } }], \"default\": false, \"docs\": [\" check if usdt balance is sufficient for swap\"], \"label\": \"check_usdt_balance\", \"mutates\": false, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 12 }, \"selector\": \"0x4a74f8d9\" }] }, \"storage\": { \"root\": { \"layout\": { \"struct\": { \"fields\": [{ \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 0 } }, \"name\": \"usdt_contract\" }, { \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 3 } }, \"name\": \"fee_percent\" }, { \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 4 } }, \"name\": \"fee_total\" }, { \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 3 } }, \"name\": \"liquidity_tolerance_percent\" }, { \"layout\": { \"root\": { \"layout\": { \"leaf\": { \"key\": \"0x838a4d0c\", \"ty\": 4 } }, \"root_key\": \"0x838a4d0c\" } }, \"name\": \"liquidity_providers\" }, { \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 4 } }, \"name\": \"total_lp_tokens\" }, { \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 0 } }, \"name\": \"admin\" }], \"name\": \"MarketMaker\" } }, \"root_key\": \"0x00000000\" } }, \"types\": [{ \"id\": 0, \"type\": { \"def\": { \"composite\": { \"fields\": [{ \"type\": 1, \"typeName\": \"[u8; 32]\" }] } }, \"path\": [\"ink_primitives\", \"types\", \"AccountId\"] } }, { \"id\": 1, \"type\": { \"def\": { \"array\": { \"len\": 32, \"type\": 2 } } } }, { \"id\": 2, \"type\": { \"def\": { \"primitive\": \"u8\" } } }, { \"id\": 3, \"type\": { \"def\": { \"primitive\": \"u32\" } } }, { \"id\": 4, \"type\": { \"def\": { \"primitive\": \"u128\" } } }, { \"id\": 5, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 6 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 7 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 6 }, { \"name\": \"E\", \"type\": 7 }], \"path\": [\"Result\"] } }, { \"id\": 6, \"type\": { \"def\": { \"tuple\": [] } } }, { \"id\": 7, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"index\": 1, \"name\": \"CouldNotReadInput\" }] } }, \"path\": [\"ink_primitives\", \"LangError\"] } }, { \"id\": 8, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 9 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 7 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 9 }, { \"name\": \"E\", \"type\": 7 }], \"path\": [\"Result\"] } }, { \"id\": 9, \"type\": { \"def\": { \"tuple\": [4, 4] } } }, { \"id\": 10, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 11 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 7 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 11 }, { \"name\": \"E\", \"type\": 7 }], \"path\": [\"Result\"] } }, { \"id\": 11, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"index\": 0, \"name\": \"None\" }, { \"fields\": [{ \"type\": 4 }], \"index\": 1, \"name\": \"Some\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 4 }], \"path\": [\"Option\"] } }, { \"id\": 12, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 13 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 7 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 13 }, { \"name\": \"E\", \"type\": 7 }], \"path\": [\"Result\"] } }, { \"id\": 13, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 6 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 14 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 6 }, { \"name\": \"E\", \"type\": 14 }], \"path\": [\"Result\"] } }, { \"id\": 14, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"index\": 0, \"name\": \"D9orUSDTProvidedLiquidityAtZero\" }, { \"index\": 1, \"name\": \"ConversionAmountTooLow\" }, { \"index\": 2, \"name\": \"CouldntTransferUSDTFromUser\" }, { \"fields\": [{ \"type\": 15, \"typeName\": \"Currency\" }], \"index\": 3, \"name\": \"InsufficientLiquidity\" }, { \"index\": 4, \"name\": \"InsufficientAllowance\" }, { \"fields\": [{ \"type\": 15, \"typeName\": \"Currency\" }], \"index\": 5, \"name\": \"MarketMakerHasInsufficientFunds\" }, { \"index\": 6, \"name\": \"InsufficientLiquidityProvided\" }, { \"index\": 7, \"name\": \"USDTBalanceInsufficient\" }, { \"index\": 8, \"name\": \"LiquidityProviderNotFound\" }, { \"fields\": [{ \"type\": 4, \"typeName\": \"Balance\" }, { \"type\": 4, \"typeName\": \"Balance\" }], \"index\": 9, \"name\": \"LiquidityAddedBeyondTolerance\" }, { \"index\": 10, \"name\": \"InsufficientLPTokens\" }, { \"index\": 11, \"name\": \"InsufficientContractLPTokens\" }, { \"index\": 12, \"name\": \"DivisionByZero\" }, { \"index\": 13, \"name\": \"MultiplicationError\" }, { \"index\": 14, \"name\": \"USDTTooSmall\" }, { \"index\": 15, \"name\": \"USDTTooMuch\" }, { \"index\": 16, \"name\": \"LiquidityTooLow\" }] } }, \"path\": [\"market_maker\", \"market_maker\", \"Error\"] } }, { \"id\": 15, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"index\": 0, \"name\": \"D9\" }, { \"index\": 1, \"name\": \"USDT\" }] } }, \"path\": [\"market_maker\", \"market_maker\", \"Currency\"] } }, { \"id\": 16, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 17 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 7 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 17 }, { \"name\": \"E\", \"type\": 7 }], \"path\": [\"Result\"] } }, { \"id\": 17, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 4 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 14 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 4 }, { \"name\": \"E\", \"type\": 14 }], \"path\": [\"Result\"] } }, { \"id\": 18, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 4 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 7 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 4 }, { \"name\": \"E\", \"type\": 7 }], \"path\": [\"Result\"] } }, { \"id\": 19, \"type\": { \"def\": { \"composite\": { \"fields\": [{ \"type\": 15, \"typeName\": \"Currency\" }, { \"type\": 15, \"typeName\": \"Currency\" }] } }, \"path\": [\"market_maker\", \"market_maker\", \"Direction\"] } }, { \"id\": 20, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 21 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 7 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 21 }, { \"name\": \"E\", \"type\": 7 }], \"path\": [\"Result\"] } }, { \"id\": 21, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 9 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 14 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 9 }, { \"name\": \"E\", \"type\": 14 }], \"path\": [\"Result\"] } }, { \"id\": 22, \"type\": { \"def\": { \"composite\": { \"fields\": [{ \"type\": 1, \"typeName\": \"[u8; 32]\" }] } }, \"path\": [\"ink_primitives\", \"types\", \"Hash\"] } }, { \"id\": 23, \"type\": { \"def\": { \"primitive\": \"u64\" } } }, { \"id\": 24, \"type\": { \"def\": { \"variant\": {} }, \"path\": [\"d9_chain_extension\", \"D9ChainExtension\"] } }], \"version\": \"4\" } };\n\n// .papi/descriptors/src/contracts/burnMining.ts\nvar descriptor7 = { metadata: { \"source\": { \"hash\": \"0xa1245e9aaa904fd32b47665ecb84bff4d2357eea3d82257d092e3e05b66b3904\", \"language\": \"ink! 4.3.0\", \"compiler\": \"rustc 1.72.0\", \"build_info\": { \"build_mode\": \"Release\", \"cargo_contract_version\": \"3.2.0\", \"rust_toolchain\": \"stable-aarch64-apple-darwin\", \"wasm_opt_settings\": { \"keep_debug_symbols\": false, \"optimization_passes\": \"Z\" } } }, \"contract\": { \"name\": \"d9-burn-mining\", \"version\": \"0.1.0\", \"authors\": [\"D9Dev\"] }, \"spec\": { \"constructors\": [{ \"args\": [{ \"label\": \"main_pool\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 1 } }, { \"label\": \"burn_minimum\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 0 } }], \"default\": false, \"docs\": [], \"label\": \"new\", \"payable\": true, \"returnType\": { \"displayName\": [\"ink_primitives\", \"ConstructorResult\"], \"type\": 5 }, \"selector\": \"0x9bae9d5e\" }], \"docs\": [], \"environment\": { \"accountId\": { \"displayName\": [\"AccountId\"], \"type\": 1 }, \"balance\": { \"displayName\": [\"Balance\"], \"type\": 0 }, \"blockNumber\": { \"displayName\": [\"BlockNumber\"], \"type\": 25 }, \"chainExtension\": { \"displayName\": [\"ChainExtension\"], \"type\": 26 }, \"hash\": { \"displayName\": [\"Hash\"], \"type\": 24 }, \"maxEventTopics\": 4, \"timestamp\": { \"displayName\": [\"Timestamp\"], \"type\": 4 } }, \"events\": [], \"lang_error\": { \"displayName\": [\"ink\", \"LangError\"], \"type\": 7 }, \"messages\": [{ \"args\": [{ \"label\": \"new_main\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 1 } }], \"default\": false, \"docs\": [], \"label\": \"change_main\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 8 }, \"selector\": \"0x6cfbbb35\" }, { \"args\": [{ \"label\": \"new_day_milliseconds\", \"type\": { \"displayName\": [\"Timestamp\"], \"type\": 4 } }], \"default\": false, \"docs\": [], \"label\": \"set_day_milliseconds\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 8 }, \"selector\": \"0x57d2bc7f\" }, { \"args\": [{ \"label\": \"account_id\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 1 } }], \"default\": false, \"docs\": [], \"label\": \"get_account\", \"mutates\": false, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 11 }, \"selector\": \"0xd0f48683\" }, { \"args\": [{ \"label\": \"account_id\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 1 } }, { \"label\": \"burn_amount\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 0 } }], \"default\": false, \"docs\": [\" burn funcion callable by ownly master contract\", \"\", \" does the necessary checks then calls the internal burn function `_burn`\"], \"label\": \"initiate_burn\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 16 }, \"selector\": \"0x34aff0a0\" }, { \"args\": [{ \"label\": \"account_id\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 1 } }], \"default\": false, \"docs\": [\" calculate values to be used by the burn manager\"], \"label\": \"prepare_withdrawal\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 18 }, \"selector\": \"0x9c2e384b\" }, { \"args\": [{ \"label\": \"account_id\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 1 } }], \"default\": false, \"docs\": [], \"label\": \"get_ancestors\", \"mutates\": false, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 21 }, \"selector\": \"0xe2ee2364\" }, { \"args\": [{ \"label\": \"user\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 1 } }, { \"label\": \"amount_burned\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 0 } }], \"default\": false, \"docs\": [], \"label\": \"update_data\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 8 }, \"selector\": \"0x0590a9a1\" }, { \"args\": [{ \"label\": \"code_hash\", \"type\": { \"displayName\": [], \"type\": 2 } }], \"default\": false, \"docs\": [\" Modifies the code which is used to execute calls to this contract address (`AccountId`).\", \"\", \" We use this to upgrade the contract logic. We don't do any authorization here, any caller\", \" can execute this method. In a production contract you would do some authorization here.\"], \"label\": \"set_code\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 5 }, \"selector\": \"0x694fb50f\" }] }, \"storage\": { \"root\": { \"layout\": { \"struct\": { \"fields\": [{ \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 0 } }, \"name\": \"total_amount_burned\" }, { \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 1 } }, \"name\": \"main_pool\" }, { \"layout\": { \"root\": { \"layout\": { \"struct\": { \"fields\": [{ \"layout\": { \"leaf\": { \"key\": \"0x125717b1\", \"ty\": 4 } }, \"name\": \"creation_timestamp\" }, { \"layout\": { \"leaf\": { \"key\": \"0x125717b1\", \"ty\": 0 } }, \"name\": \"amount_burned\" }, { \"layout\": { \"leaf\": { \"key\": \"0x125717b1\", \"ty\": 0 } }, \"name\": \"balance_due\" }, { \"layout\": { \"leaf\": { \"key\": \"0x125717b1\", \"ty\": 0 } }, \"name\": \"balance_paid\" }, { \"layout\": { \"enum\": { \"dispatchKey\": \"0x125717b1\", \"name\": \"Option\", \"variants\": { \"0\": { \"fields\": [], \"name\": \"None\" }, \"1\": { \"fields\": [{ \"layout\": { \"leaf\": { \"key\": \"0x125717b1\", \"ty\": 4 } }, \"name\": \"0\" }], \"name\": \"Some\" } } } }, \"name\": \"last_withdrawal\" }, { \"layout\": { \"leaf\": { \"key\": \"0x125717b1\", \"ty\": 4 } }, \"name\": \"last_burn\" }, { \"layout\": { \"struct\": { \"fields\": [{ \"layout\": { \"leaf\": { \"key\": \"0x125717b1\", \"ty\": 0 } }, \"name\": \"0\" }, { \"layout\": { \"leaf\": { \"key\": \"0x125717b1\", \"ty\": 0 } }, \"name\": \"1\" }], \"name\": \"(A, B)\" } }, \"name\": \"referral_boost_coefficients\" }, { \"layout\": { \"leaf\": { \"key\": \"0x125717b1\", \"ty\": 4 } }, \"name\": \"last_interaction\" }], \"name\": \"Account\" } }, \"root_key\": \"0x125717b1\" } }, \"name\": \"accounts\" }, { \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 0 } }, \"name\": \"burn_minimum\" }, { \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 4 } }, \"name\": \"day_milliseconds\" }, { \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 1 } }, \"name\": \"admin\" }], \"name\": \"D9burnMining\" } }, \"root_key\": \"0x00000000\" } }, \"types\": [{ \"id\": 0, \"type\": { \"def\": { \"primitive\": \"u128\" } } }, { \"id\": 1, \"type\": { \"def\": { \"composite\": { \"fields\": [{ \"type\": 2, \"typeName\": \"[u8; 32]\" }] } }, \"path\": [\"ink_primitives\", \"types\", \"AccountId\"] } }, { \"id\": 2, \"type\": { \"def\": { \"array\": { \"len\": 32, \"type\": 3 } } } }, { \"id\": 3, \"type\": { \"def\": { \"primitive\": \"u8\" } } }, { \"id\": 4, \"type\": { \"def\": { \"primitive\": \"u64\" } } }, { \"id\": 5, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 6 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 7 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 6 }, { \"name\": \"E\", \"type\": 7 }], \"path\": [\"Result\"] } }, { \"id\": 6, \"type\": { \"def\": { \"tuple\": [] } } }, { \"id\": 7, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"index\": 1, \"name\": \"CouldNotReadInput\" }] } }, \"path\": [\"ink_primitives\", \"LangError\"] } }, { \"id\": 8, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 9 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 7 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 9 }, { \"name\": \"E\", \"type\": 7 }], \"path\": [\"Result\"] } }, { \"id\": 9, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 6 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 10 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 6 }, { \"name\": \"E\", \"type\": 10 }], \"path\": [\"Result\"] } }, { \"id\": 10, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"index\": 0, \"name\": \"BurnAmountInsufficient\" }, { \"index\": 1, \"name\": \"NoAccountFound\" }, { \"index\": 2, \"name\": \"EarlyWithdrawalAttempt\" }, { \"index\": 3, \"name\": \"ContractBalanceTooLow\" }, { \"index\": 4, \"name\": \"RestrictedFunction\" }, { \"index\": 5, \"name\": \"UsePortfolioExecuteFunction\" }, { \"index\": 6, \"name\": \"WithdrawalExceedsBalance\" }, { \"index\": 7, \"name\": \"TransferFailed\" }, { \"index\": 8, \"name\": \"InvalidCaller\" }, { \"index\": 9, \"name\": \"InvalidBurnContract\" }, { \"index\": 10, \"name\": \"BurnContractAlreadyAdded\" }, { \"index\": 11, \"name\": \"BurnAmountNotMultipleOf100\" }, { \"index\": 12, \"name\": \"CrossContractCallFailed\" }, { \"index\": 13, \"name\": \"WithdrawalNotAllowed\" }, { \"index\": 14, \"name\": \"WithdrawalAmountZero\" }, { \"index\": 15, \"name\": \"RuntimeErrorGettingAncestors\" }, { \"index\": 16, \"name\": \"NoAncestorsFound\" }, { \"index\": 17, \"name\": \"MustBeMultipleOf100\" }, { \"index\": 18, \"name\": \"RemoteCallToBurnContractFailed\" }, { \"index\": 19, \"name\": \"RemoteCallToMiningPoolFailed\" }, { \"index\": 20, \"name\": \"SomeEnvironmentError\" }, { \"index\": 21, \"name\": \"CalledContractTrapped\" }, { \"index\": 22, \"name\": \"CalledContractReverted\" }, { \"index\": 23, \"name\": \"NotCallable\" }, { \"index\": 24, \"name\": \"SomeDecodeError\" }, { \"index\": 25, \"name\": \"SomeOffChainError\" }, { \"index\": 26, \"name\": \"CalleeTrapped\" }, { \"index\": 27, \"name\": \"CalleeReverted\" }, { \"index\": 28, \"name\": \"KeyNotFound\" }, { \"index\": 29, \"name\": \"_BelowSubsistenceThreshold\" }, { \"index\": 30, \"name\": \"EnvironmentalTransferFailed\" }, { \"index\": 31, \"name\": \"_EndowmentTooLow\" }, { \"index\": 32, \"name\": \"CodeNotFound\" }, { \"index\": 33, \"name\": \"Unknown\" }, { \"index\": 34, \"name\": \"LoggingDisabled\" }, { \"index\": 35, \"name\": \"CallRuntimeFailed\" }, { \"index\": 36, \"name\": \"EcdsaRecoveryFailed\" }, { \"index\": 37, \"name\": \"WithdrawalAmountExceedsBalance\" }] } }, \"path\": [\"d9_burn_common\", \"Error\"] } }, { \"id\": 11, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 12 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 7 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 12 }, { \"name\": \"E\", \"type\": 7 }], \"path\": [\"Result\"] } }, { \"id\": 12, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"index\": 0, \"name\": \"None\" }, { \"fields\": [{ \"type\": 13 }], \"index\": 1, \"name\": \"Some\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 13 }], \"path\": [\"Option\"] } }, { \"id\": 13, \"type\": { \"def\": { \"composite\": { \"fields\": [{ \"name\": \"creation_timestamp\", \"type\": 4, \"typeName\": \"Timestamp\" }, { \"name\": \"amount_burned\", \"type\": 0, \"typeName\": \"Balance\" }, { \"name\": \"balance_due\", \"type\": 0, \"typeName\": \"Balance\" }, { \"name\": \"balance_paid\", \"type\": 0, \"typeName\": \"Balance\" }, { \"name\": \"last_withdrawal\", \"type\": 14, \"typeName\": \"Option<Timestamp>\" }, { \"name\": \"last_burn\", \"type\": 4, \"typeName\": \"Timestamp\" }, { \"name\": \"referral_boost_coefficients\", \"type\": 15, \"typeName\": \"(Balance, Balance)\" }, { \"name\": \"last_interaction\", \"type\": 4, \"typeName\": \"Timestamp\" }] } }, \"path\": [\"d9_burn_common\", \"Account\"] } }, { \"id\": 14, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"index\": 0, \"name\": \"None\" }, { \"fields\": [{ \"type\": 4 }], \"index\": 1, \"name\": \"Some\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 4 }], \"path\": [\"Option\"] } }, { \"id\": 15, \"type\": { \"def\": { \"tuple\": [0, 0] } } }, { \"id\": 16, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 17 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 7 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 17 }, { \"name\": \"E\", \"type\": 7 }], \"path\": [\"Result\"] } }, { \"id\": 17, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 0 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 10 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 0 }, { \"name\": \"E\", \"type\": 10 }], \"path\": [\"Result\"] } }, { \"id\": 18, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 19 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 7 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 19 }, { \"name\": \"E\", \"type\": 7 }], \"path\": [\"Result\"] } }, { \"id\": 19, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 20 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 10 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 20 }, { \"name\": \"E\", \"type\": 10 }], \"path\": [\"Result\"] } }, { \"id\": 20, \"type\": { \"def\": { \"tuple\": [0, 4] } } }, { \"id\": 21, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 22 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 7 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 22 }, { \"name\": \"E\", \"type\": 7 }], \"path\": [\"Result\"] } }, { \"id\": 22, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"index\": 0, \"name\": \"None\" }, { \"fields\": [{ \"type\": 23 }], \"index\": 1, \"name\": \"Some\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 23 }], \"path\": [\"Option\"] } }, { \"id\": 23, \"type\": { \"def\": { \"sequence\": { \"type\": 1 } } } }, { \"id\": 24, \"type\": { \"def\": { \"composite\": { \"fields\": [{ \"type\": 2, \"typeName\": \"[u8; 32]\" }] } }, \"path\": [\"ink_primitives\", \"types\", \"Hash\"] } }, { \"id\": 25, \"type\": { \"def\": { \"primitive\": \"u32\" } } }, { \"id\": 26, \"type\": { \"def\": { \"variant\": {} }, \"path\": [\"d9_chain_extension\", \"D9ChainExtension\"] } }], \"version\": \"4\" } };\n\n// .papi/descriptors/src/contracts/miningPool.ts\nvar descriptor8 = { metadata: { \"source\": { \"hash\": \"0x7786436103072d79da5e85e15869fc4b3b835913425a705a809e8677626f1c7c\", \"language\": \"ink! 4.3.0\", \"compiler\": \"rustc 1.72.1\", \"build_info\": { \"build_mode\": \"Release\", \"cargo_contract_version\": \"3.2.0\", \"rust_toolchain\": \"stable-x86_64-apple-darwin\", \"wasm_opt_settings\": { \"keep_debug_symbols\": false, \"optimization_passes\": \"Z\" } } }, \"contract\": { \"name\": \"mining_pool\", \"version\": \"0.1.0\", \"authors\": [\"D9\"] }, \"spec\": { \"constructors\": [{ \"args\": [{ \"label\": \"main_contract\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }, { \"label\": \"merchant_contract\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }, { \"label\": \"node_reward_contract\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }, { \"label\": \"amm_contract\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }], \"default\": false, \"docs\": [\"Constructor that initializes the `bool` value to the given `init_value`.\"], \"label\": \"new\", \"payable\": false, \"returnType\": { \"displayName\": [\"ink_primitives\", \"ConstructorResult\"], \"type\": 5 }, \"selector\": \"0x9bae9d5e\" }], \"docs\": [], \"environment\": { \"accountId\": { \"displayName\": [\"AccountId\"], \"type\": 0 }, \"balance\": { \"displayName\": [\"Balance\"], \"type\": 3 }, \"blockNumber\": { \"displayName\": [\"BlockNumber\"], \"type\": 4 }, \"chainExtension\": { \"displayName\": [\"ChainExtension\"], \"type\": 16 }, \"hash\": { \"displayName\": [\"Hash\"], \"type\": 14 }, \"maxEventTopics\": 4, \"timestamp\": { \"displayName\": [\"Timestamp\"], \"type\": 15 } }, \"events\": [], \"lang_error\": { \"displayName\": [\"ink\", \"LangError\"], \"type\": 7 }, \"messages\": [{ \"args\": [], \"default\": false, \"docs\": [], \"label\": \"get_accumulative_reward_pool\", \"mutates\": false, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 8 }, \"selector\": \"0x71ebcde6\" }, { \"args\": [{ \"label\": \"account_id\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }, { \"label\": \"amount\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 3 } }], \"default\": false, \"docs\": [], \"label\": \"pay_node_reward\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 9 }, \"selector\": \"0x2f0dd006\" }, { \"args\": [], \"default\": false, \"docs\": [], \"label\": \"get_merchant_volume\", \"mutates\": false, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 8 }, \"selector\": \"0x3e3207be\" }, { \"args\": [{ \"label\": \"session_index\", \"type\": { \"displayName\": [\"u32\"], \"type\": 4 } }], \"default\": false, \"docs\": [], \"label\": \"get_session_volume\", \"mutates\": false, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 8 }, \"selector\": \"0x91894472\" }, { \"args\": [{ \"label\": \"session_index\", \"type\": { \"displayName\": [\"u32\"], \"type\": 4 } }], \"default\": false, \"docs\": [], \"label\": \"update_pool_and_retrieve\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 12 }, \"selector\": \"0x8a1783cd\" }, { \"args\": [{ \"label\": \"amount\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 3 } }], \"default\": false, \"docs\": [], \"label\": \"deduct_from_reward_pool\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 9 }, \"selector\": \"0x7df305eb\" }, { \"args\": [], \"default\": false, \"docs\": [], \"label\": \"get_total_volume\", \"mutates\": false, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 8 }, \"selector\": \"0xe88330b2\" }, { \"args\": [], \"default\": false, \"docs\": [], \"label\": \"process_merchant_payment\", \"mutates\": true, \"payable\": true, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 9 }, \"selector\": \"0xcbdfeaf9\" }, { \"args\": [{ \"label\": \"user_account\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }, { \"label\": \"redeemable_usdt\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 3 } }], \"default\": false, \"docs\": [], \"label\": \"merchant_user_redeem_d9\", \"mutates\": false, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 12 }, \"selector\": \"0x152062a1\" }, { \"args\": [{ \"label\": \"merchant_contract\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }], \"default\": false, \"docs\": [], \"label\": \"change_merchant_contract\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 9 }, \"selector\": \"0x1221b207\" }, { \"args\": [{ \"label\": \"to\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }, { \"label\": \"amount\", \"type\": { \"displayName\": [\"Balance\"], \"type\": 3 } }], \"default\": false, \"docs\": [], \"label\": \"send_to\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 9 }, \"selector\": \"0x651d5be0\" }, { \"args\": [{ \"label\": \"node_reward_contract\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }], \"default\": false, \"docs\": [], \"label\": \"change_node_reward_contract\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 9 }, \"selector\": \"0x5cfb2c63\" }, { \"args\": [{ \"label\": \"amm_contract\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }], \"default\": false, \"docs\": [], \"label\": \"change_amm_contract\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 9 }, \"selector\": \"0x0db11b82\" }, { \"args\": [{ \"label\": \"main_contract\", \"type\": { \"displayName\": [\"AccountId\"], \"type\": 0 } }], \"default\": false, \"docs\": [], \"label\": \"change_main_contract\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 9 }, \"selector\": \"0xbb530edc\" }, { \"args\": [{ \"label\": \"code_hash\", \"type\": { \"displayName\": [], \"type\": 1 } }], \"default\": false, \"docs\": [], \"label\": \"set_code\", \"mutates\": true, \"payable\": false, \"returnType\": { \"displayName\": [\"ink\", \"MessageResult\"], \"type\": 5 }, \"selector\": \"0x694fb50f\" }] }, \"storage\": { \"root\": { \"layout\": { \"struct\": { \"fields\": [{ \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 0 } }, \"name\": \"admin\" }, { \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 0 } }, \"name\": \"main_contract\" }, { \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 0 } }, \"name\": \"merchant_contract\" }, { \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 0 } }, \"name\": \"node_reward_contract\" }, { \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 0 } }, \"name\": \"amm_contract\" }, { \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 3 } }, \"name\": \"merchant_volume\" }, { \"layout\": { \"root\": { \"layout\": { \"leaf\": { \"key\": \"0xd9887759\", \"ty\": 3 } }, \"root_key\": \"0xd9887759\" } }, \"name\": \"volume_at_index\" }, { \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 4 } }, \"name\": \"last_session\" }, { \"layout\": { \"leaf\": { \"key\": \"0x00000000\", \"ty\": 3 } }, \"name\": \"accumulative_reward_pool\" }], \"name\": \"MiningPool\" } }, \"root_key\": \"0x00000000\" } }, \"types\": [{ \"id\": 0, \"type\": { \"def\": { \"composite\": { \"fields\": [{ \"type\": 1, \"typeName\": \"[u8; 32]\" }] } }, \"path\": [\"ink_primitives\", \"types\", \"AccountId\"] } }, { \"id\": 1, \"type\": { \"def\": { \"array\": { \"len\": 32, \"type\": 2 } } } }, { \"id\": 2, \"type\": { \"def\": { \"primitive\": \"u8\" } } }, { \"id\": 3, \"type\": { \"def\": { \"primitive\": \"u128\" } } }, { \"id\": 4, \"type\": { \"def\": { \"primitive\": \"u32\" } } }, { \"id\": 5, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 6 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 7 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 6 }, { \"name\": \"E\", \"type\": 7 }], \"path\": [\"Result\"] } }, { \"id\": 6, \"type\": { \"def\": { \"tuple\": [] } } }, { \"id\": 7, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"index\": 1, \"name\": \"CouldNotReadInput\" }] } }, \"path\": [\"ink_primitives\", \"LangError\"] } }, { \"id\": 8, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 3 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 7 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 3 }, { \"name\": \"E\", \"type\": 7 }], \"path\": [\"Result\"] } }, { \"id\": 9, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 10 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 7 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 10 }, { \"name\": \"E\", \"type\": 7 }], \"path\": [\"Result\"] } }, { \"id\": 10, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 6 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 11 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 6 }, { \"name\": \"E\", \"type\": 11 }], \"path\": [\"Result\"] } }, { \"id\": 11, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 0, \"typeName\": \"AccountId\" }], \"index\": 0, \"name\": \"OnlyCallableBy\" }, { \"index\": 1, \"name\": \"FailedToGetExchangeAmount\" }, { \"index\": 2, \"name\": \"FailedToTransferD9ToUser\" }, { \"index\": 3, \"name\": \"SessionPoolNotReady\" }] } }, \"path\": [\"mining_pool\", \"mining_pool\", \"Error\"] } }, { \"id\": 12, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 13 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 7 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 13 }, { \"name\": \"E\", \"type\": 7 }], \"path\": [\"Result\"] } }, { \"id\": 13, \"type\": { \"def\": { \"variant\": { \"variants\": [{ \"fields\": [{ \"type\": 3 }], \"index\": 0, \"name\": \"Ok\" }, { \"fields\": [{ \"type\": 11 }], \"index\": 1, \"name\": \"Err\" }] } }, \"params\": [{ \"name\": \"T\", \"type\": 3 }, { \"name\": \"E\", \"type\": 11 }], \"path\": [\"Result\"] } }, { \"id\": 14, \"type\": { \"def\": { \"composite\": { \"fields\": [{ \"type\": 1, \"typeName\": \"[u8; 32]\" }] } }, \"path\": [\"ink_primitives\", \"types\", \"Hash\"] } }, { \"id\": 15, \"type\": { \"def\": { \"primitive\": \"u64\" } } }, { \"id\": 16, \"type\": { \"def\": { \"variant\": {} }, \"path\": [\"d9_chain_extension\", \"D9ChainExtension\"] } }], \"version\": \"4\" } };\n\n// .papi/descriptors/src/index.ts\nvar metadatas = { [\"0x05b81d038cfe33e4d5c55559161bbda14e8cca5b1beb2d4ed7d5da1544f22e90\"]: d9_default };\nvar getMetadata2 = async (codeHash) => {\n try {\n return await metadatas[codeHash].getMetadata();\n } catch {\n }\n return null;\n};\nexport {\n ArithmeticError,\n BalanceStatus,\n BalancesTypesReasons,\n DigestItem,\n DispatchClass,\n GrandpaEquivocation,\n GrandpaEvent,\n GrandpaStoredState,\n MultiAddress,\n Phase,\n SessionEvent,\n TransactionPaymentEvent,\n TransactionPaymentReleases,\n TransactionalError,\n contracts_exports as contracts,\n d9_default as d9,\n getMetadata2 as getMetadata\n};\n","/**\n * D9 Network constants\n */\n\n/**\n * D9 SS58 address prefix.\n *\n * SS58 is the address format used by Substrate-based chains. Each chain has a unique\n * prefix that determines the address format and ensures addresses are network-specific.\n *\n * D9 uses prefix 9, which produces addresses starting with 'c' or 'd'.\n *\n * This prefix is automatically applied to all AccountId encoding/decoding operations\n * in the SDK, including:\n * - Contract call parameter encoding\n * - Result decoding\n * - Event parsing\n *\n * @see https://github.com/paritytech/ss58-registry for the full SS58 registry\n */\nexport const D9_SS58_PREFIX = 9;\n\n/** D9 token decimals */\nexport const D9_DECIMALS = 12;\n\n/** D9 token symbol */\nexport const D9_SYMBOL = \"D9\";\n\n/** USDT token decimals */\nexport const USDT_DECIMALS = 2;\n\n/** USDT token symbol */\nexport const USDT_SYMBOL = \"USDT\";\n","/**\n * Structured error types for contract operations.\n * Provides detailed error information for debugging and handling.\n */\n\n/**\n * Error types for contract operations\n */\nexport type ContractErrorType =\n | \"METADATA_ERROR\" // Missing or invalid contract metadata\n | \"ENCODE_ERROR\" // Failed to encode call data\n | \"DECODE_ERROR\" // Failed to decode response\n | \"NETWORK_ERROR\" // Network or RPC error\n | \"CONTRACT_ERROR\" // Contract returned an error\n | \"LANG_ERROR\" // Ink LangError (CouldNotReadInput, etc.)\n | \"TIMEOUT_ERROR\" // Request timeout\n | \"ABORTED\" // Request was aborted\n | \"SIGNER_ERROR\" // Signer related error\n | \"TX_ERROR\"; // Transaction submission error\n\n/**\n * Base error class for all contract-related errors\n */\nexport class ContractError extends Error {\n public readonly timestamp: Date;\n\n public override readonly cause?: Error;\n\n constructor(\n message: string,\n public readonly type: ContractErrorType,\n public readonly label?: string,\n public readonly details?: unknown,\n cause?: Error,\n ) {\n super(message, { cause });\n this.name = \"ContractError\";\n this.timestamp = new Date();\n\n // Maintains proper stack trace for where error was thrown\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, ContractError);\n }\n }\n\n /**\n * Create a formatted error message for logging\n */\n toLogString(): string {\n const parts = [`[${this.type}]`, this.label ? `${this.label}:` : \"\", this.message].filter(\n Boolean,\n );\n\n if (this.details) {\n parts.push(`Details: ${JSON.stringify(this.details)}`);\n }\n\n return parts.join(\" \");\n }\n\n /**\n * Convert to a plain object for serialization\n */\n toJSON(): Record<string, unknown> {\n return {\n name: this.name,\n type: this.type,\n message: this.message,\n label: this.label,\n details: this.details,\n timestamp: this.timestamp.toISOString(),\n stack: this.stack,\n };\n }\n}\n\n/**\n * Error thrown when contract metadata is missing or invalid\n */\nexport class MetadataError extends ContractError {\n constructor(message: string, details?: unknown) {\n super(message, \"METADATA_ERROR\", undefined, details);\n this.name = \"MetadataError\";\n }\n}\n\n/**\n * Error thrown when encoding call data fails\n */\nexport class EncodeError extends ContractError {\n constructor(label: string, message: string, details?: unknown) {\n super(message, \"ENCODE_ERROR\", label, details);\n this.name = \"EncodeError\";\n }\n}\n\n/**\n * Error thrown when decoding response fails\n */\nexport class DecodeError extends ContractError {\n constructor(label: string, message: string, details?: unknown) {\n super(message, \"DECODE_ERROR\", label, details);\n this.name = \"DecodeError\";\n }\n}\n\n/**\n * Error thrown for network/RPC errors\n */\nexport class NetworkError extends ContractError {\n constructor(message: string, cause?: Error, details?: unknown) {\n super(message, \"NETWORK_ERROR\", undefined, details, cause);\n this.name = \"NetworkError\";\n }\n}\n\n/**\n * Error thrown when contract returns an error result\n */\nexport class ContractExecutionError extends ContractError {\n constructor(\n label: string,\n public readonly errorValue: unknown,\n ) {\n super(\n `Contract execution failed: ${JSON.stringify(errorValue)}`,\n \"CONTRACT_ERROR\",\n label,\n errorValue,\n );\n this.name = \"ContractExecutionError\";\n }\n}\n\n/**\n * Error thrown for Ink LangError\n */\nexport class LangError extends ContractError {\n constructor(\n label: string,\n public readonly variant: number,\n ) {\n const variantName = variant === 1 ? \"CouldNotReadInput\" : `Unknown(${variant})`;\n super(`Ink LangError: ${variantName}`, \"LANG_ERROR\", label, {\n variant,\n variantName,\n });\n this.name = \"LangError\";\n }\n}\n\n/**\n * Error thrown when request times out\n */\nexport class TimeoutError extends ContractError {\n constructor(\n label: string,\n public readonly timeoutMs: number,\n ) {\n super(`Request timed out after ${timeoutMs}ms`, \"TIMEOUT_ERROR\", label, {\n timeoutMs,\n });\n this.name = \"TimeoutError\";\n }\n}\n\n/**\n * Error thrown when request is aborted\n */\nexport class AbortedError extends ContractError {\n constructor(label: string, reason?: string) {\n super(reason || \"Request was aborted\", \"ABORTED\", label, { reason });\n this.name = \"AbortedError\";\n }\n}\n\n/**\n * Error thrown for signer-related issues\n */\nexport class SignerError extends ContractError {\n constructor(message: string, details?: unknown) {\n super(message, \"SIGNER_ERROR\", undefined, details);\n this.name = \"SignerError\";\n }\n}\n\n/**\n * Error thrown when transaction submission fails\n */\nexport class TransactionError extends ContractError {\n constructor(\n label: string,\n message: string,\n public readonly txHash?: string,\n details?: unknown,\n ) {\n super(message, \"TX_ERROR\", label, { ...(details as object), txHash });\n this.name = \"TransactionError\";\n }\n}\n\n/**\n * Type guard to check if an error is a ContractError\n */\nexport function isContractError(error: unknown): error is ContractError {\n return error instanceof ContractError;\n}\n\n/**\n * Type guard to check for specific error types\n */\nexport function isErrorType<T extends ContractErrorType>(\n error: unknown,\n type: T,\n): error is ContractError & { type: T } {\n return isContractError(error) && error.type === type;\n}\n","import type { HexString } from \"polkadot-api\";\n\nexport type { HexString } from \"polkadot-api\";\n\nexport function isHexString(input: unknown): input is HexString {\n if (typeof input !== \"string\") return false;\n if (!input.startsWith(\"0x\")) return false;\n const s = input.slice(2);\n return s.length % 2 === 0 && /^[0-9a-fA-F]+$/.test(s);\n}\n\nexport function hexToBytes(hex: unknown): Uint8Array {\n if (!isHexString(hex)) {\n throw new Error(\"Invalid hex string\");\n }\n const s = (hex as string).slice(2);\n const out = new Uint8Array(s.length / 2);\n for (let i = 0; i < out.length; i++) {\n out[i] = Number.parseInt(s.slice(i * 2, i * 2 + 2), 16);\n }\n return out;\n}\n\nexport function bytesToHex(bytes: Uint8Array): HexString {\n let hex = \"\";\n for (let i = 0; i < bytes.length; i++) {\n hex += bytes[i]!.toString(16).padStart(2, \"0\");\n }\n return `0x${hex}` as const;\n}\n","import {\n generateMnemonic as hdkdGenerateMnemonic,\n mnemonicToMiniSecret as hdkdMnemonicToMiniSecret,\n validateMnemonic as hdkdValidateMnemonic,\n} from \"@polkadot-labs/hdkd-helpers\";\n\nexport function generateMnemonic(): string {\n return hdkdGenerateMnemonic();\n}\n\nexport function validateMnemonic(mnemonic: string): boolean {\n return hdkdValidateMnemonic(mnemonic);\n}\n\nexport function mnemonicToMiniSecret(mnemonic: string, password?: string): Uint8Array {\n if (!validateMnemonic(mnemonic)) throw new Error(\"Invalid mnemonic\");\n return hdkdMnemonicToMiniSecret(mnemonic, password);\n}\n","import { ss58Decode, ss58Encode } from \"@polkadot-labs/hdkd-helpers\";\nimport type { SS58String } from \"polkadot-api\";\nexport type { SS58String } from \"polkadot-api\";\n\nexport function ss58DecodePublicKey(address: SS58String): Uint8Array {\n const [publicKey] = ss58Decode(address);\n return publicKey;\n}\n\nexport function ss58Reencode(address: SS58String, ss58Format: number): SS58String {\n const publicKey = ss58DecodePublicKey(address);\n return ss58Encode(publicKey, ss58Format) as SS58String;\n}\n","import { sr25519CreateDerive, withNetworkAccount } from \"@polkadot-labs/hdkd\";\nimport type { KeyPair } from \"@polkadot-labs/hdkd-helpers\";\nimport type { SS58String } from \"polkadot-api\";\n\nimport { hexToBytes } from \"./hex\";\n\nexport type Sr25519Keypair = KeyPair;\n\nexport function sr25519KeypairFromMiniSecret(miniSecret: Uint8Array): Sr25519Keypair {\n const derive = sr25519CreateDerive(miniSecret);\n const kp = derive(\"\");\n // hdkd derives at the root when path is empty string.\n return kp;\n}\n\nexport function sr25519DeriveFromMiniSecret(\n miniSecret: Uint8Array,\n derivationPath: string,\n): Sr25519Keypair {\n const derive = sr25519CreateDerive(miniSecret);\n return derive(derivationPath);\n}\n\nexport function sr25519AddressFromKeypair(\n keypair: Sr25519Keypair,\n ss58Format?: number,\n): SS58String {\n return withNetworkAccount(keypair, ss58Format).ss58Address as SS58String;\n}\n\nexport function sr25519AddressFromSecretKeyHex(\n secretKeyHex: string,\n ss58Format: number,\n): SS58String {\n const secretKey = hexToBytes(secretKeyHex);\n if (secretKey.length !== 32) {\n throw new Error(\"sr25519 secret key must be 32 bytes\");\n }\n const keypair = sr25519KeypairFromMiniSecret(secretKey);\n return sr25519AddressFromKeypair(keypair, ss58Format);\n}\n","const HEX_STR = \"0123456789abcdef\";\nfunction toHex(bytes) {\n const result = new Array(bytes.length + 1);\n result[0] = \"0x\";\n for (let i = 0; i < bytes.length; ) {\n const b = bytes[i++];\n result[i] = HEX_STR[b >> 4] + HEX_STR[b & 15];\n }\n return result.join(\"\");\n}\nconst HEX_MAP = {\n 0: 0,\n 1: 1,\n 2: 2,\n 3: 3,\n 4: 4,\n 5: 5,\n 6: 6,\n 7: 7,\n 8: 8,\n 9: 9,\n a: 10,\n b: 11,\n c: 12,\n d: 13,\n e: 14,\n f: 15,\n A: 10,\n B: 11,\n C: 12,\n D: 13,\n E: 14,\n F: 15\n};\nfunction fromHex(hexString) {\n const isOdd = hexString.length % 2;\n const base = (hexString[1] === \"x\" ? 2 : 0) + isOdd;\n const nBytes = (hexString.length - base) / 2 + isOdd;\n const bytes = new Uint8Array(nBytes);\n if (isOdd) bytes[0] = 0 | HEX_MAP[hexString[2]];\n for (let i = 0; i < nBytes; ) {\n const idx = base + i * 2;\n const a = HEX_MAP[hexString[idx]];\n const b = HEX_MAP[hexString[idx + 1]];\n bytes[isOdd + i++] = a << 4 | b;\n }\n return bytes;\n}\n\nexport { fromHex, toHex };\n//# sourceMappingURL=hex.mjs.map\n","const mergeUint8 = (...i) => {\n const inputs = Array.isArray(i[0]) ? i[0] : i;\n const totalLen = inputs.reduce((acc, a) => acc + a.byteLength, 0);\n const result = new Uint8Array(totalLen);\n for (let idx = 0, at = 0; idx < inputs.length; idx++) {\n const current = inputs[idx];\n result.set(current, at);\n at += current.byteLength;\n }\n return result;\n};\n\nexport { mergeUint8 };\n//# sourceMappingURL=mergeUint8.mjs.map\n","var __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => {\n __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n return value;\n};\n\n// src/internal/toInternalBytes.ts\nvar HEX_MAP = {\n 0: 0,\n 1: 1,\n 2: 2,\n 3: 3,\n 4: 4,\n 5: 5,\n 6: 6,\n 7: 7,\n 8: 8,\n 9: 9,\n a: 10,\n b: 11,\n c: 12,\n d: 13,\n e: 14,\n f: 15,\n A: 10,\n B: 11,\n C: 12,\n D: 13,\n E: 14,\n F: 15\n};\nfunction fromHex(hexString) {\n const isOdd = hexString.length % 2;\n const base = (hexString[1] === \"x\" ? 2 : 0) + isOdd;\n const nBytes = (hexString.length - base) / 2 + isOdd;\n const bytes = new Uint8Array(nBytes);\n if (isOdd)\n bytes[0] = 0 | HEX_MAP[hexString[2]];\n for (let i = 0; i < nBytes; ) {\n const idx = base + i * 2;\n const a = HEX_MAP[hexString[idx]];\n const b = HEX_MAP[hexString[idx + 1]];\n bytes[isOdd + i++] = a << 4 | b;\n }\n return bytes;\n}\nvar InternalUint8Array = class extends Uint8Array {\n constructor(buffer) {\n super(buffer);\n __publicField(this, \"i\", 0);\n __publicField(this, \"v\");\n this.v = new DataView(buffer);\n }\n};\nvar toInternalBytes = (fn) => (buffer) => fn(buffer instanceof InternalUint8Array ? buffer : new InternalUint8Array(buffer instanceof Uint8Array ? buffer.buffer : typeof buffer === \"string\" ? fromHex(buffer).buffer : buffer));\n\n// src/internal/mergeUint8.ts\nvar mergeUint8 = (inputs) => {\n const len = inputs.length;\n let totalLen = 0;\n for (let i = 0; i < len; i++)\n totalLen += inputs[i].length;\n const result = new Uint8Array(totalLen);\n for (let idx = 0, at = 0; idx < len; idx++) {\n const current = inputs[idx];\n result.set(current, at);\n at += current.byteLength;\n }\n return result;\n};\n\n// src/internal/mapObject.ts\nfunction mapObject(input, mapper) {\n const keys = Object.keys(input);\n const len = keys.length;\n const result = {};\n for (let i = 0; i < len; i++) {\n const key = keys[i];\n result[key] = mapper(input[key], key);\n }\n return result;\n}\n\n// src/utils.ts\nvar createDecoder = toInternalBytes;\nvar createCodec = (encoder, decoder) => {\n const result = [encoder, decoder];\n result.enc = encoder;\n result.dec = decoder;\n return result;\n};\nvar enhanceEncoder = (encoder, mapper) => (value) => encoder(mapper(value));\nvar enhanceDecoder = (decoder, mapper) => (value) => mapper(decoder(value));\nvar enhanceCodec = ([encoder, decoder], toFrom, fromTo) => createCodec(enhanceEncoder(encoder, toFrom), enhanceDecoder(decoder, fromTo));\n\n// src/codecs/fixed-width-ints.ts\nfunction decodeInt(nBytes, getter) {\n return toInternalBytes((bytes) => {\n const result = bytes.v[getter](bytes.i, true);\n bytes.i += nBytes;\n return result;\n });\n}\nfunction encodeInt(nBytes, setter) {\n return (input) => {\n const result = new Uint8Array(nBytes);\n const dv = new DataView(result.buffer);\n dv[setter](0, input, true);\n return result;\n };\n}\nfunction intCodec(nBytes, getter, setter) {\n return createCodec(encodeInt(nBytes, setter), decodeInt(nBytes, getter));\n}\nvar u8 = intCodec(1, \"getUint8\", \"setUint8\");\nvar u16 = intCodec(2, \"getUint16\", \"setUint16\");\nvar u32 = intCodec(4, \"getUint32\", \"setUint32\");\nvar u64 = intCodec(8, \"getBigUint64\", \"setBigUint64\");\nvar i8 = intCodec(1, \"getInt8\", \"setInt8\");\nvar i16 = intCodec(2, \"getInt16\", \"setInt16\");\nvar i32 = intCodec(4, \"getInt32\", \"setInt32\");\nvar i64 = intCodec(8, \"getBigInt64\", \"setBigInt64\");\nvar x128Enc = (value) => {\n const result = new Uint8Array(16);\n const dv = new DataView(result.buffer);\n dv.setBigInt64(0, value, true);\n dv.setBigInt64(8, value >> 64n, true);\n return result;\n};\nvar create128Dec = (method) => toInternalBytes((input) => {\n const { v, i } = input;\n const right = v.getBigUint64(i, true);\n const left = v[method](i + 8, true);\n input.i += 16;\n return left << 64n | right;\n});\nvar u128 = createCodec(x128Enc, create128Dec(\"getBigUint64\"));\nvar i128 = createCodec(x128Enc, create128Dec(\"getBigInt64\"));\nvar x256Enc = (value) => {\n const result = new Uint8Array(32);\n const dv = new DataView(result.buffer);\n dv.setBigInt64(0, value, true);\n dv.setBigInt64(8, value >> 64n, true);\n dv.setBigInt64(16, value >> 128n, true);\n dv.setBigInt64(24, value >> 192n, true);\n return result;\n};\nvar create256Dec = (method) => toInternalBytes((input) => {\n let result = input.v.getBigUint64(input.i, true);\n input.i += 8;\n result |= input.v.getBigUint64(input.i, true) << 64n;\n input.i += 8;\n result |= input.v.getBigUint64(input.i, true) << 128n;\n input.i += 8;\n result |= input.v[method](input.i, true) << 192n;\n input.i += 8;\n return result;\n});\nvar u256 = createCodec(x256Enc, create256Dec(\"getBigUint64\"));\nvar i256 = createCodec(x256Enc, create256Dec(\"getBigInt64\"));\n\n// src/codecs/bool.ts\nvar bool = enhanceCodec(u8, (value) => value ? 1 : 0, Boolean);\n\n// src/codecs/compact.ts\nvar decoders = [u8[1], u16[1], u32[1]];\nvar compactDec = toInternalBytes((bytes) => {\n const init = bytes[bytes.i];\n const kind = init & 3;\n if (kind < 3)\n return decoders[kind](bytes) >>> 2;\n const nBytes = (init >>> 2) + 4;\n bytes.i++;\n let result = 0n;\n const nU64 = nBytes / 8 | 0;\n let shift = 0n;\n for (let i = 0; i < nU64; i++) {\n result = u64[1](bytes) << shift | result;\n shift += 64n;\n }\n let nReminders = nBytes % 8;\n if (nReminders > 3) {\n result = BigInt(u32[1](bytes)) << shift | result;\n shift += 32n;\n nReminders -= 4;\n }\n if (nReminders > 1) {\n result = BigInt(u16[1](bytes)) << shift | result;\n shift += 16n;\n nReminders -= 2;\n }\n if (nReminders)\n result = BigInt(u8[1](bytes)) << shift | result;\n return result;\n});\nvar MIN_U64 = 1n << 56n;\nvar MIN_U32 = 1 << 24;\nvar MIN_U16 = 256;\nvar U32_MASK = 4294967295n;\nvar SINGLE_BYTE_MODE_LIMIT = 1 << 6;\nvar TWO_BYTE_MODE_LIMIT = 1 << 14;\nvar FOUR_BYTE_MODE_LIMIT = 1 << 30;\nvar compactEnc = (input) => {\n if (input < 0)\n throw new Error(`Wrong compact input (${input})`);\n const nInput = Number(input) << 2;\n if (input < SINGLE_BYTE_MODE_LIMIT)\n return u8[0](nInput);\n if (input < TWO_BYTE_MODE_LIMIT)\n return u16[0](nInput | 1);\n if (input < FOUR_BYTE_MODE_LIMIT)\n return u32[0](nInput | 2);\n let buffers = [new Uint8Array(1)];\n let bigValue = BigInt(input);\n while (bigValue >= MIN_U64) {\n buffers.push(u64[0](bigValue));\n bigValue >>= 64n;\n }\n if (bigValue >= MIN_U32) {\n buffers.push(u32[0](Number(bigValue & U32_MASK)));\n bigValue >>= 32n;\n }\n let smValue = Number(bigValue);\n if (smValue >= MIN_U16) {\n buffers.push(u16[0](smValue));\n smValue >>= 16;\n }\n smValue && buffers.push(u8[0](smValue));\n const result = mergeUint8(buffers);\n result[0] = result.length - 5 << 2 | 3;\n return result;\n};\nvar compact = createCodec(compactEnc, compactDec);\n\n// src/codecs/str.ts\nvar textEncoder = new TextEncoder();\nvar strEnc = (str2) => {\n const val = textEncoder.encode(str2);\n return mergeUint8([compact.enc(val.length), val]);\n};\nvar textDecoder = new TextDecoder();\nvar strDec = toInternalBytes((bytes) => {\n let nElements = compact.dec(bytes);\n const dv = new DataView(bytes.buffer, bytes.i, nElements);\n bytes.i += nElements;\n return textDecoder.decode(dv);\n});\nvar str = createCodec(strEnc, strDec);\n\n// src/codecs/void.ts\nvar noop = () => {\n};\nvar emptyArr = new Uint8Array(0);\nvar _void = createCodec(() => emptyArr, noop);\n\n// src/codecs/Bytes.ts\nvar BytesEnc = (nBytes) => nBytes === void 0 ? (bytes) => mergeUint8([compact.enc(bytes.length), bytes]) : (bytes) => bytes.length === nBytes ? bytes : bytes.slice(0, nBytes);\nvar BytesDec = (nBytes) => toInternalBytes((bytes) => {\n const len = nBytes === void 0 ? compact.dec(bytes) : nBytes !== Infinity ? nBytes : bytes.byteLength - bytes.i;\n const result = new Uint8Array(bytes.buffer.slice(bytes.i, bytes.i + len));\n bytes.i += len;\n return result;\n});\nvar Bytes = (nBytes) => createCodec(BytesEnc(nBytes), BytesDec(nBytes));\nBytes.enc = BytesEnc;\nBytes.dec = BytesDec;\n\n// src/codecs/Enum.ts\nvar enumEnc = (inner, x) => {\n const keys = Object.keys(inner);\n const mappedKeys = new Map(x?.map((actualIdx, idx) => [keys[idx], actualIdx]) ?? keys.map((key, idx) => [key, idx]));\n const getKey = (key) => mappedKeys.get(key);\n return ({ tag, value }) => mergeUint8([u8.enc(getKey(tag)), inner[tag](value)]);\n};\nvar enumDec = (inner, x) => {\n const keys = Object.keys(inner);\n const mappedKeys = new Map(x?.map((actualIdx, idx) => [actualIdx, keys[idx]]) ?? keys.map((key, idx) => [idx, key]));\n return toInternalBytes((bytes) => {\n const idx = u8.dec(bytes);\n const tag = mappedKeys.get(idx);\n const innerDecoder = inner[tag];\n return {\n tag,\n value: innerDecoder(bytes)\n };\n });\n};\nvar Enum = (inner, ...args) => createCodec(enumEnc(mapObject(inner, ([encoder]) => encoder), ...args), enumDec(mapObject(inner, ([, decoder]) => decoder), ...args));\nEnum.enc = enumEnc;\nEnum.dec = enumDec;\n\n// src/codecs/Option.ts\nvar OptionDec = (inner) => toInternalBytes((bytes) => u8[1](bytes) > 0 ? inner(bytes) : void 0);\nvar OptionEnc = (inner) => (value) => {\n const result = new Uint8Array(1);\n if (value === void 0)\n return result;\n result[0] = 1;\n return mergeUint8([result, inner(value)]);\n};\nvar Option = (inner) => createCodec(OptionEnc(inner[0]), OptionDec(inner[1]));\nOption.enc = OptionEnc;\nOption.dec = OptionDec;\n\n// src/codecs/Result.ts\nvar ResultDec = (okDecoder, koDecoder) => toInternalBytes((bytes) => {\n const success = u8[1](bytes) === 0;\n const decoder = success ? okDecoder : koDecoder;\n const value = decoder(bytes);\n return { success, value };\n});\nvar ResultEnc = (okEncoder, koEncoder) => ({ success, value }) => mergeUint8([\n u8[0](success ? 0 : 1),\n (success ? okEncoder : koEncoder)(value)\n]);\nvar Result = (okCodec, koCodec) => createCodec(ResultEnc(okCodec[0], koCodec[0]), ResultDec(okCodec[1], koCodec[1]));\nResult.dec = ResultDec;\nResult.enc = ResultEnc;\n\n// src/codecs/Tuple.ts\nvar TupleDec = (...decoders2) => toInternalBytes((bytes) => decoders2.map((decoder) => decoder(bytes)));\nvar TupleEnc = (...encoders) => (values) => mergeUint8(encoders.map((enc, idx) => enc(values[idx])));\nvar Tuple = (...codecs) => createCodec(TupleEnc(...codecs.map(([encoder]) => encoder)), TupleDec(...codecs.map(([, decoder]) => decoder)));\nTuple.enc = TupleEnc;\nTuple.dec = TupleDec;\n\n// src/codecs/Struct.ts\nvar StructEnc = (encoders) => {\n const keys = Object.keys(encoders);\n return enhanceEncoder(Tuple.enc(...Object.values(encoders)), (input) => keys.map((k) => input[k]));\n};\nvar StructDec = (decoders2) => {\n const keys = Object.keys(decoders2);\n return enhanceDecoder(Tuple.dec(...Object.values(decoders2)), (tuple) => Object.fromEntries(tuple.map((value, idx) => [keys[idx], value])));\n};\nvar Struct = (codecs) => createCodec(StructEnc(mapObject(codecs, (x) => x[0])), StructDec(mapObject(codecs, (x) => x[1])));\nStruct.enc = StructEnc;\nStruct.dec = StructDec;\n\n// src/codecs/Vector.ts\nvar VectorEnc = (inner, size) => size >= 0 ? (value) => mergeUint8(value.map(inner)) : (value) => mergeUint8([compact.enc(value.length), mergeUint8(value.map(inner))]);\nvar VectorDec = (getter, size) => toInternalBytes((bytes) => {\n const nElements = size >= 0 ? size : compact.dec(bytes);\n const result = new Array(nElements);\n for (let i = 0; i < nElements; i++) {\n result[i] = getter(bytes);\n }\n return result;\n});\nvar Vector = (inner, size) => createCodec(VectorEnc(inner[0], size), VectorDec(inner[1], size));\nVector.enc = VectorEnc;\nVector.dec = VectorDec;\nexport {\n Bytes,\n Enum,\n Option,\n Result,\n Struct,\n Tuple,\n Vector,\n _void,\n bool,\n compact,\n createCodec,\n createDecoder,\n enhanceCodec,\n enhanceDecoder,\n enhanceEncoder,\n i128,\n i16,\n i256,\n i32,\n i64,\n i8,\n str,\n u128,\n u16,\n u256,\n u32,\n u64,\n u8\n};\n//# sourceMappingURL=scale-ts.js.map\n","/*! scure-base - MIT License (c) 2022 Paul Miller (paulmillr.com) */\nfunction isBytes(a) {\n return a instanceof Uint8Array || (ArrayBuffer.isView(a) && a.constructor.name === 'Uint8Array');\n}\n/** Asserts something is Uint8Array. */\nfunction abytes(b) {\n if (!isBytes(b))\n throw new Error('Uint8Array expected');\n}\nfunction isArrayOf(isString, arr) {\n if (!Array.isArray(arr))\n return false;\n if (arr.length === 0)\n return true;\n if (isString) {\n return arr.every((item) => typeof item === 'string');\n }\n else {\n return arr.every((item) => Number.isSafeInteger(item));\n }\n}\nfunction afn(input) {\n if (typeof input !== 'function')\n throw new Error('function expected');\n return true;\n}\nfunction astr(label, input) {\n if (typeof input !== 'string')\n throw new Error(`${label}: string expected`);\n return true;\n}\nfunction anumber(n) {\n if (!Number.isSafeInteger(n))\n throw new Error(`invalid integer: ${n}`);\n}\nfunction aArr(input) {\n if (!Array.isArray(input))\n throw new Error('array expected');\n}\nfunction astrArr(label, input) {\n if (!isArrayOf(true, input))\n throw new Error(`${label}: array of strings expected`);\n}\nfunction anumArr(label, input) {\n if (!isArrayOf(false, input))\n throw new Error(`${label}: array of numbers expected`);\n}\n/**\n * @__NO_SIDE_EFFECTS__\n */\nfunction chain(...args) {\n const id = (a) => a;\n // Wrap call in closure so JIT can inline calls\n const wrap = (a, b) => (c) => a(b(c));\n // Construct chain of args[-1].encode(args[-2].encode([...]))\n const encode = args.map((x) => x.encode).reduceRight(wrap, id);\n // Construct chain of args[0].decode(args[1].decode(...))\n const decode = args.map((x) => x.decode).reduce(wrap, id);\n return { encode, decode };\n}\n/**\n * Encodes integer radix representation to array of strings using alphabet and back.\n * Could also be array of strings.\n * @__NO_SIDE_EFFECTS__\n */\nfunction alphabet(letters) {\n // mapping 1 to \"b\"\n const lettersA = typeof letters === 'string' ? letters.split('') : letters;\n const len = lettersA.length;\n astrArr('alphabet', lettersA);\n // mapping \"b\" to 1\n const indexes = new Map(lettersA.map((l, i) => [l, i]));\n return {\n encode: (digits) => {\n aArr(digits);\n return digits.map((i) => {\n if (!Number.isSafeInteger(i) || i < 0 || i >= len)\n throw new Error(`alphabet.encode: digit index outside alphabet \"${i}\". Allowed: ${letters}`);\n return lettersA[i];\n });\n },\n decode: (input) => {\n aArr(input);\n return input.map((letter) => {\n astr('alphabet.decode', letter);\n const i = indexes.get(letter);\n if (i === undefined)\n throw new Error(`Unknown letter: \"${letter}\". Allowed: ${letters}`);\n return i;\n });\n },\n };\n}\n/**\n * @__NO_SIDE_EFFECTS__\n */\nfunction join(separator = '') {\n astr('join', separator);\n return {\n encode: (from) => {\n astrArr('join.decode', from);\n return from.join(separator);\n },\n decode: (to) => {\n astr('join.decode', to);\n return to.split(separator);\n },\n };\n}\n/**\n * Pad strings array so it has integer number of bits\n * @__NO_SIDE_EFFECTS__\n */\nfunction padding(bits, chr = '=') {\n anumber(bits);\n astr('padding', chr);\n return {\n encode(data) {\n astrArr('padding.encode', data);\n while ((data.length * bits) % 8)\n data.push(chr);\n return data;\n },\n decode(input) {\n astrArr('padding.decode', input);\n let end = input.length;\n if ((end * bits) % 8)\n throw new Error('padding: invalid, string should have whole number of bytes');\n for (; end > 0 && input[end - 1] === chr; end--) {\n const last = end - 1;\n const byte = last * bits;\n if (byte % 8 === 0)\n throw new Error('padding: invalid, string has too much padding');\n }\n return input.slice(0, end);\n },\n };\n}\n/**\n * @__NO_SIDE_EFFECTS__\n */\nfunction normalize(fn) {\n afn(fn);\n return { encode: (from) => from, decode: (to) => fn(to) };\n}\n/**\n * Slow: O(n^2) time complexity\n */\nfunction convertRadix(data, from, to) {\n // base 1 is impossible\n if (from < 2)\n throw new Error(`convertRadix: invalid from=${from}, base cannot be less than 2`);\n if (to < 2)\n throw new Error(`convertRadix: invalid to=${to}, base cannot be less than 2`);\n aArr(data);\n if (!data.length)\n return [];\n let pos = 0;\n const res = [];\n const digits = Array.from(data, (d) => {\n anumber(d);\n if (d < 0 || d >= from)\n throw new Error(`invalid integer: ${d}`);\n return d;\n });\n const dlen = digits.length;\n while (true) {\n let carry = 0;\n let done = true;\n for (let i = pos; i < dlen; i++) {\n const digit = digits[i];\n const fromCarry = from * carry;\n const digitBase = fromCarry + digit;\n if (!Number.isSafeInteger(digitBase) ||\n fromCarry / from !== carry ||\n digitBase - digit !== fromCarry) {\n throw new Error('convertRadix: carry overflow');\n }\n const div = digitBase / to;\n carry = digitBase % to;\n const rounded = Math.floor(div);\n digits[i] = rounded;\n if (!Number.isSafeInteger(rounded) || rounded * to + carry !== digitBase)\n throw new Error('convertRadix: carry overflow');\n if (!done)\n continue;\n else if (!rounded)\n pos = i;\n else\n done = false;\n }\n res.push(carry);\n if (done)\n break;\n }\n for (let i = 0; i < data.length - 1 && data[i] === 0; i++)\n res.push(0);\n return res.reverse();\n}\nconst gcd = (a, b) => (b === 0 ? a : gcd(b, a % b));\nconst radix2carry = /* @__NO_SIDE_EFFECTS__ */ (from, to) => from + (to - gcd(from, to));\nconst powers = /* @__PURE__ */ (() => {\n let res = [];\n for (let i = 0; i < 40; i++)\n res.push(2 ** i);\n return res;\n})();\n/**\n * Implemented with numbers, because BigInt is 5x slower\n */\nfunction convertRadix2(data, from, to, padding) {\n aArr(data);\n if (from <= 0 || from > 32)\n throw new Error(`convertRadix2: wrong from=${from}`);\n if (to <= 0 || to > 32)\n throw new Error(`convertRadix2: wrong to=${to}`);\n if (radix2carry(from, to) > 32) {\n throw new Error(`convertRadix2: carry overflow from=${from} to=${to} carryBits=${radix2carry(from, to)}`);\n }\n let carry = 0;\n let pos = 0; // bitwise position in current element\n const max = powers[from];\n const mask = powers[to] - 1;\n const res = [];\n for (const n of data) {\n anumber(n);\n if (n >= max)\n throw new Error(`convertRadix2: invalid data word=${n} from=${from}`);\n carry = (carry << from) | n;\n if (pos + from > 32)\n throw new Error(`convertRadix2: carry overflow pos=${pos} from=${from}`);\n pos += from;\n for (; pos >= to; pos -= to)\n res.push(((carry >> (pos - to)) & mask) >>> 0);\n const pow = powers[pos];\n if (pow === undefined)\n throw new Error('invalid carry');\n carry &= pow - 1; // clean carry, otherwise it will cause overflow\n }\n carry = (carry << (to - pos)) & mask;\n if (!padding && pos >= from)\n throw new Error('Excess padding');\n if (!padding && carry > 0)\n throw new Error(`Non-zero padding: ${carry}`);\n if (padding && pos > 0)\n res.push(carry >>> 0);\n return res;\n}\n/**\n * @__NO_SIDE_EFFECTS__\n */\nfunction radix(num) {\n anumber(num);\n const _256 = 2 ** 8;\n return {\n encode: (bytes) => {\n if (!isBytes(bytes))\n throw new Error('radix.encode input should be Uint8Array');\n return convertRadix(Array.from(bytes), _256, num);\n },\n decode: (digits) => {\n anumArr('radix.decode', digits);\n return Uint8Array.from(convertRadix(digits, num, _256));\n },\n };\n}\n/**\n * If both bases are power of same number (like `2**8 <-> 2**64`),\n * there is a linear algorithm. For now we have implementation for power-of-two bases only.\n * @__NO_SIDE_EFFECTS__\n */\nfunction radix2(bits, revPadding = false) {\n anumber(bits);\n if (bits <= 0 || bits > 32)\n throw new Error('radix2: bits should be in (0..32]');\n if (radix2carry(8, bits) > 32 || radix2carry(bits, 8) > 32)\n throw new Error('radix2: carry overflow');\n return {\n encode: (bytes) => {\n if (!isBytes(bytes))\n throw new Error('radix2.encode input should be Uint8Array');\n return convertRadix2(Array.from(bytes), 8, bits, !revPadding);\n },\n decode: (digits) => {\n anumArr('radix2.decode', digits);\n return Uint8Array.from(convertRadix2(digits, bits, 8, revPadding));\n },\n };\n}\nfunction unsafeWrapper(fn) {\n afn(fn);\n return function (...args) {\n try {\n return fn.apply(null, args);\n }\n catch (e) { }\n };\n}\nfunction checksum(len, fn) {\n anumber(len);\n afn(fn);\n return {\n encode(data) {\n if (!isBytes(data))\n throw new Error('checksum.encode: input should be Uint8Array');\n const sum = fn(data).slice(0, len);\n const res = new Uint8Array(data.length + len);\n res.set(data);\n res.set(sum, data.length);\n return res;\n },\n decode(data) {\n if (!isBytes(data))\n throw new Error('checksum.decode: input should be Uint8Array');\n const payload = data.slice(0, -len);\n const oldChecksum = data.slice(-len);\n const newChecksum = fn(payload).slice(0, len);\n for (let i = 0; i < len; i++)\n if (newChecksum[i] !== oldChecksum[i])\n throw new Error('Invalid checksum');\n return payload;\n },\n };\n}\n// prettier-ignore\nexport const utils = {\n alphabet, chain, checksum, convertRadix, convertRadix2, radix, radix2, join, padding,\n};\n// RFC 4648 aka RFC 3548\n// ---------------------\n/**\n * base16 encoding from RFC 4648.\n * @example\n * ```js\n * base16.encode(Uint8Array.from([0x12, 0xab]));\n * // => '12AB'\n * ```\n */\nexport const base16 = chain(radix2(4), alphabet('0123456789ABCDEF'), join(''));\n/**\n * base32 encoding from RFC 4648. Has padding.\n * Use `base32nopad` for unpadded version.\n * Also check out `base32hex`, `base32hexnopad`, `base32crockford`.\n * @example\n * ```js\n * base32.encode(Uint8Array.from([0x12, 0xab]));\n * // => 'CKVQ===='\n * base32.decode('CKVQ====');\n * // => Uint8Array.from([0x12, 0xab])\n * ```\n */\nexport const base32 = chain(radix2(5), alphabet('ABCDEFGHIJKLMNOPQRSTUVWXYZ234567'), padding(5), join(''));\n/**\n * base32 encoding from RFC 4648. No padding.\n * Use `base32` for padded version.\n * Also check out `base32hex`, `base32hexnopad`, `base32crockford`.\n * @example\n * ```js\n * base32nopad.encode(Uint8Array.from([0x12, 0xab]));\n * // => 'CKVQ'\n * base32nopad.decode('CKVQ');\n * // => Uint8Array.from([0x12, 0xab])\n * ```\n */\nexport const base32nopad = chain(radix2(5), alphabet('ABCDEFGHIJKLMNOPQRSTUVWXYZ234567'), join(''));\n/**\n * base32 encoding from RFC 4648. Padded. Compared to ordinary `base32`, slightly different alphabet.\n * Use `base32hexnopad` for unpadded version.\n * @example\n * ```js\n * base32hex.encode(Uint8Array.from([0x12, 0xab]));\n * // => '2ALG===='\n * base32hex.decode('2ALG====');\n * // => Uint8Array.from([0x12, 0xab])\n * ```\n */\nexport const base32hex = chain(radix2(5), alphabet('0123456789ABCDEFGHIJKLMNOPQRSTUV'), padding(5), join(''));\n/**\n * base32 encoding from RFC 4648. No padding. Compared to ordinary `base32`, slightly different alphabet.\n * Use `base32hex` for padded version.\n * @example\n * ```js\n * base32hexnopad.encode(Uint8Array.from([0x12, 0xab]));\n * // => '2ALG'\n * base32hexnopad.decode('2ALG');\n * // => Uint8Array.from([0x12, 0xab])\n * ```\n */\nexport const base32hexnopad = chain(radix2(5), alphabet('0123456789ABCDEFGHIJKLMNOPQRSTUV'), join(''));\n/**\n * base32 encoding from RFC 4648. Doug Crockford's version.\n * https://www.crockford.com/base32.html\n * @example\n * ```js\n * base32crockford.encode(Uint8Array.from([0x12, 0xab]));\n * // => '2ANG'\n * base32crockford.decode('2ANG');\n * // => Uint8Array.from([0x12, 0xab])\n * ```\n */\nexport const base32crockford = chain(radix2(5), alphabet('0123456789ABCDEFGHJKMNPQRSTVWXYZ'), join(''), normalize((s) => s.toUpperCase().replace(/O/g, '0').replace(/[IL]/g, '1')));\n// Built-in base64 conversion https://caniuse.com/mdn-javascript_builtins_uint8array_frombase64\n// prettier-ignore\nconst hasBase64Builtin = /* @__PURE__ */ (() => typeof Uint8Array.from([]).toBase64 === 'function' &&\n typeof Uint8Array.fromBase64 === 'function')();\nconst decodeBase64Builtin = (s, isUrl) => {\n astr('base64', s);\n const re = isUrl ? /^[A-Za-z0-9=_-]+$/ : /^[A-Za-z0-9=+/]+$/;\n const alphabet = isUrl ? 'base64url' : 'base64';\n if (s.length > 0 && !re.test(s))\n throw new Error('invalid base64');\n return Uint8Array.fromBase64(s, { alphabet, lastChunkHandling: 'strict' });\n};\n/**\n * base64 from RFC 4648. Padded.\n * Use `base64nopad` for unpadded version.\n * Also check out `base64url`, `base64urlnopad`.\n * Falls back to built-in function, when available.\n * @example\n * ```js\n * base64.encode(Uint8Array.from([0x12, 0xab]));\n * // => 'Eqs='\n * base64.decode('Eqs=');\n * // => Uint8Array.from([0x12, 0xab])\n * ```\n */\n// prettier-ignore\nexport const base64 = hasBase64Builtin ? {\n encode(b) { abytes(b); return b.toBase64(); },\n decode(s) { return decodeBase64Builtin(s, false); },\n} : chain(radix2(6), alphabet('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'), padding(6), join(''));\n/**\n * base64 from RFC 4648. No padding.\n * Use `base64` for padded version.\n * @example\n * ```js\n * base64nopad.encode(Uint8Array.from([0x12, 0xab]));\n * // => 'Eqs'\n * base64nopad.decode('Eqs');\n * // => Uint8Array.from([0x12, 0xab])\n * ```\n */\nexport const base64nopad = chain(radix2(6), alphabet('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'), join(''));\n/**\n * base64 from RFC 4648, using URL-safe alphabet. Padded.\n * Use `base64urlnopad` for unpadded version.\n * Falls back to built-in function, when available.\n * @example\n * ```js\n * base64url.encode(Uint8Array.from([0x12, 0xab]));\n * // => 'Eqs='\n * base64url.decode('Eqs=');\n * // => Uint8Array.from([0x12, 0xab])\n * ```\n */\n// prettier-ignore\nexport const base64url = hasBase64Builtin ? {\n encode(b) { abytes(b); return b.toBase64({ alphabet: 'base64url' }); },\n decode(s) { return decodeBase64Builtin(s, true); },\n} : chain(radix2(6), alphabet('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_'), padding(6), join(''));\n/**\n * base64 from RFC 4648, using URL-safe alphabet. No padding.\n * Use `base64url` for padded version.\n * @example\n * ```js\n * base64urlnopad.encode(Uint8Array.from([0x12, 0xab]));\n * // => 'Eqs'\n * base64urlnopad.decode('Eqs');\n * // => Uint8Array.from([0x12, 0xab])\n * ```\n */\nexport const base64urlnopad = chain(radix2(6), alphabet('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_'), join(''));\n// base58 code\n// -----------\nconst genBase58 = /* @__NO_SIDE_EFFECTS__ */ (abc) => chain(radix(58), alphabet(abc), join(''));\n/**\n * base58: base64 without ambigous characters +, /, 0, O, I, l.\n * Quadratic (O(n^2)) - so, can't be used on large inputs.\n * @example\n * ```js\n * base58.decode('01abcdef');\n * // => '3UhJW'\n * ```\n */\nexport const base58 = genBase58('123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz');\n/**\n * base58: flickr version. Check out `base58`.\n */\nexport const base58flickr = genBase58('123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ');\n/**\n * base58: XRP version. Check out `base58`.\n */\nexport const base58xrp = genBase58('rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz');\n// Data len (index) -> encoded block len\nconst XMR_BLOCK_LEN = [0, 2, 3, 5, 6, 7, 9, 10, 11];\n/**\n * base58: XMR version. Check out `base58`.\n * Done in 8-byte blocks (which equals 11 chars in decoding). Last (non-full) block padded with '1' to size in XMR_BLOCK_LEN.\n * Block encoding significantly reduces quadratic complexity of base58.\n */\nexport const base58xmr = {\n encode(data) {\n let res = '';\n for (let i = 0; i < data.length; i += 8) {\n const block = data.subarray(i, i + 8);\n res += base58.encode(block).padStart(XMR_BLOCK_LEN[block.length], '1');\n }\n return res;\n },\n decode(str) {\n let res = [];\n for (let i = 0; i < str.length; i += 11) {\n const slice = str.slice(i, i + 11);\n const blockLen = XMR_BLOCK_LEN.indexOf(slice.length);\n const block = base58.decode(slice);\n for (let j = 0; j < block.length - blockLen; j++) {\n if (block[j] !== 0)\n throw new Error('base58xmr: wrong padding');\n }\n res = res.concat(Array.from(block.slice(block.length - blockLen)));\n }\n return Uint8Array.from(res);\n },\n};\n/**\n * Method, which creates base58check encoder.\n * Requires function, calculating sha256.\n */\nexport const createBase58check = (sha256) => chain(checksum(4, (data) => sha256(sha256(data))), base58);\n/**\n * Use `createBase58check` instead.\n * @deprecated\n */\nexport const base58check = createBase58check;\nconst BECH_ALPHABET = chain(alphabet('qpzry9x8gf2tvdw0s3jn54khce6mua7l'), join(''));\nconst POLYMOD_GENERATORS = [0x3b6a57b2, 0x26508e6d, 0x1ea119fa, 0x3d4233dd, 0x2a1462b3];\nfunction bech32Polymod(pre) {\n const b = pre >> 25;\n let chk = (pre & 0x1ffffff) << 5;\n for (let i = 0; i < POLYMOD_GENERATORS.length; i++) {\n if (((b >> i) & 1) === 1)\n chk ^= POLYMOD_GENERATORS[i];\n }\n return chk;\n}\nfunction bechChecksum(prefix, words, encodingConst = 1) {\n const len = prefix.length;\n let chk = 1;\n for (let i = 0; i < len; i++) {\n const c = prefix.charCodeAt(i);\n if (c < 33 || c > 126)\n throw new Error(`Invalid prefix (${prefix})`);\n chk = bech32Polymod(chk) ^ (c >> 5);\n }\n chk = bech32Polymod(chk);\n for (let i = 0; i < len; i++)\n chk = bech32Polymod(chk) ^ (prefix.charCodeAt(i) & 0x1f);\n for (let v of words)\n chk = bech32Polymod(chk) ^ v;\n for (let i = 0; i < 6; i++)\n chk = bech32Polymod(chk);\n chk ^= encodingConst;\n return BECH_ALPHABET.encode(convertRadix2([chk % powers[30]], 30, 5, false));\n}\n/**\n * @__NO_SIDE_EFFECTS__\n */\nfunction genBech32(encoding) {\n const ENCODING_CONST = encoding === 'bech32' ? 1 : 0x2bc830a3;\n const _words = radix2(5);\n const fromWords = _words.decode;\n const toWords = _words.encode;\n const fromWordsUnsafe = unsafeWrapper(fromWords);\n function encode(prefix, words, limit = 90) {\n astr('bech32.encode prefix', prefix);\n if (isBytes(words))\n words = Array.from(words);\n anumArr('bech32.encode', words);\n const plen = prefix.length;\n if (plen === 0)\n throw new TypeError(`Invalid prefix length ${plen}`);\n const actualLength = plen + 7 + words.length;\n if (limit !== false && actualLength > limit)\n throw new TypeError(`Length ${actualLength} exceeds limit ${limit}`);\n const lowered = prefix.toLowerCase();\n const sum = bechChecksum(lowered, words, ENCODING_CONST);\n return `${lowered}1${BECH_ALPHABET.encode(words)}${sum}`;\n }\n function decode(str, limit = 90) {\n astr('bech32.decode input', str);\n const slen = str.length;\n if (slen < 8 || (limit !== false && slen > limit))\n throw new TypeError(`invalid string length: ${slen} (${str}). Expected (8..${limit})`);\n // don't allow mixed case\n const lowered = str.toLowerCase();\n if (str !== lowered && str !== str.toUpperCase())\n throw new Error(`String must be lowercase or uppercase`);\n const sepIndex = lowered.lastIndexOf('1');\n if (sepIndex === 0 || sepIndex === -1)\n throw new Error(`Letter \"1\" must be present between prefix and data only`);\n const prefix = lowered.slice(0, sepIndex);\n const data = lowered.slice(sepIndex + 1);\n if (data.length < 6)\n throw new Error('Data must be at least 6 characters long');\n const words = BECH_ALPHABET.decode(data).slice(0, -6);\n const sum = bechChecksum(prefix, words, ENCODING_CONST);\n if (!data.endsWith(sum))\n throw new Error(`Invalid checksum in ${str}: expected \"${sum}\"`);\n return { prefix, words };\n }\n const decodeUnsafe = unsafeWrapper(decode);\n function decodeToBytes(str) {\n const { prefix, words } = decode(str, false);\n return { prefix, words, bytes: fromWords(words) };\n }\n function encodeFromBytes(prefix, bytes) {\n return encode(prefix, toWords(bytes));\n }\n return {\n encode,\n decode,\n encodeFromBytes,\n decodeToBytes,\n decodeUnsafe,\n fromWords,\n fromWordsUnsafe,\n toWords,\n };\n}\n/**\n * bech32 from BIP 173. Operates on words.\n * For high-level, check out scure-btc-signer:\n * https://github.com/paulmillr/scure-btc-signer.\n */\nexport const bech32 = genBech32('bech32');\n/**\n * bech32m from BIP 350. Operates on words.\n * It was to mitigate `bech32` weaknesses.\n * For high-level, check out scure-btc-signer:\n * https://github.com/paulmillr/scure-btc-signer.\n */\nexport const bech32m = genBech32('bech32m');\n/**\n * UTF-8-to-byte decoder. Uses built-in TextDecoder / TextEncoder.\n * @example\n * ```js\n * const b = utf8.decode(\"hey\"); // => new Uint8Array([ 104, 101, 121 ])\n * const str = utf8.encode(b); // \"hey\"\n * ```\n */\nexport const utf8 = {\n encode: (data) => new TextDecoder().decode(data),\n decode: (str) => new TextEncoder().encode(str),\n};\n// Built-in hex conversion https://caniuse.com/mdn-javascript_builtins_uint8array_fromhex\n// prettier-ignore\nconst hasHexBuiltin = /* @__PURE__ */ (() => typeof Uint8Array.from([]).toHex === 'function' &&\n typeof Uint8Array.fromHex === 'function')();\n// prettier-ignore\nconst hexBuiltin = {\n encode(data) { abytes(data); return data.toHex(); },\n decode(s) { astr('hex', s); return Uint8Array.fromHex(s); },\n};\n/**\n * hex string decoder. Uses built-in function, when available.\n * @example\n * ```js\n * const b = hex.decode(\"0102ff\"); // => new Uint8Array([ 1, 2, 255 ])\n * const str = hex.encode(b); // \"0102ff\"\n * ```\n */\nexport const hex = hasHexBuiltin\n ? hexBuiltin\n : chain(radix2(4), alphabet('0123456789abcdef'), join(''), normalize((s) => {\n if (typeof s !== 'string' || s.length % 2 !== 0)\n throw new TypeError(`hex.decode: expected string, got ${typeof s} with length ${s.length}`);\n return s.toLowerCase();\n }));\n// prettier-ignore\nconst CODERS = {\n utf8, hex, base16, base32, base64, base64url, base58, base58xmr\n};\nconst coderTypeError = 'Invalid encoding type. Available types: utf8, hex, base16, base32, base64, base64url, base58, base58xmr';\n/** @deprecated */\nexport const bytesToString = (type, bytes) => {\n if (typeof type !== 'string' || !CODERS.hasOwnProperty(type))\n throw new TypeError(coderTypeError);\n if (!isBytes(bytes))\n throw new TypeError('bytesToString() expects Uint8Array');\n return CODERS[type].encode(bytes);\n};\n/** @deprecated */\nexport const str = bytesToString; // as in python, but for bytes only\n/** @deprecated */\nexport const stringToBytes = (type, str) => {\n if (!CODERS.hasOwnProperty(type))\n throw new TypeError(coderTypeError);\n if (typeof str !== 'string')\n throw new TypeError('stringToBytes() expects string');\n return CODERS[type].decode(str);\n};\n/** @deprecated */\nexport const bytes = stringToBytes;\n//# sourceMappingURL=index.js.map","/**\n * Utilities for hex, bytes, CSPRNG.\n * @module\n */\n/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */\n/** Checks if something is Uint8Array. Be careful: nodejs Buffer will return true. */\nexport function isBytes(a) {\n return a instanceof Uint8Array || (ArrayBuffer.isView(a) && a.constructor.name === 'Uint8Array');\n}\n/** Asserts something is positive integer. */\nexport function anumber(n, title = '') {\n if (!Number.isSafeInteger(n) || n < 0) {\n const prefix = title && `\"${title}\" `;\n throw new Error(`${prefix}expected integer >= 0, got ${n}`);\n }\n}\n/** Asserts something is Uint8Array. */\nexport function abytes(value, length, title = '') {\n const bytes = isBytes(value);\n const len = value?.length;\n const needsLen = length !== undefined;\n if (!bytes || (needsLen && len !== length)) {\n const prefix = title && `\"${title}\" `;\n const ofLen = needsLen ? ` of length ${length}` : '';\n const got = bytes ? `length=${len}` : `type=${typeof value}`;\n throw new Error(prefix + 'expected Uint8Array' + ofLen + ', got ' + got);\n }\n return value;\n}\n/** Asserts something is hash */\nexport function ahash(h) {\n if (typeof h !== 'function' || typeof h.create !== 'function')\n throw new Error('Hash must wrapped by utils.createHasher');\n anumber(h.outputLen);\n anumber(h.blockLen);\n}\n/** Asserts a hash instance has not been destroyed / finished */\nexport function aexists(instance, checkFinished = true) {\n if (instance.destroyed)\n throw new Error('Hash instance has been destroyed');\n if (checkFinished && instance.finished)\n throw new Error('Hash#digest() has already been called');\n}\n/** Asserts output is properly-sized byte array */\nexport function aoutput(out, instance) {\n abytes(out, undefined, 'digestInto() output');\n const min = instance.outputLen;\n if (out.length < min) {\n throw new Error('\"digestInto() output\" expected to be of length >=' + min);\n }\n}\n/** Cast u8 / u16 / u32 to u8. */\nexport function u8(arr) {\n return new Uint8Array(arr.buffer, arr.byteOffset, arr.byteLength);\n}\n/** Cast u8 / u16 / u32 to u32. */\nexport function u32(arr) {\n return new Uint32Array(arr.buffer, arr.byteOffset, Math.floor(arr.byteLength / 4));\n}\n/** Zeroize a byte array. Warning: JS provides no guarantees. */\nexport function clean(...arrays) {\n for (let i = 0; i < arrays.length; i++) {\n arrays[i].fill(0);\n }\n}\n/** Create DataView of an array for easy byte-level manipulation. */\nexport function createView(arr) {\n return new DataView(arr.buffer, arr.byteOffset, arr.byteLength);\n}\n/** The rotate right (circular right shift) operation for uint32 */\nexport function rotr(word, shift) {\n return (word << (32 - shift)) | (word >>> shift);\n}\n/** The rotate left (circular left shift) operation for uint32 */\nexport function rotl(word, shift) {\n return (word << shift) | ((word >>> (32 - shift)) >>> 0);\n}\n/** Is current platform little-endian? Most are. Big-Endian platform: IBM */\nexport const isLE = /* @__PURE__ */ (() => new Uint8Array(new Uint32Array([0x11223344]).buffer)[0] === 0x44)();\n/** The byte swap operation for uint32 */\nexport function byteSwap(word) {\n return (((word << 24) & 0xff000000) |\n ((word << 8) & 0xff0000) |\n ((word >>> 8) & 0xff00) |\n ((word >>> 24) & 0xff));\n}\n/** Conditionally byte swap if on a big-endian platform */\nexport const swap8IfBE = isLE\n ? (n) => n\n : (n) => byteSwap(n);\n/** In place byte swap for Uint32Array */\nexport function byteSwap32(arr) {\n for (let i = 0; i < arr.length; i++) {\n arr[i] = byteSwap(arr[i]);\n }\n return arr;\n}\nexport const swap32IfBE = isLE\n ? (u) => u\n : byteSwap32;\n// Built-in hex conversion https://caniuse.com/mdn-javascript_builtins_uint8array_fromhex\nconst hasHexBuiltin = /* @__PURE__ */ (() => \n// @ts-ignore\ntypeof Uint8Array.from([]).toHex === 'function' && typeof Uint8Array.fromHex === 'function')();\n// Array where index 0xf0 (240) is mapped to string 'f0'\nconst hexes = /* @__PURE__ */ Array.from({ length: 256 }, (_, i) => i.toString(16).padStart(2, '0'));\n/**\n * Convert byte array to hex string. Uses built-in function, when available.\n * @example bytesToHex(Uint8Array.from([0xca, 0xfe, 0x01, 0x23])) // 'cafe0123'\n */\nexport function bytesToHex(bytes) {\n abytes(bytes);\n // @ts-ignore\n if (hasHexBuiltin)\n return bytes.toHex();\n // pre-caching improves the speed 6x\n let hex = '';\n for (let i = 0; i < bytes.length; i++) {\n hex += hexes[bytes[i]];\n }\n return hex;\n}\n// We use optimized technique to convert hex string to byte array\nconst asciis = { _0: 48, _9: 57, A: 65, F: 70, a: 97, f: 102 };\nfunction asciiToBase16(ch) {\n if (ch >= asciis._0 && ch <= asciis._9)\n return ch - asciis._0; // '2' => 50-48\n if (ch >= asciis.A && ch <= asciis.F)\n return ch - (asciis.A - 10); // 'B' => 66-(65-10)\n if (ch >= asciis.a && ch <= asciis.f)\n return ch - (asciis.a - 10); // 'b' => 98-(97-10)\n return;\n}\n/**\n * Convert hex string to byte array. Uses built-in function, when available.\n * @example hexToBytes('cafe0123') // Uint8Array.from([0xca, 0xfe, 0x01, 0x23])\n */\nexport function hexToBytes(hex) {\n if (typeof hex !== 'string')\n throw new Error('hex string expected, got ' + typeof hex);\n // @ts-ignore\n if (hasHexBuiltin)\n return Uint8Array.fromHex(hex);\n const hl = hex.length;\n const al = hl / 2;\n if (hl % 2)\n throw new Error('hex string expected, got unpadded hex of length ' + hl);\n const array = new Uint8Array(al);\n for (let ai = 0, hi = 0; ai < al; ai++, hi += 2) {\n const n1 = asciiToBase16(hex.charCodeAt(hi));\n const n2 = asciiToBase16(hex.charCodeAt(hi + 1));\n if (n1 === undefined || n2 === undefined) {\n const char = hex[hi] + hex[hi + 1];\n throw new Error('hex string expected, got non-hex character \"' + char + '\" at index ' + hi);\n }\n array[ai] = n1 * 16 + n2; // multiply first octet, e.g. 'a3' => 10*16+3 => 160 + 3 => 163\n }\n return array;\n}\n/**\n * There is no setImmediate in browser and setTimeout is slow.\n * Call of async fn will return Promise, which will be fullfiled only on\n * next scheduler queue processing step and this is exactly what we need.\n */\nexport const nextTick = async () => { };\n/** Returns control to thread each 'tick' ms to avoid blocking. */\nexport async function asyncLoop(iters, tick, cb) {\n let ts = Date.now();\n for (let i = 0; i < iters; i++) {\n cb(i);\n // Date.now() is not monotonic, so in case if clock goes backwards we return return control too\n const diff = Date.now() - ts;\n if (diff >= 0 && diff < tick)\n continue;\n await nextTick();\n ts += diff;\n }\n}\n/**\n * Converts string to bytes using UTF8 encoding.\n * Built-in doesn't validate input to be string: we do the check.\n * @example utf8ToBytes('abc') // Uint8Array.from([97, 98, 99])\n */\nexport function utf8ToBytes(str) {\n if (typeof str !== 'string')\n throw new Error('string expected');\n return new Uint8Array(new TextEncoder().encode(str)); // https://bugzil.la/1681809\n}\n/**\n * Helper for KDFs: consumes uint8array or string.\n * When string is passed, does utf8 decoding, using TextDecoder.\n */\nexport function kdfInputToBytes(data, errorTitle = '') {\n if (typeof data === 'string')\n return utf8ToBytes(data);\n return abytes(data, undefined, errorTitle);\n}\n/** Copies several Uint8Arrays into one. */\nexport function concatBytes(...arrays) {\n let sum = 0;\n for (let i = 0; i < arrays.length; i++) {\n const a = arrays[i];\n abytes(a);\n sum += a.length;\n }\n const res = new Uint8Array(sum);\n for (let i = 0, pad = 0; i < arrays.length; i++) {\n const a = arrays[i];\n res.set(a, pad);\n pad += a.length;\n }\n return res;\n}\n/** Merges default options and passed options. */\nexport function checkOpts(defaults, opts) {\n if (opts !== undefined && {}.toString.call(opts) !== '[object Object]')\n throw new Error('options must be object or undefined');\n const merged = Object.assign(defaults, opts);\n return merged;\n}\n/** Creates function with outputLen, blockLen, create properties from a class constructor. */\nexport function createHasher(hashCons, info = {}) {\n const hashC = (msg, opts) => hashCons(opts).update(msg).digest();\n const tmp = hashCons(undefined);\n hashC.outputLen = tmp.outputLen;\n hashC.blockLen = tmp.blockLen;\n hashC.create = (opts) => hashCons(opts);\n Object.assign(hashC, info);\n return Object.freeze(hashC);\n}\n/** Cryptographically secure PRNG. Uses internal OS-level `crypto.getRandomValues`. */\nexport function randomBytes(bytesLength = 32) {\n const cr = typeof globalThis === 'object' ? globalThis.crypto : null;\n if (typeof cr?.getRandomValues !== 'function')\n throw new Error('crypto.getRandomValues must be defined');\n return cr.getRandomValues(new Uint8Array(bytesLength));\n}\n/** Creates OID opts for NIST hashes, with prefix 06 09 60 86 48 01 65 03 04 02. */\nexport const oidNist = (suffix) => ({\n oid: Uint8Array.from([0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, suffix]),\n});\n//# sourceMappingURL=utils.js.map","/**\n * Internal helpers for blake hash.\n * @module\n */\nimport { rotr } from \"./utils.js\";\n/**\n * Internal blake variable.\n * For BLAKE2b, the two extra permutations for rounds 10 and 11 are SIGMA[10..11] = SIGMA[0..1].\n */\n// prettier-ignore\nexport const BSIGMA = /* @__PURE__ */ Uint8Array.from([\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,\n 14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3,\n 11, 8, 12, 0, 5, 2, 15, 13, 10, 14, 3, 6, 7, 1, 9, 4,\n 7, 9, 3, 1, 13, 12, 11, 14, 2, 6, 5, 10, 4, 0, 15, 8,\n 9, 0, 5, 7, 2, 4, 10, 15, 14, 1, 11, 12, 6, 8, 3, 13,\n 2, 12, 6, 10, 0, 11, 8, 3, 4, 13, 7, 5, 15, 14, 1, 9,\n 12, 5, 1, 15, 14, 13, 4, 10, 0, 7, 6, 3, 9, 2, 8, 11,\n 13, 11, 7, 14, 12, 1, 3, 9, 5, 0, 15, 4, 8, 6, 2, 10,\n 6, 15, 14, 9, 11, 3, 0, 8, 12, 2, 13, 7, 1, 4, 10, 5,\n 10, 2, 8, 4, 7, 6, 1, 5, 15, 11, 9, 14, 3, 12, 13, 0,\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,\n 14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3,\n // Blake1, unused in others\n 11, 8, 12, 0, 5, 2, 15, 13, 10, 14, 3, 6, 7, 1, 9, 4,\n 7, 9, 3, 1, 13, 12, 11, 14, 2, 6, 5, 10, 4, 0, 15, 8,\n 9, 0, 5, 7, 2, 4, 10, 15, 14, 1, 11, 12, 6, 8, 3, 13,\n 2, 12, 6, 10, 0, 11, 8, 3, 4, 13, 7, 5, 15, 14, 1, 9,\n]);\n// Mixing function G splitted in two halfs\nexport function G1s(a, b, c, d, x) {\n a = (a + b + x) | 0;\n d = rotr(d ^ a, 16);\n c = (c + d) | 0;\n b = rotr(b ^ c, 12);\n return { a, b, c, d };\n}\nexport function G2s(a, b, c, d, x) {\n a = (a + b + x) | 0;\n d = rotr(d ^ a, 8);\n c = (c + d) | 0;\n b = rotr(b ^ c, 7);\n return { a, b, c, d };\n}\n//# sourceMappingURL=_blake.js.map","/**\n * Internal helpers for u64. BigUint64Array is too slow as per 2025, so we implement it using Uint32Array.\n * @todo re-check https://issues.chromium.org/issues/42212588\n * @module\n */\nconst U32_MASK64 = /* @__PURE__ */ BigInt(2 ** 32 - 1);\nconst _32n = /* @__PURE__ */ BigInt(32);\nfunction fromBig(n, le = false) {\n if (le)\n return { h: Number(n & U32_MASK64), l: Number((n >> _32n) & U32_MASK64) };\n return { h: Number((n >> _32n) & U32_MASK64) | 0, l: Number(n & U32_MASK64) | 0 };\n}\nfunction split(lst, le = false) {\n const len = lst.length;\n let Ah = new Uint32Array(len);\n let Al = new Uint32Array(len);\n for (let i = 0; i < len; i++) {\n const { h, l } = fromBig(lst[i], le);\n [Ah[i], Al[i]] = [h, l];\n }\n return [Ah, Al];\n}\nconst toBig = (h, l) => (BigInt(h >>> 0) << _32n) | BigInt(l >>> 0);\n// for Shift in [0, 32)\nconst shrSH = (h, _l, s) => h >>> s;\nconst shrSL = (h, l, s) => (h << (32 - s)) | (l >>> s);\n// Right rotate for Shift in [1, 32)\nconst rotrSH = (h, l, s) => (h >>> s) | (l << (32 - s));\nconst rotrSL = (h, l, s) => (h << (32 - s)) | (l >>> s);\n// Right rotate for Shift in (32, 64), NOTE: 32 is special case.\nconst rotrBH = (h, l, s) => (h << (64 - s)) | (l >>> (s - 32));\nconst rotrBL = (h, l, s) => (h >>> (s - 32)) | (l << (64 - s));\n// Right rotate for shift===32 (just swaps l&h)\nconst rotr32H = (_h, l) => l;\nconst rotr32L = (h, _l) => h;\n// Left rotate for Shift in [1, 32)\nconst rotlSH = (h, l, s) => (h << s) | (l >>> (32 - s));\nconst rotlSL = (h, l, s) => (l << s) | (h >>> (32 - s));\n// Left rotate for Shift in (32, 64), NOTE: 32 is special case.\nconst rotlBH = (h, l, s) => (l << (s - 32)) | (h >>> (64 - s));\nconst rotlBL = (h, l, s) => (h << (s - 32)) | (l >>> (64 - s));\n// JS uses 32-bit signed integers for bitwise operations which means we cannot\n// simple take carry out of low bit sum by shift, we need to use division.\nfunction add(Ah, Al, Bh, Bl) {\n const l = (Al >>> 0) + (Bl >>> 0);\n return { h: (Ah + Bh + ((l / 2 ** 32) | 0)) | 0, l: l | 0 };\n}\n// Addition with more than 2 elements\nconst add3L = (Al, Bl, Cl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0);\nconst add3H = (low, Ah, Bh, Ch) => (Ah + Bh + Ch + ((low / 2 ** 32) | 0)) | 0;\nconst add4L = (Al, Bl, Cl, Dl) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0);\nconst add4H = (low, Ah, Bh, Ch, Dh) => (Ah + Bh + Ch + Dh + ((low / 2 ** 32) | 0)) | 0;\nconst add5L = (Al, Bl, Cl, Dl, El) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0) + (El >>> 0);\nconst add5H = (low, Ah, Bh, Ch, Dh, Eh) => (Ah + Bh + Ch + Dh + Eh + ((low / 2 ** 32) | 0)) | 0;\n// prettier-ignore\nexport { add, add3H, add3L, add4H, add4L, add5H, add5L, fromBig, rotlBH, rotlBL, rotlSH, rotlSL, rotr32H, rotr32L, rotrBH, rotrBL, rotrSH, rotrSL, shrSH, shrSL, split, toBig };\n// prettier-ignore\nconst u64 = {\n fromBig, split, toBig,\n shrSH, shrSL,\n rotrSH, rotrSL, rotrBH, rotrBL,\n rotr32H, rotr32L,\n rotlSH, rotlSL, rotlBH, rotlBL,\n add, add3L, add3H, add4L, add4H, add5H, add5L,\n};\nexport default u64;\n//# sourceMappingURL=_u64.js.map","/**\n * blake2b (64-bit) & blake2s (8 to 32-bit) hash functions.\n * b could have been faster, but there is no fast u64 in js, so s is 1.5x faster.\n * @module\n */\nimport { BSIGMA, G1s, G2s } from \"./_blake.js\";\nimport { SHA256_IV } from \"./_md.js\";\nimport * as u64 from \"./_u64.js\";\n// prettier-ignore\nimport { abytes, aexists, anumber, aoutput, clean, createHasher, swap32IfBE, swap8IfBE, u32 } from \"./utils.js\";\n// Same as SHA512_IV, but swapped endianness: LE instead of BE. iv[1] is iv[0], etc.\nconst B2B_IV = /* @__PURE__ */ Uint32Array.from([\n 0xf3bcc908, 0x6a09e667, 0x84caa73b, 0xbb67ae85, 0xfe94f82b, 0x3c6ef372, 0x5f1d36f1, 0xa54ff53a,\n 0xade682d1, 0x510e527f, 0x2b3e6c1f, 0x9b05688c, 0xfb41bd6b, 0x1f83d9ab, 0x137e2179, 0x5be0cd19,\n]);\n// Temporary buffer\nconst BBUF = /* @__PURE__ */ new Uint32Array(32);\n// Mixing function G splitted in two halfs\nfunction G1b(a, b, c, d, msg, x) {\n // NOTE: V is LE here\n const Xl = msg[x], Xh = msg[x + 1]; // prettier-ignore\n let Al = BBUF[2 * a], Ah = BBUF[2 * a + 1]; // prettier-ignore\n let Bl = BBUF[2 * b], Bh = BBUF[2 * b + 1]; // prettier-ignore\n let Cl = BBUF[2 * c], Ch = BBUF[2 * c + 1]; // prettier-ignore\n let Dl = BBUF[2 * d], Dh = BBUF[2 * d + 1]; // prettier-ignore\n // v[a] = (v[a] + v[b] + x) | 0;\n let ll = u64.add3L(Al, Bl, Xl);\n Ah = u64.add3H(ll, Ah, Bh, Xh);\n Al = ll | 0;\n // v[d] = rotr(v[d] ^ v[a], 32)\n ({ Dh, Dl } = { Dh: Dh ^ Ah, Dl: Dl ^ Al });\n ({ Dh, Dl } = { Dh: u64.rotr32H(Dh, Dl), Dl: u64.rotr32L(Dh, Dl) });\n // v[c] = (v[c] + v[d]) | 0;\n ({ h: Ch, l: Cl } = u64.add(Ch, Cl, Dh, Dl));\n // v[b] = rotr(v[b] ^ v[c], 24)\n ({ Bh, Bl } = { Bh: Bh ^ Ch, Bl: Bl ^ Cl });\n ({ Bh, Bl } = { Bh: u64.rotrSH(Bh, Bl, 24), Bl: u64.rotrSL(Bh, Bl, 24) });\n ((BBUF[2 * a] = Al), (BBUF[2 * a + 1] = Ah));\n ((BBUF[2 * b] = Bl), (BBUF[2 * b + 1] = Bh));\n ((BBUF[2 * c] = Cl), (BBUF[2 * c + 1] = Ch));\n ((BBUF[2 * d] = Dl), (BBUF[2 * d + 1] = Dh));\n}\nfunction G2b(a, b, c, d, msg, x) {\n // NOTE: V is LE here\n const Xl = msg[x], Xh = msg[x + 1]; // prettier-ignore\n let Al = BBUF[2 * a], Ah = BBUF[2 * a + 1]; // prettier-ignore\n let Bl = BBUF[2 * b], Bh = BBUF[2 * b + 1]; // prettier-ignore\n let Cl = BBUF[2 * c], Ch = BBUF[2 * c + 1]; // prettier-ignore\n let Dl = BBUF[2 * d], Dh = BBUF[2 * d + 1]; // prettier-ignore\n // v[a] = (v[a] + v[b] + x) | 0;\n let ll = u64.add3L(Al, Bl, Xl);\n Ah = u64.add3H(ll, Ah, Bh, Xh);\n Al = ll | 0;\n // v[d] = rotr(v[d] ^ v[a], 16)\n ({ Dh, Dl } = { Dh: Dh ^ Ah, Dl: Dl ^ Al });\n ({ Dh, Dl } = { Dh: u64.rotrSH(Dh, Dl, 16), Dl: u64.rotrSL(Dh, Dl, 16) });\n // v[c] = (v[c] + v[d]) | 0;\n ({ h: Ch, l: Cl } = u64.add(Ch, Cl, Dh, Dl));\n // v[b] = rotr(v[b] ^ v[c], 63)\n ({ Bh, Bl } = { Bh: Bh ^ Ch, Bl: Bl ^ Cl });\n ({ Bh, Bl } = { Bh: u64.rotrBH(Bh, Bl, 63), Bl: u64.rotrBL(Bh, Bl, 63) });\n ((BBUF[2 * a] = Al), (BBUF[2 * a + 1] = Ah));\n ((BBUF[2 * b] = Bl), (BBUF[2 * b + 1] = Bh));\n ((BBUF[2 * c] = Cl), (BBUF[2 * c + 1] = Ch));\n ((BBUF[2 * d] = Dl), (BBUF[2 * d + 1] = Dh));\n}\nfunction checkBlake2Opts(outputLen, opts = {}, keyLen, saltLen, persLen) {\n anumber(keyLen);\n if (outputLen < 0 || outputLen > keyLen)\n throw new Error('outputLen bigger than keyLen');\n const { key, salt, personalization } = opts;\n if (key !== undefined && (key.length < 1 || key.length > keyLen))\n throw new Error('\"key\" expected to be undefined or of length=1..' + keyLen);\n if (salt !== undefined)\n abytes(salt, saltLen, 'salt');\n if (personalization !== undefined)\n abytes(personalization, persLen, 'personalization');\n}\n/** Internal base class for BLAKE2. */\nexport class _BLAKE2 {\n buffer;\n buffer32;\n finished = false;\n destroyed = false;\n length = 0;\n pos = 0;\n blockLen;\n outputLen;\n constructor(blockLen, outputLen) {\n anumber(blockLen);\n anumber(outputLen);\n this.blockLen = blockLen;\n this.outputLen = outputLen;\n this.buffer = new Uint8Array(blockLen);\n this.buffer32 = u32(this.buffer);\n }\n update(data) {\n aexists(this);\n abytes(data);\n // Main difference with other hashes: there is flag for last block,\n // so we cannot process current block before we know that there\n // is the next one. This significantly complicates logic and reduces ability\n // to do zero-copy processing\n const { blockLen, buffer, buffer32 } = this;\n const len = data.length;\n const offset = data.byteOffset;\n const buf = data.buffer;\n for (let pos = 0; pos < len;) {\n // If buffer is full and we still have input (don't process last block, same as blake2s)\n if (this.pos === blockLen) {\n swap32IfBE(buffer32);\n this.compress(buffer32, 0, false);\n swap32IfBE(buffer32);\n this.pos = 0;\n }\n const take = Math.min(blockLen - this.pos, len - pos);\n const dataOffset = offset + pos;\n // full block && aligned to 4 bytes && not last in input\n if (take === blockLen && !(dataOffset % 4) && pos + take < len) {\n const data32 = new Uint32Array(buf, dataOffset, Math.floor((len - pos) / 4));\n swap32IfBE(data32);\n for (let pos32 = 0; pos + blockLen < len; pos32 += buffer32.length, pos += blockLen) {\n this.length += blockLen;\n this.compress(data32, pos32, false);\n }\n swap32IfBE(data32);\n continue;\n }\n buffer.set(data.subarray(pos, pos + take), this.pos);\n this.pos += take;\n this.length += take;\n pos += take;\n }\n return this;\n }\n digestInto(out) {\n aexists(this);\n aoutput(out, this);\n const { pos, buffer32 } = this;\n this.finished = true;\n // Padding\n clean(this.buffer.subarray(pos));\n swap32IfBE(buffer32);\n this.compress(buffer32, 0, true);\n swap32IfBE(buffer32);\n const out32 = u32(out);\n this.get().forEach((v, i) => (out32[i] = swap8IfBE(v)));\n }\n digest() {\n const { buffer, outputLen } = this;\n this.digestInto(buffer);\n const res = buffer.slice(0, outputLen);\n this.destroy();\n return res;\n }\n _cloneInto(to) {\n const { buffer, length, finished, destroyed, outputLen, pos } = this;\n to ||= new this.constructor({ dkLen: outputLen });\n to.set(...this.get());\n to.buffer.set(buffer);\n to.destroyed = destroyed;\n to.finished = finished;\n to.length = length;\n to.pos = pos;\n // @ts-ignore\n to.outputLen = outputLen;\n return to;\n }\n clone() {\n return this._cloneInto();\n }\n}\n/** Internal blake2b hash class. */\nexport class _BLAKE2b extends _BLAKE2 {\n // Same as SHA-512, but LE\n v0l = B2B_IV[0] | 0;\n v0h = B2B_IV[1] | 0;\n v1l = B2B_IV[2] | 0;\n v1h = B2B_IV[3] | 0;\n v2l = B2B_IV[4] | 0;\n v2h = B2B_IV[5] | 0;\n v3l = B2B_IV[6] | 0;\n v3h = B2B_IV[7] | 0;\n v4l = B2B_IV[8] | 0;\n v4h = B2B_IV[9] | 0;\n v5l = B2B_IV[10] | 0;\n v5h = B2B_IV[11] | 0;\n v6l = B2B_IV[12] | 0;\n v6h = B2B_IV[13] | 0;\n v7l = B2B_IV[14] | 0;\n v7h = B2B_IV[15] | 0;\n constructor(opts = {}) {\n const olen = opts.dkLen === undefined ? 64 : opts.dkLen;\n super(128, olen);\n checkBlake2Opts(olen, opts, 64, 16, 16);\n let { key, personalization, salt } = opts;\n let keyLength = 0;\n if (key !== undefined) {\n abytes(key, undefined, 'key');\n keyLength = key.length;\n }\n this.v0l ^= this.outputLen | (keyLength << 8) | (0x01 << 16) | (0x01 << 24);\n if (salt !== undefined) {\n abytes(salt, undefined, 'salt');\n const slt = u32(salt);\n this.v4l ^= swap8IfBE(slt[0]);\n this.v4h ^= swap8IfBE(slt[1]);\n this.v5l ^= swap8IfBE(slt[2]);\n this.v5h ^= swap8IfBE(slt[3]);\n }\n if (personalization !== undefined) {\n abytes(personalization, undefined, 'personalization');\n const pers = u32(personalization);\n this.v6l ^= swap8IfBE(pers[0]);\n this.v6h ^= swap8IfBE(pers[1]);\n this.v7l ^= swap8IfBE(pers[2]);\n this.v7h ^= swap8IfBE(pers[3]);\n }\n if (key !== undefined) {\n // Pad to blockLen and update\n const tmp = new Uint8Array(this.blockLen);\n tmp.set(key);\n this.update(tmp);\n }\n }\n // prettier-ignore\n get() {\n let { v0l, v0h, v1l, v1h, v2l, v2h, v3l, v3h, v4l, v4h, v5l, v5h, v6l, v6h, v7l, v7h } = this;\n return [v0l, v0h, v1l, v1h, v2l, v2h, v3l, v3h, v4l, v4h, v5l, v5h, v6l, v6h, v7l, v7h];\n }\n // prettier-ignore\n set(v0l, v0h, v1l, v1h, v2l, v2h, v3l, v3h, v4l, v4h, v5l, v5h, v6l, v6h, v7l, v7h) {\n this.v0l = v0l | 0;\n this.v0h = v0h | 0;\n this.v1l = v1l | 0;\n this.v1h = v1h | 0;\n this.v2l = v2l | 0;\n this.v2h = v2h | 0;\n this.v3l = v3l | 0;\n this.v3h = v3h | 0;\n this.v4l = v4l | 0;\n this.v4h = v4h | 0;\n this.v5l = v5l | 0;\n this.v5h = v5h | 0;\n this.v6l = v6l | 0;\n this.v6h = v6h | 0;\n this.v7l = v7l | 0;\n this.v7h = v7h | 0;\n }\n compress(msg, offset, isLast) {\n this.get().forEach((v, i) => (BBUF[i] = v)); // First half from state.\n BBUF.set(B2B_IV, 16); // Second half from IV.\n let { h, l } = u64.fromBig(BigInt(this.length));\n BBUF[24] = B2B_IV[8] ^ l; // Low word of the offset.\n BBUF[25] = B2B_IV[9] ^ h; // High word.\n // Invert all bits for last block\n if (isLast) {\n BBUF[28] = ~BBUF[28];\n BBUF[29] = ~BBUF[29];\n }\n let j = 0;\n const s = BSIGMA;\n for (let i = 0; i < 12; i++) {\n G1b(0, 4, 8, 12, msg, offset + 2 * s[j++]);\n G2b(0, 4, 8, 12, msg, offset + 2 * s[j++]);\n G1b(1, 5, 9, 13, msg, offset + 2 * s[j++]);\n G2b(1, 5, 9, 13, msg, offset + 2 * s[j++]);\n G1b(2, 6, 10, 14, msg, offset + 2 * s[j++]);\n G2b(2, 6, 10, 14, msg, offset + 2 * s[j++]);\n G1b(3, 7, 11, 15, msg, offset + 2 * s[j++]);\n G2b(3, 7, 11, 15, msg, offset + 2 * s[j++]);\n G1b(0, 5, 10, 15, msg, offset + 2 * s[j++]);\n G2b(0, 5, 10, 15, msg, offset + 2 * s[j++]);\n G1b(1, 6, 11, 12, msg, offset + 2 * s[j++]);\n G2b(1, 6, 11, 12, msg, offset + 2 * s[j++]);\n G1b(2, 7, 8, 13, msg, offset + 2 * s[j++]);\n G2b(2, 7, 8, 13, msg, offset + 2 * s[j++]);\n G1b(3, 4, 9, 14, msg, offset + 2 * s[j++]);\n G2b(3, 4, 9, 14, msg, offset + 2 * s[j++]);\n }\n this.v0l ^= BBUF[0] ^ BBUF[16];\n this.v0h ^= BBUF[1] ^ BBUF[17];\n this.v1l ^= BBUF[2] ^ BBUF[18];\n this.v1h ^= BBUF[3] ^ BBUF[19];\n this.v2l ^= BBUF[4] ^ BBUF[20];\n this.v2h ^= BBUF[5] ^ BBUF[21];\n this.v3l ^= BBUF[6] ^ BBUF[22];\n this.v3h ^= BBUF[7] ^ BBUF[23];\n this.v4l ^= BBUF[8] ^ BBUF[24];\n this.v4h ^= BBUF[9] ^ BBUF[25];\n this.v5l ^= BBUF[10] ^ BBUF[26];\n this.v5h ^= BBUF[11] ^ BBUF[27];\n this.v6l ^= BBUF[12] ^ BBUF[28];\n this.v6h ^= BBUF[13] ^ BBUF[29];\n this.v7l ^= BBUF[14] ^ BBUF[30];\n this.v7h ^= BBUF[15] ^ BBUF[31];\n clean(BBUF);\n }\n destroy() {\n this.destroyed = true;\n clean(this.buffer32);\n this.set(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);\n }\n}\n/**\n * Blake2b hash function. 64-bit. 1.5x slower than blake2s in JS.\n * @param msg - message that would be hashed\n * @param opts - dkLen output length, key for MAC mode, salt, personalization\n */\nexport const blake2b = /* @__PURE__ */ createHasher((opts) => new _BLAKE2b(opts));\n/** BLAKE2-compress core method. */\n// prettier-ignore\nexport function compress(s, offset, msg, rounds, v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15) {\n let j = 0;\n for (let i = 0; i < rounds; i++) {\n ({ a: v0, b: v4, c: v8, d: v12 } = G1s(v0, v4, v8, v12, msg[offset + s[j++]]));\n ({ a: v0, b: v4, c: v8, d: v12 } = G2s(v0, v4, v8, v12, msg[offset + s[j++]]));\n ({ a: v1, b: v5, c: v9, d: v13 } = G1s(v1, v5, v9, v13, msg[offset + s[j++]]));\n ({ a: v1, b: v5, c: v9, d: v13 } = G2s(v1, v5, v9, v13, msg[offset + s[j++]]));\n ({ a: v2, b: v6, c: v10, d: v14 } = G1s(v2, v6, v10, v14, msg[offset + s[j++]]));\n ({ a: v2, b: v6, c: v10, d: v14 } = G2s(v2, v6, v10, v14, msg[offset + s[j++]]));\n ({ a: v3, b: v7, c: v11, d: v15 } = G1s(v3, v7, v11, v15, msg[offset + s[j++]]));\n ({ a: v3, b: v7, c: v11, d: v15 } = G2s(v3, v7, v11, v15, msg[offset + s[j++]]));\n ({ a: v0, b: v5, c: v10, d: v15 } = G1s(v0, v5, v10, v15, msg[offset + s[j++]]));\n ({ a: v0, b: v5, c: v10, d: v15 } = G2s(v0, v5, v10, v15, msg[offset + s[j++]]));\n ({ a: v1, b: v6, c: v11, d: v12 } = G1s(v1, v6, v11, v12, msg[offset + s[j++]]));\n ({ a: v1, b: v6, c: v11, d: v12 } = G2s(v1, v6, v11, v12, msg[offset + s[j++]]));\n ({ a: v2, b: v7, c: v8, d: v13 } = G1s(v2, v7, v8, v13, msg[offset + s[j++]]));\n ({ a: v2, b: v7, c: v8, d: v13 } = G2s(v2, v7, v8, v13, msg[offset + s[j++]]));\n ({ a: v3, b: v4, c: v9, d: v14 } = G1s(v3, v4, v9, v14, msg[offset + s[j++]]));\n ({ a: v3, b: v4, c: v9, d: v14 } = G2s(v3, v4, v9, v14, msg[offset + s[j++]]));\n }\n return { v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15 };\n}\nconst B2S_IV = /* @__PURE__ */ SHA256_IV.slice();\n/** Internal blake2s hash class. */\nexport class _BLAKE2s extends _BLAKE2 {\n // Internal state, same as SHA-256\n v0 = B2S_IV[0] | 0;\n v1 = B2S_IV[1] | 0;\n v2 = B2S_IV[2] | 0;\n v3 = B2S_IV[3] | 0;\n v4 = B2S_IV[4] | 0;\n v5 = B2S_IV[5] | 0;\n v6 = B2S_IV[6] | 0;\n v7 = B2S_IV[7] | 0;\n constructor(opts = {}) {\n const olen = opts.dkLen === undefined ? 32 : opts.dkLen;\n super(64, olen);\n checkBlake2Opts(olen, opts, 32, 8, 8);\n let { key, personalization, salt } = opts;\n let keyLength = 0;\n if (key !== undefined) {\n abytes(key, undefined, 'key');\n keyLength = key.length;\n }\n this.v0 ^= this.outputLen | (keyLength << 8) | (0x01 << 16) | (0x01 << 24);\n if (salt !== undefined) {\n abytes(salt, undefined, 'salt');\n const slt = u32(salt);\n this.v4 ^= swap8IfBE(slt[0]);\n this.v5 ^= swap8IfBE(slt[1]);\n }\n if (personalization !== undefined) {\n abytes(personalization, undefined, 'personalization');\n const pers = u32(personalization);\n this.v6 ^= swap8IfBE(pers[0]);\n this.v7 ^= swap8IfBE(pers[1]);\n }\n if (key !== undefined) {\n // Pad to blockLen and update\n const tmp = new Uint8Array(this.blockLen);\n tmp.set(key);\n this.update(tmp);\n }\n }\n get() {\n const { v0, v1, v2, v3, v4, v5, v6, v7 } = this;\n return [v0, v1, v2, v3, v4, v5, v6, v7];\n }\n // prettier-ignore\n set(v0, v1, v2, v3, v4, v5, v6, v7) {\n this.v0 = v0 | 0;\n this.v1 = v1 | 0;\n this.v2 = v2 | 0;\n this.v3 = v3 | 0;\n this.v4 = v4 | 0;\n this.v5 = v5 | 0;\n this.v6 = v6 | 0;\n this.v7 = v7 | 0;\n }\n compress(msg, offset, isLast) {\n const { h, l } = u64.fromBig(BigInt(this.length));\n // prettier-ignore\n const { v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15 } = compress(BSIGMA, offset, msg, 10, this.v0, this.v1, this.v2, this.v3, this.v4, this.v5, this.v6, this.v7, B2S_IV[0], B2S_IV[1], B2S_IV[2], B2S_IV[3], l ^ B2S_IV[4], h ^ B2S_IV[5], isLast ? ~B2S_IV[6] : B2S_IV[6], B2S_IV[7]);\n this.v0 ^= v0 ^ v8;\n this.v1 ^= v1 ^ v9;\n this.v2 ^= v2 ^ v10;\n this.v3 ^= v3 ^ v11;\n this.v4 ^= v4 ^ v12;\n this.v5 ^= v5 ^ v13;\n this.v6 ^= v6 ^ v14;\n this.v7 ^= v7 ^ v15;\n }\n destroy() {\n this.destroyed = true;\n clean(this.buffer32);\n this.set(0, 0, 0, 0, 0, 0, 0, 0);\n }\n}\n/**\n * Blake2s hash function. Focuses on 8-bit to 32-bit platforms. 1.5x faster than blake2b in JS.\n * @param msg - message that would be hashed\n * @param opts - dkLen output length, key for MAC mode, salt, personalization\n */\nexport const blake2s = /* @__PURE__ */ createHasher((opts) => new _BLAKE2s(opts));\n//# sourceMappingURL=blake2.js.map","import { base58 } from '@scure/base';\nimport { blake2b } from '@noble/hashes/blake2.js';\n\nconst SS58_PREFIX = new TextEncoder().encode(\"SS58PRE\");\nconst CHECKSUM_LENGTH = 2;\nconst getSs58AddressInfo = (address) => {\n try {\n const decoded = base58.decode(address);\n const prefixBytes = decoded.subarray(0, decoded[0] & 64 ? 2 : 1);\n const publicKey = decoded.subarray(\n prefixBytes.length,\n decoded.length - CHECKSUM_LENGTH\n );\n const checksum = decoded.subarray(prefixBytes.length + publicKey.length);\n const expectedChecksum = blake2b(\n Uint8Array.of(...SS58_PREFIX, ...prefixBytes, ...publicKey),\n {\n dkLen: 64\n }\n ).subarray(0, CHECKSUM_LENGTH);\n const isChecksumValid = checksum[0] === expectedChecksum[0] && checksum[1] === expectedChecksum[1];\n if (!isChecksumValid) return { isValid: false };\n return {\n isValid: true,\n ss58Format: prefixBytesToNumber(prefixBytes),\n publicKey: publicKey.slice()\n };\n } catch (_) {\n return { isValid: false };\n }\n};\nconst prefixBytesToNumber = (bytes) => {\n const dv = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);\n return dv.byteLength === 1 ? dv.getUint8(0) : dv.getUint16(0);\n};\nconst withSs58Cache = (fn) => {\n let cache = {};\n let activityCount = 0;\n let latestCount = 0;\n const checkActivity = () => {\n if (activityCount === latestCount) {\n cache = {};\n activityCount = latestCount = 0;\n } else {\n latestCount = activityCount;\n setTimeout(checkActivity, 0);\n }\n };\n return (publicKey) => {\n var _a, _b;\n if (++activityCount === 1) checkActivity();\n let entry = cache;\n const lastIdx = publicKey.length - 1;\n for (let i = 0; i <= lastIdx; i++) entry = entry[_a = publicKey[i]] || (entry[_a] = {});\n return entry[_b = publicKey[lastIdx]] || (entry[_b] = fn(publicKey));\n };\n};\nconst fromBufferToBase58 = (ss58Format) => {\n const prefixBytes = ss58Format < 64 ? Uint8Array.of(ss58Format) : Uint8Array.of(\n (ss58Format & 252) >> 2 | 64,\n ss58Format >> 8 | (ss58Format & 3) << 6\n );\n return withSs58Cache((publicKey) => {\n const checksum = blake2b(\n Uint8Array.of(...SS58_PREFIX, ...prefixBytes, ...publicKey),\n {\n dkLen: 64\n }\n ).subarray(0, CHECKSUM_LENGTH);\n return base58.encode(\n Uint8Array.of(...prefixBytes, ...publicKey, ...checksum)\n );\n });\n};\n\nexport { fromBufferToBase58, getSs58AddressInfo };\n//# sourceMappingURL=ss58-util.mjs.map\n","import { enhanceCodec, Bytes } from 'scale-ts';\nimport { fromBufferToBase58, getSs58AddressInfo } from '../../utils/ss58-util.mjs';\n\nfunction fromBase58ToBuffer(nBytes, _ss58Format) {\n return (address) => {\n const info = getSs58AddressInfo(address);\n if (!info.isValid) throw new Error(\"Invalid checksum\");\n const { publicKey } = info;\n if (publicKey.length !== nBytes)\n throw new Error(\"Invalid public key length\");\n return publicKey;\n };\n}\nconst AccountId = (ss58Format = 42, nBytes = 32) => enhanceCodec(\n Bytes(nBytes),\n fromBase58ToBuffer(nBytes),\n fromBufferToBase58(ss58Format)\n);\n\nexport { AccountId };\n//# sourceMappingURL=AccountId.mjs.map\n","import { Tuple, compact, Bytes, createCodec } from 'scale-ts';\nimport { fromHex, toHex, mergeUint8 } from '@polkadot-api/utils';\nimport { AccountId } from './AccountId.mjs';\n\nvar __defProp = Object.defineProperty;\nvar __typeError = (msg) => {\n throw TypeError(msg);\n};\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\nvar __accessCheck = (obj, member, msg) => member.has(obj) || __typeError(\"Cannot \" + msg);\nvar __privateGet = (obj, member, getter) => (__accessCheck(obj, member, \"read from private field\"), getter ? getter.call(obj) : member.get(obj));\nvar __privateAdd = (obj, member, value) => member.has(obj) ? __typeError(\"Cannot add the same private member more than once\") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\nvar __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, \"write to private field\"), member.set(obj, value), value);\nvar _bytes, _opaqueBytes, _hex, _opaqueHex, _str;\nconst textEncoder$3 = new TextEncoder();\nconst textDecoder$2 = new TextDecoder();\nconst opaqueBytesDec = Tuple(compact, Bytes(Infinity))[1];\nclass Binary {\n constructor(data, opaque = false) {\n __privateAdd(this, _bytes);\n __privateAdd(this, _opaqueBytes, null);\n __privateAdd(this, _hex, null);\n __privateAdd(this, _opaqueHex, null);\n __privateAdd(this, _str, null);\n __publicField(this, \"asText\", () => __privateGet(this, _str) ?? __privateSet(this, _str, textDecoder$2.decode(__privateGet(this, _bytes))));\n __publicField(this, \"asHex\", () => __privateGet(this, _hex) ?? __privateSet(this, _hex, toHex(__privateGet(this, _bytes))));\n __publicField(this, \"asOpaqueHex\", () => __privateGet(this, _opaqueHex) ?? __privateSet(this, _opaqueHex, toHex(this.asOpaqueBytes())));\n __publicField(this, \"asBytes\", () => __privateGet(this, _bytes));\n __publicField(this, \"asOpaqueBytes\", () => __privateGet(this, _opaqueBytes) ?? __privateSet(this, _opaqueBytes, mergeUint8([\n compact[0](__privateGet(this, _bytes).length),\n __privateGet(this, _bytes)\n ])));\n if (opaque) {\n try {\n const [len, bytes] = opaqueBytesDec(data);\n if (len === bytes.length) {\n __privateSet(this, _bytes, bytes);\n __privateSet(this, _opaqueBytes, data);\n return;\n }\n } catch (_) {\n }\n throw new Error(\"Invalid opaque bytes\");\n } else __privateSet(this, _bytes, data);\n }\n static fromText(input) {\n return new this(textEncoder$3.encode(input));\n }\n static fromHex(input) {\n return new this(fromHex(input));\n }\n static fromOpaqueHex(input) {\n return new this(fromHex(input), true);\n }\n static fromBytes(input) {\n return new this(input);\n }\n static fromOpaqueBytes(input) {\n return new this(input, true);\n }\n}\n_bytes = new WeakMap();\n_opaqueBytes = new WeakMap();\n_hex = new WeakMap();\n_opaqueHex = new WeakMap();\n_str = new WeakMap();\nconst [accountIdEncoder] = AccountId();\nclass FixedSizeBinary extends Binary {\n constructor(data) {\n super(data);\n }\n static fromArray(input) {\n return new this(new Uint8Array(input));\n }\n static fromAccountId32(input) {\n return new this(accountIdEncoder(input));\n }\n}\nconst enc$2 = (nBytes) => {\n const _enc = Bytes.enc(nBytes);\n return (value) => _enc(value.asBytes());\n};\nconst dec$2 = (nBytes) => {\n const _dec = Bytes.dec(nBytes);\n const Bin2 = nBytes == null ? Binary : FixedSizeBinary;\n return (value) => Bin2.fromBytes(_dec(value));\n};\nconst Bin = (nBytes) => createCodec(enc$2(nBytes), dec$2(nBytes));\nBin.enc = enc$2;\nBin.dec = dec$2;\n\nexport { Bin, Binary, FixedSizeBinary };\n//# sourceMappingURL=Binary.mjs.map\n","import { enhanceCodec, compact } from 'scale-ts';\n\nconst compactNumber = enhanceCodec(compact, (v) => v, Number);\nconst compactBn = enhanceCodec(compact, (v) => v, BigInt);\n\nexport { compactBn, compactNumber };\n//# sourceMappingURL=compact.mjs.map\n","import { fromHex, toHex } from '@polkadot-api/utils';\nimport { createCodec, Bytes } from 'scale-ts';\n\nconst enc$1 = (nBytes) => {\n const _enc = Bytes.enc(nBytes);\n return (value) => _enc(fromHex(value));\n};\nconst dec$1 = (nBytes) => {\n const _dec = Bytes.dec(nBytes);\n return (value) => toHex(_dec(value));\n};\nconst Hex = (nBytes) => createCodec(enc$1(nBytes), dec$1(nBytes));\nHex.enc = enc$1;\nHex.dec = dec$1;\n\nexport { Hex };\n//# sourceMappingURL=Hex.mjs.map\n","import { Vector, str } from 'scale-ts';\n\nconst docs = Vector(str);\n\nexport { docs };\n//# sourceMappingURL=docs.mjs.map\n","import { compactNumber } from '../scale/compact.mjs';\nimport { Option, str, Enum, _void, Vector, Struct, u32, u8 } from 'scale-ts';\nimport { docs } from './docs.mjs';\n\nconst oStr = Option(str);\nconst primitive = Enum({\n bool: _void,\n char: _void,\n str: _void,\n u8: _void,\n u16: _void,\n u32: _void,\n u64: _void,\n u128: _void,\n u256: _void,\n i8: _void,\n i16: _void,\n i32: _void,\n i64: _void,\n i128: _void,\n i256: _void\n});\nconst fields = Vector(\n Struct({\n name: oStr,\n type: compactNumber,\n typeName: oStr,\n docs\n })\n);\nconst arr = Struct({\n len: u32,\n type: compactNumber\n});\nconst bitSequence = Struct({\n bitStoreType: compactNumber,\n bitOrderType: compactNumber\n});\nconst variant = Vector(\n Struct({\n name: str,\n fields,\n index: u8,\n docs\n })\n);\nconst def = Enum({\n composite: fields,\n variant,\n sequence: compactNumber,\n array: arr,\n tuple: Vector(compactNumber),\n primitive,\n compact: compactNumber,\n bitSequence\n});\nconst param = Struct({\n name: str,\n type: Option(compactNumber)\n});\nconst params = Vector(param);\nconst entry = Struct({\n id: compactNumber,\n path: docs,\n params,\n def,\n docs\n});\nconst lookup = Vector(entry);\n\nexport { lookup };\n//# sourceMappingURL=lookup.mjs.map\n","import { Enum, _void, Struct, str, Option, Vector, u8 } from 'scale-ts';\n\nconst itemDeprecation = Enum({\n NotDeprecated: _void,\n DeprecatedWithoutNote: _void,\n Deprecated: Struct({\n note: str,\n since: Option(str)\n })\n});\nconst variantDeprecation = Vector(\n Struct({\n index: u8,\n deprecation: Enum(\n {\n DeprecatedWithoutNote: _void,\n Deprecated: Struct({\n note: str,\n since: Option(str)\n })\n },\n [1, 2]\n )\n })\n);\n\nexport { itemDeprecation, variantDeprecation };\n//# sourceMappingURL=deprecation.mjs.map\n","import { Vector, Struct, str } from 'scale-ts';\nimport { docs } from './docs.mjs';\nimport '../../utils/ss58-util.mjs';\nimport '../scale/Binary.mjs';\nimport '../scale/bitSequence.mjs';\nimport '../scale/char.mjs';\nimport { compactNumber } from '../scale/compact.mjs';\nimport { Hex } from '../scale/Hex.mjs';\nimport '../scale/fixed-str.mjs';\nimport '../scale/Variant.mjs';\nimport '../scale/ethAccount.mjs';\nimport '../scale/shaped.mjs';\nimport '../scale/BitSeq.mjs';\nimport { itemDeprecation } from './deprecation.mjs';\n\nconst runtimeApiMethod = {\n name: str,\n inputs: Vector(\n Struct({\n name: str,\n type: compactNumber\n })\n ),\n output: compactNumber,\n docs\n};\nconst runtimeApiV15 = Struct({\n name: str,\n methods: Vector(Struct(runtimeApiMethod)),\n docs\n});\nconst runtimeApi = Struct({\n name: str,\n methods: Vector(\n Struct({ ...runtimeApiMethod, deprecationInfo: itemDeprecation })\n ),\n docs,\n version: compactNumber,\n deprecationInfo: itemDeprecation\n});\nconst viewFunction = Struct({\n id: Hex(32),\n ...runtimeApiMethod,\n deprecationInfo: itemDeprecation\n});\n\nexport { runtimeApi, runtimeApiMethod, runtimeApiV15, viewFunction };\n//# sourceMappingURL=runtime-api.mjs.map\n","import { Enum, _void, Vector, Struct, Option, str, u8 } from 'scale-ts';\nimport '../../utils/ss58-util.mjs';\nimport '../scale/Binary.mjs';\nimport '../scale/bitSequence.mjs';\nimport '../scale/char.mjs';\nimport { compactNumber } from '../scale/compact.mjs';\nimport { Hex } from '../scale/Hex.mjs';\nimport '../scale/fixed-str.mjs';\nimport '../scale/Variant.mjs';\nimport '../scale/ethAccount.mjs';\nimport '../scale/shaped.mjs';\nimport '../scale/BitSeq.mjs';\nimport { docs } from './docs.mjs';\nimport { variantDeprecation, itemDeprecation } from './deprecation.mjs';\nimport { viewFunction } from './runtime-api.mjs';\n\nconst hashType = Enum({\n Blake2128: _void,\n Blake2256: _void,\n Blake2128Concat: _void,\n Twox128: _void,\n Twox256: _void,\n Twox64Concat: _void,\n Identity: _void\n});\nconst hashers$1 = Vector(hashType);\nconst storageMap = Struct({\n hashers: hashers$1,\n key: compactNumber,\n value: compactNumber\n});\nconst storageItem = {\n name: str,\n modifier: u8,\n type: Enum({\n plain: compactNumber,\n map: storageMap\n }),\n fallback: Hex(),\n docs\n};\nconst enumRefV14 = Option(compactNumber);\nconst v14Pallet = {\n name: str,\n storage: Option(\n Struct({\n prefix: str,\n items: Vector(Struct(storageItem))\n })\n ),\n calls: enumRefV14,\n events: enumRefV14,\n constants: Vector(\n Struct({\n name: str,\n type: compactNumber,\n value: Hex(),\n docs\n })\n ),\n errors: enumRefV14,\n index: u8\n};\nconst v15Pallet = {\n ...v14Pallet,\n docs\n};\nconst enumRef = Option(\n Struct({ type: compactNumber, deprecationInfo: variantDeprecation })\n);\nconst v16Pallet = {\n name: str,\n storage: Option(\n Struct({\n prefix: str,\n items: Vector(\n Struct({\n ...storageItem,\n deprecationInfo: itemDeprecation\n })\n )\n })\n ),\n calls: enumRef,\n events: enumRef,\n constants: Vector(\n Struct({\n name: str,\n type: compactNumber,\n value: Hex(),\n docs,\n deprecationInfo: itemDeprecation\n })\n ),\n errors: enumRef,\n associatedTypes: Vector(\n Struct({\n name: str,\n type: compactNumber,\n docs\n })\n ),\n viewFns: Vector(viewFunction),\n index: u8,\n docs,\n deprecationInfo: itemDeprecation\n};\n\nexport { storageMap, v14Pallet, v15Pallet, v16Pallet };\n//# sourceMappingURL=pallets.mjs.map\n","import { Struct, u8, Vector, str, createCodec } from 'scale-ts';\nimport { lookup } from './lookup.mjs';\nimport '../../utils/ss58-util.mjs';\nimport '../scale/Binary.mjs';\nimport '../scale/bitSequence.mjs';\nimport '../scale/char.mjs';\nimport { compactNumber } from '../scale/compact.mjs';\nimport '../scale/Hex.mjs';\nimport '../scale/fixed-str.mjs';\nimport '../scale/Variant.mjs';\nimport '../scale/ethAccount.mjs';\nimport '../scale/shaped.mjs';\nimport '../scale/BitSeq.mjs';\nimport { v14Pallet } from './pallets.mjs';\n\nconst empty = new Uint8Array();\nconst Always = (value) => createCodec(\n () => empty,\n () => value\n);\nconst extrinsic$2 = Struct({\n type: compactNumber,\n version: u8,\n signedExtensions: Vector(\n Struct({\n identifier: str,\n type: compactNumber,\n additionalSigned: compactNumber\n })\n )\n});\nconst v14 = Struct({\n lookup,\n pallets: Vector(Struct({ ...v14Pallet, docs: Always([]) })),\n extrinsic: extrinsic$2,\n type: compactNumber,\n apis: Always([])\n});\n\nexport { v14 };\n//# sourceMappingURL=v14.mjs.map\n","import { Struct, u8, Vector, str, Tuple } from 'scale-ts';\nimport { lookup } from './lookup.mjs';\nimport { v15Pallet } from './pallets.mjs';\nimport '../../utils/ss58-util.mjs';\nimport '../scale/Binary.mjs';\nimport '../scale/bitSequence.mjs';\nimport '../scale/char.mjs';\nimport { compactNumber } from '../scale/compact.mjs';\nimport { Hex } from '../scale/Hex.mjs';\nimport '../scale/fixed-str.mjs';\nimport '../scale/Variant.mjs';\nimport '../scale/ethAccount.mjs';\nimport '../scale/shaped.mjs';\nimport '../scale/BitSeq.mjs';\nimport { runtimeApiV15 } from './runtime-api.mjs';\n\nconst extrinsic$1 = Struct({\n version: u8,\n address: compactNumber,\n call: compactNumber,\n signature: compactNumber,\n extra: compactNumber,\n signedExtensions: Vector(\n Struct({\n identifier: str,\n type: compactNumber,\n additionalSigned: compactNumber\n })\n )\n});\nconst v15 = Struct({\n lookup,\n pallets: Vector(Struct(v15Pallet)),\n extrinsic: extrinsic$1,\n type: compactNumber,\n apis: Vector(runtimeApiV15),\n outerEnums: Struct({\n call: compactNumber,\n event: compactNumber,\n error: compactNumber\n }),\n custom: Vector(Tuple(str, Struct({ type: compactNumber, value: Hex() })))\n});\n\nexport { v15 };\n//# sourceMappingURL=v15.mjs.map\n","import { Struct, Vector, str, Tuple, u8 } from 'scale-ts';\nimport { lookup } from './lookup.mjs';\nimport { v16Pallet } from './pallets.mjs';\nimport '../../utils/ss58-util.mjs';\nimport '../scale/Binary.mjs';\nimport '../scale/bitSequence.mjs';\nimport '../scale/char.mjs';\nimport { compactNumber } from '../scale/compact.mjs';\nimport { Hex } from '../scale/Hex.mjs';\nimport '../scale/fixed-str.mjs';\nimport '../scale/Variant.mjs';\nimport '../scale/ethAccount.mjs';\nimport '../scale/shaped.mjs';\nimport '../scale/BitSeq.mjs';\nimport { runtimeApi } from './runtime-api.mjs';\n\nconst extrinsic = Struct({\n version: Vector(u8),\n address: compactNumber,\n call: compactNumber,\n signature: compactNumber,\n signedExtensionsByVersion: Vector(Tuple(u8, Vector(compactNumber))),\n signedExtensions: Vector(\n Struct({\n identifier: str,\n type: compactNumber,\n additionalSigned: compactNumber\n })\n )\n});\nconst v16 = Struct({\n lookup,\n pallets: Vector(Struct(v16Pallet)),\n extrinsic,\n apis: Vector(runtimeApi),\n outerEnums: Struct({\n call: compactNumber,\n event: compactNumber,\n error: compactNumber\n }),\n custom: Vector(Tuple(str, Struct({ type: compactNumber, value: Hex() })))\n});\n\nexport { v16 };\n//# sourceMappingURL=v16.mjs.map\n","import { createCodec, Struct, u32, Enum, Bytes, Option, Tuple, compact } from 'scale-ts';\nimport { v14 } from './v14.mjs';\nimport { v15 } from './v15.mjs';\nimport { v16 } from './v16.mjs';\n\nconst unsupportedFn = () => {\n throw new Error(\"Unsupported metadata version!\");\n};\nconst unsupported = createCodec(\n unsupportedFn,\n unsupportedFn\n);\nconst metadata = Struct({\n magicNumber: u32,\n metadata: Enum({\n v0: unsupported,\n v1: unsupported,\n v2: unsupported,\n v3: unsupported,\n v4: unsupported,\n v5: unsupported,\n v6: unsupported,\n v7: unsupported,\n v8: unsupported,\n v9: unsupported,\n v10: unsupported,\n v11: unsupported,\n v12: unsupported,\n v13: unsupported,\n v14,\n v15,\n v16\n })\n});\nconst opaqueBytes = Bytes();\nconst optionOpaque = Option(opaqueBytes);\nconst opaqueOpaqueBytes = Tuple(compact, opaqueBytes);\nconst decAnyMetadata = (input) => {\n try {\n return metadata.dec(input);\n } catch (_) {\n }\n try {\n return metadata.dec(optionOpaque.dec(input));\n } catch (_) {\n }\n try {\n return metadata.dec(opaqueBytes.dec(input));\n } catch (_) {\n }\n try {\n return metadata.dec(opaqueOpaqueBytes.dec(input)[1]);\n } catch (_) {\n }\n throw null;\n};\n\nexport { decAnyMetadata, metadata };\n//# sourceMappingURL=metadata.mjs.map\n","const unifyMetadata = (metadata) => {\n if (\"magicNumber\" in metadata) metadata = metadata.metadata;\n if (\"tag\" in metadata) {\n if (metadata.tag !== \"v14\" && metadata.tag !== \"v15\" && metadata.tag !== \"v16\")\n throw new Error(\"Only metadata 14, 15, and 16 are supported\");\n metadata = metadata.value;\n }\n if (\"signedExtensionsByVersion\" in metadata.extrinsic) {\n const {\n extrinsic: {\n signedExtensions,\n signedExtensionsByVersion,\n ...restExtrinsic\n },\n ...rest\n } = metadata;\n if (!signedExtensionsByVersion.some(([v]) => v === 0)) {\n throw new Error(\"Extension version 0 not found\");\n }\n return {\n version: 16,\n extrinsic: {\n ...restExtrinsic,\n signedExtensions: Object.fromEntries(\n signedExtensionsByVersion.map(([v, idxs]) => [\n v,\n idxs.map((extIdx) => signedExtensions[extIdx])\n ])\n )\n },\n ...rest\n };\n }\n if (\"custom\" in metadata) {\n const { lookup: lookup2, extrinsic: extrinsic2, custom, apis, pallets: pallets2, outerEnums } = metadata;\n return {\n version: 15,\n lookup: lookup2,\n pallets: pallets2.map((p) => ({\n ...p,\n calls: p.calls != null ? { type: p.calls } : void 0,\n events: p.events != null ? { type: p.events } : void 0,\n errors: p.errors != null ? { type: p.errors } : void 0,\n viewFns: [],\n associatedTypes: []\n })),\n extrinsic: {\n ...extrinsic2,\n signedExtensions: { 0: extrinsic2.signedExtensions },\n version: [extrinsic2.version]\n },\n apis,\n outerEnums,\n custom\n };\n }\n const { lookup, extrinsic, pallets } = metadata;\n return {\n version: 14,\n lookup,\n pallets: pallets.map((p) => ({\n ...p,\n calls: p.calls != null ? { type: p.calls } : void 0,\n events: p.events != null ? { type: p.events } : void 0,\n errors: p.errors != null ? { type: p.errors } : void 0,\n viewFns: [],\n associatedTypes: []\n })),\n extrinsic: {\n ...extrinsic,\n signedExtensions: { 0: extrinsic.signedExtensions },\n version: [extrinsic.version]\n },\n apis: []\n };\n};\n\nexport { unifyMetadata };\n//# sourceMappingURL=unified.mjs.map\n","import { enhanceCodec, u8 } from 'scale-ts';\n\nconst TYPES = {\n bare: 0,\n 0: \"bare\",\n general: 1,\n 1: \"general\",\n signed: 2,\n 2: \"signed\"\n};\nconst extrinsicFormat = enhanceCodec(\n u8,\n ({ version, type }) => version + (TYPES[type] << 6),\n (v) => {\n const version = v & 63;\n const type = v >> 6;\n if (version === 4 && (type === TYPES.bare || type === TYPES.signed))\n return { version, type: TYPES[type] };\n if (version === 5 && (type === TYPES.bare || type === TYPES.general))\n return { version, type: TYPES[type] };\n throw new Error(`ExtrinsicFormat ${v} not valid`);\n }\n);\n\nexport { extrinsicFormat };\n//# sourceMappingURL=extrinsic-format.mjs.map\n","import { mergeUint8 } from '@polkadot-api/utils';\nimport { blake2b } from '@noble/hashes/blake2.js';\n\nconst len32$1 = { dkLen: 32 };\nconst Blake2256 = (encoded) => blake2b(encoded, len32$1);\nconst len16 = { dkLen: 16 };\nconst Blake2128 = (encoded) => blake2b(encoded, len16);\nconst Blake2128Concat = (encoded) => mergeUint8([Blake2128(encoded), encoded]);\n\nexport { Blake2128, Blake2128Concat, Blake2256 };\n//# sourceMappingURL=blake2.mjs.map\n","const isBytes = (value, nBytes) => value.type === \"array\" && value.len === nBytes && value.value.type === \"primitive\" && value.value.value === \"u8\";\nconst _void = { type: \"void\" };\nconst _denormalizeLookup = (lookupData, customMap = () => null) => {\n const lookups = /* @__PURE__ */ new Map();\n const from = /* @__PURE__ */ new Set();\n const withCache = (fn) => {\n return (id) => {\n let entry = lookups.get(id);\n if (entry) return entry;\n if (from.has(id)) {\n const entry2 = {\n id\n };\n lookups.set(id, entry2);\n return entry2;\n }\n from.add(id);\n const value = fn(id);\n entry = lookups.get(id);\n if (entry) {\n Object.assign(entry, value);\n } else {\n entry = {\n id,\n ...value\n };\n lookups.set(id, entry);\n }\n from.delete(id);\n return entry;\n };\n };\n let isAccountId32SearchOn = true;\n let isAccountId20SearchOn = true;\n const getLookupEntryDef = withCache((id) => {\n const custom = customMap(lookupData[id]);\n if (custom) return custom;\n const { def, path, params } = lookupData[id];\n if (def.tag === \"composite\") {\n if (def.value.length === 0) return _void;\n if (def.value.length === 1) {\n const inner = getLookupEntryDef(def.value[0].type);\n if (isAccountId32SearchOn && path.at(-1) === \"AccountId32\" && isBytes(inner, 32)) {\n isAccountId32SearchOn = false;\n return { type: \"AccountId32\" };\n }\n if (isAccountId20SearchOn && path.at(-1) === \"AccountId20\" && isBytes(inner, 20)) {\n isAccountId20SearchOn = false;\n return { type: \"AccountId20\" };\n }\n return inner;\n }\n return getComplexVar(def.value);\n }\n if (def.tag === \"variant\") {\n if (path.length === 1 && path[0] === \"Option\" && params.length === 1 && params[0].name === \"T\") {\n const value = getLookupEntryDef(params[0].type);\n return value.type === \"void\" ? (\n // Option<void> would return a Codec<undefined> which makes no sense\n // Therefore, we better treat it as a bool\n { type: \"primitive\", value: \"bool\" }\n ) : {\n type: \"option\",\n value\n };\n }\n if (path.length === 1 && path[0] === \"Result\" && params.length === 2 && params[0].name === \"T\" && params[1].name === \"E\") {\n return {\n type: \"result\",\n value: {\n ok: getLookupEntryDef(params[0].type),\n ko: getLookupEntryDef(params[1].type)\n }\n };\n }\n if (def.value.length === 0) return _void;\n const enumValue = {};\n const enumDocs = {};\n def.value.forEach((x) => {\n const key = x.name;\n enumDocs[key] = x.docs;\n if (x.fields.length === 0) {\n enumValue[key] = { ..._void, idx: x.index };\n return;\n }\n if (x.fields.length === 1 && !x.fields[0].name) {\n enumValue[key] = {\n type: \"lookupEntry\",\n value: getLookupEntryDef(x.fields[0].type),\n idx: x.index\n };\n return;\n }\n enumValue[key] = { ...getComplexVar(x.fields), idx: x.index };\n });\n return {\n type: \"enum\",\n value: enumValue,\n innerDocs: enumDocs\n };\n }\n if (def.tag === \"sequence\")\n return {\n type: \"sequence\",\n value: getLookupEntryDef(def.value)\n };\n if (def.tag === \"array\") {\n const { len } = def.value;\n const value = getLookupEntryDef(def.value.type);\n return !len || value.type === \"void\" ? _void : len > 1 ? {\n type: \"array\",\n value,\n len: def.value.len\n } : value;\n }\n if (def.tag === \"tuple\") {\n if (def.value.length === 0) return _void;\n return def.value.length > 1 ? getArrayOrTuple(\n def.value.map((x) => getLookupEntryDef(x)),\n def.value.map((x) => lookupData[x].docs)\n ) : getLookupEntryDef(def.value[0]);\n }\n if (def.tag === \"primitive\") {\n return {\n type: \"primitive\",\n value: def.value.tag\n };\n }\n if (def.tag === \"compact\") {\n const translated = getLookupEntryDef(def.value);\n if (translated.type === \"void\") return _void;\n const isBig = Number(translated.value.slice(1)) > 32;\n return {\n type: \"compact\",\n isBig,\n size: translated.value\n };\n }\n return {\n type: def.tag,\n isLSB: (lookupData[def.value.bitOrderType].path.at(-1) ?? \"LSB\").toUpperCase().startsWith(\"LSB\")\n };\n });\n const getComplexVar = (input) => {\n let allKey = true;\n const values = {};\n const innerDocs = {};\n input.forEach((x, idx) => {\n allKey = allKey && !!x.name;\n const key = x.name || idx;\n const value = getLookupEntryDef(x.type);\n if (value.type !== \"void\") {\n values[key] = value;\n innerDocs[key] = x.docs;\n }\n });\n return allKey ? {\n type: \"struct\",\n value: values,\n innerDocs\n } : getArrayOrTuple(Object.values(values), Object.values(innerDocs));\n };\n const getArrayOrTuple = (values, innerDocs) => {\n if (values.every((v) => v.id === values[0].id) && innerDocs.every((doc) => !doc.length)) {\n const [value] = values;\n return value.type === \"void\" ? _void : {\n type: \"array\",\n value: values[0],\n len: values.length\n };\n }\n return {\n type: \"tuple\",\n value: values,\n innerDocs\n };\n };\n return getLookupEntryDef;\n};\nconst denormalizeLookup = (lookupData) => _denormalizeLookup(lookupData);\nconst getLookupFn = (metadata) => {\n const getLookupEntryDef = _denormalizeLookup(metadata.lookup, ({ def }) => {\n if (def.tag === \"composite\") {\n const moduleErrorLength = getModuleErrorLength(def);\n if (moduleErrorLength) {\n return {\n type: \"enum\",\n innerDocs: {},\n value: Object.fromEntries(\n metadata.pallets.map((p) => [\n p.name,\n p.errors == null ? { ..._void, idx: p.index } : {\n type: \"lookupEntry\",\n value: getLookupEntryDef(p.errors.type),\n idx: p.index\n }\n ])\n ),\n byteLength: moduleErrorLength\n };\n }\n }\n return null;\n });\n function getModuleErrorLength(def) {\n const preChecks = def.value.length === 2 && def.value[0].name === \"index\" && def.value[1].name === \"error\";\n if (!preChecks) return null;\n const index = getLookupEntryDef(def.value[0].type);\n const error = getLookupEntryDef(def.value[1].type);\n return index.type === \"primitive\" && index.value === \"u8\" && error.type === \"array\" && error.value.type === \"primitive\" && error.value.value === \"u8\" ? 1 + error.len : null;\n }\n const getCall = () => {\n if (\"call\" in metadata.extrinsic) {\n return metadata.extrinsic.call;\n }\n const extrinsic = metadata.lookup[metadata.extrinsic.type];\n const call = extrinsic?.params.find((p) => p.name === \"Call\");\n return call?.type ?? null;\n };\n return Object.assign(getLookupEntryDef, { metadata, call: getCall() });\n};\n\nexport { denormalizeLookup, getLookupFn };\n//# sourceMappingURL=lookups.mjs.map\n","import { extrinsicFormat, compact } from '@polkadot-api/substrate-bindings';\nimport { mergeUint8 } from '@polkadot-api/utils';\nimport { getLookupFn } from '@polkadot-api/metadata-builders';\n\nconst unkownSignerType = () => new Error(\"Unkown signer\");\nconst getSignerType = (metadata) => {\n const { extrinsic } = metadata;\n const getLookup = getLookupFn(metadata);\n let address;\n let signature;\n if (\"address\" in extrinsic) {\n address = getLookup(extrinsic.address);\n signature = getLookup(extrinsic.signature);\n } else {\n const extProps = Object.fromEntries(\n metadata.lookup[extrinsic.type].params.filter((x) => x.type != null).map((x) => [x.name, getLookup(x.type)])\n );\n address = extProps[\"Address\"];\n signature = extProps[\"Signature\"];\n if (!address || !signature) throw unkownSignerType();\n }\n if (address.type === \"AccountId20\" && signature.type === \"array\" && signature.len === 65 && signature.value.type === \"primitive\" && signature.value.value === \"u8\")\n return [1 /* Ethereum */, []];\n if (signature.type !== \"enum\" || [\"Ecdsa\", \"Ed25519\", \"Sr25519\"].some((x) => !(x in signature.value)))\n throw unkownSignerType();\n if (address.type === \"enum\") {\n const id = address.value[\"Id\"];\n if (id.type === \"lookupEntry\" && id.value.type === \"AccountId32\")\n return [0 /* Polkadot */, [id.idx]];\n } else if (address.type === \"AccountId32\") return [0 /* Polkadot */, []];\n throw unkownSignerType();\n};\nconst signingTypeId = {\n Ed25519: 0,\n Sr25519: 1,\n Ecdsa: 2\n};\nconst createV4Tx = (metadata, publicKey, signed, extra, callData, signingType) => {\n const [signerType, addressPrefix] = getSignerType(metadata);\n const preResult = mergeUint8([\n extrinsicFormat.enc({ version: 4, type: \"signed\" }),\n // converting it to a `MultiAddress` enum, where the index 0 is `Id(AccountId)`\n signerType === 1 /* Ethereum */ ? publicKey : new Uint8Array([...addressPrefix, ...publicKey]),\n signerType === 1 /* Ethereum */ || !signingType ? signed : new Uint8Array([signingTypeId[signingType], ...signed]),\n ...extra,\n callData\n ]);\n return mergeUint8([compact.enc(preResult.length), preResult]);\n};\n\nexport { createV4Tx };\n//# sourceMappingURL=v4.mjs.map\n","import { Binary } from '@polkadot-api/substrate-bindings';\nimport { mergeUint8 } from '@polkadot-api/utils';\n\nconst [preBytes, postBytes] = [\"<Bytes>\", \"</Bytes>\"].map(\n (str) => Binary.fromText(str).asBytes()\n);\nconst getSignBytes = (sign) => async (data) => {\n let isPadded = true;\n let i;\n for (i = 0; isPadded && i < preBytes.length; i++)\n isPadded = preBytes[i] === data[i];\n isPadded = isPadded && i === preBytes.length;\n const postDataStart = data.length - postBytes.length;\n for (i = 0; isPadded && i < postBytes.length; i++)\n isPadded = postBytes[i] === data[postDataStart + i];\n isPadded = isPadded && i === postBytes.length;\n return sign(isPadded ? data : mergeUint8([preBytes, data, postBytes]));\n};\n\nexport { getSignBytes };\n//# sourceMappingURL=sign-bytes.mjs.map\n","import { mergeUint8 } from '@polkadot-api/utils';\nimport { getSignBytes, createV4Tx } from '@polkadot-api/signers-common';\nimport { Blake2256, unifyMetadata, decAnyMetadata } from '@polkadot-api/substrate-bindings';\nimport { merkleizeMetadata } from '@polkadot-api/merkleize-metadata';\n\nfunction getPolkadotSigner(publicKey, signingType, sign) {\n const signTx = async (callData, signedExtensions, metadata, _, hasher = Blake2256) => {\n const decMeta = unifyMetadata(decAnyMetadata(metadata));\n const extra = [];\n const additionalSigned = [];\n decMeta.extrinsic.signedExtensions[0].map(({ identifier }) => {\n const signedExtension = signedExtensions[identifier];\n if (!signedExtension)\n throw new Error(`Missing ${identifier} signed extension`);\n extra.push(signedExtension.value);\n additionalSigned.push(signedExtension.additionalSigned);\n });\n const toSign = mergeUint8([callData, ...extra, ...additionalSigned]);\n const signed = await sign(toSign.length > 256 ? hasher(toSign) : toSign);\n return createV4Tx(decMeta, publicKey, signed, extra, callData, signingType);\n };\n return {\n publicKey,\n signTx,\n signBytes: getSignBytes(sign)\n };\n}\nconst METADATA_IDENTIFIER = \"CheckMetadataHash\";\nconst oneU8 = Uint8Array.from([1]);\nconst withMetadataHash = (networkInfo, base) => ({\n ...base,\n signTx: async (callData, signedExtensions, metadata, ...rest) => base.signTx(\n callData,\n signedExtensions[METADATA_IDENTIFIER] ? {\n ...signedExtensions,\n [METADATA_IDENTIFIER]: {\n identifier: METADATA_IDENTIFIER,\n value: oneU8,\n additionalSigned: mergeUint8([\n oneU8,\n merkleizeMetadata(metadata, networkInfo).digest()\n ])\n }\n } : signedExtensions,\n metadata,\n ...rest\n )\n});\n\nexport { getPolkadotSigner, withMetadataHash };\n//# sourceMappingURL=from-raw-signer.mjs.map\n","import { getPolkadotSigner } from \"@polkadot-api/signer\";\nimport type { PolkadotSigner } from \"polkadot-api\";\nimport type { KeyPair } from \"@polkadot-labs/hdkd-helpers\";\n\nexport type { PolkadotSigner } from \"polkadot-api\";\n\nexport function createSr25519SignerFromKeypair(keypair: KeyPair): PolkadotSigner {\n return getPolkadotSigner(keypair.publicKey, \"Sr25519\", (payload) => keypair.sign(payload));\n}\n","import type { SS58String } from \"polkadot-api\";\n\nimport { mnemonicToMiniSecret } from \"./mnemonic\";\nimport { hexToBytes, type HexString } from \"./hex\";\nimport {\n sr25519DeriveFromMiniSecret,\n sr25519KeypairFromMiniSecret,\n sr25519AddressFromKeypair,\n} from \"./sr25519\";\nimport { createSr25519SignerFromKeypair } from \"./signer\";\n\nexport type WalletAccount = {\n address: SS58String;\n publicKey: Uint8Array;\n /**\n * Signer for polkadot-api transactions\n */\n signer: ReturnType<typeof createSr25519SignerFromKeypair>;\n};\n\nexport function createAccountFromMnemonic(options: {\n mnemonic: string;\n ss58Format?: number;\n password?: string;\n derivationPath?: string;\n keyType?: \"sr25519\" | \"ed25519\" | \"secp256k1\";\n}): WalletAccount {\n const miniSecret = mnemonicToMiniSecret(options.mnemonic, options.password);\n const keypair = options.derivationPath\n ? sr25519DeriveFromMiniSecret(miniSecret, options.derivationPath)\n : sr25519KeypairFromMiniSecret(miniSecret);\n\n return {\n address: sr25519AddressFromKeypair(keypair, options.ss58Format),\n publicKey: keypair.publicKey,\n signer: createSr25519SignerFromKeypair(keypair),\n };\n}\n\nexport function createAccountFromPrivateKey(options: {\n secretKeyHex: HexString;\n ss58Format?: number;\n keyType: \"sr25519\" | \"ed25519\" | \"secp256k1\";\n}): WalletAccount {\n const secretBytes = hexToBytes(options.secretKeyHex);\n if (secretBytes.length !== 32) {\n throw new Error(\"secret key must be 32 bytes\");\n }\n const keypair = sr25519KeypairFromMiniSecret(secretBytes);\n return {\n address: sr25519AddressFromKeypair(keypair, options.ss58Format),\n publicKey: keypair.publicKey,\n signer: createSr25519SignerFromKeypair(keypair),\n };\n}\n","/**\n * Address validation utilities for D9 blockchain\n */\n\nimport { ss58Decode, ss58Encode } from \"@polkadot-labs/hdkd-helpers\";\nimport type { SS58String } from \"polkadot-api\";\nimport { D9_SS58_PREFIX } from \"../constants\";\n\n/**\n * Check if a value is a valid SS58 address\n *\n * @param address - The value to check\n * @returns True if the value is a valid SS58 address\n *\n * @example\n * ```typescript\n * isValidAddress(\"5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY\"); // true\n * isValidAddress(\"invalid\"); // false\n * isValidAddress(null); // false\n * ```\n */\nexport function isValidAddress(address: unknown): address is SS58String {\n if (typeof address !== \"string\" || address.length === 0) {\n return false;\n }\n\n try {\n ss58Decode(address);\n return true;\n } catch {\n return false;\n }\n}\n\n/**\n * Check if a value is a valid D9 address (SS58 prefix 9)\n *\n * @param address - The value to check\n * @returns True if the value is a valid D9 address\n *\n * @example\n * ```typescript\n * isValidD9Address(\"XYZd9...\"); // true (if valid D9 prefix)\n * isValidD9Address(\"5GrwvaEF...\"); // false (Polkadot prefix)\n * ```\n */\nexport function isValidD9Address(address: unknown): address is SS58String {\n return isValidAddressForNetwork(address, D9_SS58_PREFIX);\n}\n\n/**\n * Check if a value is a valid address for a specific network\n *\n * @param address - The value to check\n * @param expectedPrefix - The expected SS58 prefix\n * @returns True if the value is a valid address with the expected prefix\n *\n * @example\n * ```typescript\n * isValidAddressForNetwork(address, 0); // Polkadot\n * isValidAddressForNetwork(address, 2); // Kusama\n * isValidAddressForNetwork(address, 9); // D9\n * ```\n */\nexport function isValidAddressForNetwork(\n address: unknown,\n expectedPrefix: number,\n): address is SS58String {\n if (typeof address !== \"string\" || address.length === 0) {\n return false;\n }\n\n try {\n const [, prefix] = ss58Decode(address);\n return prefix === expectedPrefix;\n } catch {\n return false;\n }\n}\n\n/**\n * Get the SS58 prefix of an address\n *\n * @param address - The SS58 address\n * @returns The SS58 prefix\n * @throws Error if the address is invalid\n *\n * @example\n * ```typescript\n * getAddressPrefix(\"5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY\"); // 42 (Substrate generic)\n * ```\n */\nexport function getAddressPrefix(address: SS58String): number {\n const [, prefix] = ss58Decode(address);\n return prefix;\n}\n\n/**\n * Compare two addresses for equality (same public key)\n *\n * Addresses with different SS58 prefixes can represent the same account.\n * This function compares the underlying public keys.\n *\n * @param a - First address\n * @param b - Second address\n * @returns True if both addresses represent the same public key\n *\n * @example\n * ```typescript\n * // Same account, different network formats\n * const polkadotAddr = \"15oF4uVJwmo4TdGW7VfQxNLavjCXviqxT9S1MgbjMNHr6Sp5\";\n * const genericAddr = \"5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY\";\n * addressesEqual(polkadotAddr, genericAddr); // true\n * ```\n */\nexport function addressesEqual(a: SS58String, b: SS58String): boolean {\n try {\n const [publicKeyA] = ss58Decode(a);\n const [publicKeyB] = ss58Decode(b);\n\n if (publicKeyA.length !== publicKeyB.length) {\n return false;\n }\n\n for (let i = 0; i < publicKeyA.length; i++) {\n if (publicKeyA[i] !== publicKeyB[i]) {\n return false;\n }\n }\n\n return true;\n } catch {\n return false;\n }\n}\n\n/**\n * Convert an address to a specific SS58 format\n *\n * @param address - The SS58 address\n * @param targetPrefix - The target SS58 prefix\n * @returns The address encoded with the target prefix\n * @throws Error if the address is invalid\n *\n * @example\n * ```typescript\n * const d9Address = toNetworkAddress(\"5GrwvaEF...\", 9);\n * ```\n */\nexport function toNetworkAddress(address: SS58String, targetPrefix: number): SS58String {\n const [publicKey] = ss58Decode(address);\n return ss58Encode(publicKey, targetPrefix) as SS58String;\n}\n\n/**\n * Convert an address to D9 format\n *\n * @param address - The SS58 address\n * @returns The address encoded with D9 prefix (9)\n *\n * @example\n * ```typescript\n * const d9Address = toD9Address(\"5GrwvaEF...\");\n * ```\n */\nexport function toD9Address(address: SS58String): SS58String {\n return toNetworkAddress(address, D9_SS58_PREFIX);\n}\n","/**\n * Balance formatting utilities for D9 blockchain\n */\n\nimport { D9_DECIMALS, D9_SYMBOL, USDT_DECIMALS, USDT_SYMBOL } from \"../constants\";\n\n/**\n * Token configuration for formatting\n */\nexport interface TokenConfig {\n decimals: number;\n symbol: string;\n}\n\n/**\n * Pre-configured D9 token\n */\nexport const D9_TOKEN: TokenConfig = {\n decimals: D9_DECIMALS,\n symbol: D9_SYMBOL,\n};\n\n/**\n * Pre-configured USDT token\n */\nexport const USDT_TOKEN: TokenConfig = {\n decimals: USDT_DECIMALS,\n symbol: USDT_SYMBOL,\n};\n\n/**\n * Options for formatting balance\n */\nexport interface FormatBalanceOptions {\n /** Number of decimal places (default: token's decimals) */\n decimals?: number;\n /** Maximum decimal places to display (default: 4) */\n maxDecimals?: number;\n /** Whether to trim trailing zeros (default: true) */\n trimTrailingZeros?: boolean;\n /** Thousands separator (default: none) */\n thousandsSeparator?: string;\n}\n\n/**\n * Format a raw planck value to a human-readable balance string\n *\n * @param planck - The raw balance in planck units (smallest unit)\n * @param options - Formatting options\n * @returns Formatted balance string\n *\n * @example\n * ```typescript\n * formatBalance(1_500_000_000_000n, { decimals: 12 }); // \"1.5\"\n * formatBalance(1_500_000_000_000n, { decimals: 12, maxDecimals: 2 }); // \"1.50\"\n * formatBalance(1_000_000_000_000_000n, { decimals: 12, thousandsSeparator: \",\" }); // \"1,000\"\n * ```\n */\nexport function formatBalance(planck: bigint, options: FormatBalanceOptions = {}): string {\n const {\n decimals = D9_DECIMALS,\n maxDecimals = 4,\n trimTrailingZeros = true,\n thousandsSeparator,\n } = options;\n\n if (decimals < 0 || decimals > 30) {\n throw new Error(\"Decimals must be between 0 and 30\");\n }\n\n const divisor = 10n ** BigInt(decimals);\n const isNegative = planck < 0n;\n const absolutePlanck = isNegative ? -planck : planck;\n\n const wholePart = absolutePlanck / divisor;\n const fractionalPart = absolutePlanck % divisor;\n\n // Format whole part with optional thousands separator\n let wholeStr = wholePart.toString();\n if (thousandsSeparator && wholeStr.length > 3) {\n wholeStr = wholeStr.replace(/\\B(?=(\\d{3})+(?!\\d))/g, thousandsSeparator);\n }\n\n // Format fractional part\n if (decimals === 0 || maxDecimals === 0) {\n return isNegative ? `-${wholeStr}` : wholeStr;\n }\n\n let fractionalStr = fractionalPart.toString().padStart(decimals, \"0\");\n\n // Truncate to maxDecimals\n if (fractionalStr.length > maxDecimals) {\n fractionalStr = fractionalStr.slice(0, maxDecimals);\n }\n\n // Trim trailing zeros if requested\n if (trimTrailingZeros) {\n fractionalStr = fractionalStr.replace(/0+$/, \"\");\n }\n\n const prefix = isNegative ? \"-\" : \"\";\n\n if (fractionalStr === \"\") {\n return `${prefix}${wholeStr}`;\n }\n\n return `${prefix}${wholeStr}.${fractionalStr}`;\n}\n\n/**\n * Parse a human-readable amount string to planck units\n *\n * @param amount - The amount as a string or number\n * @param options - Parse options\n * @returns The amount in planck units (bigint)\n *\n * @example\n * ```typescript\n * parseAmount(\"1.5\", { decimals: 12 }); // 1_500_000_000_000n\n * parseAmount(1.5, { decimals: 12 }); // 1_500_000_000_000n\n * parseAmount(\"1,000.50\", { decimals: 12 }); // 1_000_500_000_000_000n\n * ```\n */\nexport function parseAmount(amount: string | number, options: { decimals?: number } = {}): bigint {\n const { decimals = D9_DECIMALS } = options;\n\n if (decimals < 0 || decimals > 30) {\n throw new Error(\"Decimals must be between 0 and 30\");\n }\n\n // Convert to string and remove thousands separators\n let amountStr = String(amount).replace(/,/g, \"\").trim();\n\n // Handle negative numbers\n const isNegative = amountStr.startsWith(\"-\");\n if (isNegative) {\n amountStr = amountStr.slice(1);\n }\n\n // Validate format\n if (!/^\\d*\\.?\\d*$/.test(amountStr) || amountStr === \"\" || amountStr === \".\") {\n throw new Error(`Invalid amount format: ${amount}`);\n }\n\n const [wholePart = \"0\", fractionalPart = \"\"] = amountStr.split(\".\");\n\n // Check if fractional part exceeds decimals\n if (fractionalPart.length > decimals) {\n throw new Error(\n `Amount has more decimal places (${fractionalPart.length}) than supported (${decimals})`,\n );\n }\n\n // Pad fractional part to full precision\n const paddedFractional = fractionalPart.padEnd(decimals, \"0\");\n\n // Combine and convert to bigint\n const planckStr = wholePart + paddedFractional;\n const planck = BigInt(planckStr);\n\n return isNegative ? -planck : planck;\n}\n\n/**\n * Format a token amount with symbol\n *\n * @param planck - The raw balance in planck units\n * @param token - Token configuration\n * @param options - Additional formatting options\n * @returns Formatted string with token symbol\n *\n * @example\n * ```typescript\n * formatTokenAmount(1_500_000_000_000n, D9_TOKEN); // \"1.5 D9\"\n * formatTokenAmount(1000n, USDT_TOKEN); // \"10 USDT\"\n * ```\n */\nexport function formatTokenAmount(\n planck: bigint,\n token: TokenConfig,\n options: Omit<FormatBalanceOptions, \"decimals\"> = {},\n): string {\n const formatted = formatBalance(planck, { ...options, decimals: token.decimals });\n return `${formatted} ${token.symbol}`;\n}\n","/**\n * Block time utilities for D9 blockchain\n */\n\n// D9 blockchain timing constants\nexport const D9_BLOCK_TIME_MS = 3000; // ~3 seconds per block\nexport const BLOCKS_PER_MINUTE = 20;\nexport const BLOCKS_PER_HOUR = 1200;\nexport const BLOCKS_PER_DAY = 28800;\nexport const BLOCKS_PER_WEEK = 201600;\n\n/**\n * Convert milliseconds to blocks\n *\n * @param ms - Duration in milliseconds\n * @returns Number of blocks (rounded down)\n *\n * @example\n * ```typescript\n * msToBlocks(60_000); // 20 blocks (1 minute)\n * msToBlocks(3_600_000); // 1200 blocks (1 hour)\n * ```\n */\nexport function msToBlocks(ms: number): number {\n if (ms < 0) {\n throw new Error(\"Duration cannot be negative\");\n }\n return Math.floor(ms / D9_BLOCK_TIME_MS);\n}\n\n/**\n * Convert blocks to milliseconds\n *\n * @param blocks - Number of blocks\n * @returns Duration in milliseconds\n *\n * @example\n * ```typescript\n * blocksToMs(20); // 60_000 (1 minute)\n * blocksToMs(1200); // 3_600_000 (1 hour)\n * ```\n */\nexport function blocksToMs(blocks: number): number {\n if (blocks < 0) {\n throw new Error(\"Block count cannot be negative\");\n }\n return blocks * D9_BLOCK_TIME_MS;\n}\n\n/**\n * Estimate the block number at a target time\n *\n * @param targetTime - The target time to estimate block for\n * @param currentBlock - The current block number\n * @param currentTime - The current time (default: now)\n * @returns Estimated block number at target time\n *\n * @example\n * ```typescript\n * const targetBlock = estimateBlockAtTime(\n * new Date(Date.now() + 3_600_000), // 1 hour from now\n * 1000, // current block\n * ); // ~2200\n * ```\n */\nexport function estimateBlockAtTime(\n targetTime: Date,\n currentBlock: number,\n currentTime: Date = new Date(),\n): number {\n const timeDiffMs = targetTime.getTime() - currentTime.getTime();\n const blockDiff = Math.floor(timeDiffMs / D9_BLOCK_TIME_MS);\n return Math.max(0, currentBlock + blockDiff);\n}\n\n/**\n * Estimate the time at a target block\n *\n * @param targetBlock - The target block number\n * @param currentBlock - The current block number\n * @param currentTime - The current time (default: now)\n * @returns Estimated time at target block\n *\n * @example\n * ```typescript\n * const unlockTime = estimateTimeAtBlock(\n * 2200, // target block\n * 1000, // current block\n * ); // ~1 hour from now\n * ```\n */\nexport function estimateTimeAtBlock(\n targetBlock: number,\n currentBlock: number,\n currentTime: Date = new Date(),\n): Date {\n const blockDiff = targetBlock - currentBlock;\n const timeDiffMs = blockDiff * D9_BLOCK_TIME_MS;\n return new Date(currentTime.getTime() + timeDiffMs);\n}\n\n/**\n * Calculate the number of blocks until a target time\n *\n * @param targetTime - The target time\n * @param currentBlock - The current block number\n * @param currentTime - The current time (default: now)\n * @returns Number of blocks until target time (negative if in the past)\n *\n * @example\n * ```typescript\n * const blocksRemaining = blocksUntil(unlockTime, currentBlock);\n * if (blocksRemaining > 0) {\n * console.log(`${blocksRemaining} blocks until unlock`);\n * }\n * ```\n */\nexport function blocksUntil(\n targetTime: Date,\n currentBlock: number,\n currentTime: Date = new Date(),\n): number {\n return estimateBlockAtTime(targetTime, currentBlock, currentTime) - currentBlock;\n}\n\n/**\n * Format options for duration display\n */\nexport interface FormatDurationOptions {\n /** Whether to show short units (d, h, m, s) or long (days, hours, minutes, seconds) */\n short?: boolean;\n /** Maximum number of units to display (default: 2) */\n maxUnits?: number;\n}\n\n/**\n * Format a block duration as a human-readable string\n *\n * @param blocks - Number of blocks\n * @param options - Formatting options\n * @returns Human-readable duration string\n *\n * @example\n * ```typescript\n * formatBlockDuration(20); // \"1 minute\"\n * formatBlockDuration(1200); // \"1 hour\"\n * formatBlockDuration(BLOCKS_PER_DAY); // \"1 day\"\n * formatBlockDuration(30000, { short: true }); // \"1d 1h\"\n * ```\n */\nexport function formatBlockDuration(blocks: number, options: FormatDurationOptions = {}): string {\n const { short = false, maxUnits = 2 } = options;\n\n if (blocks < 0) {\n throw new Error(\"Block count cannot be negative\");\n }\n\n if (blocks === 0) {\n return short ? \"0s\" : \"0 seconds\";\n }\n\n const totalSeconds = Math.floor((blocks * D9_BLOCK_TIME_MS) / 1000);\n\n const days = Math.floor(totalSeconds / 86400);\n const hours = Math.floor((totalSeconds % 86400) / 3600);\n const minutes = Math.floor((totalSeconds % 3600) / 60);\n const seconds = totalSeconds % 60;\n\n const parts: string[] = [];\n\n if (days > 0) {\n parts.push(short ? `${days}d` : `${days} ${days === 1 ? \"day\" : \"days\"}`);\n }\n if (hours > 0) {\n parts.push(short ? `${hours}h` : `${hours} ${hours === 1 ? \"hour\" : \"hours\"}`);\n }\n if (minutes > 0) {\n parts.push(short ? `${minutes}m` : `${minutes} ${minutes === 1 ? \"minute\" : \"minutes\"}`);\n }\n if (seconds > 0 && parts.length < maxUnits) {\n parts.push(short ? `${seconds}s` : `${seconds} ${seconds === 1 ? \"second\" : \"seconds\"}`);\n }\n\n return parts.slice(0, maxUnits).join(short ? \" \" : \", \");\n}\n","/**\n * Byte manipulation utilities for blockchain data\n */\n\nimport type { HexString } from \"polkadot-api\";\nimport { hexToBytes as hexToBytesInternal, bytesToHex, isHexString } from \"../wallet/hex\";\n\n// Re-export hex utilities for convenience\nexport { hexToBytes, bytesToHex, isHexString, type HexString } from \"../wallet/hex\";\n\n/**\n * Concatenate multiple Uint8Arrays into one\n *\n * @param arrays - Arrays to concatenate\n * @returns Combined Uint8Array\n *\n * @example\n * ```ts\n * const selector = hexToBytes(\"0xdb20f9f5\");\n * const args = encodeArgs(...);\n * const callData = concatBytes(selector, args);\n * ```\n */\nexport function concatBytes(...arrays: Uint8Array[]): Uint8Array {\n const totalLength = arrays.reduce((sum, arr) => sum + arr.length, 0);\n const result = new Uint8Array(totalLength);\n let offset = 0;\n for (const arr of arrays) {\n result.set(arr, offset);\n offset += arr.length;\n }\n return result;\n}\n\n/**\n * Compare two Uint8Arrays for equality\n *\n * @param a - First array\n * @param b - Second array\n * @returns True if arrays are equal\n */\nexport function bytesEqual(a: Uint8Array, b: Uint8Array): boolean {\n if (a.length !== b.length) return false;\n for (let i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) return false;\n }\n return true;\n}\n\n/**\n * Extract a slice from a Uint8Array with bounds checking\n *\n * @param data - Source array\n * @param start - Start index\n * @param length - Optional length (defaults to rest of array)\n * @returns Sliced array\n * @throws If indices are out of bounds\n */\nexport function safeSlice(data: Uint8Array, start: number, length?: number): Uint8Array {\n if (start < 0 || start > data.length) {\n throw new RangeError(`Start index ${start} out of bounds (0-${data.length})`);\n }\n const end = length !== undefined ? start + length : data.length;\n if (end > data.length) {\n throw new RangeError(`End index ${end} exceeds array length ${data.length}`);\n }\n return data.slice(start, end);\n}\n\n/**\n * Extract selector (first 4 bytes) from call data\n *\n * @param callData - The call data (Uint8Array or hex string)\n * @returns 4-byte selector\n * @throws If data is less than 4 bytes\n *\n * @example\n * ```ts\n * const selector = extractSelector(callData);\n * const selectorHex = bytesToHex(selector); // \"0xdb20f9f5\"\n * ```\n */\nexport function extractSelector(callData: Uint8Array | HexString): Uint8Array {\n const bytes = callData instanceof Uint8Array ? callData : hexToBytesInternal(callData);\n if (bytes.length < 4) {\n throw new Error(`Call data too short (${bytes.length} bytes), need at least 4 bytes for selector`);\n }\n return bytes.slice(0, 4);\n}\n\n/**\n * Extract selector as hex string from call data\n *\n * @param callData - The call data (Uint8Array or hex string)\n * @returns Hex string without 0x prefix (e.g., \"db20f9f5\")\n *\n * @example\n * ```ts\n * const selectorHex = extractSelectorHex(callData);\n * if (selectorHex === \"db20f9f5\") {\n * // PSP22::transfer\n * }\n * ```\n */\nexport function extractSelectorHex(callData: Uint8Array | HexString): string {\n const selector = extractSelector(callData);\n // Return without 0x prefix for easy comparison with PSP22_SELECTORS\n return bytesToHex(selector).slice(2);\n}\n\n/**\n * Normalize a hex string (ensure 0x prefix, lowercase)\n *\n * @param hex - Hex string with or without 0x prefix\n * @returns Normalized hex string with 0x prefix\n */\nexport function normalizeHex(hex: string): HexString {\n const cleaned = hex.startsWith(\"0x\") ? hex.slice(2) : hex;\n return `0x${cleaned.toLowerCase()}` as HexString;\n}\n\n/**\n * Convert a selector string (with or without 0x) to Uint8Array\n *\n * @param selector - Selector as hex string\n * @returns 4-byte Uint8Array\n */\nexport function selectorToBytes(selector: string): Uint8Array {\n const normalized = normalizeHex(selector);\n return hexToBytesInternal(normalized);\n}\n"],"x_google_ignoreList":[0,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],"mappings":"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"}
|