@swapkit/toolboxes 1.0.0-beta.9 → 4.0.0-beta.35

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (130) hide show
  1. package/dist/{chunk-fjfxga2v.js → chunk-5yxc1e69.js} +1 -1
  2. package/dist/{chunk-fjfxga2v.js.map → chunk-5yxc1e69.js.map} +1 -1
  3. package/dist/chunk-6f98phv2.js +4 -0
  4. package/dist/{chunk-0h4xdrwz.js.map → chunk-6f98phv2.js.map} +2 -2
  5. package/dist/{chunk-0f0249b1.js → chunk-9bqegm61.js} +1 -1
  6. package/dist/{chunk-p1kdg37m.js → chunk-s47y8512.js} +2 -2
  7. package/dist/{chunk-p1kdg37m.js.map → chunk-s47y8512.js.map} +1 -1
  8. package/dist/chunk-vtd17cje.js +3 -0
  9. package/dist/chunk-vtd17cje.js.map +10 -0
  10. package/dist/chunk-zcdeg6h9.js +4 -0
  11. package/dist/chunk-zcdeg6h9.js.map +10 -0
  12. package/dist/src/cosmos/index.cjs +3 -0
  13. package/dist/src/cosmos/index.cjs.map +16 -0
  14. package/dist/src/cosmos/index.js +3 -0
  15. package/dist/src/cosmos/index.js.map +16 -0
  16. package/dist/src/evm/index.cjs +3 -0
  17. package/dist/src/evm/index.cjs.map +18 -0
  18. package/dist/src/evm/index.js +3 -0
  19. package/dist/src/evm/index.js.map +18 -0
  20. package/dist/src/index.cjs +3 -0
  21. package/dist/src/index.cjs.map +10 -0
  22. package/dist/src/index.js +3 -0
  23. package/dist/src/index.js.map +10 -0
  24. package/dist/src/near/index.cjs +3 -0
  25. package/dist/src/near/index.cjs.map +13 -0
  26. package/dist/src/near/index.js +3 -0
  27. package/dist/src/near/index.js.map +13 -0
  28. package/dist/{radix → src/radix}/index.cjs +2 -2
  29. package/dist/src/radix/index.cjs.map +10 -0
  30. package/dist/src/radix/index.js +3 -0
  31. package/dist/src/radix/index.js.map +10 -0
  32. package/dist/src/ripple/index.cjs +3 -0
  33. package/dist/src/ripple/index.cjs.map +10 -0
  34. package/dist/src/ripple/index.js +3 -0
  35. package/dist/src/ripple/index.js.map +10 -0
  36. package/dist/src/solana/index.cjs +3 -0
  37. package/dist/src/solana/index.cjs.map +10 -0
  38. package/dist/src/solana/index.js +3 -0
  39. package/dist/src/solana/index.js.map +10 -0
  40. package/dist/src/substrate/index.cjs +3 -0
  41. package/dist/src/substrate/index.cjs.map +12 -0
  42. package/dist/src/substrate/index.js +3 -0
  43. package/dist/src/substrate/index.js.map +12 -0
  44. package/dist/src/tron/index.cjs +3 -0
  45. package/dist/src/tron/index.cjs.map +11 -0
  46. package/dist/src/tron/index.js +3 -0
  47. package/dist/src/tron/index.js.map +11 -0
  48. package/dist/src/utxo/index.cjs +5 -0
  49. package/dist/src/utxo/index.cjs.map +17 -0
  50. package/dist/src/utxo/index.js +5 -0
  51. package/dist/src/utxo/index.js.map +17 -0
  52. package/package.json +92 -43
  53. package/src/cosmos/thorchainUtils/addressFormat.ts +4 -1
  54. package/src/cosmos/thorchainUtils/messages.ts +2 -2
  55. package/src/cosmos/thorchainUtils/registry.ts +3 -3
  56. package/src/cosmos/toolbox/cosmos.ts +35 -16
  57. package/src/cosmos/toolbox/index.ts +2 -2
  58. package/src/cosmos/toolbox/thorchain.ts +11 -9
  59. package/src/cosmos/util.ts +87 -7
  60. package/src/evm/__tests__/address-validation.test.ts +86 -0
  61. package/src/evm/__tests__/ethereum.test.ts +1 -1
  62. package/src/evm/helpers.ts +4 -3
  63. package/src/evm/toolbox/baseEVMToolbox.ts +34 -24
  64. package/src/evm/toolbox/index.ts +2 -2
  65. package/src/evm/toolbox/op.ts +21 -7
  66. package/src/index.ts +118 -100
  67. package/src/near/__tests__/core.test.ts +80 -0
  68. package/src/near/helpers/contractFactory.ts +22 -0
  69. package/src/near/helpers/core.ts +89 -0
  70. package/src/near/helpers/gasEstimation.ts +110 -0
  71. package/src/near/helpers/index.ts +5 -0
  72. package/src/near/helpers/nep141.ts +110 -0
  73. package/src/near/index.ts +24 -0
  74. package/src/near/toolbox.ts +498 -0
  75. package/src/near/types/contract.ts +48 -0
  76. package/src/near/types/nep141.ts +66 -0
  77. package/src/near/types.ts +57 -0
  78. package/src/radix/index.ts +8 -2
  79. package/src/ripple/index.ts +14 -21
  80. package/src/solana/toolbox.ts +73 -2
  81. package/src/substrate/balance.ts +92 -0
  82. package/src/substrate/substrate.ts +7 -5
  83. package/src/tron/__tests__/toolbox.test.ts +147 -0
  84. package/src/tron/helpers/trc20.abi.ts +40 -0
  85. package/src/tron/index.ts +16 -0
  86. package/src/tron/toolbox.ts +336 -0
  87. package/src/tron/types.ts +31 -0
  88. package/src/utxo/__tests__/zcash-integration.test.ts +114 -0
  89. package/src/utxo/helpers/api.ts +66 -16
  90. package/src/utxo/helpers/bchaddrjs.ts +8 -8
  91. package/src/utxo/helpers/coinselect.ts +4 -2
  92. package/src/utxo/helpers/txSize.ts +4 -3
  93. package/src/utxo/index.ts +1 -0
  94. package/src/utxo/toolbox/bitcoinCash.ts +21 -13
  95. package/src/utxo/toolbox/index.ts +16 -4
  96. package/src/utxo/toolbox/utxo.ts +42 -27
  97. package/src/utxo/toolbox/zcash.ts +208 -0
  98. package/dist/chunk-0h4xdrwz.js +0 -4
  99. package/dist/cosmos/index.cjs +0 -3
  100. package/dist/cosmos/index.cjs.map +0 -16
  101. package/dist/cosmos/index.js +0 -3
  102. package/dist/cosmos/index.js.map +0 -16
  103. package/dist/evm/index.cjs +0 -3
  104. package/dist/evm/index.cjs.map +0 -18
  105. package/dist/evm/index.js +0 -3
  106. package/dist/evm/index.js.map +0 -18
  107. package/dist/index.cjs +0 -3
  108. package/dist/index.cjs.map +0 -10
  109. package/dist/index.js +0 -3
  110. package/dist/index.js.map +0 -10
  111. package/dist/radix/index.cjs.map +0 -10
  112. package/dist/radix/index.js +0 -3
  113. package/dist/radix/index.js.map +0 -10
  114. package/dist/ripple/index.cjs +0 -3
  115. package/dist/ripple/index.cjs.map +0 -10
  116. package/dist/ripple/index.js +0 -3
  117. package/dist/ripple/index.js.map +0 -10
  118. package/dist/solana/index.cjs +0 -3
  119. package/dist/solana/index.cjs.map +0 -10
  120. package/dist/solana/index.js +0 -3
  121. package/dist/solana/index.js.map +0 -10
  122. package/dist/substrate/index.cjs +0 -3
  123. package/dist/substrate/index.cjs.map +0 -11
  124. package/dist/substrate/index.js +0 -3
  125. package/dist/substrate/index.js.map +0 -11
  126. package/dist/utxo/index.cjs +0 -3
  127. package/dist/utxo/index.cjs.map +0 -16
  128. package/dist/utxo/index.js +0 -3
  129. package/dist/utxo/index.js.map +0 -16
  130. /package/dist/{chunk-0f0249b1.js.map → chunk-9bqegm61.js.map} +0 -0
@@ -1,3 +1,3 @@
1
1
  var a=require("@swapkit/helpers"),r=require("@swapkit/helpers/api"),u=typeof process!=="undefined"&&process.pid?process.pid.toString(36):"",i=0;function m(){function t(){let e=Date.now(),n=i||e;return i=n,e>i?e:n+1}return u+t().toString(36)}function d(t){return async function e(n,o=!0){return(await r.SwapKitApi.getChainBalance({chain:t,address:n,scamFilter:o})).map(({identifier:s,value:c,decimal:p})=>{return new a.AssetValue({decimal:p||a.BaseDecimal[t],value:c,identifier:s})})}}
2
2
 
3
- //# debugId=C4A659440B93264864756E2164756E21
3
+ //# debugId=0B59BAD8AA34A5A264756E2164756E21
@@ -5,6 +5,6 @@
5
5
  "import { AssetValue, BaseDecimal, type Chain } from \"@swapkit/helpers\";\nimport { SwapKitApi } from \"@swapkit/helpers/api\";\n\nconst pid = typeof process !== \"undefined\" && process.pid ? process.pid.toString(36) : \"\";\n\nlet last = 0;\nexport function uniqid() {\n function now() {\n const time = Date.now();\n const lastTime = last || time;\n last = lastTime;\n\n return time > last ? time : lastTime + 1;\n }\n\n return pid + now().toString(36);\n}\n\nexport function getBalance<T extends Chain>(chain: T) {\n return async function getBalance(address: string, scamFilter = true) {\n const balances = await SwapKitApi.getChainBalance({ chain, address, scamFilter });\n\n return balances.map(({ identifier, value, decimal }) => {\n return new AssetValue({ decimal: decimal || BaseDecimal[chain], value, identifier });\n });\n };\n}\n"
6
6
  ],
7
7
  "mappings": "AAAoD,IAApD,8BACA,kCAEM,EAAM,OAAO,UAAY,aAAe,QAAQ,IAAM,QAAQ,IAAI,SAAS,EAAE,EAAI,GAEnF,EAAO,EACJ,SAAS,CAAM,EAAG,CACvB,SAAS,CAAG,EAAG,CACb,IAAM,EAAO,KAAK,IAAI,EAChB,EAAW,GAAQ,EAGzB,OAFA,EAAO,EAEA,EAAO,EAAO,EAAO,EAAW,EAGzC,OAAO,EAAM,EAAI,EAAE,SAAS,EAAE,EAGzB,SAAS,CAA2B,CAAC,EAAU,CACpD,OAAO,eAAe,CAAU,CAAC,EAAiB,EAAa,GAAM,CAGnE,OAFiB,MAAM,aAAW,gBAAgB,CAAE,QAAO,UAAS,YAAW,CAAC,GAEhE,IAAI,EAAG,aAAY,QAAO,aAAc,CACtD,OAAO,IAAI,aAAW,CAAE,QAAS,GAAW,cAAY,GAAQ,QAAO,YAAW,CAAC,EACpF",
8
- "debugId": "C4A659440B93264864756E2164756E21",
8
+ "debugId": "0B59BAD8AA34A5A264756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -0,0 +1,4 @@
1
+ import"./chunk-s47y8512.js";import{AssetValue as c,BaseDecimal as p}from"@swapkit/helpers";import{SwapKitApi as u}from"@swapkit/helpers/api";var l=typeof process!=="undefined"&&process.pid?process.pid.toString(36):"",a=0;function g(){function t(){let e=Date.now(),n=a||e;return a=n,e>a?e:n+1}return l+t().toString(36)}function w(t){return async function e(n,i=!0){return(await u.getChainBalance({chain:t,address:n,scamFilter:i})).map(({identifier:r,value:o,decimal:s})=>{return new c({decimal:s||p[t],value:o,identifier:r})})}}export{g as uniqid,w as getBalance};
2
+ export{g as a,w as b};
3
+
4
+ //# debugId=8C6F04B3BE4067A464756E2164756E21
@@ -4,7 +4,7 @@
4
4
  "sourcesContent": [
5
5
  "import { AssetValue, BaseDecimal, type Chain } from \"@swapkit/helpers\";\nimport { SwapKitApi } from \"@swapkit/helpers/api\";\n\nconst pid = typeof process !== \"undefined\" && process.pid ? process.pid.toString(36) : \"\";\n\nlet last = 0;\nexport function uniqid() {\n function now() {\n const time = Date.now();\n const lastTime = last || time;\n last = lastTime;\n\n return time > last ? time : lastTime + 1;\n }\n\n return pid + now().toString(36);\n}\n\nexport function getBalance<T extends Chain>(chain: T) {\n return async function getBalance(address: string, scamFilter = true) {\n const balances = await SwapKitApi.getChainBalance({ chain, address, scamFilter });\n\n return balances.map(({ identifier, value, decimal }) => {\n return new AssetValue({ decimal: decimal || BaseDecimal[chain], value, identifier });\n });\n };\n}\n"
6
6
  ],
7
- "mappings": "AAAA,qBAAS,iBAAY,yBACrB,qBAAS,6BAET,IAAM,EAAM,OAAO,UAAY,aAAe,QAAQ,IAAM,QAAQ,IAAI,SAAS,EAAE,EAAI,GAEnF,EAAO,EACJ,SAAS,CAAM,EAAG,CACvB,SAAS,CAAG,EAAG,CACb,IAAM,EAAO,KAAK,IAAI,EAChB,EAAW,GAAQ,EAGzB,OAFA,EAAO,EAEA,EAAO,EAAO,EAAO,EAAW,EAGzC,OAAO,EAAM,EAAI,EAAE,SAAS,EAAE,EAGzB,SAAS,CAA2B,CAAC,EAAU,CACpD,OAAO,eAAe,CAAU,CAAC,EAAiB,EAAa,GAAM,CAGnE,OAFiB,MAAM,EAAW,gBAAgB,CAAE,QAAO,UAAS,YAAW,CAAC,GAEhE,IAAI,EAAG,aAAY,QAAO,aAAc,CACtD,OAAO,IAAI,EAAW,CAAE,QAAS,GAAW,EAAY,GAAQ,QAAO,YAAW,CAAC,EACpF",
8
- "debugId": "7D1F4061F0771C8264756E2164756E21",
7
+ "mappings": "4BAAA,qBAAS,iBAAY,yBACrB,qBAAS,6BAET,IAAM,EAAM,OAAO,UAAY,aAAe,QAAQ,IAAM,QAAQ,IAAI,SAAS,EAAE,EAAI,GAEnF,EAAO,EACJ,SAAS,CAAM,EAAG,CACvB,SAAS,CAAG,EAAG,CACb,IAAM,EAAO,KAAK,IAAI,EAChB,EAAW,GAAQ,EAGzB,OAFA,EAAO,EAEA,EAAO,EAAO,EAAO,EAAW,EAGzC,OAAO,EAAM,EAAI,EAAE,SAAS,EAAE,EAGzB,SAAS,CAA2B,CAAC,EAAU,CACpD,OAAO,eAAe,CAAU,CAAC,EAAiB,EAAa,GAAM,CAGnE,OAFiB,MAAM,EAAW,gBAAgB,CAAE,QAAO,UAAS,YAAW,CAAC,GAEhE,IAAI,EAAG,aAAY,QAAO,aAAc,CACtD,OAAO,IAAI,EAAW,CAAE,QAAS,GAAW,EAAY,GAAQ,QAAO,YAAW,CAAC,EACpF",
8
+ "debugId": "8C6F04B3BE4067A464756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -1,3 +1,3 @@
1
- import"./chunk-p1kdg37m.js";import Y from"protobufjs/minimal.js";var X=Y.Reader,J=Y.Writer,Q=Y.util,L=Y.roots.default||(Y.roots.default={});L.common=(()=>{let Z={};return Z.Asset=(()=>{function G(H){if(H){for(let q=Object.keys(H),B=0;B<q.length;++B)if(H[q[B]]!=null)this[q[B]]=H[q[B]]}}return G.prototype.chain="",G.prototype.symbol="",G.prototype.ticker="",G.prototype.synth=!1,G.create=function H(q){return new G(q)},G.encode=function H(q,B){if(!B)B=J.create();if(q.chain!=null&&Object.hasOwnProperty.call(q,"chain"))B.uint32(10).string(q.chain);if(q.symbol!=null&&Object.hasOwnProperty.call(q,"symbol"))B.uint32(18).string(q.symbol);if(q.ticker!=null&&Object.hasOwnProperty.call(q,"ticker"))B.uint32(26).string(q.ticker);if(q.synth!=null&&Object.hasOwnProperty.call(q,"synth"))B.uint32(32).bool(q.synth);return B},G.encodeDelimited=function H(q,B){return this.encode(q,B).ldelim()},G.decode=function H(q,B){if(!(q instanceof X))q=X.create(q);let z=B===void 0?q.len:q.pos+B,E=new L.common.Asset;while(q.pos<z){let V=q.uint32();switch(V>>>3){case 1:E.chain=q.string();break;case 2:E.symbol=q.string();break;case 3:E.ticker=q.string();break;case 4:E.synth=q.bool();break;default:q.skipType(V&7);break}}return E},G.decodeDelimited=function H(q){if(!(q instanceof X))q=new X(q);return this.decode(q,q.uint32())},G.verify=function H(q){if(typeof q!=="object"||q===null)return"object expected";if(q.chain!=null&&q.hasOwnProperty("chain")){if(!Q.isString(q.chain))return"chain: string expected"}if(q.symbol!=null&&q.hasOwnProperty("symbol")){if(!Q.isString(q.symbol))return"symbol: string expected"}if(q.ticker!=null&&q.hasOwnProperty("ticker")){if(!Q.isString(q.ticker))return"ticker: string expected"}if(q.synth!=null&&q.hasOwnProperty("synth")){if(typeof q.synth!=="boolean")return"synth: boolean expected"}return null},G.fromObject=function H(q){if(q instanceof L.common.Asset)return q;let B=new L.common.Asset;if(q.chain!=null)B.chain=String(q.chain);if(q.symbol!=null)B.symbol=String(q.symbol);if(q.ticker!=null)B.ticker=String(q.ticker);if(q.synth!=null)B.synth=Boolean(q.synth);return B},G.toObject=function H(q,B){if(!B)B={};let z={};if(B.defaults)z.chain="",z.symbol="",z.ticker="",z.synth=!1;if(q.chain!=null&&q.hasOwnProperty("chain"))z.chain=q.chain;if(q.symbol!=null&&q.hasOwnProperty("symbol"))z.symbol=q.symbol;if(q.ticker!=null&&q.hasOwnProperty("ticker"))z.ticker=q.ticker;if(q.synth!=null&&q.hasOwnProperty("synth"))z.synth=q.synth;return z},G.prototype.toJSON=function H(){return this.constructor.toObject(this,Y.util.toJSONOptions)},G})(),Z.Coin=(()=>{function G(H){if(H){for(let q=Object.keys(H),B=0;B<q.length;++B)if(H[q[B]]!=null)this[q[B]]=H[q[B]]}}return G.prototype.asset=null,G.prototype.amount="",G.prototype.decimals=Q.Long?Q.Long.fromBits(0,0,!1):0,G.create=function H(q){return new G(q)},G.encode=function H(q,B){if(!B)B=J.create();if(q.asset!=null&&Object.hasOwnProperty.call(q,"asset"))L.common.Asset.encode(q.asset,B.uint32(10).fork()).ldelim();if(q.amount!=null&&Object.hasOwnProperty.call(q,"amount"))B.uint32(18).string(q.amount);if(q.decimals!=null&&Object.hasOwnProperty.call(q,"decimals"))B.uint32(24).int64(q.decimals);return B},G.encodeDelimited=function H(q,B){return this.encode(q,B).ldelim()},G.decode=function H(q,B){if(!(q instanceof X))q=X.create(q);let z=B===void 0?q.len:q.pos+B,E=new L.common.Coin;while(q.pos<z){let V=q.uint32();switch(V>>>3){case 1:E.asset=L.common.Asset.decode(q,q.uint32());break;case 2:E.amount=q.string();break;case 3:E.decimals=q.int64();break;default:q.skipType(V&7);break}}return E},G.decodeDelimited=function H(q){if(!(q instanceof X))q=new X(q);return this.decode(q,q.uint32())},G.verify=function H(q){if(typeof q!=="object"||q===null)return"object expected";if(q.asset!=null&&q.hasOwnProperty("asset")){let B=L.common.Asset.verify(q.asset);if(B)return"asset."+B}if(q.amount!=null&&q.hasOwnProperty("amount")){if(!Q.isString(q.amount))return"amount: string expected"}if(q.decimals!=null&&q.hasOwnProperty("decimals")){if(!Q.isInteger(q.decimals)&&!(q.decimals&&Q.isInteger(q.decimals.low)&&Q.isInteger(q.decimals.high)))return"decimals: integer|Long expected"}return null},G.fromObject=function H(q){if(q instanceof L.common.Coin)return q;let B=new L.common.Coin;if(q.asset!=null){if(typeof q.asset!=="object")throw TypeError(".common.Coin.asset: object expected");B.asset=L.common.Asset.fromObject(q.asset)}if(q.amount!=null)B.amount=String(q.amount);if(q.decimals!=null){if(Q.Long)(B.decimals=Q.Long.fromValue(q.decimals)).unsigned=!1;else if(typeof q.decimals==="string")B.decimals=Number.parseInt(q.decimals,10);else if(typeof q.decimals==="number")B.decimals=q.decimals;else if(typeof q.decimals==="object")B.decimals=new Q.LongBits(q.decimals.low>>>0,q.decimals.high>>>0).toNumber()}return B},G.toObject=function H(q,B){if(!B)B={};let z={};if(B.defaults)if(z.asset=null,z.amount="",Q.Long){let E=new Q.Long(0,0,!1);z.decimals=B.longs===String?E.toString():B.longs===Number?E.toNumber():E}else z.decimals=B.longs===String?"0":0;if(q.asset!=null&&q.hasOwnProperty("asset"))z.asset=L.common.Asset.toObject(q.asset,B);if(q.amount!=null&&q.hasOwnProperty("amount"))z.amount=q.amount;if(q.decimals!=null&&q.hasOwnProperty("decimals"))if(typeof q.decimals==="number")z.decimals=B.longs===String?String(q.decimals):q.decimals;else z.decimals=B.longs===String?Q.Long.prototype.toString.call(q.decimals):B.longs===Number?new Q.LongBits(q.decimals.low>>>0,q.decimals.high>>>0).toNumber():q.decimals;return z},G.prototype.toJSON=function H(){return this.constructor.toObject(this,Y.util.toJSONOptions)},G})(),Z.PubKeySet=(()=>{function G(H){if(H){for(let q=Object.keys(H),B=0;B<q.length;++B)if(H[q[B]]!=null)this[q[B]]=H[q[B]]}}return G.prototype.secp256k1="",G.prototype.ed25519="",G.create=function H(q){return new G(q)},G.encode=function H(q,B){if(!B)B=J.create();if(q.secp256k1!=null&&Object.hasOwnProperty.call(q,"secp256k1"))B.uint32(10).string(q.secp256k1);if(q.ed25519!=null&&Object.hasOwnProperty.call(q,"ed25519"))B.uint32(18).string(q.ed25519);return B},G.encodeDelimited=function H(q,B){return this.encode(q,B).ldelim()},G.decode=function H(q,B){if(!(q instanceof X))q=X.create(q);let z=B===void 0?q.len:q.pos+B,E=new L.common.PubKeySet;while(q.pos<z){let V=q.uint32();switch(V>>>3){case 1:E.secp256k1=q.string();break;case 2:E.ed25519=q.string();break;default:q.skipType(V&7);break}}return E},G.decodeDelimited=function H(q){if(!(q instanceof X))q=new X(q);return this.decode(q,q.uint32())},G.verify=function H(q){if(typeof q!=="object"||q===null)return"object expected";if(q.secp256k1!=null&&q.hasOwnProperty("secp256k1")){if(!Q.isString(q.secp256k1))return"secp256k1: string expected"}if(q.ed25519!=null&&q.hasOwnProperty("ed25519")){if(!Q.isString(q.ed25519))return"ed25519: string expected"}return null},G.fromObject=function H(q){if(q instanceof L.common.PubKeySet)return q;let B=new L.common.PubKeySet;if(q.secp256k1!=null)B.secp256k1=String(q.secp256k1);if(q.ed25519!=null)B.ed25519=String(q.ed25519);return B},G.toObject=function H(q,B){if(!B)B={};let z={};if(B.defaults)z.secp256k1="",z.ed25519="";if(q.secp256k1!=null&&q.hasOwnProperty("secp256k1"))z.secp256k1=q.secp256k1;if(q.ed25519!=null&&q.hasOwnProperty("ed25519"))z.ed25519=q.ed25519;return z},G.prototype.toJSON=function H(){return this.constructor.toObject(this,Y.util.toJSONOptions)},G})(),Z.Tx=(()=>{function G(H){if(this.coins=[],this.gas=[],H){for(let q=Object.keys(H),B=0;B<q.length;++B)if(H[q[B]]!=null)this[q[B]]=H[q[B]]}}return G.prototype.id="",G.prototype.chain="",G.prototype.fromAddress="",G.prototype.toAddress="",G.prototype.coins=Q.emptyArray,G.prototype.gas=Q.emptyArray,G.prototype.memo="",G.create=function H(q){return new G(q)},G.encode=function H(q,B){if(!B)B=J.create();if(q.id!=null&&Object.hasOwnProperty.call(q,"id"))B.uint32(10).string(q.id);if(q.chain!=null&&Object.hasOwnProperty.call(q,"chain"))B.uint32(18).string(q.chain);if(q.fromAddress!=null&&Object.hasOwnProperty.call(q,"fromAddress"))B.uint32(26).string(q.fromAddress);if(q.toAddress!=null&&Object.hasOwnProperty.call(q,"toAddress"))B.uint32(34).string(q.toAddress);if(q.coins?.length)for(let z=0;z<q.coins.length;++z)L.common.Coin.encode(q.coins[z],B.uint32(42).fork()).ldelim();if(q.gas?.length)for(let z=0;z<q.gas.length;++z)L.common.Coin.encode(q.gas[z],B.uint32(50).fork()).ldelim();if(q.memo!=null&&Object.hasOwnProperty.call(q,"memo"))B.uint32(58).string(q.memo);return B},G.encodeDelimited=function H(q,B){return this.encode(q,B).ldelim()},G.decode=function H(q,B){if(!(q instanceof X))q=X.create(q);let z=B===void 0?q.len:q.pos+B,E=new L.common.Tx;while(q.pos<z){let V=q.uint32();switch(V>>>3){case 1:E.id=q.string();break;case 2:E.chain=q.string();break;case 3:E.fromAddress=q.string();break;case 4:E.toAddress=q.string();break;case 5:if(!E.coins?.length)E.coins=[];E.coins.push(L.common.Coin.decode(q,q.uint32()));break;case 6:if(!E.gas?.length)E.gas=[];E.gas.push(L.common.Coin.decode(q,q.uint32()));break;case 7:E.memo=q.string();break;default:q.skipType(V&7);break}}return E},G.decodeDelimited=function H(q){if(!(q instanceof X))q=new X(q);return this.decode(q,q.uint32())},G.verify=function H(q){if(typeof q!=="object"||q===null)return"object expected";if(q.id!=null&&q.hasOwnProperty("id")){if(!Q.isString(q.id))return"id: string expected"}if(q.chain!=null&&q.hasOwnProperty("chain")){if(!Q.isString(q.chain))return"chain: string expected"}if(q.fromAddress!=null&&q.hasOwnProperty("fromAddress")){if(!Q.isString(q.fromAddress))return"fromAddress: string expected"}if(q.toAddress!=null&&q.hasOwnProperty("toAddress")){if(!Q.isString(q.toAddress))return"toAddress: string expected"}if(q.coins!=null&&q.hasOwnProperty("coins")){if(!Array.isArray(q.coins))return"coins: array expected";for(let B=0;B<q.coins.length;++B){let z=L.common.Coin.verify(q.coins[B]);if(z)return"coins."+z}}if(q.gas!=null&&q.hasOwnProperty("gas")){if(!Array.isArray(q.gas))return"gas: array expected";for(let B=0;B<q.gas.length;++B){let z=L.common.Coin.verify(q.gas[B]);if(z)return"gas."+z}}if(q.memo!=null&&q.hasOwnProperty("memo")){if(!Q.isString(q.memo))return"memo: string expected"}return null},G.fromObject=function H(q){if(q instanceof L.common.Tx)return q;let B=new L.common.Tx;if(q.id!=null)B.id=String(q.id);if(q.chain!=null)B.chain=String(q.chain);if(q.fromAddress!=null)B.fromAddress=String(q.fromAddress);if(q.toAddress!=null)B.toAddress=String(q.toAddress);if(q.coins){if(!Array.isArray(q.coins))throw TypeError(".common.Tx.coins: array expected");B.coins=[];for(let z=0;z<q.coins.length;++z){if(typeof q.coins[z]!=="object")throw TypeError(".common.Tx.coins: object expected");B.coins[z]=L.common.Coin.fromObject(q.coins[z])}}if(q.gas){if(!Array.isArray(q.gas))throw TypeError(".common.Tx.gas: array expected");B.gas=[];for(let z=0;z<q.gas.length;++z){if(typeof q.gas[z]!=="object")throw TypeError(".common.Tx.gas: object expected");B.gas[z]=L.common.Coin.fromObject(q.gas[z])}}if(q.memo!=null)B.memo=String(q.memo);return B},G.toObject=function H(q,B){if(!B)B={};let z={};if(B.arrays||B.defaults)z.coins=[],z.gas=[];if(B.defaults)z.id="",z.chain="",z.fromAddress="",z.toAddress="",z.memo="";if(q.id!=null&&q.hasOwnProperty("id"))z.id=q.id;if(q.chain!=null&&q.hasOwnProperty("chain"))z.chain=q.chain;if(q.fromAddress!=null&&q.hasOwnProperty("fromAddress"))z.fromAddress=q.fromAddress;if(q.toAddress!=null&&q.hasOwnProperty("toAddress"))z.toAddress=q.toAddress;if(q.coins?.length){z.coins=[];for(let E=0;E<q.coins.length;++E)z.coins[E]=L.common.Coin.toObject(q.coins[E],B)}if(q.gas?.length){z.gas=[];for(let E=0;E<q.gas.length;++E)z.gas[E]=L.common.Coin.toObject(q.gas[E],B)}if(q.memo!=null&&q.hasOwnProperty("memo"))z.memo=q.memo;return z},G.prototype.toJSON=function H(){return this.constructor.toObject(this,Y.util.toJSONOptions)},G})(),Z.Fee=(()=>{function G(H){if(this.coins=[],H){for(let q=Object.keys(H),B=0;B<q.length;++B)if(H[q[B]]!=null)this[q[B]]=H[q[B]]}}return G.prototype.coins=Q.emptyArray,G.prototype.poolDeduct="",G.create=function H(q){return new G(q)},G.encode=function H(q,B){if(!B)B=J.create();if(q.coins?.length)for(let z=0;z<q.coins.length;++z)L.common.Coin.encode(q.coins[z],B.uint32(10).fork()).ldelim();if(q.poolDeduct!=null&&Object.hasOwnProperty.call(q,"poolDeduct"))B.uint32(18).string(q.poolDeduct);return B},G.encodeDelimited=function H(q,B){return this.encode(q,B).ldelim()},G.decode=function H(q,B){if(!(q instanceof X))q=X.create(q);let z=B===void 0?q.len:q.pos+B,E=new L.common.Fee;while(q.pos<z){let V=q.uint32();switch(V>>>3){case 1:if(!E.coins?.length)E.coins=[];E.coins.push(L.common.Coin.decode(q,q.uint32()));break;case 2:E.poolDeduct=q.string();break;default:q.skipType(V&7);break}}return E},G.decodeDelimited=function H(q){if(!(q instanceof X))q=new X(q);return this.decode(q,q.uint32())},G.verify=function H(q){if(typeof q!=="object"||q===null)return"object expected";if(q.coins!=null&&q.hasOwnProperty("coins")){if(!Array.isArray(q.coins))return"coins: array expected";for(let B=0;B<q.coins.length;++B){let z=L.common.Coin.verify(q.coins[B]);if(z)return"coins."+z}}if(q.poolDeduct!=null&&q.hasOwnProperty("poolDeduct")){if(!Q.isString(q.poolDeduct))return"poolDeduct: string expected"}return null},G.fromObject=function H(q){if(q instanceof L.common.Fee)return q;let B=new L.common.Fee;if(q.coins){if(!Array.isArray(q.coins))throw TypeError(".common.Fee.coins: array expected");B.coins=[];for(let z=0;z<q.coins.length;++z){if(typeof q.coins[z]!=="object")throw TypeError(".common.Fee.coins: object expected");B.coins[z]=L.common.Coin.fromObject(q.coins[z])}}if(q.poolDeduct!=null)B.poolDeduct=String(q.poolDeduct);return B},G.toObject=function H(q,B){if(!B)B={};let z={};if(B.arrays||B.defaults)z.coins=[];if(B.defaults)z.poolDeduct="";if(q.coins?.length){z.coins=[];for(let E=0;E<q.coins.length;++E)z.coins[E]=L.common.Coin.toObject(q.coins[E],B)}if(q.poolDeduct!=null&&q.hasOwnProperty("poolDeduct"))z.poolDeduct=q.poolDeduct;return z},G.prototype.toJSON=function H(){return this.constructor.toObject(this,Y.util.toJSONOptions)},G})(),Z.ProtoUint=(()=>{function G(H){if(H){for(let q=Object.keys(H),B=0;B<q.length;++B)if(H[q[B]]!=null)this[q[B]]=H[q[B]]}}return G.prototype.value="",G.create=function H(q){return new G(q)},G.encode=function H(q,B){if(!B)B=J.create();if(q.value!=null&&Object.hasOwnProperty.call(q,"value"))B.uint32(10).string(q.value);return B},G.encodeDelimited=function H(q,B){return this.encode(q,B).ldelim()},G.decode=function H(q,B){if(!(q instanceof X))q=X.create(q);let z=B===void 0?q.len:q.pos+B,E=new L.common.ProtoUint;while(q.pos<z){let V=q.uint32();switch(V>>>3){case 1:E.value=q.string();break;default:q.skipType(V&7);break}}return E},G.decodeDelimited=function H(q){if(!(q instanceof X))q=new X(q);return this.decode(q,q.uint32())},G.verify=function H(q){if(typeof q!=="object"||q===null)return"object expected";if(q.value!=null&&q.hasOwnProperty("value")){if(!Q.isString(q.value))return"value: string expected"}return null},G.fromObject=function H(q){if(q instanceof L.common.ProtoUint)return q;let B=new L.common.ProtoUint;if(q.value!=null)B.value=String(q.value);return B},G.toObject=function H(q,B){if(!B)B={};let z={};if(B.defaults)z.value="";if(q.value!=null&&q.hasOwnProperty("value"))z.value=q.value;return z},G.prototype.toJSON=function H(){return this.constructor.toObject(this,Y.util.toJSONOptions)},G})(),Z})();L.types=(()=>{let Z={};return Z.MsgDeposit=(()=>{function G(H){if(this.coins=[],H){for(let q=Object.keys(H),B=0;B<q.length;++B)if(H[q[B]]!=null)this[q[B]]=H[q[B]]}}return G.prototype.coins=Q.emptyArray,G.prototype.memo="",G.prototype.signer=Q.newBuffer([]),G.create=function H(q){return new G(q)},G.encode=function H(q,B){if(!B)B=J.create();if(q.coins?.length)for(let z=0;z<q.coins.length;++z)L.common.Coin.encode(q.coins[z],B.uint32(10).fork()).ldelim();if(q.memo!=null&&Object.hasOwnProperty.call(q,"memo"))B.uint32(18).string(q.memo);if(q.signer!=null&&Object.hasOwnProperty.call(q,"signer"))B.uint32(26).bytes(q.signer);return B},G.encodeDelimited=function H(q,B){return this.encode(q,B).ldelim()},G.decode=function H(q,B){if(!(q instanceof X))q=X.create(q);let z=B===void 0?q.len:q.pos+B,E=new L.types.MsgDeposit;while(q.pos<z){let V=q.uint32();switch(V>>>3){case 1:if(!E.coins?.length)E.coins=[];E.coins.push(L.common.Coin.decode(q,q.uint32()));break;case 2:E.memo=q.string();break;case 3:E.signer=q.bytes();break;default:q.skipType(V&7);break}}return E},G.decodeDelimited=function H(q){if(!(q instanceof X))q=new X(q);return this.decode(q,q.uint32())},G.verify=function H(q){if(typeof q!=="object"||q===null)return"object expected";if(q.coins!=null&&q.hasOwnProperty("coins")){if(!Array.isArray(q.coins))return"coins: array expected";for(let B=0;B<q.coins.length;++B){let z=L.common.Coin.verify(q.coins[B]);if(z)return"coins."+z}}if(q.memo!=null&&q.hasOwnProperty("memo")){if(!Q.isString(q.memo))return"memo: string expected"}if(q.signer!=null&&q.hasOwnProperty("signer")){if(!(q.signer&&typeof q.signer.length==="number"||Q.isString(q.signer)))return"signer: buffer expected"}return null},G.fromObject=function H(q){if(q instanceof L.types.MsgDeposit)return q;let B=new L.types.MsgDeposit;if(q.coins){if(!Array.isArray(q.coins))throw TypeError(".types.MsgDeposit.coins: array expected");B.coins=[];for(let z=0;z<q.coins.length;++z){if(typeof q.coins[z]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");B.coins[z]=L.common.Coin.fromObject(q.coins[z])}}if(q.memo!=null)B.memo=String(q.memo);if(q.signer!=null){if(typeof q.signer==="string")Q.base64.decode(q.signer,B.signer=Q.newBuffer(Q.base64.length(q.signer)),0);else if(q.signer.length)B.signer=q.signer}return B},G.toObject=function H(q,B){if(!B)B={};let z={};if(B.arrays||B.defaults)z.coins=[];if(B.defaults){if(z.memo="",B.bytes===String)z.signer="";else if(z.signer=[],B.bytes!==Array)z.signer=Q.newBuffer(z.signer)}if(q.coins?.length){z.coins=[];for(let E=0;E<q.coins.length;++E)z.coins[E]=L.common.Coin.toObject(q.coins[E],B)}if(q.memo!=null&&q.hasOwnProperty("memo"))z.memo=q.memo;if(q.signer!=null&&q.hasOwnProperty("signer"))z.signer=B.bytes===String?Q.base64.encode(q.signer,0,q.signer.length):B.bytes===Array?Array.prototype.slice.call(q.signer):q.signer;return z},G.prototype.toJSON=function H(){return this.constructor.toObject(this,Y.util.toJSONOptions)},G})(),Z.MsgSend=(()=>{function G(H){if(this.amount=[],H){for(let q=Object.keys(H),B=0;B<q.length;++B)if(H[q[B]]!=null)this[q[B]]=H[q[B]]}}return G.prototype.fromAddress=Q.newBuffer([]),G.prototype.toAddress=Q.newBuffer([]),G.prototype.amount=Q.emptyArray,G.create=function H(q){return new G(q)},G.encode=function H(q,B){if(!B)B=J.create();if(q.fromAddress!=null&&Object.hasOwnProperty.call(q,"fromAddress"))B.uint32(10).bytes(q.fromAddress);if(q.toAddress!=null&&Object.hasOwnProperty.call(q,"toAddress"))B.uint32(18).bytes(q.toAddress);if(q.amount?.length)for(let z=0;z<q.amount.length;++z)L.cosmos.base.v1beta1.Coin.encode(q.amount[z],B.uint32(26).fork()).ldelim();return B},G.encodeDelimited=function H(q,B){return this.encode(q,B).ldelim()},G.decode=function H(q,B){if(!(q instanceof X))q=X.create(q);let z=B===void 0?q.len:q.pos+B,E=new L.types.MsgSend;while(q.pos<z){let V=q.uint32();switch(V>>>3){case 1:E.fromAddress=q.bytes();break;case 2:E.toAddress=q.bytes();break;case 3:if(!E.amount?.length)E.amount=[];E.amount.push(L.cosmos.base.v1beta1.Coin.decode(q,q.uint32()));break;default:q.skipType(V&7);break}}return E},G.decodeDelimited=function H(q){if(!(q instanceof X))q=new X(q);return this.decode(q,q.uint32())},G.verify=function H(q){if(typeof q!=="object"||q===null)return"object expected";if(q.fromAddress!=null&&q.hasOwnProperty("fromAddress")){if(!(q.fromAddress&&typeof q.fromAddress.length==="number"||Q.isString(q.fromAddress)))return"fromAddress: buffer expected"}if(q.toAddress!=null&&q.hasOwnProperty("toAddress")){if(!(q.toAddress&&typeof q.toAddress.length==="number"||Q.isString(q.toAddress)))return"toAddress: buffer expected"}if(q.amount!=null&&q.hasOwnProperty("amount")){if(!Array.isArray(q.amount))return"amount: array expected";for(let B=0;B<q.amount.length;++B){let z=L.cosmos.base.v1beta1.Coin.verify(q.amount[B]);if(z)return"amount."+z}}return null},G.fromObject=function H(q){if(q instanceof L.types.MsgSend)return q;let B=new L.types.MsgSend;if(q.fromAddress!=null){if(typeof q.fromAddress==="string")Q.base64.decode(q.fromAddress,B.fromAddress=Q.newBuffer(Q.base64.length(q.fromAddress)),0);else if(q.fromAddress.length)B.fromAddress=q.fromAddress}if(q.toAddress!=null){if(typeof q.toAddress==="string")Q.base64.decode(q.toAddress,B.toAddress=Q.newBuffer(Q.base64.length(q.toAddress)),0);else if(q.toAddress.length)B.toAddress=q.toAddress}if(q.amount){if(!Array.isArray(q.amount))throw TypeError(".types.MsgSend.amount: array expected");B.amount=[];for(let z=0;z<q.amount.length;++z){if(typeof q.amount[z]!=="object")throw TypeError(".types.MsgSend.amount: object expected");B.amount[z]=L.cosmos.base.v1beta1.Coin.fromObject(q.amount[z])}}return B},G.toObject=function H(q,B){if(!B)B={};let z={};if(B.arrays||B.defaults)z.amount=[];if(B.defaults){if(B.bytes===String)z.fromAddress="";else if(z.fromAddress=[],B.bytes!==Array)z.fromAddress=Q.newBuffer(z.fromAddress);if(B.bytes===String)z.toAddress="";else if(z.toAddress=[],B.bytes!==Array)z.toAddress=Q.newBuffer(z.toAddress)}if(q.fromAddress!=null&&q.hasOwnProperty("fromAddress"))z.fromAddress=B.bytes===String?Q.base64.encode(q.fromAddress,0,q.fromAddress.length):B.bytes===Array?Array.prototype.slice.call(q.fromAddress):q.fromAddress;if(q.toAddress!=null&&q.hasOwnProperty("toAddress"))z.toAddress=B.bytes===String?Q.base64.encode(q.toAddress,0,q.toAddress.length):B.bytes===Array?Array.prototype.slice.call(q.toAddress):q.toAddress;if(q.amount?.length){z.amount=[];for(let E=0;E<q.amount.length;++E)z.amount[E]=L.cosmos.base.v1beta1.Coin.toObject(q.amount[E],B)}return z},G.prototype.toJSON=function H(){return this.constructor.toObject(this,Y.util.toJSONOptions)},G})(),Z})();L.cosmos=(()=>{let Z={};return Z.base=(()=>{let G={};return G.v1beta1=(()=>{let H={};return H.Coin=(()=>{function q(B){if(B){for(let z=Object.keys(B),E=0;E<z.length;++E)if(B[z[E]]!=null)this[z[E]]=B[z[E]]}}return q.prototype.denom="",q.prototype.amount="",q.create=function B(z){return new q(z)},q.encode=function B(z,E){if(!E)E=J.create();if(z.denom!=null&&Object.hasOwnProperty.call(z,"denom"))E.uint32(10).string(z.denom);if(z.amount!=null&&Object.hasOwnProperty.call(z,"amount"))E.uint32(18).string(z.amount);return E},q.encodeDelimited=function B(z,E){return this.encode(z,E).ldelim()},q.decode=function B(z,E){if(!(z instanceof X))z=X.create(z);let V=E===void 0?z.len:z.pos+E,_=new L.cosmos.base.v1beta1.Coin;while(z.pos<V){let N=z.uint32();switch(N>>>3){case 1:_.denom=z.string();break;case 2:_.amount=z.string();break;default:z.skipType(N&7);break}}return _},q.decodeDelimited=function B(z){if(!(z instanceof X))z=new X(z);return this.decode(z,z.uint32())},q.verify=function B(z){if(typeof z!=="object"||z===null)return"object expected";if(z.denom!=null&&z.hasOwnProperty("denom")){if(!Q.isString(z.denom))return"denom: string expected"}if(z.amount!=null&&z.hasOwnProperty("amount")){if(!Q.isString(z.amount))return"amount: string expected"}return null},q.fromObject=function B(z){if(z instanceof L.cosmos.base.v1beta1.Coin)return z;let E=new L.cosmos.base.v1beta1.Coin;if(z.denom!=null)E.denom=String(z.denom);if(z.amount!=null)E.amount=String(z.amount);return E},q.toObject=function B(z,E){if(!E)E={};let V={};if(E.defaults)V.denom="",V.amount="";if(z.denom!=null&&z.hasOwnProperty("denom"))V.denom=z.denom;if(z.amount!=null&&z.hasOwnProperty("amount"))V.amount=z.amount;return V},q.prototype.toJSON=function B(){return this.constructor.toObject(this,Y.util.toJSONOptions)},q})(),H.DecCoin=(()=>{function q(B){if(B){for(let z=Object.keys(B),E=0;E<z.length;++E)if(B[z[E]]!=null)this[z[E]]=B[z[E]]}}return q.prototype.denom="",q.prototype.amount="",q.create=function B(z){return new q(z)},q.encode=function B(z,E){if(!E)E=J.create();if(z.denom!=null&&Object.hasOwnProperty.call(z,"denom"))E.uint32(10).string(z.denom);if(z.amount!=null&&Object.hasOwnProperty.call(z,"amount"))E.uint32(18).string(z.amount);return E},q.encodeDelimited=function B(z,E){return this.encode(z,E).ldelim()},q.decode=function B(z,E){if(!(z instanceof X))z=X.create(z);let V=E===void 0?z.len:z.pos+E,_=new L.cosmos.base.v1beta1.DecCoin;while(z.pos<V){let N=z.uint32();switch(N>>>3){case 1:_.denom=z.string();break;case 2:_.amount=z.string();break;default:z.skipType(N&7);break}}return _},q.decodeDelimited=function B(z){if(!(z instanceof X))z=new X(z);return this.decode(z,z.uint32())},q.verify=function B(z){if(typeof z!=="object"||z===null)return"object expected";if(z.denom!=null&&z.hasOwnProperty("denom")){if(!Q.isString(z.denom))return"denom: string expected"}if(z.amount!=null&&z.hasOwnProperty("amount")){if(!Q.isString(z.amount))return"amount: string expected"}return null},q.fromObject=function B(z){if(z instanceof L.cosmos.base.v1beta1.DecCoin)return z;let E=new L.cosmos.base.v1beta1.DecCoin;if(z.denom!=null)E.denom=String(z.denom);if(z.amount!=null)E.amount=String(z.amount);return E},q.toObject=function B(z,E){if(!E)E={};let V={};if(E.defaults)V.denom="",V.amount="";if(z.denom!=null&&z.hasOwnProperty("denom"))V.denom=z.denom;if(z.amount!=null&&z.hasOwnProperty("amount"))V.amount=z.amount;return V},q.prototype.toJSON=function B(){return this.constructor.toObject(this,Y.util.toJSONOptions)},q})(),H.IntProto=(()=>{function q(B){if(B){for(let z=Object.keys(B),E=0;E<z.length;++E)if(B[z[E]]!=null)this[z[E]]=B[z[E]]}}return q.prototype.int="",q.create=function B(z){return new q(z)},q.encode=function B(z,E){if(!E)E=J.create();if(z.int!=null&&Object.hasOwnProperty.call(z,"int"))E.uint32(10).string(z.int);return E},q.encodeDelimited=function B(z,E){return this.encode(z,E).ldelim()},q.decode=function B(z,E){if(!(z instanceof X))z=X.create(z);let V=E===void 0?z.len:z.pos+E,_=new L.cosmos.base.v1beta1.IntProto;while(z.pos<V){let N=z.uint32();switch(N>>>3){case 1:_.int=z.string();break;default:z.skipType(N&7);break}}return _},q.decodeDelimited=function B(z){if(!(z instanceof X))z=new X(z);return this.decode(z,z.uint32())},q.verify=function B(z){if(typeof z!=="object"||z===null)return"object expected";if(z.int!=null&&z.hasOwnProperty("int")){if(!Q.isString(z.int))return"int: string expected"}return null},q.fromObject=function B(z){if(z instanceof L.cosmos.base.v1beta1.IntProto)return z;let E=new L.cosmos.base.v1beta1.IntProto;if(z.int!=null)E.int=String(z.int);return E},q.toObject=function B(z,E){if(!E)E={};let V={};if(E.defaults)V.int="";if(z.int!=null&&z.hasOwnProperty("int"))V.int=z.int;return V},q.prototype.toJSON=function B(){return this.constructor.toObject(this,Y.util.toJSONOptions)},q})(),H.DecProto=(()=>{function q(B){if(B){for(let z=Object.keys(B),E=0;E<z.length;++E)if(B[z[E]]!=null)this[z[E]]=B[z[E]]}}return q.prototype.dec="",q.create=function B(z){return new q(z)},q.encode=function B(z,E){if(!E)E=J.create();if(z.dec!=null&&Object.hasOwnProperty.call(z,"dec"))E.uint32(10).string(z.dec);return E},q.encodeDelimited=function B(z,E){return this.encode(z,E).ldelim()},q.decode=function B(z,E){if(!(z instanceof X))z=X.create(z);let V=E===void 0?z.len:z.pos+E,_=new L.cosmos.base.v1beta1.DecProto;while(z.pos<V){let N=z.uint32();switch(N>>>3){case 1:_.dec=z.string();break;default:z.skipType(N&7);break}}return _},q.decodeDelimited=function B(z){if(!(z instanceof X))z=new X(z);return this.decode(z,z.uint32())},q.verify=function B(z){if(typeof z!=="object"||z===null)return"object expected";if(z.dec!=null&&z.hasOwnProperty("dec")){if(!Q.isString(z.dec))return"dec: string expected"}return null},q.fromObject=function B(z){if(z instanceof L.cosmos.base.v1beta1.DecProto)return z;let E=new L.cosmos.base.v1beta1.DecProto;if(z.dec!=null)E.dec=String(z.dec);return E},q.toObject=function B(z,E){if(!E)E={};let V={};if(E.defaults)V.dec="";if(z.dec!=null&&z.hasOwnProperty("dec"))V.dec=z.dec;return V},q.prototype.toJSON=function B(){return this.constructor.toObject(this,Y.util.toJSONOptions)},q})(),H})(),G})(),Z})();export{L as $root};
1
+ import"./chunk-s47y8512.js";import Y from"protobufjs/minimal.js";var X=Y.Reader,J=Y.Writer,Q=Y.util,L=Y.roots.default||(Y.roots.default={});L.common=(()=>{let Z={};return Z.Asset=(()=>{function G(H){if(H){for(let q=Object.keys(H),B=0;B<q.length;++B)if(H[q[B]]!=null)this[q[B]]=H[q[B]]}}return G.prototype.chain="",G.prototype.symbol="",G.prototype.ticker="",G.prototype.synth=!1,G.create=function H(q){return new G(q)},G.encode=function H(q,B){if(!B)B=J.create();if(q.chain!=null&&Object.hasOwnProperty.call(q,"chain"))B.uint32(10).string(q.chain);if(q.symbol!=null&&Object.hasOwnProperty.call(q,"symbol"))B.uint32(18).string(q.symbol);if(q.ticker!=null&&Object.hasOwnProperty.call(q,"ticker"))B.uint32(26).string(q.ticker);if(q.synth!=null&&Object.hasOwnProperty.call(q,"synth"))B.uint32(32).bool(q.synth);return B},G.encodeDelimited=function H(q,B){return this.encode(q,B).ldelim()},G.decode=function H(q,B){if(!(q instanceof X))q=X.create(q);let z=B===void 0?q.len:q.pos+B,E=new L.common.Asset;while(q.pos<z){let V=q.uint32();switch(V>>>3){case 1:E.chain=q.string();break;case 2:E.symbol=q.string();break;case 3:E.ticker=q.string();break;case 4:E.synth=q.bool();break;default:q.skipType(V&7);break}}return E},G.decodeDelimited=function H(q){if(!(q instanceof X))q=new X(q);return this.decode(q,q.uint32())},G.verify=function H(q){if(typeof q!=="object"||q===null)return"object expected";if(q.chain!=null&&q.hasOwnProperty("chain")){if(!Q.isString(q.chain))return"chain: string expected"}if(q.symbol!=null&&q.hasOwnProperty("symbol")){if(!Q.isString(q.symbol))return"symbol: string expected"}if(q.ticker!=null&&q.hasOwnProperty("ticker")){if(!Q.isString(q.ticker))return"ticker: string expected"}if(q.synth!=null&&q.hasOwnProperty("synth")){if(typeof q.synth!=="boolean")return"synth: boolean expected"}return null},G.fromObject=function H(q){if(q instanceof L.common.Asset)return q;let B=new L.common.Asset;if(q.chain!=null)B.chain=String(q.chain);if(q.symbol!=null)B.symbol=String(q.symbol);if(q.ticker!=null)B.ticker=String(q.ticker);if(q.synth!=null)B.synth=Boolean(q.synth);return B},G.toObject=function H(q,B){if(!B)B={};let z={};if(B.defaults)z.chain="",z.symbol="",z.ticker="",z.synth=!1;if(q.chain!=null&&q.hasOwnProperty("chain"))z.chain=q.chain;if(q.symbol!=null&&q.hasOwnProperty("symbol"))z.symbol=q.symbol;if(q.ticker!=null&&q.hasOwnProperty("ticker"))z.ticker=q.ticker;if(q.synth!=null&&q.hasOwnProperty("synth"))z.synth=q.synth;return z},G.prototype.toJSON=function H(){return this.constructor.toObject(this,Y.util.toJSONOptions)},G})(),Z.Coin=(()=>{function G(H){if(H){for(let q=Object.keys(H),B=0;B<q.length;++B)if(H[q[B]]!=null)this[q[B]]=H[q[B]]}}return G.prototype.asset=null,G.prototype.amount="",G.prototype.decimals=Q.Long?Q.Long.fromBits(0,0,!1):0,G.create=function H(q){return new G(q)},G.encode=function H(q,B){if(!B)B=J.create();if(q.asset!=null&&Object.hasOwnProperty.call(q,"asset"))L.common.Asset.encode(q.asset,B.uint32(10).fork()).ldelim();if(q.amount!=null&&Object.hasOwnProperty.call(q,"amount"))B.uint32(18).string(q.amount);if(q.decimals!=null&&Object.hasOwnProperty.call(q,"decimals"))B.uint32(24).int64(q.decimals);return B},G.encodeDelimited=function H(q,B){return this.encode(q,B).ldelim()},G.decode=function H(q,B){if(!(q instanceof X))q=X.create(q);let z=B===void 0?q.len:q.pos+B,E=new L.common.Coin;while(q.pos<z){let V=q.uint32();switch(V>>>3){case 1:E.asset=L.common.Asset.decode(q,q.uint32());break;case 2:E.amount=q.string();break;case 3:E.decimals=q.int64();break;default:q.skipType(V&7);break}}return E},G.decodeDelimited=function H(q){if(!(q instanceof X))q=new X(q);return this.decode(q,q.uint32())},G.verify=function H(q){if(typeof q!=="object"||q===null)return"object expected";if(q.asset!=null&&q.hasOwnProperty("asset")){let B=L.common.Asset.verify(q.asset);if(B)return"asset."+B}if(q.amount!=null&&q.hasOwnProperty("amount")){if(!Q.isString(q.amount))return"amount: string expected"}if(q.decimals!=null&&q.hasOwnProperty("decimals")){if(!Q.isInteger(q.decimals)&&!(q.decimals&&Q.isInteger(q.decimals.low)&&Q.isInteger(q.decimals.high)))return"decimals: integer|Long expected"}return null},G.fromObject=function H(q){if(q instanceof L.common.Coin)return q;let B=new L.common.Coin;if(q.asset!=null){if(typeof q.asset!=="object")throw TypeError(".common.Coin.asset: object expected");B.asset=L.common.Asset.fromObject(q.asset)}if(q.amount!=null)B.amount=String(q.amount);if(q.decimals!=null){if(Q.Long)(B.decimals=Q.Long.fromValue(q.decimals)).unsigned=!1;else if(typeof q.decimals==="string")B.decimals=Number.parseInt(q.decimals,10);else if(typeof q.decimals==="number")B.decimals=q.decimals;else if(typeof q.decimals==="object")B.decimals=new Q.LongBits(q.decimals.low>>>0,q.decimals.high>>>0).toNumber()}return B},G.toObject=function H(q,B){if(!B)B={};let z={};if(B.defaults)if(z.asset=null,z.amount="",Q.Long){let E=new Q.Long(0,0,!1);z.decimals=B.longs===String?E.toString():B.longs===Number?E.toNumber():E}else z.decimals=B.longs===String?"0":0;if(q.asset!=null&&q.hasOwnProperty("asset"))z.asset=L.common.Asset.toObject(q.asset,B);if(q.amount!=null&&q.hasOwnProperty("amount"))z.amount=q.amount;if(q.decimals!=null&&q.hasOwnProperty("decimals"))if(typeof q.decimals==="number")z.decimals=B.longs===String?String(q.decimals):q.decimals;else z.decimals=B.longs===String?Q.Long.prototype.toString.call(q.decimals):B.longs===Number?new Q.LongBits(q.decimals.low>>>0,q.decimals.high>>>0).toNumber():q.decimals;return z},G.prototype.toJSON=function H(){return this.constructor.toObject(this,Y.util.toJSONOptions)},G})(),Z.PubKeySet=(()=>{function G(H){if(H){for(let q=Object.keys(H),B=0;B<q.length;++B)if(H[q[B]]!=null)this[q[B]]=H[q[B]]}}return G.prototype.secp256k1="",G.prototype.ed25519="",G.create=function H(q){return new G(q)},G.encode=function H(q,B){if(!B)B=J.create();if(q.secp256k1!=null&&Object.hasOwnProperty.call(q,"secp256k1"))B.uint32(10).string(q.secp256k1);if(q.ed25519!=null&&Object.hasOwnProperty.call(q,"ed25519"))B.uint32(18).string(q.ed25519);return B},G.encodeDelimited=function H(q,B){return this.encode(q,B).ldelim()},G.decode=function H(q,B){if(!(q instanceof X))q=X.create(q);let z=B===void 0?q.len:q.pos+B,E=new L.common.PubKeySet;while(q.pos<z){let V=q.uint32();switch(V>>>3){case 1:E.secp256k1=q.string();break;case 2:E.ed25519=q.string();break;default:q.skipType(V&7);break}}return E},G.decodeDelimited=function H(q){if(!(q instanceof X))q=new X(q);return this.decode(q,q.uint32())},G.verify=function H(q){if(typeof q!=="object"||q===null)return"object expected";if(q.secp256k1!=null&&q.hasOwnProperty("secp256k1")){if(!Q.isString(q.secp256k1))return"secp256k1: string expected"}if(q.ed25519!=null&&q.hasOwnProperty("ed25519")){if(!Q.isString(q.ed25519))return"ed25519: string expected"}return null},G.fromObject=function H(q){if(q instanceof L.common.PubKeySet)return q;let B=new L.common.PubKeySet;if(q.secp256k1!=null)B.secp256k1=String(q.secp256k1);if(q.ed25519!=null)B.ed25519=String(q.ed25519);return B},G.toObject=function H(q,B){if(!B)B={};let z={};if(B.defaults)z.secp256k1="",z.ed25519="";if(q.secp256k1!=null&&q.hasOwnProperty("secp256k1"))z.secp256k1=q.secp256k1;if(q.ed25519!=null&&q.hasOwnProperty("ed25519"))z.ed25519=q.ed25519;return z},G.prototype.toJSON=function H(){return this.constructor.toObject(this,Y.util.toJSONOptions)},G})(),Z.Tx=(()=>{function G(H){if(this.coins=[],this.gas=[],H){for(let q=Object.keys(H),B=0;B<q.length;++B)if(H[q[B]]!=null)this[q[B]]=H[q[B]]}}return G.prototype.id="",G.prototype.chain="",G.prototype.fromAddress="",G.prototype.toAddress="",G.prototype.coins=Q.emptyArray,G.prototype.gas=Q.emptyArray,G.prototype.memo="",G.create=function H(q){return new G(q)},G.encode=function H(q,B){if(!B)B=J.create();if(q.id!=null&&Object.hasOwnProperty.call(q,"id"))B.uint32(10).string(q.id);if(q.chain!=null&&Object.hasOwnProperty.call(q,"chain"))B.uint32(18).string(q.chain);if(q.fromAddress!=null&&Object.hasOwnProperty.call(q,"fromAddress"))B.uint32(26).string(q.fromAddress);if(q.toAddress!=null&&Object.hasOwnProperty.call(q,"toAddress"))B.uint32(34).string(q.toAddress);if(q.coins?.length)for(let z=0;z<q.coins.length;++z)L.common.Coin.encode(q.coins[z],B.uint32(42).fork()).ldelim();if(q.gas?.length)for(let z=0;z<q.gas.length;++z)L.common.Coin.encode(q.gas[z],B.uint32(50).fork()).ldelim();if(q.memo!=null&&Object.hasOwnProperty.call(q,"memo"))B.uint32(58).string(q.memo);return B},G.encodeDelimited=function H(q,B){return this.encode(q,B).ldelim()},G.decode=function H(q,B){if(!(q instanceof X))q=X.create(q);let z=B===void 0?q.len:q.pos+B,E=new L.common.Tx;while(q.pos<z){let V=q.uint32();switch(V>>>3){case 1:E.id=q.string();break;case 2:E.chain=q.string();break;case 3:E.fromAddress=q.string();break;case 4:E.toAddress=q.string();break;case 5:if(!E.coins?.length)E.coins=[];E.coins.push(L.common.Coin.decode(q,q.uint32()));break;case 6:if(!E.gas?.length)E.gas=[];E.gas.push(L.common.Coin.decode(q,q.uint32()));break;case 7:E.memo=q.string();break;default:q.skipType(V&7);break}}return E},G.decodeDelimited=function H(q){if(!(q instanceof X))q=new X(q);return this.decode(q,q.uint32())},G.verify=function H(q){if(typeof q!=="object"||q===null)return"object expected";if(q.id!=null&&q.hasOwnProperty("id")){if(!Q.isString(q.id))return"id: string expected"}if(q.chain!=null&&q.hasOwnProperty("chain")){if(!Q.isString(q.chain))return"chain: string expected"}if(q.fromAddress!=null&&q.hasOwnProperty("fromAddress")){if(!Q.isString(q.fromAddress))return"fromAddress: string expected"}if(q.toAddress!=null&&q.hasOwnProperty("toAddress")){if(!Q.isString(q.toAddress))return"toAddress: string expected"}if(q.coins!=null&&q.hasOwnProperty("coins")){if(!Array.isArray(q.coins))return"coins: array expected";for(let B=0;B<q.coins.length;++B){let z=L.common.Coin.verify(q.coins[B]);if(z)return"coins."+z}}if(q.gas!=null&&q.hasOwnProperty("gas")){if(!Array.isArray(q.gas))return"gas: array expected";for(let B=0;B<q.gas.length;++B){let z=L.common.Coin.verify(q.gas[B]);if(z)return"gas."+z}}if(q.memo!=null&&q.hasOwnProperty("memo")){if(!Q.isString(q.memo))return"memo: string expected"}return null},G.fromObject=function H(q){if(q instanceof L.common.Tx)return q;let B=new L.common.Tx;if(q.id!=null)B.id=String(q.id);if(q.chain!=null)B.chain=String(q.chain);if(q.fromAddress!=null)B.fromAddress=String(q.fromAddress);if(q.toAddress!=null)B.toAddress=String(q.toAddress);if(q.coins){if(!Array.isArray(q.coins))throw TypeError(".common.Tx.coins: array expected");B.coins=[];for(let z=0;z<q.coins.length;++z){if(typeof q.coins[z]!=="object")throw TypeError(".common.Tx.coins: object expected");B.coins[z]=L.common.Coin.fromObject(q.coins[z])}}if(q.gas){if(!Array.isArray(q.gas))throw TypeError(".common.Tx.gas: array expected");B.gas=[];for(let z=0;z<q.gas.length;++z){if(typeof q.gas[z]!=="object")throw TypeError(".common.Tx.gas: object expected");B.gas[z]=L.common.Coin.fromObject(q.gas[z])}}if(q.memo!=null)B.memo=String(q.memo);return B},G.toObject=function H(q,B){if(!B)B={};let z={};if(B.arrays||B.defaults)z.coins=[],z.gas=[];if(B.defaults)z.id="",z.chain="",z.fromAddress="",z.toAddress="",z.memo="";if(q.id!=null&&q.hasOwnProperty("id"))z.id=q.id;if(q.chain!=null&&q.hasOwnProperty("chain"))z.chain=q.chain;if(q.fromAddress!=null&&q.hasOwnProperty("fromAddress"))z.fromAddress=q.fromAddress;if(q.toAddress!=null&&q.hasOwnProperty("toAddress"))z.toAddress=q.toAddress;if(q.coins?.length){z.coins=[];for(let E=0;E<q.coins.length;++E)z.coins[E]=L.common.Coin.toObject(q.coins[E],B)}if(q.gas?.length){z.gas=[];for(let E=0;E<q.gas.length;++E)z.gas[E]=L.common.Coin.toObject(q.gas[E],B)}if(q.memo!=null&&q.hasOwnProperty("memo"))z.memo=q.memo;return z},G.prototype.toJSON=function H(){return this.constructor.toObject(this,Y.util.toJSONOptions)},G})(),Z.Fee=(()=>{function G(H){if(this.coins=[],H){for(let q=Object.keys(H),B=0;B<q.length;++B)if(H[q[B]]!=null)this[q[B]]=H[q[B]]}}return G.prototype.coins=Q.emptyArray,G.prototype.poolDeduct="",G.create=function H(q){return new G(q)},G.encode=function H(q,B){if(!B)B=J.create();if(q.coins?.length)for(let z=0;z<q.coins.length;++z)L.common.Coin.encode(q.coins[z],B.uint32(10).fork()).ldelim();if(q.poolDeduct!=null&&Object.hasOwnProperty.call(q,"poolDeduct"))B.uint32(18).string(q.poolDeduct);return B},G.encodeDelimited=function H(q,B){return this.encode(q,B).ldelim()},G.decode=function H(q,B){if(!(q instanceof X))q=X.create(q);let z=B===void 0?q.len:q.pos+B,E=new L.common.Fee;while(q.pos<z){let V=q.uint32();switch(V>>>3){case 1:if(!E.coins?.length)E.coins=[];E.coins.push(L.common.Coin.decode(q,q.uint32()));break;case 2:E.poolDeduct=q.string();break;default:q.skipType(V&7);break}}return E},G.decodeDelimited=function H(q){if(!(q instanceof X))q=new X(q);return this.decode(q,q.uint32())},G.verify=function H(q){if(typeof q!=="object"||q===null)return"object expected";if(q.coins!=null&&q.hasOwnProperty("coins")){if(!Array.isArray(q.coins))return"coins: array expected";for(let B=0;B<q.coins.length;++B){let z=L.common.Coin.verify(q.coins[B]);if(z)return"coins."+z}}if(q.poolDeduct!=null&&q.hasOwnProperty("poolDeduct")){if(!Q.isString(q.poolDeduct))return"poolDeduct: string expected"}return null},G.fromObject=function H(q){if(q instanceof L.common.Fee)return q;let B=new L.common.Fee;if(q.coins){if(!Array.isArray(q.coins))throw TypeError(".common.Fee.coins: array expected");B.coins=[];for(let z=0;z<q.coins.length;++z){if(typeof q.coins[z]!=="object")throw TypeError(".common.Fee.coins: object expected");B.coins[z]=L.common.Coin.fromObject(q.coins[z])}}if(q.poolDeduct!=null)B.poolDeduct=String(q.poolDeduct);return B},G.toObject=function H(q,B){if(!B)B={};let z={};if(B.arrays||B.defaults)z.coins=[];if(B.defaults)z.poolDeduct="";if(q.coins?.length){z.coins=[];for(let E=0;E<q.coins.length;++E)z.coins[E]=L.common.Coin.toObject(q.coins[E],B)}if(q.poolDeduct!=null&&q.hasOwnProperty("poolDeduct"))z.poolDeduct=q.poolDeduct;return z},G.prototype.toJSON=function H(){return this.constructor.toObject(this,Y.util.toJSONOptions)},G})(),Z.ProtoUint=(()=>{function G(H){if(H){for(let q=Object.keys(H),B=0;B<q.length;++B)if(H[q[B]]!=null)this[q[B]]=H[q[B]]}}return G.prototype.value="",G.create=function H(q){return new G(q)},G.encode=function H(q,B){if(!B)B=J.create();if(q.value!=null&&Object.hasOwnProperty.call(q,"value"))B.uint32(10).string(q.value);return B},G.encodeDelimited=function H(q,B){return this.encode(q,B).ldelim()},G.decode=function H(q,B){if(!(q instanceof X))q=X.create(q);let z=B===void 0?q.len:q.pos+B,E=new L.common.ProtoUint;while(q.pos<z){let V=q.uint32();switch(V>>>3){case 1:E.value=q.string();break;default:q.skipType(V&7);break}}return E},G.decodeDelimited=function H(q){if(!(q instanceof X))q=new X(q);return this.decode(q,q.uint32())},G.verify=function H(q){if(typeof q!=="object"||q===null)return"object expected";if(q.value!=null&&q.hasOwnProperty("value")){if(!Q.isString(q.value))return"value: string expected"}return null},G.fromObject=function H(q){if(q instanceof L.common.ProtoUint)return q;let B=new L.common.ProtoUint;if(q.value!=null)B.value=String(q.value);return B},G.toObject=function H(q,B){if(!B)B={};let z={};if(B.defaults)z.value="";if(q.value!=null&&q.hasOwnProperty("value"))z.value=q.value;return z},G.prototype.toJSON=function H(){return this.constructor.toObject(this,Y.util.toJSONOptions)},G})(),Z})();L.types=(()=>{let Z={};return Z.MsgDeposit=(()=>{function G(H){if(this.coins=[],H){for(let q=Object.keys(H),B=0;B<q.length;++B)if(H[q[B]]!=null)this[q[B]]=H[q[B]]}}return G.prototype.coins=Q.emptyArray,G.prototype.memo="",G.prototype.signer=Q.newBuffer([]),G.create=function H(q){return new G(q)},G.encode=function H(q,B){if(!B)B=J.create();if(q.coins?.length)for(let z=0;z<q.coins.length;++z)L.common.Coin.encode(q.coins[z],B.uint32(10).fork()).ldelim();if(q.memo!=null&&Object.hasOwnProperty.call(q,"memo"))B.uint32(18).string(q.memo);if(q.signer!=null&&Object.hasOwnProperty.call(q,"signer"))B.uint32(26).bytes(q.signer);return B},G.encodeDelimited=function H(q,B){return this.encode(q,B).ldelim()},G.decode=function H(q,B){if(!(q instanceof X))q=X.create(q);let z=B===void 0?q.len:q.pos+B,E=new L.types.MsgDeposit;while(q.pos<z){let V=q.uint32();switch(V>>>3){case 1:if(!E.coins?.length)E.coins=[];E.coins.push(L.common.Coin.decode(q,q.uint32()));break;case 2:E.memo=q.string();break;case 3:E.signer=q.bytes();break;default:q.skipType(V&7);break}}return E},G.decodeDelimited=function H(q){if(!(q instanceof X))q=new X(q);return this.decode(q,q.uint32())},G.verify=function H(q){if(typeof q!=="object"||q===null)return"object expected";if(q.coins!=null&&q.hasOwnProperty("coins")){if(!Array.isArray(q.coins))return"coins: array expected";for(let B=0;B<q.coins.length;++B){let z=L.common.Coin.verify(q.coins[B]);if(z)return"coins."+z}}if(q.memo!=null&&q.hasOwnProperty("memo")){if(!Q.isString(q.memo))return"memo: string expected"}if(q.signer!=null&&q.hasOwnProperty("signer")){if(!(q.signer&&typeof q.signer.length==="number"||Q.isString(q.signer)))return"signer: buffer expected"}return null},G.fromObject=function H(q){if(q instanceof L.types.MsgDeposit)return q;let B=new L.types.MsgDeposit;if(q.coins){if(!Array.isArray(q.coins))throw TypeError(".types.MsgDeposit.coins: array expected");B.coins=[];for(let z=0;z<q.coins.length;++z){if(typeof q.coins[z]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");B.coins[z]=L.common.Coin.fromObject(q.coins[z])}}if(q.memo!=null)B.memo=String(q.memo);if(q.signer!=null){if(typeof q.signer==="string")Q.base64.decode(q.signer,B.signer=Q.newBuffer(Q.base64.length(q.signer)),0);else if(q.signer.length)B.signer=q.signer}return B},G.toObject=function H(q,B){if(!B)B={};let z={};if(B.arrays||B.defaults)z.coins=[];if(B.defaults){if(z.memo="",B.bytes===String)z.signer="";else if(z.signer=[],B.bytes!==Array)z.signer=Q.newBuffer(z.signer)}if(q.coins?.length){z.coins=[];for(let E=0;E<q.coins.length;++E)z.coins[E]=L.common.Coin.toObject(q.coins[E],B)}if(q.memo!=null&&q.hasOwnProperty("memo"))z.memo=q.memo;if(q.signer!=null&&q.hasOwnProperty("signer"))z.signer=B.bytes===String?Q.base64.encode(q.signer,0,q.signer.length):B.bytes===Array?Array.prototype.slice.call(q.signer):q.signer;return z},G.prototype.toJSON=function H(){return this.constructor.toObject(this,Y.util.toJSONOptions)},G})(),Z.MsgSend=(()=>{function G(H){if(this.amount=[],H){for(let q=Object.keys(H),B=0;B<q.length;++B)if(H[q[B]]!=null)this[q[B]]=H[q[B]]}}return G.prototype.fromAddress=Q.newBuffer([]),G.prototype.toAddress=Q.newBuffer([]),G.prototype.amount=Q.emptyArray,G.create=function H(q){return new G(q)},G.encode=function H(q,B){if(!B)B=J.create();if(q.fromAddress!=null&&Object.hasOwnProperty.call(q,"fromAddress"))B.uint32(10).bytes(q.fromAddress);if(q.toAddress!=null&&Object.hasOwnProperty.call(q,"toAddress"))B.uint32(18).bytes(q.toAddress);if(q.amount?.length)for(let z=0;z<q.amount.length;++z)L.cosmos.base.v1beta1.Coin.encode(q.amount[z],B.uint32(26).fork()).ldelim();return B},G.encodeDelimited=function H(q,B){return this.encode(q,B).ldelim()},G.decode=function H(q,B){if(!(q instanceof X))q=X.create(q);let z=B===void 0?q.len:q.pos+B,E=new L.types.MsgSend;while(q.pos<z){let V=q.uint32();switch(V>>>3){case 1:E.fromAddress=q.bytes();break;case 2:E.toAddress=q.bytes();break;case 3:if(!E.amount?.length)E.amount=[];E.amount.push(L.cosmos.base.v1beta1.Coin.decode(q,q.uint32()));break;default:q.skipType(V&7);break}}return E},G.decodeDelimited=function H(q){if(!(q instanceof X))q=new X(q);return this.decode(q,q.uint32())},G.verify=function H(q){if(typeof q!=="object"||q===null)return"object expected";if(q.fromAddress!=null&&q.hasOwnProperty("fromAddress")){if(!(q.fromAddress&&typeof q.fromAddress.length==="number"||Q.isString(q.fromAddress)))return"fromAddress: buffer expected"}if(q.toAddress!=null&&q.hasOwnProperty("toAddress")){if(!(q.toAddress&&typeof q.toAddress.length==="number"||Q.isString(q.toAddress)))return"toAddress: buffer expected"}if(q.amount!=null&&q.hasOwnProperty("amount")){if(!Array.isArray(q.amount))return"amount: array expected";for(let B=0;B<q.amount.length;++B){let z=L.cosmos.base.v1beta1.Coin.verify(q.amount[B]);if(z)return"amount."+z}}return null},G.fromObject=function H(q){if(q instanceof L.types.MsgSend)return q;let B=new L.types.MsgSend;if(q.fromAddress!=null){if(typeof q.fromAddress==="string")Q.base64.decode(q.fromAddress,B.fromAddress=Q.newBuffer(Q.base64.length(q.fromAddress)),0);else if(q.fromAddress.length)B.fromAddress=q.fromAddress}if(q.toAddress!=null){if(typeof q.toAddress==="string")Q.base64.decode(q.toAddress,B.toAddress=Q.newBuffer(Q.base64.length(q.toAddress)),0);else if(q.toAddress.length)B.toAddress=q.toAddress}if(q.amount){if(!Array.isArray(q.amount))throw TypeError(".types.MsgSend.amount: array expected");B.amount=[];for(let z=0;z<q.amount.length;++z){if(typeof q.amount[z]!=="object")throw TypeError(".types.MsgSend.amount: object expected");B.amount[z]=L.cosmos.base.v1beta1.Coin.fromObject(q.amount[z])}}return B},G.toObject=function H(q,B){if(!B)B={};let z={};if(B.arrays||B.defaults)z.amount=[];if(B.defaults){if(B.bytes===String)z.fromAddress="";else if(z.fromAddress=[],B.bytes!==Array)z.fromAddress=Q.newBuffer(z.fromAddress);if(B.bytes===String)z.toAddress="";else if(z.toAddress=[],B.bytes!==Array)z.toAddress=Q.newBuffer(z.toAddress)}if(q.fromAddress!=null&&q.hasOwnProperty("fromAddress"))z.fromAddress=B.bytes===String?Q.base64.encode(q.fromAddress,0,q.fromAddress.length):B.bytes===Array?Array.prototype.slice.call(q.fromAddress):q.fromAddress;if(q.toAddress!=null&&q.hasOwnProperty("toAddress"))z.toAddress=B.bytes===String?Q.base64.encode(q.toAddress,0,q.toAddress.length):B.bytes===Array?Array.prototype.slice.call(q.toAddress):q.toAddress;if(q.amount?.length){z.amount=[];for(let E=0;E<q.amount.length;++E)z.amount[E]=L.cosmos.base.v1beta1.Coin.toObject(q.amount[E],B)}return z},G.prototype.toJSON=function H(){return this.constructor.toObject(this,Y.util.toJSONOptions)},G})(),Z})();L.cosmos=(()=>{let Z={};return Z.base=(()=>{let G={};return G.v1beta1=(()=>{let H={};return H.Coin=(()=>{function q(B){if(B){for(let z=Object.keys(B),E=0;E<z.length;++E)if(B[z[E]]!=null)this[z[E]]=B[z[E]]}}return q.prototype.denom="",q.prototype.amount="",q.create=function B(z){return new q(z)},q.encode=function B(z,E){if(!E)E=J.create();if(z.denom!=null&&Object.hasOwnProperty.call(z,"denom"))E.uint32(10).string(z.denom);if(z.amount!=null&&Object.hasOwnProperty.call(z,"amount"))E.uint32(18).string(z.amount);return E},q.encodeDelimited=function B(z,E){return this.encode(z,E).ldelim()},q.decode=function B(z,E){if(!(z instanceof X))z=X.create(z);let V=E===void 0?z.len:z.pos+E,_=new L.cosmos.base.v1beta1.Coin;while(z.pos<V){let N=z.uint32();switch(N>>>3){case 1:_.denom=z.string();break;case 2:_.amount=z.string();break;default:z.skipType(N&7);break}}return _},q.decodeDelimited=function B(z){if(!(z instanceof X))z=new X(z);return this.decode(z,z.uint32())},q.verify=function B(z){if(typeof z!=="object"||z===null)return"object expected";if(z.denom!=null&&z.hasOwnProperty("denom")){if(!Q.isString(z.denom))return"denom: string expected"}if(z.amount!=null&&z.hasOwnProperty("amount")){if(!Q.isString(z.amount))return"amount: string expected"}return null},q.fromObject=function B(z){if(z instanceof L.cosmos.base.v1beta1.Coin)return z;let E=new L.cosmos.base.v1beta1.Coin;if(z.denom!=null)E.denom=String(z.denom);if(z.amount!=null)E.amount=String(z.amount);return E},q.toObject=function B(z,E){if(!E)E={};let V={};if(E.defaults)V.denom="",V.amount="";if(z.denom!=null&&z.hasOwnProperty("denom"))V.denom=z.denom;if(z.amount!=null&&z.hasOwnProperty("amount"))V.amount=z.amount;return V},q.prototype.toJSON=function B(){return this.constructor.toObject(this,Y.util.toJSONOptions)},q})(),H.DecCoin=(()=>{function q(B){if(B){for(let z=Object.keys(B),E=0;E<z.length;++E)if(B[z[E]]!=null)this[z[E]]=B[z[E]]}}return q.prototype.denom="",q.prototype.amount="",q.create=function B(z){return new q(z)},q.encode=function B(z,E){if(!E)E=J.create();if(z.denom!=null&&Object.hasOwnProperty.call(z,"denom"))E.uint32(10).string(z.denom);if(z.amount!=null&&Object.hasOwnProperty.call(z,"amount"))E.uint32(18).string(z.amount);return E},q.encodeDelimited=function B(z,E){return this.encode(z,E).ldelim()},q.decode=function B(z,E){if(!(z instanceof X))z=X.create(z);let V=E===void 0?z.len:z.pos+E,_=new L.cosmos.base.v1beta1.DecCoin;while(z.pos<V){let N=z.uint32();switch(N>>>3){case 1:_.denom=z.string();break;case 2:_.amount=z.string();break;default:z.skipType(N&7);break}}return _},q.decodeDelimited=function B(z){if(!(z instanceof X))z=new X(z);return this.decode(z,z.uint32())},q.verify=function B(z){if(typeof z!=="object"||z===null)return"object expected";if(z.denom!=null&&z.hasOwnProperty("denom")){if(!Q.isString(z.denom))return"denom: string expected"}if(z.amount!=null&&z.hasOwnProperty("amount")){if(!Q.isString(z.amount))return"amount: string expected"}return null},q.fromObject=function B(z){if(z instanceof L.cosmos.base.v1beta1.DecCoin)return z;let E=new L.cosmos.base.v1beta1.DecCoin;if(z.denom!=null)E.denom=String(z.denom);if(z.amount!=null)E.amount=String(z.amount);return E},q.toObject=function B(z,E){if(!E)E={};let V={};if(E.defaults)V.denom="",V.amount="";if(z.denom!=null&&z.hasOwnProperty("denom"))V.denom=z.denom;if(z.amount!=null&&z.hasOwnProperty("amount"))V.amount=z.amount;return V},q.prototype.toJSON=function B(){return this.constructor.toObject(this,Y.util.toJSONOptions)},q})(),H.IntProto=(()=>{function q(B){if(B){for(let z=Object.keys(B),E=0;E<z.length;++E)if(B[z[E]]!=null)this[z[E]]=B[z[E]]}}return q.prototype.int="",q.create=function B(z){return new q(z)},q.encode=function B(z,E){if(!E)E=J.create();if(z.int!=null&&Object.hasOwnProperty.call(z,"int"))E.uint32(10).string(z.int);return E},q.encodeDelimited=function B(z,E){return this.encode(z,E).ldelim()},q.decode=function B(z,E){if(!(z instanceof X))z=X.create(z);let V=E===void 0?z.len:z.pos+E,_=new L.cosmos.base.v1beta1.IntProto;while(z.pos<V){let N=z.uint32();switch(N>>>3){case 1:_.int=z.string();break;default:z.skipType(N&7);break}}return _},q.decodeDelimited=function B(z){if(!(z instanceof X))z=new X(z);return this.decode(z,z.uint32())},q.verify=function B(z){if(typeof z!=="object"||z===null)return"object expected";if(z.int!=null&&z.hasOwnProperty("int")){if(!Q.isString(z.int))return"int: string expected"}return null},q.fromObject=function B(z){if(z instanceof L.cosmos.base.v1beta1.IntProto)return z;let E=new L.cosmos.base.v1beta1.IntProto;if(z.int!=null)E.int=String(z.int);return E},q.toObject=function B(z,E){if(!E)E={};let V={};if(E.defaults)V.int="";if(z.int!=null&&z.hasOwnProperty("int"))V.int=z.int;return V},q.prototype.toJSON=function B(){return this.constructor.toObject(this,Y.util.toJSONOptions)},q})(),H.DecProto=(()=>{function q(B){if(B){for(let z=Object.keys(B),E=0;E<z.length;++E)if(B[z[E]]!=null)this[z[E]]=B[z[E]]}}return q.prototype.dec="",q.create=function B(z){return new q(z)},q.encode=function B(z,E){if(!E)E=J.create();if(z.dec!=null&&Object.hasOwnProperty.call(z,"dec"))E.uint32(10).string(z.dec);return E},q.encodeDelimited=function B(z,E){return this.encode(z,E).ldelim()},q.decode=function B(z,E){if(!(z instanceof X))z=X.create(z);let V=E===void 0?z.len:z.pos+E,_=new L.cosmos.base.v1beta1.DecProto;while(z.pos<V){let N=z.uint32();switch(N>>>3){case 1:_.dec=z.string();break;default:z.skipType(N&7);break}}return _},q.decodeDelimited=function B(z){if(!(z instanceof X))z=new X(z);return this.decode(z,z.uint32())},q.verify=function B(z){if(typeof z!=="object"||z===null)return"object expected";if(z.dec!=null&&z.hasOwnProperty("dec")){if(!Q.isString(z.dec))return"dec: string expected"}return null},q.fromObject=function B(z){if(z instanceof L.cosmos.base.v1beta1.DecProto)return z;let E=new L.cosmos.base.v1beta1.DecProto;if(z.dec!=null)E.dec=String(z.dec);return E},q.toObject=function B(z,E){if(!E)E={};let V={};if(E.defaults)V.dec="";if(z.dec!=null&&z.hasOwnProperty("dec"))V.dec=z.dec;return V},q.prototype.toJSON=function B(){return this.constructor.toObject(this,Y.util.toJSONOptions)},q})(),H})(),G})(),Z})();export{L as $root};
2
2
 
3
3
  //# debugId=D6F609310F846DE064756E2164756E21
@@ -1,4 +1,4 @@
1
1
  var g=Object.create;var{getPrototypeOf:h,defineProperty:f,getOwnPropertyNames:i}=Object;var j=Object.prototype.hasOwnProperty;var k=(a,c,b)=>{b=a!=null?g(h(a)):{};let d=c||!a||!a.__esModule?f(b,"default",{value:a,enumerable:!0}):b;for(let e of i(a))if(!j.call(d,e))f(d,e,{get:()=>a[e],enumerable:!0});return d};var l=((a)=>typeof require!=="undefined"?require:typeof Proxy!=="undefined"?new Proxy(a,{get:(c,b)=>(typeof require!=="undefined"?require:c)[b]}):a)(function(a){if(typeof require!=="undefined")return require.apply(this,arguments);throw Error('Dynamic require of "'+a+'" is not supported')});
2
- export{k as c,l as d};
2
+ export{k as d,l as e};
3
3
 
4
- //# debugId=120A991DEB80705964756E2164756E21
4
+ //# debugId=26FE4B3D54C6EECA64756E2164756E21
@@ -4,6 +4,6 @@
4
4
  "sourcesContent": [
5
5
  ],
6
6
  "mappings": "",
7
- "debugId": "120A991DEB80705964756E2164756E21",
7
+ "debugId": "26FE4B3D54C6EECA64756E2164756E21",
8
8
  "names": []
9
9
  }
@@ -0,0 +1,3 @@
1
+ async function D({account:k,contractId:m,viewMethods:q,changeMethods:z}){let{Contract:A}=await import("near-api-js");return new A(k,m,{viewMethods:q,changeMethods:z,useLocalViewExecution:!0})}
2
+
3
+ //# debugId=700DBB27BEE3D39864756E2164756E21
@@ -0,0 +1,10 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/near/helpers/contractFactory.ts"],
4
+ "sourcesContent": [
5
+ "import type { Account, Contract } from \"near-api-js\";\n\n// Create a Near contract instance\nexport async function createNearContract<T extends Contract>({\n account,\n contractId,\n viewMethods,\n changeMethods,\n}: {\n account: Account;\n contractId: string;\n viewMethods: string[];\n changeMethods: string[];\n}): Promise<T> {\n const { Contract } = await import(\"near-api-js\");\n\n return new Contract(account, contractId, {\n viewMethods,\n changeMethods,\n useLocalViewExecution: true, // Enable local view execution for efficiency\n }) as T;\n}\n"
6
+ ],
7
+ "mappings": "AAGA,eAAsB,CAAsC,EAC1D,UACA,aACA,cACA,iBAMa,CACb,IAAQ,YAAa,KAAa,uBAElC,OAAO,IAAI,EAAS,EAAS,EAAY,CACvC,cACA,gBACA,sBAAuB,EACzB,CAAC",
8
+ "debugId": "700DBB27BEE3D39864756E2164756E21",
9
+ "names": []
10
+ }
@@ -0,0 +1,4 @@
1
+ import{d as B,e as D}from"./chunk-s47y8512.js";async function F({account:k,contractId:m,viewMethods:q,changeMethods:z}){let{Contract:A}=await import("near-api-js");return new A(k,m,{viewMethods:q,changeMethods:z,useLocalViewExecution:!0})}export{F as createNearContract};
2
+ export{F as c};
3
+
4
+ //# debugId=93CDBCD5CBFD729264756E2164756E21
@@ -0,0 +1,10 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/near/helpers/contractFactory.ts"],
4
+ "sourcesContent": [
5
+ "import type { Account, Contract } from \"near-api-js\";\n\n// Create a Near contract instance\nexport async function createNearContract<T extends Contract>({\n account,\n contractId,\n viewMethods,\n changeMethods,\n}: {\n account: Account;\n contractId: string;\n viewMethods: string[];\n changeMethods: string[];\n}): Promise<T> {\n const { Contract } = await import(\"near-api-js\");\n\n return new Contract(account, contractId, {\n viewMethods,\n changeMethods,\n useLocalViewExecution: true, // Enable local view execution for efficiency\n }) as T;\n}\n"
6
+ ],
7
+ "mappings": "+CAGA,eAAsB,CAAsC,EAC1D,UACA,aACA,cACA,iBAMa,CACb,IAAQ,YAAa,KAAa,uBAElC,OAAO,IAAI,EAAS,EAAS,EAAY,CACvC,cACA,gBACA,sBAAuB,EACzB,CAAC",
8
+ "debugId": "93CDBCD5CBFD729264756E2164756E21",
9
+ "names": []
10
+ }
@@ -0,0 +1,3 @@
1
+ var lo={};so(lo,{verifySignature:()=>Ho,transferMsgAmino:()=>oo,toBase64:()=>Zo,parseAminoMessageForDirectSigning:()=>A,getSignerFromPrivateKey:()=>Jo,getSignerFromPhrase:()=>fo,getRPC:()=>uo,getMsgSendDenom:()=>P,getFeeRateFromThorswap:()=>Yo,getDenomWithChain:()=>O,getDefaultChainFee:()=>j,getCreateTransaction:()=>ro,getCosmosToolbox:()=>go,getAssetFromDenom:()=>a,fromBase64:()=>Ao,fetchFeeRateFromSwapKit:()=>no,estimateTransactionFee:()=>Oo,depositMsgAmino:()=>to,createThorchainToolbox:()=>yo,createStargateClient:()=>I,createSigningStargateClient:()=>q,createOfflineStargateClient:()=>s,createDefaultRegistry:()=>G,createDefaultAminoTypes:()=>k,createCosmosToolbox:()=>D,cosmosValidateAddress:()=>Ko,cosmosCreateTransaction:()=>l,convertToSignable:()=>Z,buildTransferTx:()=>co,buildEncodedTxBody:()=>N,buildDepositTx:()=>mo,buildAminoMsg:()=>M,bech32ToBase64:()=>Y,base64ToBech32:()=>K,YUM_KUJIRA_FACTORY_DENOM:()=>xo,USK_KUJIRA_FACTORY_DENOM:()=>e,THORCHAIN_GAS_VALUE:()=>Go,MAYA_GAS_VALUE:()=>Fo,DEFAULT_KUJI_FEE_MAINNET:()=>vo,DEFAULT_COSMOS_FEE_MAINNET:()=>To});module.exports=eo(lo);var L=require("@scure/base"),wo=require("@swapkit/helpers"),U=require("base64-js");function Y(o){return L.base64.encode(Uint8Array.from(L.bech32.fromWords(L.bech32.decode(o).words)))}function K(o,r="thor"){return L.bech32.encode(r,L.bech32.toWords(L.base64.decode(o)))}function Zo(o){return U.fromByteArray(o)}function Ao(o){if(!o.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new wo.SwapKitError("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return U.toByteArray(o)}var R=require("@swapkit/helpers");var y=require("@swapkit/helpers"),e="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",xo="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",To={amount:[{denom:"uatom",amount:"500"}],gas:"200000"},vo={amount:[{denom:"ukuji",amount:"1000"}],gas:"200000"};function j(o){switch(o){case y.Chain.Maya:return{amount:[],gas:"10000000000"};case y.Chain.THORChain:return{amount:[],gas:"500000000"};case y.Chain.Kujira:return vo;default:return To}}var P=(o,r=!1)=>{if(r)return o.toLowerCase();switch(o){case"uUSK":case"USK":return e;case"uYUM":case"YUM":return xo;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";default:return o}},O=({symbol:o,chain:r})=>{if(r===y.Chain.Maya)return(o.toUpperCase()!=="CACAO"?o:`${y.Chain.Maya}.${o}`).toUpperCase();if(r===y.Chain.THORChain)return(["RUNE","TCY","RUJI"].includes(o.toUpperCase())?`${y.Chain.THORChain}.${o}`:o).toUpperCase();return P(o,!1)};async function I(o){let{StargateClient:r}=await import("@cosmjs/stargate"),t=typeof window!=="undefined"?{}:{referrer:"https://sk.thorswap.net",referer:"https://sk.thorswap.net"};return r.connect({url:o,headers:t})}async function q(o,r,t={}){let{SigningStargateClient:f,GasPrice:p}=(await import("@cosmjs/stargate")).default,w=typeof t==="string"?t:"0.0003uatom",x=typeof t==="string"?{}:t;return f.connectWithSigner(o,r,{gasPrice:p.fromString(w),...x})}async function s(o,r){let{SigningStargateClient:t}=(await import("@cosmjs/stargate")).default;return t.offline(o,r)}var uo=(o)=>{let{isStagenet:r}=y.SKConfig.get("envs"),t=y.SKConfig.get("rpcUrls");switch(o){case y.ChainId.Kujira:return t.KUJI;case y.ChainId.THORChain:case"thorchain-mainnet-v1":return r?t.THOR_STAGENET:t.THOR;case y.ChainId.Maya:return r?t.MAYA_STAGENET:t.MAYA;default:return t.GAIA}},Qo=(o)=>{switch(o){case y.Chain.Maya:case y.Chain.THORChain:return"/types.MsgSend";case y.Chain.Cosmos:case y.Chain.Kujira:return"/cosmos.bank.v1beta1.MsgSend";default:throw new y.SwapKitError("toolbox_cosmos_not_supported",{chain:o})}},l=async({sender:o,recipient:r,assetValue:t,memo:f="",feeRate:p,sequence:w,accountNumber:x})=>{let{chain:C,chainId:u}=t,m=uo(u),T=await(await I(m)).getAccount(o);if(!T)throw new y.SwapKitError("toolbox_cosmos_account_not_found",{sender:o});let _=y.AssetValue.from({chain:C}),H=P(_.symbol),v=j(C),i=H&&p?{amount:[{denom:H,amount:p.toString()}],gas:v.gas}:v,W={fromAddress:o,toAddress:r,amount:[{amount:t.getBaseValue("string"),denom:P(t.symbol)}]};return{accountNumber:x??T.accountNumber,chainId:u,fee:i,memo:f,sequence:w??T.sequence,msgs:[{typeUrl:Qo(C),value:W}]}},Xo={rune:{chain:y.Chain.THORChain,decimals:y.BaseDecimal[y.Chain.THORChain]},tcy:{asset:"THOR.TCY",decimals:y.BaseDecimal[y.Chain.THORChain]},"x/kuji":{asset:"THOR.KUJI",decimals:y.BaseDecimal[y.Chain.THORChain]},uatom:{chain:y.Chain.Cosmos,decimals:y.BaseDecimal[y.Chain.Cosmos]},atom:{chain:y.Chain.Cosmos,decimals:y.BaseDecimal[y.Chain.Cosmos]},cacao:{chain:y.Chain.Maya,decimals:10},maya:{asset:`${y.Chain.Maya}.${y.Chain.Maya}`,decimals:4},ukuji:{chain:y.Chain.Kujira,decimals:y.BaseDecimal[y.Chain.Kujira]},kuji:{chain:y.Chain.Kujira,decimals:y.BaseDecimal[y.Chain.Kujira]},[e.toLowerCase()]:{asset:`${y.Chain.Kujira}.USK`,decimals:y.BaseDecimal[y.Chain.Kujira]}},a=(o,r)=>{let t=Xo[o.toLowerCase()];if(!t)return y.AssetValue.from({asset:o,value:r,fromBaseDecimal:8});let{chain:f,asset:p,decimals:w}=t,x=f?{chain:f}:{asset:p};return y.AssetValue.from({...x,value:r,fromBaseDecimal:w})};var Co=require("@swapkit/helpers");async function G(){let{$root:o}=await import("../../chunk-4yap1fvd.js"),{Registry:r}=(await import("@cosmjs/proto-signing")).default,{defaultRegistryTypes:t}=(await import("@cosmjs/stargate")).default;return new r([...t,["/types.MsgSend",o.types.MsgSend],["/types.MsgDeposit",o.types.MsgDeposit]])}async function k(o){let{AminoTypes:r}=(await import("@cosmjs/stargate")).default,t=o===Co.Chain.THORChain?"thorchain":"mayachain";return new r({"/types.MsgSend":{aminoType:`${t}/MsgSend`,toAmino:({fromAddress:f,toAddress:p,...w})=>({...w,from_address:K(f),to_address:K(p)}),fromAmino:({from_address:f,to_address:p,...w})=>({...w,fromAddress:Y(f),toAddress:Y(p)})},"/types.MsgDeposit":{aminoType:`${t}/MsgDeposit`,toAmino:({signer:f,...p})=>({...p,signer:K(f)}),fromAmino:({signer:f,...p})=>({...p,signer:Y(f)})}})}var Go=j(R.Chain.THORChain).gas,Fo=j(R.Chain.Maya).gas,oo=({sender:o,recipient:r,assetValue:t})=>{return{type:`${t.chain===R.Chain.Maya?"mayachain":"thorchain"}/MsgSend`,value:{from_address:o,to_address:r,amount:[{amount:t.getBaseValue("string"),denom:P(t.symbol,!0)}]}}},to=({sender:o,assetValue:r,memo:t=""})=>{return{type:`${r.chain===R.Chain.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:r.getBaseValue("string"),asset:O(r)}],signer:o,memo:t}}},M=({sender:o,recipient:r,assetValue:t,memo:f})=>{return!r?to({sender:o,assetValue:t,memo:f}):oo({sender:o,recipient:r,assetValue:t})},Z=async(o,r)=>{return(await k(r)).fromAmino(o)},$o=async({rpcUrl:o,sender:r})=>{let f=await(await I(o)).getAccount(r);if(!f)throw new R.SwapKitError("toolbox_cosmos_account_not_found",{sender:r});return f};function ro(o){return function r(t){let{assetValue:f,recipient:p,memo:w,sender:x,asSignable:C,asAminoMessage:u}=t;if(p)return co(o)({sender:x,recipient:p,assetValue:f,memo:w,asSignable:C,asAminoMessage:u});return mo(o)({sender:x,assetValue:f,memo:w,asSignable:C,asAminoMessage:u})}}var co=(o)=>async({sender:r,recipient:t,assetValue:f,memo:p="",asSignable:w=!0,asAminoMessage:x=!1,sequence:C,accountNumber:u})=>{let m=await $o({rpcUrl:o,sender:r}),c=f.chain,T=oo({sender:r,recipient:t,assetValue:f}),_=w?await Z(x?T:A(T),c):T;return{chainId:R.ChainToChainId[c],accountNumber:u||m.accountNumber,sequence:C||m.sequence,msgs:[_],fee:j(f.chain),memo:p}},mo=(o)=>async({sender:r,assetValue:t,memo:f="",asSignable:p=!0,asAminoMessage:w=!1,sequence:x,accountNumber:C})=>{let u=await $o({rpcUrl:o,sender:r}),m=t.chain,c=to({sender:r,assetValue:t,memo:f}),T=p?await Z(w?c:A(c),m):c;return{chainId:R.ChainToChainId[m],accountNumber:C||u.accountNumber,sequence:x||u.sequence,msgs:[T],fee:j(t.chain),memo:f}};function A(o){if(o.type==="thorchain/MsgSend"||o.type==="mayachain/MsgSend")return o;return{...o,value:{...o.value,coins:o.value.coins.map((r)=>{let t=R.AssetValue.from({asset:r.asset}),f=(t.isSynthetic?t.symbol.split("/")?.[1]:t.symbol)?.toUpperCase(),p=(t.isSynthetic?t.symbol.split("/")?.[0]:t.chain)?.toUpperCase();return{...r,asset:{chain:p,symbol:f,ticker:t.ticker,synth:t.isSynthetic}}})}}}async function N({chain:o,memo:r,msgs:t}){let f=await G(),p=await k(o),w={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:r,messages:t.map((x)=>p.fromAmino(x))}};return f.encode(w)}var F=require("@swapkit/helpers");var Q=require("@scure/base"),n=require("@swapkit/helpers"),po=require("@swapkit/helpers/api"),S=require("ts-pattern");async function no(o,r){try{let f=(await po.SwapKitApi.getGasRate()).find((p)=>p.chainId===o)?.value;return f?Number.parseFloat(f):r}catch(t){return r}}async function fo({phrase:o,prefix:r,...t}){let{DirectSecp256k1HdWallet:f}=(await import("@cosmjs/proto-signing")).default,{stringToPath:p}=(await import("@cosmjs/crypto")).default,w="derivationPath"in t?t.derivationPath:`${n.DerivationPath[t.chain]}/${t.index}`;return f.fromMnemonic(o,{prefix:r,hdPaths:[p(w)]})}async function Jo({privateKey:o,prefix:r}){let{DirectSecp256k1Wallet:t}=(await import("@cosmjs/proto-signing")).default;return t.fromKey(o,r)}var _o={[n.Chain.Cosmos]:500,[n.Chain.Kujira]:1000,[n.Chain.THORChain]:5000000,[n.Chain.Maya]:5000000};function Ho(o){return async function r({signature:t,message:f,address:p}){let w=await o(p);if(!w?.pubkey)throw new n.SwapKitError("toolbox_cosmos_verify_signature_no_pubkey");let{Secp256k1Signature:x,Secp256k1:C}=(await import("@cosmjs/crypto")).default,u=x.fromFixedLength(Q.base64.decode(t));return C.verifySignature(u,Q.base64.decode(f),w.pubkey.value)}}async function D({chain:o,...r}){let t=n.SKConfig.get("rpcUrls")[o],f=n.CosmosChainPrefixes[o],p="index"in r?r.index||0:0,w=n.derivationPathToString("derivationPath"in r&&r.derivationPath?r.derivationPath:n.updateDerivationPath(n.NetworkDerivationPath[o],{index:p})),x=await S.match(r).with({phrase:S.P.string},({phrase:T})=>fo({phrase:T,prefix:f,derivationPath:w})).with({signer:S.P.any},({signer:T})=>T).otherwise(()=>{return});async function C(T){return(await I(t)).getAccount(T)}async function u(){let[T]=await x?.getAccounts()||[];return T?.address}async function m(){let[T]=await x?.getAccounts()||[];if(!T?.pubkey)throw new n.SwapKitError("toolbox_cosmos_signer_not_defined");return Q.base64.encode(T?.pubkey)}async function c({recipient:T,assetValue:_,memo:H="",feeRate:v,feeOptionKey:i=n.FeeOption.Fast}){let W=await u();if(!(x&&W))throw new n.SwapKitError("toolbox_cosmos_signer_not_defined");let z=n.AssetValue.from({chain:o}),B=O(z),h=v||No((await io(o,_o[o]))[i],B),b=await q(t,x),V=[{denom:P(`u${_.symbol}`).toLowerCase(),amount:_.getBaseValue("string")}],{transactionHash:J}=await b.sendTokens(W,T,V,h,H);return J}return{transfer:c,getAddress:u,getAccount:C,getBalance:async(T,_)=>{let H=await Wo(t)(T);return await Promise.all(H.filter(({denom:v})=>v&&!v.includes("IBC/")).map(({denom:v,amount:i})=>{let W=[n.Chain.THORChain,n.Chain.Maya].includes(o)&&(v.includes("/")||v.includes("˜"))?`${o}.${v}`:v;return a(W,i)}))},getSignerFromPhrase:async({phrase:T,derivationPath:_})=>fo({phrase:T,prefix:f,derivationPath:n.derivationPathToString(_),index:p}),getSignerFromPrivateKey:async(T)=>{let{DirectSecp256k1Wallet:_}=(await import("@cosmjs/proto-signing")).default;return _.fromKey(T,f)},createPrivateKeyFromPhrase:Do(w),validateAddress:Ro(f),getPubKey:m,getFees:()=>io(o,_o[o]),fetchFeeRateFromSwapKit:no,getBalanceAsDenoms:Wo(t),createTransaction:l,verifySignature:Ho(C)}}async function Yo(o,r){try{let f=(await po.SwapKitApi.getGasRate()).find((p)=>p.chainId===o)?.value;return f?Number.parseFloat(f):r}catch(t){return r}}function Ko({address:o,chain:r,prefix:t}){let f=t||qo(r);if(!(f&&o))throw new n.SwapKitError("toolbox_cosmos_validate_address_prefix_not_found");return Ro(f)(o)}function Oo({assetValue:{chain:o}}){return n.AssetValue.from({chain:o,value:So(o)})}function qo(o){let{isStagenet:r}=n.SKConfig.get("envs"),t=o?[n.Chain.THORChain,n.Chain.Maya].includes(o)&&r:!1,f=o?n.CosmosChainPrefixes[o]:void 0;return t?`s${f}`:f}async function io(o,r){let t=await no(n.ChainToChainId[o],r);return{average:n.SwapKitNumber.fromBigInt(BigInt(t),n.BaseDecimal[o]),fast:n.SwapKitNumber.fromBigInt(BigInt(n.applyFeeMultiplier(t,n.FeeOption.Fast,!0)),n.BaseDecimal[o]),fastest:n.SwapKitNumber.fromBigInt(BigInt(n.applyFeeMultiplier(t,n.FeeOption.Fastest,!0)),n.BaseDecimal[o])}}function No(o,r){return{amount:[{denom:r,amount:o.getBaseValue("string")}],gas:"200000"}}function So(o){return{[n.Chain.Cosmos]:0.007,[n.Chain.Kujira]:0.02,[n.Chain.THORChain]:0.02,[n.Chain.Maya]:0.02}[o]||0}function Ro(o){return function r(t){if(!t.startsWith(o))return!1;try{let{prefix:f,words:p}=Q.bech32.decode(t);return Q.bech32.encode(f,p)===t.toLocaleLowerCase()}catch(f){return!1}}}function Wo(o){return async function r(t){return(await(await I(o)).getAllBalances(t)).map((x)=>({...x,denom:x.denom.includes("/")?x.denom.toUpperCase():x.denom}))}}function Do(o){return async function r(t){let{Bip39:f,EnglishMnemonic:p,Slip10:w,Slip10Curve:x,stringToPath:C}=(await import("@cosmjs/crypto")).default,u=new p(t),m=await f.mnemonicToSeed(u),{privkey:c}=w.derivePath(x.Secp256k1,m,C(o));return c}}var X=require("@scure/base"),d=require("@swapkit/helpers"),E=require("ts-pattern");function Eo({prefix:o,derivationPath:r}){return async function t(f,p=0){let{Secp256k1HdWallet:w}=(await import("@cosmjs/amino")).default,{stringToPath:x}=(await import("@cosmjs/crypto")).default;return w.fromMnemonic(f,{hdPaths:[x(`${r}/${p}`)],prefix:o})}}function Uo(o){return X.base64.encode(o)}function Mo(o){return async function r({wallet:t,tx:f}){let{msgs:p,accountNumber:w,sequence:x,chainId:C,fee:u,memo:m}=typeof f==="string"?JSON.parse(f):f,c=(await t.getAccounts())?.[0]?.address||"",T=await k(o),_=await G(),H=await s(t,{registry:_,aminoTypes:T}),v=[];for(let z of p){let B=await Z(z,o);v.push(B)}let{signatures:[i]}=await H.sign(c,v,u,m,{accountNumber:w,sequence:x,chainId:C}),W=await N({chain:o,memo:m,msgs:p.map(A)});return{signature:Uo(i),bodyBytes:W}}}function ho({prefix:o,rpcUrl:r}){return async function t(f,p,w,x,C){let{encodeSecp256k1Pubkey:u,pubkeyToAddress:m}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:c}=(await import("@cosmjs/stargate")).default,{sequence:T,fee:_}=JSON.parse(f),H=await jo(w,x),v=p.map((z)=>[m(u(X.base64.decode(z.pubKey)),o),X.base64.decode(z.signature)]),i=await I(r),{transactionHash:W}=await i.broadcastTx(c(H,T,_,C,new Map(v)));return W}}async function jo(o,r,t=!0){let{createMultisigThresholdPubkey:f,encodeSecp256k1Pubkey:p}=(await import("@cosmjs/amino")).default;return f(o.map((w)=>p(X.base64.decode(w))),r,t)}function bo(o){return X.base64.decode(o)}async function Vo({privateKey:o,message:r}){let{Secp256k1:t}=(await import("@cosmjs/crypto")).default,f=await t.createSignature(X.base64.decode(r),o);return X.base64.encode(Buffer.concat([f.r(32),f.s(32)]))}async function yo({chain:o,...r}){let t=d.SKConfig.get("nodeUrls")[o],f=d.SKConfig.get("rpcUrls")[o],{isStagenet:p}=d.SKConfig.get("envs"),w=o===d.Chain.THORChain,x=`${p?"s":""}${d.CosmosChainPrefixes[o]}`,C="index"in r?r.index||0:0,u="derivationPath"in r&&r.derivationPath?r.derivationPath:d.updateDerivationPath(d.NetworkDerivationPath[o],{index:C}),m=await D({chain:o,...r}),c=await E.match(r).with({phrase:E.P.string},({phrase:v})=>m.getSignerFromPhrase({phrase:v,derivationPath:u})).with({signer:E.P.any},({signer:v})=>v).otherwise(()=>{return}),T=j(o);async function _(){let v,i=`${t}/${w?"thorchain":"mayachain"}/constants`;try{let{int_64_values:{NativeTransactionFee:W}}=await d.RequestClient.get(i);if(!W||Number.isNaN(W)||W<0)throw new d.SwapKitError("toolbox_cosmos_invalid_fee",{nativeFee:W.toString()});v=new d.SwapKitNumber(W)}catch{v=new d.SwapKitNumber({value:w?0.02:1,decimal:d.BaseDecimal[o]})}return{[d.FeeOption.Average]:v,[d.FeeOption.Fast]:v,[d.FeeOption.Fastest]:v}}async function H({assetValue:v,memo:i="",recipient:W}){let{TxRaw:z}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),B=(await c?.getAccounts())?.[0]?.address;if(!(B&&c))throw new d.SwapKitError("toolbox_cosmos_no_signer");let h="signAmino"in c,b=await G(),V=await k(o),J=await q(f,c,{registry:b,aminoTypes:V}),g=M({assetValue:v,sender:B,recipient:W,memo:i});if(h){let Bo=await Z(g,o),{signatures:Lo,authInfoBytes:Po}=await J.sign(B,[Bo],T,i),ko=z.encode({signatures:Lo,authInfoBytes:Po,bodyBytes:await N({chain:o,msgs:[g].map(A),memo:i})}).finish();return(await J.broadcastTx(ko)).transactionHash}let Io=A(g),zo=await Z(Io,o);return(await J.signAndBroadcast(B,[zo],T,i)).transactionHash}return{...m,broadcastMultisigTx:ho({prefix:x,rpcUrl:f}),buildAminoMsg:M,buildEncodedTxBody:N,convertToSignable:Z,createDefaultAminoTypes:()=>k(o),createDefaultRegistry:G,createMultisig:jo,createTransaction:ro(f),deposit:H,getFees:_,importSignature:bo,parseAminoMessageForDirectSigning:A,secp256k1HdWalletFromMnemonic:Eo({derivationPath:d.derivationPathToString(u),prefix:x}),signMultisigTx:Mo(o),signWithPrivateKey:Vo,transfer:H,pubkeyToAddress:async(v)=>{let{pubkeyToAddress:i}=(await import("@cosmjs/amino")).default;return i(v,x)}}}var go=(o,r)=>{switch(o){case F.Chain.Cosmos:case F.Chain.Kujira:return D({chain:o,...r});case F.Chain.Maya:case F.Chain.THORChain:return yo({chain:o,...r});default:throw new F.SwapKitError("toolbox_cosmos_not_supported",{chain:o})}};
2
+
3
+ //# debugId=EDFA2188BA149E9E64756E2164756E21
@@ -0,0 +1,16 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/cosmos/thorchainUtils/addressFormat.ts", "../src/cosmos/thorchainUtils/messages.ts", "../src/cosmos/util.ts", "../src/cosmos/thorchainUtils/registry.ts", "../src/cosmos/toolbox/index.ts", "../src/cosmos/toolbox/cosmos.ts", "../src/cosmos/toolbox/thorchain.ts"],
4
+ "sourcesContent": [
5
+ "import { base64, bech32 } from \"@scure/base\";\nimport { SwapKitError } from \"@swapkit/helpers\";\nimport { fromByteArray, toByteArray } from \"base64-js\";\n\nexport function bech32ToBase64(address: string) {\n return base64.encode(\n Uint8Array.from(bech32.fromWords(bech32.decode(address as `${string}1${string}`).words)),\n );\n}\n\nexport function base64ToBech32(address: string, prefix = \"thor\") {\n return bech32.encode(prefix, bech32.toWords(base64.decode(address)));\n}\n\nexport function toBase64(data: Uint8Array) {\n return fromByteArray(data);\n}\n\nexport function fromBase64(base64String: string) {\n if (!base64String.match(/^[a-zA-Z0-9+/]*={0,2}$/)) {\n throw new SwapKitError(\"toolbox_cosmos_invalid_params\", {\n error: \"Invalid base64 string format\",\n });\n }\n return toByteArray(base64String);\n}\n",
6
+ "import type { TxBodyEncodeObject } from \"@cosmjs/proto-signing\";\nimport { AssetValue, Chain, ChainToChainId, SwapKitError } from \"@swapkit/helpers\";\n\nimport {\n createStargateClient,\n getDefaultChainFee,\n getDenomWithChain,\n getMsgSendDenom,\n} from \"../util\";\n\nimport { createDefaultAminoTypes, createDefaultRegistry } from \"./registry\";\nimport type { ThorchainCreateTransactionParams } from \"./types\";\n\ntype MsgSend = ReturnType<typeof transferMsgAmino>;\ntype MsgDeposit = ReturnType<typeof depositMsgAmino>;\ntype DirectMsgSendForBroadcast = ReturnType<typeof parseAminoMessageForDirectSigning<MsgSend>>;\ntype DirectMsgDepositForBroadcast = ReturnType<\n typeof parseAminoMessageForDirectSigning<MsgDeposit>\n>;\n\nexport const THORCHAIN_GAS_VALUE = getDefaultChainFee(Chain.THORChain).gas;\nexport const MAYA_GAS_VALUE = getDefaultChainFee(Chain.Maya).gas;\n\nexport const transferMsgAmino = ({\n sender,\n recipient,\n assetValue,\n}: {\n sender: string;\n recipient?: string;\n assetValue: AssetValue;\n}) => {\n const chain = assetValue.chain as Chain.THORChain | Chain.Maya;\n return {\n type: `${chain === Chain.Maya ? \"mayachain\" : \"thorchain\"}/MsgSend` as const,\n value: {\n from_address: sender,\n to_address: recipient,\n amount: [\n {\n amount: assetValue.getBaseValue(\"string\"),\n denom: getMsgSendDenom(assetValue.symbol, true),\n },\n ],\n },\n };\n};\n\nexport const depositMsgAmino = ({\n sender,\n assetValue,\n memo = \"\",\n}: {\n sender: string;\n assetValue: AssetValue;\n memo?: string;\n}) => {\n const chain = assetValue.chain as Chain.THORChain | Chain.Maya;\n return {\n type: `${chain === Chain.Maya ? \"mayachain\" : \"thorchain\"}/MsgDeposit` as const,\n value: {\n coins: [\n {\n amount: assetValue.getBaseValue(\"string\"),\n asset: getDenomWithChain(assetValue),\n },\n ],\n signer: sender,\n memo,\n },\n };\n};\n\nexport const buildAminoMsg = ({\n sender,\n recipient,\n assetValue,\n memo,\n}: {\n sender: string;\n recipient?: string;\n assetValue: AssetValue;\n memo?: string;\n}) => {\n const isDeposit = !recipient;\n const msg = isDeposit\n ? depositMsgAmino({ sender, assetValue, memo })\n : transferMsgAmino({ sender, recipient, assetValue });\n\n return msg;\n};\n\nexport const convertToSignable = async (\n msg: MsgSend | MsgDeposit,\n chain: Chain.THORChain | Chain.Maya,\n) => {\n const aminoTypes = await createDefaultAminoTypes(chain);\n\n return aminoTypes.fromAmino(msg);\n};\n\nconst getAccount = async ({ rpcUrl, sender }: { sender: string; rpcUrl: string }) => {\n const client = await createStargateClient(rpcUrl);\n const account = await client.getAccount(sender);\n\n if (!account) {\n throw new SwapKitError(\"toolbox_cosmos_account_not_found\", { sender });\n }\n\n return account;\n};\n\nexport function getCreateTransaction(rpcUrl: string) {\n return function createTransaction(params: ThorchainCreateTransactionParams) {\n const { assetValue, recipient, memo, sender, asSignable, asAminoMessage } = params;\n\n if (recipient) {\n return buildTransferTx(rpcUrl)({\n sender,\n recipient,\n assetValue,\n memo,\n asSignable,\n asAminoMessage,\n });\n }\n\n return buildDepositTx(rpcUrl)({\n sender,\n assetValue,\n memo,\n asSignable,\n asAminoMessage,\n });\n };\n}\n\nexport const buildTransferTx =\n (rpcUrl: string) =>\n async ({\n sender,\n recipient,\n assetValue,\n memo = \"\",\n asSignable = true,\n asAminoMessage = false,\n sequence,\n accountNumber,\n }: ThorchainCreateTransactionParams) => {\n const account = await getAccount({ rpcUrl, sender });\n const chain = assetValue.chain as Chain.THORChain | Chain.Maya;\n\n const transferMsg = transferMsgAmino({\n sender,\n recipient,\n assetValue,\n });\n\n const msg = asSignable\n ? await convertToSignable(\n asAminoMessage ? transferMsg : parseAminoMessageForDirectSigning(transferMsg),\n chain,\n )\n : transferMsg;\n\n const transaction = {\n chainId: ChainToChainId[chain],\n accountNumber: accountNumber || account.accountNumber,\n sequence: sequence || account.sequence,\n msgs: [msg],\n fee: getDefaultChainFee(assetValue.chain as Chain.THORChain | Chain.Maya),\n memo,\n };\n\n return transaction;\n };\n\nexport const buildDepositTx =\n (rpcUrl: string) =>\n async ({\n sender,\n assetValue,\n memo = \"\",\n asSignable = true,\n asAminoMessage = false,\n sequence,\n accountNumber,\n }: ThorchainCreateTransactionParams) => {\n const account = await getAccount({ rpcUrl, sender });\n const chain = assetValue.chain as Chain.THORChain | Chain.Maya;\n\n const depositMsg = depositMsgAmino({ sender, assetValue, memo });\n\n const msg = asSignable\n ? await convertToSignable(\n asAminoMessage ? depositMsg : parseAminoMessageForDirectSigning<MsgDeposit>(depositMsg),\n chain,\n )\n : depositMsg;\n\n const transaction = {\n chainId: ChainToChainId[chain],\n accountNumber: accountNumber || account.accountNumber,\n sequence: sequence || account.sequence,\n msgs: [msg],\n fee: getDefaultChainFee(assetValue.chain as Chain.THORChain | Chain.Maya),\n memo,\n };\n\n return transaction;\n };\n\nexport function parseAminoMessageForDirectSigning<T extends MsgDeposit | MsgSend>(msg: T) {\n if (msg.type === \"thorchain/MsgSend\" || msg.type === \"mayachain/MsgSend\") return msg as MsgSend;\n\n return {\n ...msg,\n value: {\n ...msg.value,\n coins: (msg as MsgDeposit).value.coins.map((coin: { asset: string; amount: string }) => {\n const assetValue = AssetValue.from({ asset: coin.asset });\n\n const symbol = (\n assetValue.isSynthetic ? assetValue.symbol.split(\"/\")?.[1] : assetValue.symbol\n )?.toUpperCase();\n const chain = (\n assetValue.isSynthetic ? assetValue.symbol.split(\"/\")?.[0] : assetValue.chain\n )?.toUpperCase();\n\n return {\n ...coin,\n asset: {\n chain,\n symbol,\n ticker: assetValue.ticker,\n synth: assetValue.isSynthetic,\n },\n };\n }),\n },\n };\n}\n\nexport async function buildEncodedTxBody({\n chain,\n memo,\n msgs,\n}: {\n msgs: DirectMsgDepositForBroadcast[] | DirectMsgSendForBroadcast[];\n memo: string;\n chain: Chain.THORChain | Chain.Maya;\n}) {\n const registry = await createDefaultRegistry();\n const aminoTypes = await createDefaultAminoTypes(chain);\n\n const signedTxBody: TxBodyEncodeObject = {\n typeUrl: \"/cosmos.tx.v1beta1.TxBody\",\n value: { memo, messages: msgs.map((msg) => aminoTypes.fromAmino(msg)) },\n };\n\n return registry.encode(signedTxBody);\n}\n",
7
+ "import type { OfflineSigner } from \"@cosmjs/proto-signing\";\nimport type { SigningStargateClientOptions } from \"@cosmjs/stargate\";\nimport {\n AssetValue,\n BaseDecimal,\n Chain,\n ChainId,\n type CosmosChain,\n SKConfig,\n SwapKitError,\n} from \"@swapkit/helpers\";\n\nimport type { CosmosCreateTransactionParams } from \"./thorchainUtils\";\n\nexport const USK_KUJIRA_FACTORY_DENOM =\n \"FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK\";\n\nexport const YUM_KUJIRA_FACTORY_DENOM =\n \"FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM\";\n\nexport const DEFAULT_COSMOS_FEE_MAINNET = {\n amount: [{ denom: \"uatom\", amount: \"500\" }],\n gas: \"200000\",\n};\n\nexport const DEFAULT_KUJI_FEE_MAINNET = {\n amount: [{ denom: \"ukuji\", amount: \"1000\" }],\n gas: \"200000\",\n};\n\nexport function getDefaultChainFee(chain: CosmosChain) {\n switch (chain) {\n case Chain.Maya:\n return { amount: [], gas: \"10000000000\" };\n case Chain.THORChain:\n return { amount: [], gas: \"500000000\" };\n case Chain.Kujira:\n return DEFAULT_KUJI_FEE_MAINNET;\n default:\n return DEFAULT_COSMOS_FEE_MAINNET;\n }\n}\n\nexport const getMsgSendDenom = (symbol: string, isThorchain = false) => {\n if (isThorchain) {\n return symbol.toLowerCase();\n }\n\n switch (symbol) {\n case \"uUSK\":\n case \"USK\":\n return USK_KUJIRA_FACTORY_DENOM;\n case \"uYUM\":\n case \"YUM\":\n return YUM_KUJIRA_FACTORY_DENOM;\n case \"uKUJI\":\n case \"KUJI\":\n return \"ukuji\";\n case \"ATOM\":\n case \"uATOM\":\n return \"uatom\";\n default:\n return symbol;\n }\n};\n\nexport const getDenomWithChain = ({ symbol, chain }: AssetValue) => {\n if (chain === Chain.Maya) {\n return (symbol.toUpperCase() !== \"CACAO\" ? symbol : `${Chain.Maya}.${symbol}`).toUpperCase();\n }\n if (chain === Chain.THORChain) {\n return (\n [\"RUNE\", \"TCY\", \"RUJI\"].includes(symbol.toUpperCase())\n ? `${Chain.THORChain}.${symbol}`\n : symbol\n ).toUpperCase();\n }\n return getMsgSendDenom(symbol, false);\n};\n\nexport async function createStargateClient(url: string) {\n const { StargateClient } = await import(\"@cosmjs/stargate\");\n\n const defaultRequestHeaders =\n typeof window !== \"undefined\"\n ? ({} as Record<string, string>)\n : { referrer: \"https://sk.thorswap.net\", referer: \"https://sk.thorswap.net\" };\n\n return StargateClient.connect({\n url,\n headers: defaultRequestHeaders,\n });\n}\n\nexport async function createSigningStargateClient(\n url: string,\n signer: any,\n optionsOrBaseGas: string | SigningStargateClientOptions = {},\n) {\n const { SigningStargateClient, GasPrice } = (await import(\"@cosmjs/stargate\")).default;\n const gasPrice = typeof optionsOrBaseGas === \"string\" ? optionsOrBaseGas : \"0.0003uatom\";\n const options = typeof optionsOrBaseGas === \"string\" ? {} : optionsOrBaseGas;\n\n return SigningStargateClient.connectWithSigner(url, signer, {\n gasPrice: GasPrice.fromString(gasPrice),\n ...options,\n });\n}\n\nexport async function createOfflineStargateClient(\n wallet: OfflineSigner,\n registry?: SigningStargateClientOptions,\n) {\n const { SigningStargateClient } = (await import(\"@cosmjs/stargate\")).default;\n\n return SigningStargateClient.offline(wallet, registry);\n}\n\nexport const getRPC = (chainId: ChainId) => {\n const { isStagenet } = SKConfig.get(\"envs\");\n const rpcUrls = SKConfig.get(\"rpcUrls\");\n\n switch (chainId) {\n case ChainId.Kujira:\n return rpcUrls.KUJI;\n\n case ChainId.THORChain:\n case \"thorchain-mainnet-v1\" as ChainId:\n return isStagenet ? rpcUrls.THOR_STAGENET : rpcUrls.THOR;\n case ChainId.Maya:\n return isStagenet ? rpcUrls.MAYA_STAGENET : rpcUrls.MAYA;\n\n default:\n return rpcUrls.GAIA;\n }\n};\n\nconst getTransferMsgTypeByChain = (chain: CosmosChain) => {\n switch (chain) {\n case Chain.Maya:\n case Chain.THORChain:\n return \"/types.MsgSend\";\n case Chain.Cosmos:\n case Chain.Kujira:\n return \"/cosmos.bank.v1beta1.MsgSend\";\n default:\n throw new SwapKitError(\"toolbox_cosmos_not_supported\", { chain });\n }\n};\n\n/**\n * Used to build tx for Cosmos and Kujira\n */\nexport const cosmosCreateTransaction = async ({\n sender,\n recipient,\n assetValue,\n memo = \"\",\n feeRate,\n sequence,\n accountNumber,\n}: CosmosCreateTransactionParams) => {\n const { chain, chainId } = assetValue;\n\n const url = getRPC(chainId);\n const client = await createStargateClient(url);\n const accountOnChain = await client.getAccount(sender);\n\n if (!accountOnChain) {\n throw new SwapKitError(\"toolbox_cosmos_account_not_found\", { sender });\n }\n\n const gasAsset = AssetValue.from({ chain });\n const feeAsset = getMsgSendDenom(gasAsset.symbol);\n const defaultFee = getDefaultChainFee(chain as CosmosChain);\n\n const txFee =\n feeAsset && feeRate\n ? { amount: [{ denom: feeAsset, amount: feeRate.toString() }], gas: defaultFee.gas }\n : defaultFee;\n\n const msgSend = {\n fromAddress: sender,\n toAddress: recipient,\n amount: [\n { amount: assetValue.getBaseValue(\"string\"), denom: getMsgSendDenom(assetValue.symbol) },\n ],\n };\n\n return {\n accountNumber: accountNumber ?? accountOnChain.accountNumber,\n chainId,\n fee: txFee,\n memo,\n sequence: sequence ?? accountOnChain.sequence,\n msgs: [{ typeUrl: getTransferMsgTypeByChain(chain as CosmosChain), value: msgSend }],\n };\n};\n\n// Map of known denoms to their asset configurations\nconst DENOM_MAP = {\n // THORChain denoms\n rune: { chain: Chain.THORChain, decimals: BaseDecimal[Chain.THORChain] },\n tcy: { asset: \"THOR.TCY\", decimals: BaseDecimal[Chain.THORChain] },\n \"x/kuji\": { asset: \"THOR.KUJI\", decimals: BaseDecimal[Chain.THORChain] },\n\n // Cosmos denoms\n uatom: { chain: Chain.Cosmos, decimals: BaseDecimal[Chain.Cosmos] },\n atom: { chain: Chain.Cosmos, decimals: BaseDecimal[Chain.Cosmos] },\n\n // Maya denoms\n cacao: { chain: Chain.Maya, decimals: 10 }, // Maya uses 10 decimals for CACAO\n maya: { asset: `${Chain.Maya}.${Chain.Maya}`, decimals: 4 }, // MAYA token uses 4 decimals\n\n // Kujira denoms\n ukuji: { chain: Chain.Kujira, decimals: BaseDecimal[Chain.Kujira] },\n kuji: { chain: Chain.Kujira, decimals: BaseDecimal[Chain.Kujira] },\n\n // USK on Kujira (lowercase version of the factory denom)\n [USK_KUJIRA_FACTORY_DENOM.toLowerCase()]: {\n asset: `${Chain.Kujira}.USK`,\n decimals: BaseDecimal[Chain.Kujira],\n },\n};\n\n/**\n * Converts a Cosmos denom and amount to an AssetValue with proper decimal handling\n * @param denom - The denomination string\n * @param amount - The amount in base units as a string\n * @returns AssetValue with the correct decimal conversion\n */\nexport const getAssetFromDenom = (denom: string, amount: string) => {\n const config = DENOM_MAP[denom.toLowerCase()];\n\n if (!config) {\n // For unknown denoms, default to 8 decimals (common for many Cosmos chains)\n // This preserves the original behavior while using fromBaseDecimal\n return AssetValue.from({\n asset: denom,\n value: amount,\n fromBaseDecimal: 8,\n });\n }\n\n const { chain, asset, decimals } = config;\n\n const assetOrChain = (\n chain\n ? {\n chain,\n }\n : { asset }\n ) as { asset: string } | { chain: CosmosChain };\n\n return AssetValue.from({\n ...assetOrChain,\n value: amount,\n fromBaseDecimal: decimals,\n });\n};\n",
8
+ "import { Chain } from \"@swapkit/helpers\";\nimport { base64ToBech32, bech32ToBase64 } from \"./addressFormat\";\n\nexport async function createDefaultRegistry() {\n const { $root } = await import(\"./types/MsgCompiled\");\n const { Registry } = (await import(\"@cosmjs/proto-signing\")).default;\n const { defaultRegistryTypes } = (await import(\"@cosmjs/stargate\")).default;\n\n return new Registry([\n ...defaultRegistryTypes,\n [\"/types.MsgSend\", $root.types.MsgSend],\n [\"/types.MsgDeposit\", $root.types.MsgDeposit],\n ]);\n}\n\nexport async function createDefaultAminoTypes(chain: Chain.THORChain | Chain.Maya) {\n const { AminoTypes } = (await import(\"@cosmjs/stargate\")).default;\n const aminoTypePrefix = chain === Chain.THORChain ? \"thorchain\" : \"mayachain\";\n\n return new AminoTypes({\n \"/types.MsgSend\": {\n aminoType: `${aminoTypePrefix}/MsgSend`,\n toAmino: ({ fromAddress, toAddress, ...rest }: any) => ({\n ...rest,\n from_address: base64ToBech32(fromAddress),\n to_address: base64ToBech32(toAddress),\n }),\n fromAmino: ({ from_address, to_address, ...rest }: any) => ({\n ...rest,\n fromAddress: bech32ToBase64(from_address),\n toAddress: bech32ToBase64(to_address),\n }),\n },\n \"/types.MsgDeposit\": {\n aminoType: `${aminoTypePrefix}/MsgDeposit`,\n toAmino: ({ signer, ...rest }: any) => ({ ...rest, signer: base64ToBech32(signer) }),\n fromAmino: ({ signer, ...rest }: any) => ({ ...rest, signer: bech32ToBase64(signer) }),\n },\n });\n}\n",
9
+ "import { Chain, type CosmosChain, SwapKitError } from \"@swapkit/helpers\";\n\nimport type { CosmosToolboxParams } from \"../types\";\nimport { createCosmosToolbox } from \"./cosmos\";\nimport { createThorchainToolbox } from \"./thorchain\";\n\nexport type CosmosToolboxes = {\n GAIA: ReturnType<typeof createCosmosToolbox>;\n KUJI: ReturnType<typeof createCosmosToolbox>;\n MAYA: ReturnType<typeof createThorchainToolbox>;\n THOR: ReturnType<typeof createThorchainToolbox>;\n};\n\nexport const getCosmosToolbox = <T extends CosmosChain>(\n chain: T,\n params?: Omit<CosmosToolboxParams, \"chain\">,\n): CosmosToolboxes[T] => {\n switch (chain) {\n case Chain.Cosmos:\n case Chain.Kujira:\n return createCosmosToolbox({ chain, ...params }) as CosmosToolboxes[T];\n\n case Chain.Maya:\n case Chain.THORChain:\n return createThorchainToolbox({ chain, ...params }) as CosmosToolboxes[T];\n\n default:\n throw new SwapKitError(\"toolbox_cosmos_not_supported\", { chain });\n }\n};\n\nexport * from \"./cosmos\";\nexport * from \"./thorchain\";\n",
10
+ "import type { StdFee } from \"@cosmjs/amino\";\nimport type { Account } from \"@cosmjs/stargate\";\nimport { base64, bech32 } from \"@scure/base\";\nimport {\n AssetValue,\n BaseDecimal,\n Chain,\n type ChainId,\n ChainToChainId,\n type CosmosChain,\n CosmosChainPrefixes,\n DerivationPath,\n type DerivationPathArray,\n FeeOption,\n type GenericTransferParams,\n NetworkDerivationPath,\n SKConfig,\n SwapKitError,\n SwapKitNumber,\n applyFeeMultiplier,\n derivationPathToString,\n updateDerivationPath,\n} from \"@swapkit/helpers\";\nimport { SwapKitApi } from \"@swapkit/helpers/api\";\nimport { P, match } from \"ts-pattern\";\nimport type { CosmosToolboxParams } from \"../types\";\nimport {\n cosmosCreateTransaction,\n createSigningStargateClient,\n createStargateClient,\n getAssetFromDenom,\n getDenomWithChain,\n getMsgSendDenom,\n} from \"../util\";\n\nexport async function fetchFeeRateFromSwapKit(chainId: ChainId, safeDefault: number) {\n try {\n const response = await SwapKitApi.getGasRate();\n const responseGasRate = response.find((gas) => gas.chainId === chainId)?.value;\n\n return responseGasRate ? Number.parseFloat(responseGasRate) : safeDefault;\n } catch (_e) {\n return safeDefault;\n }\n}\n\nexport async function getSignerFromPhrase({\n phrase,\n prefix,\n ...derivationParams\n}: { phrase: string; prefix?: string } & (\n | { chain: Chain; index?: number }\n | { derivationPath: string }\n)) {\n const { DirectSecp256k1HdWallet } = (await import(\"@cosmjs/proto-signing\")).default;\n const { stringToPath } = (await import(\"@cosmjs/crypto\")).default;\n\n const derivationPath =\n \"derivationPath\" in derivationParams\n ? derivationParams.derivationPath\n : `${DerivationPath[derivationParams.chain]}/${derivationParams.index}`;\n\n return DirectSecp256k1HdWallet.fromMnemonic(phrase, {\n prefix,\n hdPaths: [stringToPath(derivationPath)],\n });\n}\n\nexport async function getSignerFromPrivateKey({\n privateKey,\n prefix,\n}: {\n privateKey: Uint8Array;\n prefix: string;\n}) {\n const { DirectSecp256k1Wallet } = (await import(\"@cosmjs/proto-signing\")).default;\n\n return DirectSecp256k1Wallet.fromKey(privateKey, prefix);\n}\n\nconst SafeDefaultFeeValues = {\n [Chain.Cosmos]: 500,\n [Chain.Kujira]: 1000,\n [Chain.THORChain]: 5000000,\n [Chain.Maya]: 5000000,\n};\n\nexport function verifySignature(getAccount: (address: string) => Promise<Account | null>) {\n return async function verifySignature({\n signature,\n message,\n address,\n }: {\n signature: string;\n message: string;\n address: string;\n }) {\n const account = await getAccount(address);\n if (!account?.pubkey) throw new SwapKitError(\"toolbox_cosmos_verify_signature_no_pubkey\");\n const { Secp256k1Signature, Secp256k1 } = (await import(\"@cosmjs/crypto\")).default;\n\n const secpSignature = Secp256k1Signature.fromFixedLength(base64.decode(signature));\n return Secp256k1.verifySignature(secpSignature, base64.decode(message), account.pubkey.value);\n };\n}\n\nexport async function createCosmosToolbox({ chain, ...toolboxParams }: CosmosToolboxParams) {\n const rpcUrl = SKConfig.get(\"rpcUrls\")[chain];\n const chainPrefix = CosmosChainPrefixes[chain];\n\n const index = \"index\" in toolboxParams ? toolboxParams.index || 0 : 0;\n const derivationPath = derivationPathToString(\n \"derivationPath\" in toolboxParams && toolboxParams.derivationPath\n ? toolboxParams.derivationPath\n : updateDerivationPath(NetworkDerivationPath[chain], { index }),\n );\n\n const signer = await match(toolboxParams)\n .with({ phrase: P.string }, ({ phrase }) =>\n getSignerFromPhrase({ phrase, prefix: chainPrefix, derivationPath }),\n )\n .with({ signer: P.any }, ({ signer }) => signer)\n .otherwise(() => undefined);\n\n async function getAccount(address: string) {\n const client = await createStargateClient(rpcUrl);\n return client.getAccount(address);\n }\n\n async function getAddress() {\n const [account] = (await signer?.getAccounts()) || [];\n return account?.address;\n }\n\n async function getPubKey() {\n const [account] = (await signer?.getAccounts()) || [];\n if (!account?.pubkey) {\n throw new SwapKitError(\"toolbox_cosmos_signer_not_defined\");\n }\n return base64.encode(account?.pubkey);\n }\n\n async function transfer({\n recipient,\n assetValue,\n memo = \"\",\n feeRate,\n feeOptionKey = FeeOption.Fast,\n }: GenericTransferParams) {\n const from = await getAddress();\n\n if (!(signer && from)) {\n throw new SwapKitError(\"toolbox_cosmos_signer_not_defined\");\n }\n\n const feeAssetValue = AssetValue.from({\n chain,\n });\n const assetDenom = getDenomWithChain(feeAssetValue);\n\n const txFee =\n feeRate ||\n feeToStdFee((await getFees(chain, SafeDefaultFeeValues[chain]))[feeOptionKey], assetDenom);\n\n const signingClient = await createSigningStargateClient(rpcUrl, signer);\n const message = [\n {\n denom: getMsgSendDenom(`u${assetValue.symbol}`).toLowerCase(),\n amount: assetValue.getBaseValue(\"string\"),\n },\n ];\n\n const { transactionHash } = await signingClient.sendTokens(\n from,\n recipient,\n message,\n txFee,\n memo,\n );\n\n return transactionHash;\n }\n\n return {\n transfer,\n getAddress,\n getAccount,\n getBalance: async (address: string, _potentialScamFilter?: boolean) => {\n const denomBalances = await cosmosBalanceDenomsGetter(rpcUrl)(address);\n return await Promise.all(\n denomBalances\n .filter(({ denom }) => denom && !denom.includes(\"IBC/\"))\n .map(({ denom, amount }) => {\n const fullDenom =\n [Chain.THORChain, Chain.Maya].includes(chain) &&\n (denom.includes(\"/\") || denom.includes(\"˜\"))\n ? `${chain}.${denom}`\n : denom;\n return getAssetFromDenom(fullDenom, amount);\n }),\n );\n },\n getSignerFromPhrase: async ({\n phrase,\n derivationPath,\n }: { phrase: string; derivationPath: DerivationPathArray }) =>\n getSignerFromPhrase({\n phrase,\n prefix: chainPrefix,\n derivationPath: derivationPathToString(derivationPath),\n index,\n }),\n getSignerFromPrivateKey: async (privateKey: Uint8Array) => {\n const { DirectSecp256k1Wallet } = (await import(\"@cosmjs/proto-signing\")).default;\n return DirectSecp256k1Wallet.fromKey(privateKey, chainPrefix);\n },\n createPrivateKeyFromPhrase: createPrivateKeyFromPhrase(derivationPath),\n validateAddress: getCosmosValidateAddress(chainPrefix),\n getPubKey,\n getFees: () => getFees(chain, SafeDefaultFeeValues[chain]),\n fetchFeeRateFromSwapKit,\n getBalanceAsDenoms: cosmosBalanceDenomsGetter(rpcUrl),\n createTransaction: cosmosCreateTransaction,\n verifySignature: verifySignature(getAccount),\n };\n}\n\nexport async function getFeeRateFromThorswap(chainId: ChainId, safeDefault: number) {\n try {\n const response = await SwapKitApi.getGasRate();\n const responseGasRate = response.find((gas) => gas.chainId === chainId)?.value;\n\n return responseGasRate ? Number.parseFloat(responseGasRate) : safeDefault;\n } catch (_e) {\n return safeDefault;\n }\n}\n\nexport function cosmosValidateAddress({\n address,\n chain,\n prefix: chainPrefix,\n}: { address: string } & (\n | { prefix: string; chain?: undefined }\n | { chain: CosmosChain; prefix?: undefined }\n)) {\n const prefix = chainPrefix || getPrefix(chain);\n\n if (!(prefix && address)) {\n throw new SwapKitError(\"toolbox_cosmos_validate_address_prefix_not_found\");\n }\n\n return getCosmosValidateAddress(prefix)(address);\n}\n\nexport function estimateTransactionFee({\n assetValue: { chain },\n}: {\n assetValue: AssetValue;\n}) {\n return AssetValue.from({ chain, value: getMinTransactionFee(chain) });\n}\n\nfunction getPrefix<C extends CosmosChain>(chain?: C) {\n const { isStagenet } = SKConfig.get(\"envs\");\n const useStagenetPrefix = chain\n ? [Chain.THORChain, Chain.Maya].includes(chain) && isStagenet\n : false;\n const basePrefix = chain ? CosmosChainPrefixes[chain] : undefined;\n\n return useStagenetPrefix ? `s${basePrefix}` : basePrefix;\n}\n\nasync function getFees(chain: Chain, safeDefault: number) {\n const baseFee = await fetchFeeRateFromSwapKit(ChainToChainId[chain], safeDefault);\n return {\n average: SwapKitNumber.fromBigInt(BigInt(baseFee), BaseDecimal[chain]),\n fast: SwapKitNumber.fromBigInt(\n BigInt(applyFeeMultiplier(baseFee, FeeOption.Fast, true)),\n BaseDecimal[chain],\n ),\n fastest: SwapKitNumber.fromBigInt(\n BigInt(applyFeeMultiplier(baseFee, FeeOption.Fastest, true)),\n BaseDecimal[chain],\n ),\n } as { [key in FeeOption]: SwapKitNumber };\n}\n\nfunction feeToStdFee(fee: SwapKitNumber, denom: string): StdFee {\n return {\n amount: [{ denom, amount: fee.getBaseValue(\"string\") }],\n gas: \"200000\",\n };\n}\n\nfunction getMinTransactionFee(chain: Chain) {\n return (\n {\n [Chain.Cosmos]: 0.007,\n [Chain.Kujira]: 0.02,\n [Chain.THORChain]: 0.02,\n [Chain.Maya]: 0.02,\n }[chain as CosmosChain] || 0\n );\n}\n\nfunction getCosmosValidateAddress(prefix: string) {\n return function validateAddress(address: string) {\n if (!address.startsWith(prefix)) return false;\n\n try {\n const { prefix, words } = bech32.decode(address as `${string}1${string}`);\n const normalized = bech32.encode(prefix, words);\n\n return normalized === address.toLocaleLowerCase();\n } catch (_error) {\n return false;\n }\n };\n}\n\nfunction cosmosBalanceDenomsGetter(rpcUrl: string) {\n return async function getCosmosBalanceDenoms(address: string) {\n const client = await createStargateClient(rpcUrl);\n const allBalances = await client.getAllBalances(address);\n\n const balances = allBalances.map((balance) => ({\n ...balance,\n denom: balance.denom.includes(\"/\") ? balance.denom.toUpperCase() : balance.denom,\n }));\n\n return balances;\n };\n}\n\nfunction createPrivateKeyFromPhrase(derivationPath: string) {\n return async function createPrivateKeyFromPhrase(phrase: string) {\n const { Bip39, EnglishMnemonic, Slip10, Slip10Curve, stringToPath } = (\n await import(\"@cosmjs/crypto\")\n ).default;\n\n const mnemonicChecked = new EnglishMnemonic(phrase);\n const seed = await Bip39.mnemonicToSeed(mnemonicChecked);\n\n const { privkey } = Slip10.derivePath(\n Slip10Curve.Secp256k1,\n seed,\n stringToPath(derivationPath),\n );\n\n return privkey;\n };\n}\n",
11
+ "import type { Pubkey, Secp256k1HdWallet } from \"@cosmjs/amino\";\nimport { base64 } from \"@scure/base\";\nimport {\n BaseDecimal,\n Chain,\n CosmosChainPrefixes,\n FeeOption,\n type GenericTransferParams,\n NetworkDerivationPath,\n RequestClient,\n SKConfig,\n SwapKitError,\n SwapKitNumber,\n derivationPathToString,\n updateDerivationPath,\n} from \"@swapkit/helpers\";\n\nimport { P, match } from \"ts-pattern\";\nimport {\n buildAminoMsg,\n buildEncodedTxBody,\n convertToSignable,\n createDefaultAminoTypes,\n createDefaultRegistry,\n getCreateTransaction,\n parseAminoMessageForDirectSigning,\n} from \"../thorchainUtils\";\nimport type { ThorchainConstantsResponse } from \"../thorchainUtils/types/client-types\";\nimport type { MultisigTx } from \"../types\";\nimport type { CosmosToolboxParams, MultiSigSigner } from \"../types\";\nimport {\n createOfflineStargateClient,\n createSigningStargateClient,\n createStargateClient,\n getDefaultChainFee,\n} from \"../util\";\nimport { createCosmosToolbox } from \"./cosmos\";\n\nfunction secp256k1HdWalletFromMnemonic({\n prefix,\n derivationPath,\n}: {\n prefix: string;\n derivationPath?: string;\n}) {\n return async function secp256k1HdWalletFromMnemonic(mnemonic: string, index = 0) {\n const { Secp256k1HdWallet } = (await import(\"@cosmjs/amino\")).default;\n const { stringToPath } = (await import(\"@cosmjs/crypto\")).default;\n\n return Secp256k1HdWallet.fromMnemonic(mnemonic, {\n hdPaths: [stringToPath(`${derivationPath}/${index}`)],\n prefix,\n });\n };\n}\n\nfunction exportSignature(signature: Uint8Array) {\n return base64.encode(signature);\n}\n\nfunction signMultisigTx(chain: Chain.THORChain | Chain.Maya) {\n return async function signMultisigTx({\n wallet,\n tx,\n }: {\n wallet: Secp256k1HdWallet;\n tx: string | MultisigTx;\n }) {\n const { msgs, accountNumber, sequence, chainId, fee, memo } =\n typeof tx === \"string\" ? JSON.parse(tx) : tx;\n\n const address = (await wallet.getAccounts())?.[0]?.address || \"\";\n const aminoTypes = await createDefaultAminoTypes(chain);\n const registry = await createDefaultRegistry();\n const signingClient = await createOfflineStargateClient(wallet, {\n registry,\n aminoTypes,\n });\n const msgForSigning = [];\n\n for (const msg of msgs) {\n const signMsg = await convertToSignable(msg, chain);\n msgForSigning.push(signMsg);\n }\n\n const {\n signatures: [signature],\n } = await signingClient.sign(address, msgForSigning, fee, memo, {\n accountNumber,\n sequence,\n chainId,\n });\n\n const bodyBytes = await buildEncodedTxBody({\n chain,\n memo,\n msgs: msgs.map(parseAminoMessageForDirectSigning),\n });\n\n return { signature: exportSignature(signature as Uint8Array), bodyBytes };\n };\n}\n\nfunction broadcastMultisigTx({\n prefix,\n rpcUrl,\n}: {\n prefix: string;\n rpcUrl: string;\n}) {\n return async function broadcastMultisigTx(\n tx: string,\n signers: MultiSigSigner[],\n membersPubKeys: string[],\n threshold: number,\n bodyBytes: Uint8Array,\n ) {\n const { encodeSecp256k1Pubkey, pubkeyToAddress } = (await import(\"@cosmjs/amino\")).default;\n const { makeMultisignedTxBytes } = (await import(\"@cosmjs/stargate\")).default;\n\n const { sequence, fee } = JSON.parse(tx);\n const multisigPubkey = await createMultisig(membersPubKeys, threshold);\n\n const addressesAndSignatures: [string, Uint8Array][] = signers.map((signer) => [\n pubkeyToAddress(encodeSecp256k1Pubkey(base64.decode(signer.pubKey)), prefix),\n base64.decode(signer.signature),\n ]);\n\n const broadcaster = await createStargateClient(rpcUrl);\n\n const { transactionHash } = await broadcaster.broadcastTx(\n makeMultisignedTxBytes(\n multisigPubkey,\n sequence,\n fee,\n bodyBytes,\n new Map<string, Uint8Array>(addressesAndSignatures),\n ),\n );\n\n return transactionHash;\n };\n}\n\nasync function createMultisig(pubKeys: string[], threshold: number, noSortPubKeys = true) {\n const { createMultisigThresholdPubkey, encodeSecp256k1Pubkey } = (await import(\"@cosmjs/amino\"))\n .default;\n return createMultisigThresholdPubkey(\n pubKeys.map((pubKey) => encodeSecp256k1Pubkey(base64.decode(pubKey))),\n threshold,\n noSortPubKeys,\n );\n}\n\nfunction importSignature(signature: string) {\n return base64.decode(signature);\n}\n\nasync function signWithPrivateKey({\n privateKey,\n message,\n}: {\n privateKey: Uint8Array;\n message: string;\n}) {\n const { Secp256k1 } = (await import(\"@cosmjs/crypto\")).default;\n\n const signature = await Secp256k1.createSignature(base64.decode(message), privateKey);\n return base64.encode(Buffer.concat([signature.r(32), signature.s(32)]));\n}\n\nexport async function createThorchainToolbox({\n chain,\n ...toolboxParams\n}: CosmosToolboxParams<Chain.THORChain | Chain.Maya>) {\n const nodeUrl = SKConfig.get(\"nodeUrls\")[chain];\n const rpcUrl = SKConfig.get(\"rpcUrls\")[chain];\n const { isStagenet } = SKConfig.get(\"envs\");\n const isThorchain = chain === Chain.THORChain;\n const chainPrefix = `${isStagenet ? \"s\" : \"\"}${CosmosChainPrefixes[chain]}`;\n\n const index = \"index\" in toolboxParams ? toolboxParams.index || 0 : 0;\n\n const derivationPath =\n \"derivationPath\" in toolboxParams && toolboxParams.derivationPath\n ? toolboxParams.derivationPath\n : updateDerivationPath(NetworkDerivationPath[chain], { index });\n\n const cosmosToolbox = await createCosmosToolbox({\n chain,\n ...toolboxParams,\n });\n\n const signer = await match(toolboxParams)\n .with({ phrase: P.string }, ({ phrase }) =>\n cosmosToolbox.getSignerFromPhrase({ phrase, derivationPath }),\n )\n .with({ signer: P.any }, ({ signer }) => signer)\n .otherwise(() => undefined);\n\n const defaultFee = getDefaultChainFee(chain);\n\n async function getFees() {\n let fee: SwapKitNumber;\n\n const constantsUrl = `${nodeUrl}/${isThorchain ? \"thorchain\" : \"mayachain\"}/constants`;\n\n try {\n const {\n int_64_values: { NativeTransactionFee: nativeFee },\n } = await RequestClient.get<ThorchainConstantsResponse>(constantsUrl);\n\n if (!nativeFee || Number.isNaN(nativeFee) || nativeFee < 0) {\n throw new SwapKitError(\"toolbox_cosmos_invalid_fee\", { nativeFee: nativeFee.toString() });\n }\n\n fee = new SwapKitNumber(nativeFee);\n } catch {\n fee = new SwapKitNumber({\n value: isThorchain ? 0.02 : 1,\n decimal: BaseDecimal[chain],\n });\n }\n\n return { [FeeOption.Average]: fee, [FeeOption.Fast]: fee, [FeeOption.Fastest]: fee };\n }\n\n async function transfer({\n assetValue,\n memo = \"\",\n recipient,\n }: Omit<GenericTransferParams, \"recipient\"> & { recipient?: string }) {\n const { TxRaw } = await import(\"cosmjs-types/cosmos/tx/v1beta1/tx\");\n const sender = (await signer?.getAccounts())?.[0]?.address;\n if (!(sender && signer)) throw new SwapKitError(\"toolbox_cosmos_no_signer\");\n\n const isAminoSigner = \"signAmino\" in signer;\n const registry = await createDefaultRegistry();\n const aminoTypes = await createDefaultAminoTypes(chain);\n const signingClient = await createSigningStargateClient(rpcUrl, signer, {\n registry,\n aminoTypes,\n });\n\n const aminoMessage = buildAminoMsg({\n assetValue,\n sender,\n recipient,\n memo,\n });\n\n if (isAminoSigner) {\n const msgSign = await convertToSignable(aminoMessage, chain);\n\n const { signatures, authInfoBytes } = await signingClient.sign(\n sender,\n [msgSign],\n defaultFee,\n memo,\n );\n\n const tx = TxRaw.encode({\n signatures,\n authInfoBytes,\n bodyBytes: await buildEncodedTxBody({\n chain,\n msgs: [aminoMessage].map(parseAminoMessageForDirectSigning),\n memo,\n }),\n }).finish();\n\n const txResponse = await signingClient.broadcastTx(tx);\n\n return txResponse.transactionHash;\n }\n\n const preparedMessage = parseAminoMessageForDirectSigning(aminoMessage);\n const msgSign = await convertToSignable(preparedMessage, chain);\n const txResponse = await signingClient.signAndBroadcast(sender, [msgSign], defaultFee, memo);\n\n return txResponse.transactionHash;\n }\n\n return {\n ...cosmosToolbox,\n broadcastMultisigTx: broadcastMultisigTx({ prefix: chainPrefix, rpcUrl }),\n buildAminoMsg,\n buildEncodedTxBody,\n convertToSignable,\n createDefaultAminoTypes: () => createDefaultAminoTypes(chain),\n createDefaultRegistry,\n createMultisig,\n createTransaction: getCreateTransaction(rpcUrl),\n deposit: transfer,\n getFees,\n importSignature,\n parseAminoMessageForDirectSigning,\n secp256k1HdWalletFromMnemonic: secp256k1HdWalletFromMnemonic({\n derivationPath: derivationPathToString(derivationPath),\n prefix: chainPrefix,\n }),\n signMultisigTx: signMultisigTx(chain),\n signWithPrivateKey,\n transfer,\n pubkeyToAddress: async (pubkey: Pubkey) => {\n const { pubkeyToAddress } = (await import(\"@cosmjs/amino\")).default;\n return pubkeyToAddress(pubkey, chainPrefix);\n },\n };\n}\n"
12
+ ],
13
+ "mappings": "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",
14
+ "debugId": "EDFA2188BA149E9E64756E2164756E21",
15
+ "names": []
16
+ }
@@ -0,0 +1,3 @@
1
+ import{d as u,e as C}from"../../chunk-s47y8512.js";import{base64 as fo,bech32 as G}from"@scure/base";import{SwapKitError as No}from"@swapkit/helpers";import{fromByteArray as So,toByteArray as Do}from"base64-js";function F(o){return fo.encode(Uint8Array.from(G.fromWords(G.decode(o).words)))}function J(o,r="thor"){return G.encode(r,G.toWords(fo.decode(o)))}function At(o){return So(o)}function Qt(o){if(!o.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new No("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return Do(o)}import{AssetValue as eo,Chain as O,ChainToChainId as vo,SwapKitError as so}from"@swapkit/helpers";import{AssetValue as V,BaseDecimal as I,Chain as T,ChainId as b,SKConfig as po,SwapKitError as no}from"@swapkit/helpers";var yo="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",Eo="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",Uo={amount:[{denom:"uatom",amount:"500"}],gas:"200000"},Mo={amount:[{denom:"ukuji",amount:"1000"}],gas:"200000"};function z(o){switch(o){case T.Maya:return{amount:[],gas:"10000000000"};case T.THORChain:return{amount:[],gas:"500000000"};case T.Kujira:return Mo;default:return Uo}}var L=(o,r=!1)=>{if(r)return o.toLowerCase();switch(o){case"uUSK":case"USK":return yo;case"uYUM":case"YUM":return Eo;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";default:return o}},Y=({symbol:o,chain:r})=>{if(r===T.Maya)return(o.toUpperCase()!=="CACAO"?o:`${T.Maya}.${o}`).toUpperCase();if(r===T.THORChain)return(["RUNE","TCY","RUJI"].includes(o.toUpperCase())?`${T.THORChain}.${o}`:o).toUpperCase();return L(o,!1)};async function B(o){let{StargateClient:r}=await import("@cosmjs/stargate"),t=typeof window!=="undefined"?{}:{referrer:"https://sk.thorswap.net",referer:"https://sk.thorswap.net"};return r.connect({url:o,headers:t})}async function K(o,r,t={}){let{SigningStargateClient:f,GasPrice:p}=(await import("@cosmjs/stargate")).default,n=typeof t==="string"?t:"0.0003uatom",y=typeof t==="string"?{}:t;return f.connectWithSigner(o,r,{gasPrice:p.fromString(n),...y})}async function wo(o,r){let{SigningStargateClient:t}=(await import("@cosmjs/stargate")).default;return t.offline(o,r)}var ho=(o)=>{let{isStagenet:r}=po.get("envs"),t=po.get("rpcUrls");switch(o){case b.Kujira:return t.KUJI;case b.THORChain:case"thorchain-mainnet-v1":return r?t.THOR_STAGENET:t.THOR;case b.Maya:return r?t.MAYA_STAGENET:t.MAYA;default:return t.GAIA}},bo=(o)=>{switch(o){case T.Maya:case T.THORChain:return"/types.MsgSend";case T.Cosmos:case T.Kujira:return"/cosmos.bank.v1beta1.MsgSend";default:throw new no("toolbox_cosmos_not_supported",{chain:o})}},xo=async({sender:o,recipient:r,assetValue:t,memo:f="",feeRate:p,sequence:n,accountNumber:y})=>{let{chain:d,chainId:v}=t,c=ho(v),w=await(await B(c)).getAccount(o);if(!w)throw new no("toolbox_cosmos_account_not_found",{sender:o});let m=V.from({chain:d}),W=L(m.symbol),x=z(d),_=W&&p?{amount:[{denom:W,amount:p.toString()}],gas:x.gas}:x,i={fromAddress:o,toAddress:r,amount:[{amount:t.getBaseValue("string"),denom:L(t.symbol)}]};return{accountNumber:y??w.accountNumber,chainId:v,fee:_,memo:f,sequence:n??w.sequence,msgs:[{typeUrl:bo(d),value:i}]}},Vo={rune:{chain:T.THORChain,decimals:I[T.THORChain]},tcy:{asset:"THOR.TCY",decimals:I[T.THORChain]},"x/kuji":{asset:"THOR.KUJI",decimals:I[T.THORChain]},uatom:{chain:T.Cosmos,decimals:I[T.Cosmos]},atom:{chain:T.Cosmos,decimals:I[T.Cosmos]},cacao:{chain:T.Maya,decimals:10},maya:{asset:`${T.Maya}.${T.Maya}`,decimals:4},ukuji:{chain:T.Kujira,decimals:I[T.Kujira]},kuji:{chain:T.Kujira,decimals:I[T.Kujira]},[yo.toLowerCase()]:{asset:`${T.Kujira}.USK`,decimals:I[T.Kujira]}},To=(o,r)=>{let t=Vo[o.toLowerCase()];if(!t)return V.from({asset:o,value:r,fromBaseDecimal:8});let{chain:f,asset:p,decimals:n}=t,y=f?{chain:f}:{asset:p};return V.from({...y,value:r,fromBaseDecimal:n})};import{Chain as go}from"@swapkit/helpers";async function Q(){let{$root:o}=await import("../../chunk-9bqegm61.js"),{Registry:r}=(await import("@cosmjs/proto-signing")).default,{defaultRegistryTypes:t}=(await import("@cosmjs/stargate")).default;return new r([...t,["/types.MsgSend",o.types.MsgSend],["/types.MsgDeposit",o.types.MsgDeposit]])}async function P(o){let{AminoTypes:r}=(await import("@cosmjs/stargate")).default,t=o===go.THORChain?"thorchain":"mayachain";return new r({"/types.MsgSend":{aminoType:`${t}/MsgSend`,toAmino:({fromAddress:f,toAddress:p,...n})=>({...n,from_address:J(f),to_address:J(p)}),fromAmino:({from_address:f,to_address:p,...n})=>({...n,fromAddress:F(f),toAddress:F(p)})},"/types.MsgDeposit":{aminoType:`${t}/MsgDeposit`,toAmino:({signer:f,...p})=>({...p,signer:J(f)}),fromAmino:({signer:f,...p})=>({...p,signer:F(f)})}})}var St=z(O.THORChain).gas,Dt=z(O.Maya).gas,uo=({sender:o,recipient:r,assetValue:t})=>{return{type:`${t.chain===O.Maya?"mayachain":"thorchain"}/MsgSend`,value:{from_address:o,to_address:r,amount:[{amount:t.getBaseValue("string"),denom:L(t.symbol,!0)}]}}},Co=({sender:o,assetValue:r,memo:t=""})=>{return{type:`${r.chain===O.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:r.getBaseValue("string"),asset:Y(r)}],signer:o,memo:t}}},g=({sender:o,recipient:r,assetValue:t,memo:f})=>{return!r?Co({sender:o,assetValue:t,memo:f}):uo({sender:o,recipient:r,assetValue:t})},k=async(o,r)=>{return(await P(r)).fromAmino(o)},$o=async({rpcUrl:o,sender:r})=>{let f=await(await B(o)).getAccount(r);if(!f)throw new so("toolbox_cosmos_account_not_found",{sender:r});return f};function co(o){return function r(t){let{assetValue:f,recipient:p,memo:n,sender:y,asSignable:d,asAminoMessage:v}=t;if(p)return lo(o)({sender:y,recipient:p,assetValue:f,memo:n,asSignable:d,asAminoMessage:v});return ao(o)({sender:y,assetValue:f,memo:n,asSignable:d,asAminoMessage:v})}}var lo=(o)=>async({sender:r,recipient:t,assetValue:f,memo:p="",asSignable:n=!0,asAminoMessage:y=!1,sequence:d,accountNumber:v})=>{let c=await $o({rpcUrl:o,sender:r}),$=f.chain,w=uo({sender:r,recipient:t,assetValue:f}),m=n?await k(y?w:Z(w),$):w;return{chainId:vo[$],accountNumber:v||c.accountNumber,sequence:d||c.sequence,msgs:[m],fee:z(f.chain),memo:p}},ao=(o)=>async({sender:r,assetValue:t,memo:f="",asSignable:p=!0,asAminoMessage:n=!1,sequence:y,accountNumber:d})=>{let v=await $o({rpcUrl:o,sender:r}),c=t.chain,$=Co({sender:r,assetValue:t,memo:f}),w=p?await k(n?$:Z($),c):$;return{chainId:vo[c],accountNumber:d||v.accountNumber,sequence:y||v.sequence,msgs:[w],fee:z(t.chain),memo:f}};function Z(o){if(o.type==="thorchain/MsgSend"||o.type==="mayachain/MsgSend")return o;return{...o,value:{...o.value,coins:o.value.coins.map((r)=>{let t=eo.from({asset:r.asset}),f=(t.isSynthetic?t.symbol.split("/")?.[1]:t.symbol)?.toUpperCase(),p=(t.isSynthetic?t.symbol.split("/")?.[0]:t.chain)?.toUpperCase();return{...r,asset:{chain:p,symbol:f,ticker:t.ticker,synth:t.isSynthetic}}})}}}async function q({chain:o,memo:r,msgs:t}){let f=await Q(),p=await P(o),n={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:r,messages:t.map((y)=>p.fromAmino(y))}};return f.encode(n)}import{Chain as D,SwapKitError as zt}from"@swapkit/helpers";import{base64 as a,bech32 as e}from"@scure/base";import{AssetValue as Io,BaseDecimal as s,Chain as H,ChainToChainId as ot,CosmosChainPrefixes as zo,DerivationPath as tt,FeeOption as oo,NetworkDerivationPath as rt,SKConfig as Bo,SwapKitError as N,SwapKitNumber as l,applyFeeMultiplier as mo,derivationPathToString as _o,updateDerivationPath as ft}from"@swapkit/helpers";import{SwapKitApi as Lo}from"@swapkit/helpers/api";import{P as io,match as pt}from"ts-pattern";async function Po(o,r){try{let f=(await Lo.getGasRate()).find((p)=>p.chainId===o)?.value;return f?Number.parseFloat(f):r}catch(t){return r}}async function Wo({phrase:o,prefix:r,...t}){let{DirectSecp256k1HdWallet:f}=(await import("@cosmjs/proto-signing")).default,{stringToPath:p}=(await import("@cosmjs/crypto")).default,n="derivationPath"in t?t.derivationPath:`${tt[t.chain]}/${t.index}`;return f.fromMnemonic(o,{prefix:r,hdPaths:[p(n)]})}async function tr({privateKey:o,prefix:r}){let{DirectSecp256k1Wallet:t}=(await import("@cosmjs/proto-signing")).default;return t.fromKey(o,r)}var Ho={[H.Cosmos]:500,[H.Kujira]:1000,[H.THORChain]:5000000,[H.Maya]:5000000};function nt(o){return async function r({signature:t,message:f,address:p}){let n=await o(p);if(!n?.pubkey)throw new N("toolbox_cosmos_verify_signature_no_pubkey");let{Secp256k1Signature:y,Secp256k1:d}=(await import("@cosmjs/crypto")).default,v=y.fromFixedLength(a.decode(t));return d.verifySignature(v,a.decode(f),n.pubkey.value)}}async function S({chain:o,...r}){let t=Bo.get("rpcUrls")[o],f=zo[o],p="index"in r?r.index||0:0,n=_o("derivationPath"in r&&r.derivationPath?r.derivationPath:ft(rt[o],{index:p})),y=await pt(r).with({phrase:io.string},({phrase:w})=>Wo({phrase:w,prefix:f,derivationPath:n})).with({signer:io.any},({signer:w})=>w).otherwise(()=>{return});async function d(w){return(await B(t)).getAccount(w)}async function v(){let[w]=await y?.getAccounts()||[];return w?.address}async function c(){let[w]=await y?.getAccounts()||[];if(!w?.pubkey)throw new N("toolbox_cosmos_signer_not_defined");return a.encode(w?.pubkey)}async function $({recipient:w,assetValue:m,memo:W="",feeRate:x,feeOptionKey:_=oo.Fast}){let i=await v();if(!(y&&i))throw new N("toolbox_cosmos_signer_not_defined");let R=Io.from({chain:o}),j=Y(R),E=x||wt((await Ro(o,Ho[o]))[_],j),U=await K(t,y),M=[{denom:L(`u${m.symbol}`).toLowerCase(),amount:m.getBaseValue("string")}],{transactionHash:X}=await U.sendTokens(i,w,M,E,W);return X}return{transfer:$,getAddress:v,getAccount:d,getBalance:async(w,m)=>{let W=await jo(t)(w);return await Promise.all(W.filter(({denom:x})=>x&&!x.includes("IBC/")).map(({denom:x,amount:_})=>{let i=[H.THORChain,H.Maya].includes(o)&&(x.includes("/")||x.includes("˜"))?`${o}.${x}`:x;return To(i,_)}))},getSignerFromPhrase:async({phrase:w,derivationPath:m})=>Wo({phrase:w,prefix:f,derivationPath:_o(m),index:p}),getSignerFromPrivateKey:async(w)=>{let{DirectSecp256k1Wallet:m}=(await import("@cosmjs/proto-signing")).default;return m.fromKey(w,f)},createPrivateKeyFromPhrase:Tt(n),validateAddress:ko(f),getPubKey:c,getFees:()=>Ro(o,Ho[o]),fetchFeeRateFromSwapKit:Po,getBalanceAsDenoms:jo(t),createTransaction:xo,verifySignature:nt(d)}}async function rr(o,r){try{let f=(await Lo.getGasRate()).find((p)=>p.chainId===o)?.value;return f?Number.parseFloat(f):r}catch(t){return r}}function fr({address:o,chain:r,prefix:t}){let f=t||yt(r);if(!(f&&o))throw new N("toolbox_cosmos_validate_address_prefix_not_found");return ko(f)(o)}function pr({assetValue:{chain:o}}){return Io.from({chain:o,value:xt(o)})}function yt(o){let{isStagenet:r}=Bo.get("envs"),t=o?[H.THORChain,H.Maya].includes(o)&&r:!1,f=o?zo[o]:void 0;return t?`s${f}`:f}async function Ro(o,r){let t=await Po(ot[o],r);return{average:l.fromBigInt(BigInt(t),s[o]),fast:l.fromBigInt(BigInt(mo(t,oo.Fast,!0)),s[o]),fastest:l.fromBigInt(BigInt(mo(t,oo.Fastest,!0)),s[o])}}function wt(o,r){return{amount:[{denom:r,amount:o.getBaseValue("string")}],gas:"200000"}}function xt(o){return{[H.Cosmos]:0.007,[H.Kujira]:0.02,[H.THORChain]:0.02,[H.Maya]:0.02}[o]||0}function ko(o){return function r(t){if(!t.startsWith(o))return!1;try{let{prefix:f,words:p}=e.decode(t);return e.encode(f,p)===t.toLocaleLowerCase()}catch(f){return!1}}}function jo(o){return async function r(t){return(await(await B(o)).getAllBalances(t)).map((y)=>({...y,denom:y.denom.includes("/")?y.denom.toUpperCase():y.denom}))}}function Tt(o){return async function r(t){let{Bip39:f,EnglishMnemonic:p,Slip10:n,Slip10Curve:y,stringToPath:d}=(await import("@cosmjs/crypto")).default,v=new p(t),c=await f.mnemonicToSeed(v),{privkey:$}=n.derivePath(y.Secp256k1,c,d(o));return $}}import{base64 as A}from"@scure/base";import{BaseDecimal as vt,Chain as dt,CosmosChainPrefixes as ut,FeeOption as to,NetworkDerivationPath as Ct,RequestClient as $t,SKConfig as ro,SwapKitError as Zo,SwapKitNumber as Ao,derivationPathToString as ct,updateDerivationPath as mt}from"@swapkit/helpers";import{P as Qo,match as _t}from"ts-pattern";function it({prefix:o,derivationPath:r}){return async function t(f,p=0){let{Secp256k1HdWallet:n}=(await import("@cosmjs/amino")).default,{stringToPath:y}=(await import("@cosmjs/crypto")).default;return n.fromMnemonic(f,{hdPaths:[y(`${r}/${p}`)],prefix:o})}}function Wt(o){return A.encode(o)}function Ht(o){return async function r({wallet:t,tx:f}){let{msgs:p,accountNumber:n,sequence:y,chainId:d,fee:v,memo:c}=typeof f==="string"?JSON.parse(f):f,$=(await t.getAccounts())?.[0]?.address||"",w=await P(o),m=await Q(),W=await wo(t,{registry:m,aminoTypes:w}),x=[];for(let R of p){let j=await k(R,o);x.push(j)}let{signatures:[_]}=await W.sign($,x,v,c,{accountNumber:n,sequence:y,chainId:d}),i=await q({chain:o,memo:c,msgs:p.map(Z)});return{signature:Wt(_),bodyBytes:i}}}function Rt({prefix:o,rpcUrl:r}){return async function t(f,p,n,y,d){let{encodeSecp256k1Pubkey:v,pubkeyToAddress:c}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:$}=(await import("@cosmjs/stargate")).default,{sequence:w,fee:m}=JSON.parse(f),W=await Xo(n,y),x=p.map((R)=>[c(v(A.decode(R.pubKey)),o),A.decode(R.signature)]),_=await B(r),{transactionHash:i}=await _.broadcastTx($(W,w,m,d,new Map(x)));return i}}async function Xo(o,r,t=!0){let{createMultisigThresholdPubkey:f,encodeSecp256k1Pubkey:p}=(await import("@cosmjs/amino")).default;return f(o.map((n)=>p(A.decode(n))),r,t)}function jt(o){return A.decode(o)}async function It({privateKey:o,message:r}){let{Secp256k1:t}=(await import("@cosmjs/crypto")).default,f=await t.createSignature(A.decode(r),o);return A.encode(Buffer.concat([f.r(32),f.s(32)]))}async function Go({chain:o,...r}){let t=ro.get("nodeUrls")[o],f=ro.get("rpcUrls")[o],{isStagenet:p}=ro.get("envs"),n=o===dt.THORChain,y=`${p?"s":""}${ut[o]}`,d="index"in r?r.index||0:0,v="derivationPath"in r&&r.derivationPath?r.derivationPath:mt(Ct[o],{index:d}),c=await S({chain:o,...r}),$=await _t(r).with({phrase:Qo.string},({phrase:x})=>c.getSignerFromPhrase({phrase:x,derivationPath:v})).with({signer:Qo.any},({signer:x})=>x).otherwise(()=>{return}),w=z(o);async function m(){let x,_=`${t}/${n?"thorchain":"mayachain"}/constants`;try{let{int_64_values:{NativeTransactionFee:i}}=await $t.get(_);if(!i||Number.isNaN(i)||i<0)throw new Zo("toolbox_cosmos_invalid_fee",{nativeFee:i.toString()});x=new Ao(i)}catch{x=new Ao({value:n?0.02:1,decimal:vt[o]})}return{[to.Average]:x,[to.Fast]:x,[to.Fastest]:x}}async function W({assetValue:x,memo:_="",recipient:i}){let{TxRaw:R}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),j=(await $?.getAccounts())?.[0]?.address;if(!(j&&$))throw new Zo("toolbox_cosmos_no_signer");let E="signAmino"in $,U=await Q(),M=await P(o),X=await K(f,$,{registry:U,aminoTypes:M}),h=g({assetValue:x,sender:j,recipient:i,memo:_});if(E){let Yo=await k(h,o),{signatures:Ko,authInfoBytes:Oo}=await X.sign(j,[Yo],w,_),qo=R.encode({signatures:Ko,authInfoBytes:Oo,bodyBytes:await q({chain:o,msgs:[h].map(Z),memo:_})}).finish();return(await X.broadcastTx(qo)).transactionHash}let Fo=Z(h),Jo=await k(Fo,o);return(await X.signAndBroadcast(j,[Jo],w,_)).transactionHash}return{...c,broadcastMultisigTx:Rt({prefix:y,rpcUrl:f}),buildAminoMsg:g,buildEncodedTxBody:q,convertToSignable:k,createDefaultAminoTypes:()=>P(o),createDefaultRegistry:Q,createMultisig:Xo,createTransaction:co(f),deposit:W,getFees:m,importSignature:jt,parseAminoMessageForDirectSigning:Z,secp256k1HdWalletFromMnemonic:it({derivationPath:ct(v),prefix:y}),signMultisigTx:Ht(o),signWithPrivateKey:It,transfer:W,pubkeyToAddress:async(x)=>{let{pubkeyToAddress:_}=(await import("@cosmjs/amino")).default;return _(x,y)}}}var mr=(o,r)=>{switch(o){case D.Cosmos:case D.Kujira:return S({chain:o,...r});case D.Maya:case D.THORChain:return Go({chain:o,...r});default:throw new zt("toolbox_cosmos_not_supported",{chain:o})}};export{nt as verifySignature,uo as transferMsgAmino,At as toBase64,Z as parseAminoMessageForDirectSigning,tr as getSignerFromPrivateKey,Wo as getSignerFromPhrase,ho as getRPC,L as getMsgSendDenom,rr as getFeeRateFromThorswap,Y as getDenomWithChain,z as getDefaultChainFee,co as getCreateTransaction,mr as getCosmosToolbox,To as getAssetFromDenom,Qt as fromBase64,Po as fetchFeeRateFromSwapKit,pr as estimateTransactionFee,Co as depositMsgAmino,Go as createThorchainToolbox,B as createStargateClient,K as createSigningStargateClient,wo as createOfflineStargateClient,Q as createDefaultRegistry,P as createDefaultAminoTypes,S as createCosmosToolbox,fr as cosmosValidateAddress,xo as cosmosCreateTransaction,k as convertToSignable,lo as buildTransferTx,q as buildEncodedTxBody,ao as buildDepositTx,g as buildAminoMsg,F as bech32ToBase64,J as base64ToBech32,Eo as YUM_KUJIRA_FACTORY_DENOM,yo as USK_KUJIRA_FACTORY_DENOM,St as THORCHAIN_GAS_VALUE,Dt as MAYA_GAS_VALUE,Mo as DEFAULT_KUJI_FEE_MAINNET,Uo as DEFAULT_COSMOS_FEE_MAINNET};
2
+
3
+ //# debugId=C9EEC80BED57C4E864756E2164756E21