@swapkit/toolboxes 1.0.0-beta.19 → 1.0.0-beta.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/dist/{chunk-vhc011em.js → chunk-12xtvbsp.js} +3 -3
  2. package/dist/{chunk-vhc011em.js.map → chunk-12xtvbsp.js.map} +1 -1
  3. package/dist/{chunk-cv69ewns.js → chunk-9bqegm61.js} +1 -1
  4. package/dist/chunk-kbnwrc5b.js +4 -0
  5. package/dist/chunk-kbnwrc5b.js.map +10 -0
  6. package/dist/{chunk-38ztynv0.js → chunk-s47y8512.js} +2 -2
  7. package/dist/{chunk-38ztynv0.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/src/cosmos/index.cjs +2 -2
  11. package/dist/src/cosmos/index.cjs.map +3 -3
  12. package/dist/src/cosmos/index.js +2 -2
  13. package/dist/src/cosmos/index.js.map +3 -3
  14. package/dist/src/evm/index.cjs +2 -2
  15. package/dist/src/evm/index.cjs.map +3 -3
  16. package/dist/src/evm/index.js +2 -2
  17. package/dist/src/evm/index.js.map +3 -3
  18. package/dist/src/index.cjs +2 -2
  19. package/dist/src/index.cjs.map +3 -3
  20. package/dist/src/index.js +2 -2
  21. package/dist/src/index.js.map +3 -3
  22. package/dist/src/near/index.cjs +3 -0
  23. package/dist/src/near/index.cjs.map +13 -0
  24. package/dist/src/near/index.js +3 -0
  25. package/dist/src/near/index.js.map +13 -0
  26. package/dist/src/radix/index.js +2 -2
  27. package/dist/src/radix/index.js.map +1 -1
  28. package/dist/src/ripple/index.js +1 -1
  29. package/dist/src/solana/index.js +2 -2
  30. package/dist/src/solana/index.js.map +1 -1
  31. package/dist/src/substrate/index.js +2 -2
  32. package/dist/src/substrate/index.js.map +1 -1
  33. package/dist/src/tron/index.js +2 -2
  34. package/dist/src/tron/index.js.map +1 -1
  35. package/dist/src/utxo/index.cjs +2 -2
  36. package/dist/src/utxo/index.cjs.map +3 -3
  37. package/dist/src/utxo/index.js +2 -2
  38. package/dist/src/utxo/index.js.map +3 -3
  39. package/package.json +10 -2
  40. package/src/cosmos/toolbox/cosmos.ts +9 -2
  41. package/src/evm/toolbox/baseEVMToolbox.ts +19 -12
  42. package/src/index.ts +12 -0
  43. package/src/near/helpers/contractFactory.ts +22 -0
  44. package/src/near/helpers/core.ts +86 -0
  45. package/src/near/helpers/gasEstimation.ts +110 -0
  46. package/src/near/helpers/index.ts +5 -0
  47. package/src/near/helpers/nep141.ts +110 -0
  48. package/src/near/index.ts +24 -0
  49. package/src/near/toolbox.ts +497 -0
  50. package/src/near/types/contract.ts +48 -0
  51. package/src/near/types/nep141.ts +66 -0
  52. package/src/near/types.ts +58 -0
  53. package/src/utxo/toolbox/utxo.ts +3 -2
  54. /package/dist/{chunk-cv69ewns.js.map → chunk-9bqegm61.js.map} +0 -0
@@ -1,4 +1,4 @@
1
- import"./chunk-38ztynv0.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};
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 b,w as c};
3
3
 
4
- //# debugId=8C6F04B3BE4067A464756E2164756E21
4
+ //# debugId=1E49A4E31838D77964756E2164756E21
@@ -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": "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",
8
+ "debugId": "1E49A4E31838D77964756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -1,3 +1,3 @@
1
- import"./chunk-38ztynv0.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
@@ -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 a};
3
+
4
+ //# debugId=D35015876E436DF464756E2164756E21
@@ -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": "D35015876E436DF464756E2164756E21",
9
+ "names": []
10
+ }
@@ -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=C6E0EECD23D4628564756E2164756E21
4
+ //# debugId=26FE4B3D54C6EECA64756E2164756E21
@@ -4,6 +4,6 @@
4
4
  "sourcesContent": [
5
5
  ],
6
6
  "mappings": "",
7
- "debugId": "C6E0EECD23D4628564756E2164756E21",
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
+ }
@@ -1,3 +1,3 @@
1
- var so={};go(so,{verifySignature:()=>Bo,transferMsgAmino:()=>a,toBase64:()=>Po,parseAminoMessageForDirectSigning:()=>Z,getSignerFromPrivateKey:()=>Go,getSignerFromPhrase:()=>to,getRPC:()=>Co,getMsgSendDenom:()=>L,getFeeRateFromThorswap:()=>Jo,getDenomWithChain:()=>O,getDefaultChainFee:()=>H,getCreateTransaction:()=>oo,getCosmosToolbox:()=>Vo,fromBase64:()=>ko,fetchFeeRateFromSwapKit:()=>fo,estimateTransactionFee:()=>Ko,depositMsgAmino:()=>l,createThorchainToolbox:()=>po,createStargateClient:()=>j,createSigningStargateClient:()=>F,createOfflineStargateClient:()=>g,createDefaultRegistry:()=>G,createDefaultAminoTypes:()=>P,createCosmosToolbox:()=>N,cosmosValidateAddress:()=>Yo,cosmosCreateTransaction:()=>s,convertToSignable:()=>k,buildTransferTx:()=>co,buildEncodedTxBody:()=>q,buildDepositTx:()=>vo,buildAminoMsg:()=>M,bech32ToBase64:()=>K,base64ToBech32:()=>D,YUM_KUJIRA_FACTORY_DENOM:()=>wo,USK_KUJIRA_FACTORY_DENOM:()=>yo,THORCHAIN_GAS_VALUE:()=>Qo,MAYA_GAS_VALUE:()=>Xo,DEFAULT_KUJI_FEE_MAINNET:()=>io,DEFAULT_COSMOS_FEE_MAINNET:()=>xo});module.exports=bo(so);var z=require("@scure/base"),no=require("@swapkit/helpers"),E=require("base64-js");function K(o){return z.base64.encode(Uint8Array.from(z.bech32.fromWords(z.bech32.decode(o).words)))}function D(o,t="thor"){return z.bech32.encode(t,z.bech32.toWords(z.base64.decode(o)))}function Po(o){return E.fromByteArray(o)}function ko(o){if(!o.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new no.SwapKitError("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return E.toByteArray(o)}var W=require("@swapkit/helpers");var m=require("@swapkit/helpers"),yo="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",wo="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",xo={amount:[{denom:"uatom",amount:"500"}],gas:"200000"},io={amount:[{denom:"ukuji",amount:"1000"}],gas:"200000"};function H(o){switch(o){case m.Chain.Maya:return{amount:[],gas:"10000000000"};case m.Chain.THORChain:return{amount:[],gas:"500000000"};case m.Chain.Kujira:return io;default:return xo}}var L=(o,t=!1)=>{if(t)return o.toLowerCase();switch(o){case"uUSK":case"USK":return yo;case"uYUM":case"YUM":return wo;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";default:return o}},O=({symbol:o,chain:t})=>{if(t===m.Chain.Maya)return(o.toUpperCase()!=="CACAO"?o:`${m.Chain.Maya}.${o}`).toUpperCase();if(t===m.Chain.THORChain)return(o.toUpperCase()!=="RUNE"?o:`${m.Chain.THORChain}.${o}`).toUpperCase();return L(o,!1)};async function j(o){let{StargateClient:t}=(await import("@cosmjs/stargate")).default;return t.connect(o)}async function F(o,t,r={}){let{SigningStargateClient:f,GasPrice:p}=(await import("@cosmjs/stargate")).default,y=typeof r==="string"?r:"0.0003uatom",w=typeof r==="string"?{}:r;return f.connectWithSigner(o,t,{gasPrice:p.fromString(y),...w})}async function g(o,t){let{SigningStargateClient:r}=(await import("@cosmjs/stargate")).default;return r.offline(o,t)}var Co=(o)=>{let{isStagenet:t}=m.SKConfig.get("envs"),r=m.SKConfig.get("rpcUrls");switch(o){case m.ChainId.Kujira:return r.KUJI;case m.ChainId.THORChain:case"thorchain-mainnet-v1":return t?r.THOR_STAGENET:r.THOR;case m.ChainId.Maya:return t?r.MAYA_STAGENET:r.MAYA;default:return r.GAIA}},Zo=(o)=>{switch(o){case m.Chain.Maya:case m.Chain.THORChain:return"/types.MsgSend";case m.Chain.Cosmos:case m.Chain.Kujira:return"/cosmos.bank.v1beta1.MsgSend";default:throw new m.SwapKitError("toolbox_cosmos_not_supported",{chain:o})}},s=async({sender:o,recipient:t,assetValue:r,memo:f="",feeRate:p,sequence:y,accountNumber:w})=>{let{chain:T,chainId:C}=r,_=Co(C),x=await(await j(_)).getAccount(o);if(!x)throw new m.SwapKitError("toolbox_cosmos_account_not_found",{sender:o});let $=m.AssetValue.from({chain:T}),R=L($.symbol),c=H(T),u=R&&p?{amount:[{denom:R,amount:p.toString()}],gas:c.gas}:c,B={fromAddress:o,toAddress:t,amount:[{amount:r.getBaseValue("string"),denom:L(r.symbol)}]};return{accountNumber:w??x.accountNumber,chainId:C,fee:u,memo:f,sequence:y??x.sequence,msgs:[{typeUrl:Zo(T),value:B}]}};var mo=require("@swapkit/helpers");async function G(){let{$root:o}=await import("../../chunk-4yap1fvd.js"),{Registry:t}=(await import("@cosmjs/proto-signing")).default,{defaultRegistryTypes:r}=(await import("@cosmjs/stargate")).default;return new t([...r,["/types.MsgSend",o.types.MsgSend],["/types.MsgDeposit",o.types.MsgDeposit]])}async function P(o){let{AminoTypes:t}=(await import("@cosmjs/stargate")).default,r=o===mo.Chain.THORChain?"thorchain":"mayachain";return new t({"/types.MsgSend":{aminoType:`${r}/MsgSend`,toAmino:({fromAddress:f,toAddress:p,...y})=>({...y,from_address:D(f),to_address:D(p)}),fromAmino:({from_address:f,to_address:p,...y})=>({...y,fromAddress:K(f),toAddress:K(p)})},"/types.MsgDeposit":{aminoType:`${r}/MsgDeposit`,toAmino:({signer:f,...p})=>({...p,signer:D(f)}),fromAmino:({signer:f,...p})=>({...p,signer:K(f)})}})}var Qo=H(W.Chain.THORChain).gas,Xo=H(W.Chain.Maya).gas,a=({sender:o,recipient:t,assetValue:r})=>{return{type:`${r.chain===W.Chain.Maya?"mayachain":"thorchain"}/MsgSend`,value:{from_address:o,to_address:t,amount:[{amount:r.getBaseValue("string"),denom:L(r.symbol,!0)}]}}},l=({sender:o,assetValue:t,memo:r=""})=>{return{type:`${t.chain===W.Chain.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:t.getBaseValue("string"),asset:O(t)}],signer:o,memo:r}}},M=({sender:o,recipient:t,assetValue:r,memo:f})=>{return!t?l({sender:o,assetValue:r,memo:f}):a({sender:o,recipient:t,assetValue:r})},k=async(o,t)=>{return(await P(t)).fromAmino(o)},To=async({rpcUrl:o,sender:t})=>{let f=await(await j(o)).getAccount(t);if(!f)throw new W.SwapKitError("toolbox_cosmos_account_not_found",{sender:t});return f};function oo(o){return function t(r){let{assetValue:f,recipient:p,memo:y,sender:w,asSignable:T,asAminoMessage:C}=r;if(p)return co(o)({sender:w,recipient:p,assetValue:f,memo:y,asSignable:T,asAminoMessage:C});return vo(o)({sender:w,assetValue:f,memo:y,asSignable:T,asAminoMessage:C})}}var co=(o)=>async({sender:t,recipient:r,assetValue:f,memo:p="",asSignable:y=!0,asAminoMessage:w=!1,sequence:T,accountNumber:C})=>{let _=await To({rpcUrl:o,sender:t}),d=f.chain,x=a({sender:t,recipient:r,assetValue:f}),$=y?await k(w?x:Z(x),d):x;return{chainId:W.ChainToChainId[d],accountNumber:C||_.accountNumber,sequence:T||_.sequence,msgs:[$],fee:H(f.chain),memo:p}},vo=(o)=>async({sender:t,assetValue:r,memo:f="",asSignable:p=!0,asAminoMessage:y=!1,sequence:w,accountNumber:T})=>{let C=await To({rpcUrl:o,sender:t}),_=r.chain,d=l({sender:t,assetValue:r,memo:f}),x=p?await k(y?d:Z(d),_):d;return{chainId:W.ChainToChainId[_],accountNumber:T||C.accountNumber,sequence:w||C.sequence,msgs:[x],fee:H(r.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((t)=>{let r=W.AssetValue.from({asset:t.asset}),f=(r.isSynthetic?r.symbol.split("/")?.[1]:r.symbol)?.toUpperCase(),p=(r.isSynthetic?r.symbol.split("/")?.[0]:r.chain)?.toUpperCase();return{...t,asset:{chain:p,symbol:f,ticker:r.ticker,synth:r.isSynthetic}}})}}}async function q({chain:o,memo:t,msgs:r}){let f=await G(),p=await P(o),y={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:t,messages:r.map((w)=>p.fromAmino(w))}};return f.encode(y)}var J=require("@swapkit/helpers");var Q=require("@scure/base"),n=require("@swapkit/helpers"),ro=require("@swapkit/helpers/api"),h=require("ts-pattern");async function fo(o,t){try{let f=(await ro.SwapKitApi.getGasRate()).find((p)=>p.chainId===o)?.value;return f?Number.parseFloat(f):t}catch(r){return t}}async function to({phrase:o,prefix:t,...r}){let{DirectSecp256k1HdWallet:f}=(await import("@cosmjs/proto-signing")).default,{stringToPath:p}=(await import("@cosmjs/crypto")).default,y="derivationPath"in r?r.derivationPath:`${n.DerivationPath[r.chain]}/${r.index}`;return f.fromMnemonic(o,{prefix:t,hdPaths:[p(y)]})}async function Go({privateKey:o,prefix:t}){let{DirectSecp256k1Wallet:r}=(await import("@cosmjs/proto-signing")).default;return r.fromKey(o,t)}var _o={[n.Chain.Cosmos]:500,[n.Chain.Kujira]:1000,[n.Chain.THORChain]:5000000,[n.Chain.Maya]:5000000};function Bo(o){return async function t({signature:r,message:f,address:p}){let y=await o(p);if(!y?.pubkey)throw new n.SwapKitError("toolbox_cosmos_verify_signature_no_pubkey");let{Secp256k1Signature:w,Secp256k1:T}=(await import("@cosmjs/crypto")).default,C=w.fromFixedLength(Q.base64.decode(r));return T.verifySignature(C,Q.base64.decode(f),y.pubkey.value)}}async function N({chain:o,...t}){let r=n.SKConfig.get("rpcUrls")[o],f=n.CosmosChainPrefixes[o],p="index"in t?t.index||0:0,y=n.derivationPathToString("derivationPath"in t&&t.derivationPath?t.derivationPath:n.updateDerivationPath(n.NetworkDerivationPath[o],{index:p})),w=await h.match(t).with({phrase:h.P.string},({phrase:x})=>to({phrase:x,prefix:f,derivationPath:y})).with({signer:h.P.any},({signer:x})=>x).otherwise(()=>{return});async function T(x){return(await j(r)).getAccount(x)}async function C(){let[x]=await w?.getAccounts()||[];return x?.address}async function _(){let[x]=await w?.getAccounts()||[];if(!x?.pubkey)throw new n.SwapKitError("toolbox_cosmos_signer_not_defined");return Q.base64.encode(x?.pubkey)}async function d({recipient:x,assetValue:$,memo:R="",feeRate:c,feeOptionKey:u=n.FeeOption.Fast}){let B=await C();if(!(w&&B))throw new n.SwapKitError("toolbox_cosmos_signer_not_defined");let A=n.AssetValue.from({chain:o}),I=O(A),U=c||Oo((await $o(o,_o[o]))[u],I),e=await F(r,w),V=[{denom:L(`u${$.symbol}`).toLowerCase(),amount:$.getBaseValue("string")}],{transactionHash:Y}=await e.sendTokens(B,x,V,U,R);return Y}return{transfer:d,getAddress:C,getAccount:T,getBalance:uo(o),getSignerFromPhrase:async({phrase:x,derivationPath:$})=>to({phrase:x,prefix:f,derivationPath:n.derivationPathToString($),index:p}),getSignerFromPrivateKey:async(x)=>{let{DirectSecp256k1Wallet:$}=(await import("@cosmjs/proto-signing")).default;return $.fromKey(x,f)},createPrivateKeyFromPhrase:ho(y),validateAddress:Ro(f),getPubKey:_,getFees:()=>$o(o,_o[o]),fetchFeeRateFromSwapKit:fo,getBalanceAsDenoms:qo(r),createTransaction:s,verifySignature:Bo(T)}}async function Jo(o,t){try{let f=(await ro.SwapKitApi.getGasRate()).find((p)=>p.chainId===o)?.value;return f?Number.parseFloat(f):t}catch(r){return t}}function Yo({address:o,chain:t,prefix:r}){let f=r||Do(t);if(!(f&&o))throw new n.SwapKitError("toolbox_cosmos_validate_address_prefix_not_found");return Ro(f)(o)}function Ko({assetValue:{chain:o}}){return n.AssetValue.from({chain:o,value:Fo(o)})}function Do(o){let{isStagenet:t}=n.SKConfig.get("envs"),r=o?[n.Chain.THORChain,n.Chain.Maya].includes(o)&&t:!1,f=o?n.CosmosChainPrefixes[o]:void 0;return r?`s${f}`:f}async function $o(o,t){let r=await fo(n.ChainToChainId[o],t);return{average:n.SwapKitNumber.fromBigInt(BigInt(r),n.BaseDecimal[o]),fast:n.SwapKitNumber.fromBigInt(BigInt(Math.floor(r*1.5)),n.BaseDecimal[o]),fastest:n.SwapKitNumber.fromBigInt(BigInt(Math.floor(r*2)),n.BaseDecimal[o])}}function Oo(o,t){return{amount:[{denom:t,amount:o.getBaseValue("string")}],gas:"200000"}}function Fo(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 t(r){if(!r.startsWith(o))return!1;try{let{prefix:f,words:p}=Q.bech32.decode(r);return Q.bech32.encode(f,p)===r.toLocaleLowerCase()}catch(f){return!1}}}function qo(o){return async function t(r){return(await(await j(o)).getAllBalances(r)).map((w)=>({...w,denom:w.denom.includes("/")?w.denom.toUpperCase():w.denom}))}}function ho(o){return async function t(r){let{Bip39:f,EnglishMnemonic:p,Slip10:y,Slip10Curve:w,stringToPath:T}=await import("@cosmjs/crypto"),C=new p(r),_=await f.mnemonicToSeed(C),{privkey:d}=y.derivePath(w.Secp256k1,_,T(o));return d}}var X=require("@scure/base"),i=require("@swapkit/helpers"),S=require("ts-pattern");function No({prefix:o,derivationPath:t}){return async function r(f,p=0){let{Secp256k1HdWallet:y}=(await import("@cosmjs/amino")).default,{stringToPath:w}=(await import("@cosmjs/crypto")).default;return y.fromMnemonic(f,{hdPaths:[w(`${t}/${p}`)],prefix:o})}}function So(o){return X.base64.encode(o)}function Eo(o){return async function t({wallet:r,tx:f}){let{msgs:p,accountNumber:y,sequence:w,chainId:T,fee:C,memo:_}=typeof f==="string"?JSON.parse(f):f,d=(await r.getAccounts())?.[0]?.address||"",x=await P(o),$=await G(),R=await g(r,{registry:$,aminoTypes:x}),c=[];for(let A of p){let I=await k(A,o);c.push(I)}let{signatures:[u]}=await R.sign(d,c,C,_,{accountNumber:y,sequence:w,chainId:T}),B=await q({chain:o,memo:_,msgs:p.map(Z)});return{signature:So(u),bodyBytes:B}}}function Mo({prefix:o,rpcUrl:t}){return async function r(f,p,y,w,T){let{encodeSecp256k1Pubkey:C,pubkeyToAddress:_}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:d}=(await import("@cosmjs/stargate")).default,{sequence:x,fee:$}=JSON.parse(f),R=await Wo(y,w),c=p.map((A)=>[_(C(X.base64.decode(A.pubKey)),o),X.base64.decode(A.signature)]),u=await j(t),{transactionHash:B}=await u.broadcastTx(d(R,x,$,T,new Map(c)));return B}}async function Wo(o,t,r=!0){let{createMultisigThresholdPubkey:f,encodeSecp256k1Pubkey:p}=(await import("@cosmjs/amino")).default;return f(o.map((y)=>p(X.base64.decode(y))),t,r)}function Uo(o){return X.base64.decode(o)}async function eo({privateKey:o,message:t}){let{Secp256k1:r}=(await import("@cosmjs/crypto")).default,f=await r.createSignature(X.base64.decode(t),o);return X.base64.encode(Buffer.concat([f.r(32),f.s(32)]))}async function po({chain:o,...t}){let r=i.SKConfig.get("nodeUrls")[o],f=i.SKConfig.get("rpcUrls")[o],{isStagenet:p}=i.SKConfig.get("envs"),y=o===i.Chain.THORChain,w=`${p?"s":""}${i.CosmosChainPrefixes[o]}`,T="index"in t?t.index||0:0,C="derivationPath"in t&&t.derivationPath?t.derivationPath:i.updateDerivationPath(i.NetworkDerivationPath[o],{index:T}),_=await N({chain:o,...t}),d=await S.match(t).with({phrase:S.P.string},({phrase:c})=>_.getSignerFromPhrase({phrase:c,derivationPath:C})).with({signer:S.P.any},({signer:c})=>c).otherwise(()=>{return}),x=H(o);async function $(){let c,u=`${r}/${y?"thorchain":"mayachain"}/constants`;try{let{int_64_values:{NativeTransactionFee:B}}=await i.RequestClient.get(u);if(!B||Number.isNaN(B)||B<0)throw new i.SwapKitError("toolbox_cosmos_invalid_fee",{nativeFee:B.toString()});c=new i.SwapKitNumber(B)}catch{c=new i.SwapKitNumber({value:y?0.02:1,decimal:i.BaseDecimal[o]})}return{[i.FeeOption.Average]:c,[i.FeeOption.Fast]:c,[i.FeeOption.Fastest]:c}}async function R({assetValue:c,memo:u="",recipient:B}){let{TxRaw:A}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),I=(await d?.getAccounts())?.[0]?.address;if(!(I&&d))throw new i.SwapKitError("toolbox_cosmos_no_signer");let U="signAmino"in d,e=await G(),V=await P(o),Y=await F(f,d,{registry:e,aminoTypes:V}),b=M({assetValue:c,sender:I,recipient:B,memo:u});if(U){let Ao=await k(b,o),{signatures:Io,authInfoBytes:zo}=await Y.sign(I,[Ao],x,u),Lo=A.encode({signatures:Io,authInfoBytes:zo,bodyBytes:await q({chain:o,msgs:[b].map(Z),memo:u})}).finish();return(await Y.broadcastTx(Lo)).transactionHash}let Ho=Z(b),jo=await k(Ho,o);return(await Y.signAndBroadcast(I,[jo],x,u)).transactionHash}return{..._,broadcastMultisigTx:Mo({prefix:w,rpcUrl:f}),buildAminoMsg:M,buildEncodedTxBody:q,convertToSignable:k,createDefaultAminoTypes:()=>P(o),createDefaultRegistry:G,createMultisig:Wo,createTransaction:oo(f),deposit:R,getFees:$,importSignature:Uo,parseAminoMessageForDirectSigning:Z,secp256k1HdWalletFromMnemonic:No({derivationPath:i.derivationPathToString(C),prefix:w}),signMultisigTx:Eo(o),signWithPrivateKey:eo,transfer:R,pubkeyToAddress:async(c)=>{let{pubkeyToAddress:u}=(await import("@cosmjs/amino")).default;return u(c,w)}}}var Vo=(o,t)=>{switch(o){case J.Chain.Cosmos:case J.Chain.Kujira:return N({chain:o,...t});case J.Chain.Maya:case J.Chain.THORChain:return po({chain:o,...t});default:throw new J.SwapKitError("toolbox_cosmos_not_supported",{chain:o})}};
1
+ var so={};go(so,{verifySignature:()=>Bo,transferMsgAmino:()=>a,toBase64:()=>Po,parseAminoMessageForDirectSigning:()=>Z,getSignerFromPrivateKey:()=>Go,getSignerFromPhrase:()=>to,getRPC:()=>Co,getMsgSendDenom:()=>L,getFeeRateFromThorswap:()=>Jo,getDenomWithChain:()=>D,getDefaultChainFee:()=>H,getCreateTransaction:()=>oo,getCosmosToolbox:()=>Vo,fromBase64:()=>ko,fetchFeeRateFromSwapKit:()=>fo,estimateTransactionFee:()=>Fo,depositMsgAmino:()=>l,createThorchainToolbox:()=>po,createStargateClient:()=>j,createSigningStargateClient:()=>O,createOfflineStargateClient:()=>g,createDefaultRegistry:()=>G,createDefaultAminoTypes:()=>P,createCosmosToolbox:()=>h,cosmosValidateAddress:()=>Yo,cosmosCreateTransaction:()=>s,convertToSignable:()=>k,buildTransferTx:()=>co,buildEncodedTxBody:()=>q,buildDepositTx:()=>vo,buildAminoMsg:()=>M,bech32ToBase64:()=>F,base64ToBech32:()=>K,YUM_KUJIRA_FACTORY_DENOM:()=>wo,USK_KUJIRA_FACTORY_DENOM:()=>yo,THORCHAIN_GAS_VALUE:()=>Qo,MAYA_GAS_VALUE:()=>Xo,DEFAULT_KUJI_FEE_MAINNET:()=>io,DEFAULT_COSMOS_FEE_MAINNET:()=>xo});module.exports=bo(so);var z=require("@scure/base"),no=require("@swapkit/helpers"),E=require("base64-js");function F(o){return z.base64.encode(Uint8Array.from(z.bech32.fromWords(z.bech32.decode(o).words)))}function K(o,t="thor"){return z.bech32.encode(t,z.bech32.toWords(z.base64.decode(o)))}function Po(o){return E.fromByteArray(o)}function ko(o){if(!o.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new no.SwapKitError("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return E.toByteArray(o)}var W=require("@swapkit/helpers");var m=require("@swapkit/helpers"),yo="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",wo="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",xo={amount:[{denom:"uatom",amount:"500"}],gas:"200000"},io={amount:[{denom:"ukuji",amount:"1000"}],gas:"200000"};function H(o){switch(o){case m.Chain.Maya:return{amount:[],gas:"10000000000"};case m.Chain.THORChain:return{amount:[],gas:"500000000"};case m.Chain.Kujira:return io;default:return xo}}var L=(o,t=!1)=>{if(t)return o.toLowerCase();switch(o){case"uUSK":case"USK":return yo;case"uYUM":case"YUM":return wo;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";default:return o}},D=({symbol:o,chain:t})=>{if(t===m.Chain.Maya)return(o.toUpperCase()!=="CACAO"?o:`${m.Chain.Maya}.${o}`).toUpperCase();if(t===m.Chain.THORChain)return(o.toUpperCase()!=="RUNE"?o:`${m.Chain.THORChain}.${o}`).toUpperCase();return L(o,!1)};async function j(o){let{StargateClient:t}=(await import("@cosmjs/stargate")).default;return t.connect(o)}async function O(o,t,r={}){let{SigningStargateClient:f,GasPrice:p}=(await import("@cosmjs/stargate")).default,y=typeof r==="string"?r:"0.0003uatom",w=typeof r==="string"?{}:r;return f.connectWithSigner(o,t,{gasPrice:p.fromString(y),...w})}async function g(o,t){let{SigningStargateClient:r}=(await import("@cosmjs/stargate")).default;return r.offline(o,t)}var Co=(o)=>{let{isStagenet:t}=m.SKConfig.get("envs"),r=m.SKConfig.get("rpcUrls");switch(o){case m.ChainId.Kujira:return r.KUJI;case m.ChainId.THORChain:case"thorchain-mainnet-v1":return t?r.THOR_STAGENET:r.THOR;case m.ChainId.Maya:return t?r.MAYA_STAGENET:r.MAYA;default:return r.GAIA}},Zo=(o)=>{switch(o){case m.Chain.Maya:case m.Chain.THORChain:return"/types.MsgSend";case m.Chain.Cosmos:case m.Chain.Kujira:return"/cosmos.bank.v1beta1.MsgSend";default:throw new m.SwapKitError("toolbox_cosmos_not_supported",{chain:o})}},s=async({sender:o,recipient:t,assetValue:r,memo:f="",feeRate:p,sequence:y,accountNumber:w})=>{let{chain:T,chainId:C}=r,_=Co(C),x=await(await j(_)).getAccount(o);if(!x)throw new m.SwapKitError("toolbox_cosmos_account_not_found",{sender:o});let u=m.AssetValue.from({chain:T}),R=L(u.symbol),c=H(T),$=R&&p?{amount:[{denom:R,amount:p.toString()}],gas:c.gas}:c,B={fromAddress:o,toAddress:t,amount:[{amount:r.getBaseValue("string"),denom:L(r.symbol)}]};return{accountNumber:w??x.accountNumber,chainId:C,fee:$,memo:f,sequence:y??x.sequence,msgs:[{typeUrl:Zo(T),value:B}]}};var mo=require("@swapkit/helpers");async function G(){let{$root:o}=await import("../../chunk-4yap1fvd.js"),{Registry:t}=(await import("@cosmjs/proto-signing")).default,{defaultRegistryTypes:r}=(await import("@cosmjs/stargate")).default;return new t([...r,["/types.MsgSend",o.types.MsgSend],["/types.MsgDeposit",o.types.MsgDeposit]])}async function P(o){let{AminoTypes:t}=(await import("@cosmjs/stargate")).default,r=o===mo.Chain.THORChain?"thorchain":"mayachain";return new t({"/types.MsgSend":{aminoType:`${r}/MsgSend`,toAmino:({fromAddress:f,toAddress:p,...y})=>({...y,from_address:K(f),to_address:K(p)}),fromAmino:({from_address:f,to_address:p,...y})=>({...y,fromAddress:F(f),toAddress:F(p)})},"/types.MsgDeposit":{aminoType:`${r}/MsgDeposit`,toAmino:({signer:f,...p})=>({...p,signer:K(f)}),fromAmino:({signer:f,...p})=>({...p,signer:F(f)})}})}var Qo=H(W.Chain.THORChain).gas,Xo=H(W.Chain.Maya).gas,a=({sender:o,recipient:t,assetValue:r})=>{return{type:`${r.chain===W.Chain.Maya?"mayachain":"thorchain"}/MsgSend`,value:{from_address:o,to_address:t,amount:[{amount:r.getBaseValue("string"),denom:L(r.symbol,!0)}]}}},l=({sender:o,assetValue:t,memo:r=""})=>{return{type:`${t.chain===W.Chain.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:t.getBaseValue("string"),asset:D(t)}],signer:o,memo:r}}},M=({sender:o,recipient:t,assetValue:r,memo:f})=>{return!t?l({sender:o,assetValue:r,memo:f}):a({sender:o,recipient:t,assetValue:r})},k=async(o,t)=>{return(await P(t)).fromAmino(o)},To=async({rpcUrl:o,sender:t})=>{let f=await(await j(o)).getAccount(t);if(!f)throw new W.SwapKitError("toolbox_cosmos_account_not_found",{sender:t});return f};function oo(o){return function t(r){let{assetValue:f,recipient:p,memo:y,sender:w,asSignable:T,asAminoMessage:C}=r;if(p)return co(o)({sender:w,recipient:p,assetValue:f,memo:y,asSignable:T,asAminoMessage:C});return vo(o)({sender:w,assetValue:f,memo:y,asSignable:T,asAminoMessage:C})}}var co=(o)=>async({sender:t,recipient:r,assetValue:f,memo:p="",asSignable:y=!0,asAminoMessage:w=!1,sequence:T,accountNumber:C})=>{let _=await To({rpcUrl:o,sender:t}),d=f.chain,x=a({sender:t,recipient:r,assetValue:f}),u=y?await k(w?x:Z(x),d):x;return{chainId:W.ChainToChainId[d],accountNumber:C||_.accountNumber,sequence:T||_.sequence,msgs:[u],fee:H(f.chain),memo:p}},vo=(o)=>async({sender:t,assetValue:r,memo:f="",asSignable:p=!0,asAminoMessage:y=!1,sequence:w,accountNumber:T})=>{let C=await To({rpcUrl:o,sender:t}),_=r.chain,d=l({sender:t,assetValue:r,memo:f}),x=p?await k(y?d:Z(d),_):d;return{chainId:W.ChainToChainId[_],accountNumber:T||C.accountNumber,sequence:w||C.sequence,msgs:[x],fee:H(r.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((t)=>{let r=W.AssetValue.from({asset:t.asset}),f=(r.isSynthetic?r.symbol.split("/")?.[1]:r.symbol)?.toUpperCase(),p=(r.isSynthetic?r.symbol.split("/")?.[0]:r.chain)?.toUpperCase();return{...t,asset:{chain:p,symbol:f,ticker:r.ticker,synth:r.isSynthetic}}})}}}async function q({chain:o,memo:t,msgs:r}){let f=await G(),p=await P(o),y={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:t,messages:r.map((w)=>p.fromAmino(w))}};return f.encode(y)}var J=require("@swapkit/helpers");var Q=require("@scure/base"),n=require("@swapkit/helpers"),ro=require("@swapkit/helpers/api"),N=require("ts-pattern");async function fo(o,t){try{let f=(await ro.SwapKitApi.getGasRate()).find((p)=>p.chainId===o)?.value;return f?Number.parseFloat(f):t}catch(r){return t}}async function to({phrase:o,prefix:t,...r}){let{DirectSecp256k1HdWallet:f}=(await import("@cosmjs/proto-signing")).default,{stringToPath:p}=(await import("@cosmjs/crypto")).default,y="derivationPath"in r?r.derivationPath:`${n.DerivationPath[r.chain]}/${r.index}`;return f.fromMnemonic(o,{prefix:t,hdPaths:[p(y)]})}async function Go({privateKey:o,prefix:t}){let{DirectSecp256k1Wallet:r}=(await import("@cosmjs/proto-signing")).default;return r.fromKey(o,t)}var _o={[n.Chain.Cosmos]:500,[n.Chain.Kujira]:1000,[n.Chain.THORChain]:5000000,[n.Chain.Maya]:5000000};function Bo(o){return async function t({signature:r,message:f,address:p}){let y=await o(p);if(!y?.pubkey)throw new n.SwapKitError("toolbox_cosmos_verify_signature_no_pubkey");let{Secp256k1Signature:w,Secp256k1:T}=(await import("@cosmjs/crypto")).default,C=w.fromFixedLength(Q.base64.decode(r));return T.verifySignature(C,Q.base64.decode(f),y.pubkey.value)}}async function h({chain:o,...t}){let r=n.SKConfig.get("rpcUrls")[o],f=n.CosmosChainPrefixes[o],p="index"in t?t.index||0:0,y=n.derivationPathToString("derivationPath"in t&&t.derivationPath?t.derivationPath:n.updateDerivationPath(n.NetworkDerivationPath[o],{index:p})),w=await N.match(t).with({phrase:N.P.string},({phrase:x})=>to({phrase:x,prefix:f,derivationPath:y})).with({signer:N.P.any},({signer:x})=>x).otherwise(()=>{return});async function T(x){return(await j(r)).getAccount(x)}async function C(){let[x]=await w?.getAccounts()||[];return x?.address}async function _(){let[x]=await w?.getAccounts()||[];if(!x?.pubkey)throw new n.SwapKitError("toolbox_cosmos_signer_not_defined");return Q.base64.encode(x?.pubkey)}async function d({recipient:x,assetValue:u,memo:R="",feeRate:c,feeOptionKey:$=n.FeeOption.Fast}){let B=await C();if(!(w&&B))throw new n.SwapKitError("toolbox_cosmos_signer_not_defined");let A=n.AssetValue.from({chain:o}),I=D(A),U=c||Do((await uo(o,_o[o]))[$],I),e=await O(r,w),V=[{denom:L(`u${u.symbol}`).toLowerCase(),amount:u.getBaseValue("string")}],{transactionHash:Y}=await e.sendTokens(B,x,V,U,R);return Y}return{transfer:d,getAddress:C,getAccount:T,getBalance:$o(o),getSignerFromPhrase:async({phrase:x,derivationPath:u})=>to({phrase:x,prefix:f,derivationPath:n.derivationPathToString(u),index:p}),getSignerFromPrivateKey:async(x)=>{let{DirectSecp256k1Wallet:u}=(await import("@cosmjs/proto-signing")).default;return u.fromKey(x,f)},createPrivateKeyFromPhrase:No(y),validateAddress:Ro(f),getPubKey:_,getFees:()=>uo(o,_o[o]),fetchFeeRateFromSwapKit:fo,getBalanceAsDenoms:qo(r),createTransaction:s,verifySignature:Bo(T)}}async function Jo(o,t){try{let f=(await ro.SwapKitApi.getGasRate()).find((p)=>p.chainId===o)?.value;return f?Number.parseFloat(f):t}catch(r){return t}}function Yo({address:o,chain:t,prefix:r}){let f=r||Ko(t);if(!(f&&o))throw new n.SwapKitError("toolbox_cosmos_validate_address_prefix_not_found");return Ro(f)(o)}function Fo({assetValue:{chain:o}}){return n.AssetValue.from({chain:o,value:Oo(o)})}function Ko(o){let{isStagenet:t}=n.SKConfig.get("envs"),r=o?[n.Chain.THORChain,n.Chain.Maya].includes(o)&&t:!1,f=o?n.CosmosChainPrefixes[o]:void 0;return r?`s${f}`:f}async function uo(o,t){let r=await fo(n.ChainToChainId[o],t);return{average:n.SwapKitNumber.fromBigInt(BigInt(r),n.BaseDecimal[o]),fast:n.SwapKitNumber.fromBigInt(BigInt(n.applyFeeMultiplier(r,n.FeeOption.Fast,!0)),n.BaseDecimal[o]),fastest:n.SwapKitNumber.fromBigInt(BigInt(n.applyFeeMultiplier(r,n.FeeOption.Fastest,!0)),n.BaseDecimal[o])}}function Do(o,t){return{amount:[{denom:t,amount:o.getBaseValue("string")}],gas:"200000"}}function Oo(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 t(r){if(!r.startsWith(o))return!1;try{let{prefix:f,words:p}=Q.bech32.decode(r);return Q.bech32.encode(f,p)===r.toLocaleLowerCase()}catch(f){return!1}}}function qo(o){return async function t(r){return(await(await j(o)).getAllBalances(r)).map((w)=>({...w,denom:w.denom.includes("/")?w.denom.toUpperCase():w.denom}))}}function No(o){return async function t(r){let{Bip39:f,EnglishMnemonic:p,Slip10:y,Slip10Curve:w,stringToPath:T}=await import("@cosmjs/crypto"),C=new p(r),_=await f.mnemonicToSeed(C),{privkey:d}=y.derivePath(w.Secp256k1,_,T(o));return d}}var X=require("@scure/base"),i=require("@swapkit/helpers"),S=require("ts-pattern");function ho({prefix:o,derivationPath:t}){return async function r(f,p=0){let{Secp256k1HdWallet:y}=(await import("@cosmjs/amino")).default,{stringToPath:w}=(await import("@cosmjs/crypto")).default;return y.fromMnemonic(f,{hdPaths:[w(`${t}/${p}`)],prefix:o})}}function So(o){return X.base64.encode(o)}function Eo(o){return async function t({wallet:r,tx:f}){let{msgs:p,accountNumber:y,sequence:w,chainId:T,fee:C,memo:_}=typeof f==="string"?JSON.parse(f):f,d=(await r.getAccounts())?.[0]?.address||"",x=await P(o),u=await G(),R=await g(r,{registry:u,aminoTypes:x}),c=[];for(let A of p){let I=await k(A,o);c.push(I)}let{signatures:[$]}=await R.sign(d,c,C,_,{accountNumber:y,sequence:w,chainId:T}),B=await q({chain:o,memo:_,msgs:p.map(Z)});return{signature:So($),bodyBytes:B}}}function Mo({prefix:o,rpcUrl:t}){return async function r(f,p,y,w,T){let{encodeSecp256k1Pubkey:C,pubkeyToAddress:_}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:d}=(await import("@cosmjs/stargate")).default,{sequence:x,fee:u}=JSON.parse(f),R=await Wo(y,w),c=p.map((A)=>[_(C(X.base64.decode(A.pubKey)),o),X.base64.decode(A.signature)]),$=await j(t),{transactionHash:B}=await $.broadcastTx(d(R,x,u,T,new Map(c)));return B}}async function Wo(o,t,r=!0){let{createMultisigThresholdPubkey:f,encodeSecp256k1Pubkey:p}=(await import("@cosmjs/amino")).default;return f(o.map((y)=>p(X.base64.decode(y))),t,r)}function Uo(o){return X.base64.decode(o)}async function eo({privateKey:o,message:t}){let{Secp256k1:r}=(await import("@cosmjs/crypto")).default,f=await r.createSignature(X.base64.decode(t),o);return X.base64.encode(Buffer.concat([f.r(32),f.s(32)]))}async function po({chain:o,...t}){let r=i.SKConfig.get("nodeUrls")[o],f=i.SKConfig.get("rpcUrls")[o],{isStagenet:p}=i.SKConfig.get("envs"),y=o===i.Chain.THORChain,w=`${p?"s":""}${i.CosmosChainPrefixes[o]}`,T="index"in t?t.index||0:0,C="derivationPath"in t&&t.derivationPath?t.derivationPath:i.updateDerivationPath(i.NetworkDerivationPath[o],{index:T}),_=await h({chain:o,...t}),d=await S.match(t).with({phrase:S.P.string},({phrase:c})=>_.getSignerFromPhrase({phrase:c,derivationPath:C})).with({signer:S.P.any},({signer:c})=>c).otherwise(()=>{return}),x=H(o);async function u(){let c,$=`${r}/${y?"thorchain":"mayachain"}/constants`;try{let{int_64_values:{NativeTransactionFee:B}}=await i.RequestClient.get($);if(!B||Number.isNaN(B)||B<0)throw new i.SwapKitError("toolbox_cosmos_invalid_fee",{nativeFee:B.toString()});c=new i.SwapKitNumber(B)}catch{c=new i.SwapKitNumber({value:y?0.02:1,decimal:i.BaseDecimal[o]})}return{[i.FeeOption.Average]:c,[i.FeeOption.Fast]:c,[i.FeeOption.Fastest]:c}}async function R({assetValue:c,memo:$="",recipient:B}){let{TxRaw:A}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),I=(await d?.getAccounts())?.[0]?.address;if(!(I&&d))throw new i.SwapKitError("toolbox_cosmos_no_signer");let U="signAmino"in d,e=await G(),V=await P(o),Y=await O(f,d,{registry:e,aminoTypes:V}),b=M({assetValue:c,sender:I,recipient:B,memo:$});if(U){let Ao=await k(b,o),{signatures:Io,authInfoBytes:zo}=await Y.sign(I,[Ao],x,$),Lo=A.encode({signatures:Io,authInfoBytes:zo,bodyBytes:await q({chain:o,msgs:[b].map(Z),memo:$})}).finish();return(await Y.broadcastTx(Lo)).transactionHash}let Ho=Z(b),jo=await k(Ho,o);return(await Y.signAndBroadcast(I,[jo],x,$)).transactionHash}return{..._,broadcastMultisigTx:Mo({prefix:w,rpcUrl:f}),buildAminoMsg:M,buildEncodedTxBody:q,convertToSignable:k,createDefaultAminoTypes:()=>P(o),createDefaultRegistry:G,createMultisig:Wo,createTransaction:oo(f),deposit:R,getFees:u,importSignature:Uo,parseAminoMessageForDirectSigning:Z,secp256k1HdWalletFromMnemonic:ho({derivationPath:i.derivationPathToString(C),prefix:w}),signMultisigTx:Eo(o),signWithPrivateKey:eo,transfer:R,pubkeyToAddress:async(c)=>{let{pubkeyToAddress:$}=(await import("@cosmjs/amino")).default;return $(c,w)}}}var Vo=(o,t)=>{switch(o){case J.Chain.Cosmos:case J.Chain.Kujira:return h({chain:o,...t});case J.Chain.Maya:case J.Chain.THORChain:return po({chain:o,...t});default:throw new J.SwapKitError("toolbox_cosmos_not_supported",{chain:o})}};
2
2
 
3
- //# debugId=79FBB0541F3A562764756E2164756E21
3
+ //# debugId=552B6D9BE80AD60864756E2164756E21
@@ -7,10 +7,10 @@
7
7
  "import type { OfflineSigner } from \"@cosmjs/proto-signing\";\nimport type { SigningStargateClientOptions } from \"@cosmjs/stargate\";\nimport {\n AssetValue,\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 symbol.toUpperCase() !== \"RUNE\" ? symbol : `${Chain.THORChain}.${symbol}`\n ).toUpperCase();\n }\n return getMsgSendDenom(symbol, false);\n};\n\nexport async function createStargateClient(url: string) {\n const { StargateClient } = (await import(\"@cosmjs/stargate\")).default;\n\n return StargateClient.connect(url);\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",
8
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
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 derivationPathToString,\n updateDerivationPath,\n} from \"@swapkit/helpers\";\nimport { SwapKitApi } from \"@swapkit/helpers/api\";\nimport { P, match } from \"ts-pattern\";\nimport { getBalance } from \"../../utils\";\nimport type { CosmosToolboxParams } from \"../types\";\nimport {\n cosmosCreateTransaction,\n createSigningStargateClient,\n createStargateClient,\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: getBalance(chain),\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(BigInt(Math.floor(baseFee * 1.5)), BaseDecimal[chain]),\n fastest: SwapKitNumber.fromBigInt(BigInt(Math.floor(baseFee * 2)), BaseDecimal[chain]),\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 } = await import(\n \"@cosmjs/crypto\"\n );\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",
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 { getBalance } from \"../../utils\";\nimport type { CosmosToolboxParams } from \"../types\";\nimport {\n cosmosCreateTransaction,\n createSigningStargateClient,\n createStargateClient,\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: getBalance(chain),\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 } = await import(\n \"@cosmjs/crypto\"\n );\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
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
12
  ],
13
- "mappings": "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",
14
- "debugId": "79FBB0541F3A562764756E2164756E21",
13
+ "mappings": "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",
14
+ "debugId": "552B6D9BE80AD60864756E2164756E21",
15
15
  "names": []
16
16
  }
@@ -1,3 +1,3 @@
1
- import{b as _o}from"../../chunk-vhc011em.js";import{c as m,d as T}from"../../chunk-38ztynv0.js";import{base64 as oo,bech32 as X}from"@scure/base";import{SwapKitError as Jo}from"@swapkit/helpers";import{fromByteArray as Yo,toByteArray as Ko}from"base64-js";function G(o){return oo.encode(Uint8Array.from(X.fromWords(X.decode(o).words)))}function J(o,t="thor"){return X.encode(t,X.toWords(oo.decode(o)))}function Lt(o){return Yo(o)}function Pt(o){if(!o.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new Jo("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return Ko(o)}import{AssetValue as Mo,Chain as D,ChainToChainId as no,SwapKitError as Uo}from"@swapkit/helpers";import{AssetValue as Do,Chain as B,ChainId as U,SKConfig as to,SwapKitError as ro}from"@swapkit/helpers";var Oo="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",Fo="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",qo={amount:[{denom:"uatom",amount:"500"}],gas:"200000"},ho={amount:[{denom:"ukuji",amount:"1000"}],gas:"200000"};function j(o){switch(o){case B.Maya:return{amount:[],gas:"10000000000"};case B.THORChain:return{amount:[],gas:"500000000"};case B.Kujira:return ho;default:return qo}}var I=(o,t=!1)=>{if(t)return o.toLowerCase();switch(o){case"uUSK":case"USK":return Oo;case"uYUM":case"YUM":return Fo;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";default:return o}},Y=({symbol:o,chain:t})=>{if(t===B.Maya)return(o.toUpperCase()!=="CACAO"?o:`${B.Maya}.${o}`).toUpperCase();if(t===B.THORChain)return(o.toUpperCase()!=="RUNE"?o:`${B.THORChain}.${o}`).toUpperCase();return I(o,!1)};async function A(o){let{StargateClient:t}=(await import("@cosmjs/stargate")).default;return t.connect(o)}async function K(o,t,r={}){let{SigningStargateClient:f,GasPrice:p}=(await import("@cosmjs/stargate")).default,n=typeof r==="string"?r:"0.0003uatom",y=typeof r==="string"?{}:r;return f.connectWithSigner(o,t,{gasPrice:p.fromString(n),...y})}async function fo(o,t){let{SigningStargateClient:r}=(await import("@cosmjs/stargate")).default;return r.offline(o,t)}var No=(o)=>{let{isStagenet:t}=to.get("envs"),r=to.get("rpcUrls");switch(o){case U.Kujira:return r.KUJI;case U.THORChain:case"thorchain-mainnet-v1":return t?r.THOR_STAGENET:r.THOR;case U.Maya:return t?r.MAYA_STAGENET:r.MAYA;default:return r.GAIA}},So=(o)=>{switch(o){case B.Maya:case B.THORChain:return"/types.MsgSend";case B.Cosmos:case B.Kujira:return"/cosmos.bank.v1beta1.MsgSend";default:throw new ro("toolbox_cosmos_not_supported",{chain:o})}},po=async({sender:o,recipient:t,assetValue:r,memo:f="",feeRate:p,sequence:n,accountNumber:y})=>{let{chain:i,chainId:x}=r,v=No(x),w=await(await A(v)).getAccount(o);if(!w)throw new ro("toolbox_cosmos_account_not_found",{sender:o});let d=Do.from({chain:i}),u=I(d.symbol),C=j(i),_=u&&p?{amount:[{denom:u,amount:p.toString()}],gas:C.gas}:C,$={fromAddress:o,toAddress:t,amount:[{amount:r.getBaseValue("string"),denom:I(r.symbol)}]};return{accountNumber:y??w.accountNumber,chainId:x,fee:_,memo:f,sequence:n??w.sequence,msgs:[{typeUrl:So(i),value:$}]}};import{Chain as Eo}from"@swapkit/helpers";async function Z(){let{$root:o}=await import("../../chunk-cv69ewns.js"),{Registry:t}=(await import("@cosmjs/proto-signing")).default,{defaultRegistryTypes:r}=(await import("@cosmjs/stargate")).default;return new t([...r,["/types.MsgSend",o.types.MsgSend],["/types.MsgDeposit",o.types.MsgDeposit]])}async function z(o){let{AminoTypes:t}=(await import("@cosmjs/stargate")).default,r=o===Eo.THORChain?"thorchain":"mayachain";return new t({"/types.MsgSend":{aminoType:`${r}/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:G(f),toAddress:G(p)})},"/types.MsgDeposit":{aminoType:`${r}/MsgDeposit`,toAmino:({signer:f,...p})=>({...p,signer:J(f)}),fromAmino:({signer:f,...p})=>({...p,signer:G(f)})}})}var Ot=j(D.THORChain).gas,Ft=j(D.Maya).gas,yo=({sender:o,recipient:t,assetValue:r})=>{return{type:`${r.chain===D.Maya?"mayachain":"thorchain"}/MsgSend`,value:{from_address:o,to_address:t,amount:[{amount:r.getBaseValue("string"),denom:I(r.symbol,!0)}]}}},wo=({sender:o,assetValue:t,memo:r=""})=>{return{type:`${t.chain===D.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:t.getBaseValue("string"),asset:Y(t)}],signer:o,memo:r}}},e=({sender:o,recipient:t,assetValue:r,memo:f})=>{return!t?wo({sender:o,assetValue:r,memo:f}):yo({sender:o,recipient:t,assetValue:r})},L=async(o,t)=>{return(await z(t)).fromAmino(o)},xo=async({rpcUrl:o,sender:t})=>{let f=await(await A(o)).getAccount(t);if(!f)throw new Uo("toolbox_cosmos_account_not_found",{sender:t});return f};function io(o){return function t(r){let{assetValue:f,recipient:p,memo:n,sender:y,asSignable:i,asAminoMessage:x}=r;if(p)return eo(o)({sender:y,recipient:p,assetValue:f,memo:n,asSignable:i,asAminoMessage:x});return Vo(o)({sender:y,assetValue:f,memo:n,asSignable:i,asAminoMessage:x})}}var eo=(o)=>async({sender:t,recipient:r,assetValue:f,memo:p="",asSignable:n=!0,asAminoMessage:y=!1,sequence:i,accountNumber:x})=>{let v=await xo({rpcUrl:o,sender:t}),c=f.chain,w=yo({sender:t,recipient:r,assetValue:f}),d=n?await L(y?w:P(w),c):w;return{chainId:no[c],accountNumber:x||v.accountNumber,sequence:i||v.sequence,msgs:[d],fee:j(f.chain),memo:p}},Vo=(o)=>async({sender:t,assetValue:r,memo:f="",asSignable:p=!0,asAminoMessage:n=!1,sequence:y,accountNumber:i})=>{let x=await xo({rpcUrl:o,sender:t}),v=r.chain,c=wo({sender:t,assetValue:r,memo:f}),w=p?await L(n?c:P(c),v):c;return{chainId:no[v],accountNumber:i||x.accountNumber,sequence:y||x.sequence,msgs:[w],fee:j(r.chain),memo:f}};function P(o){if(o.type==="thorchain/MsgSend"||o.type==="mayachain/MsgSend")return o;return{...o,value:{...o.value,coins:o.value.coins.map((t)=>{let r=Mo.from({asset:t.asset}),f=(r.isSynthetic?r.symbol.split("/")?.[1]:r.symbol)?.toUpperCase(),p=(r.isSynthetic?r.symbol.split("/")?.[0]:r.chain)?.toUpperCase();return{...t,asset:{chain:p,symbol:f,ticker:r.ticker,synth:r.isSynthetic}}})}}}async function O({chain:o,memo:t,msgs:r}){let f=await Z(),p=await z(o),n={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:t,messages:r.map((y)=>p.fromAmino(y))}};return f.encode(n)}import{Chain as h,SwapKitError as Wt}from"@swapkit/helpers";import{base64 as s,bech32 as V}from"@scure/base";import{AssetValue as $o,BaseDecimal as b,Chain as R,ChainToChainId as bo,CosmosChainPrefixes as uo,DerivationPath as go,FeeOption as so,NetworkDerivationPath as ao,SKConfig as Bo,SwapKitError as F,SwapKitNumber as g,derivationPathToString as Co,updateDerivationPath as lo}from"@swapkit/helpers";import{SwapKitApi as Ro}from"@swapkit/helpers/api";import{P as mo,match as ot}from"ts-pattern";async function Wo(o,t){try{let f=(await Ro.getGasRate()).find((p)=>p.chainId===o)?.value;return f?Number.parseFloat(f):t}catch(r){return t}}async function To({phrase:o,prefix:t,...r}){let{DirectSecp256k1HdWallet:f}=(await import("@cosmjs/proto-signing")).default,{stringToPath:p}=(await import("@cosmjs/crypto")).default,n="derivationPath"in r?r.derivationPath:`${go[r.chain]}/${r.index}`;return f.fromMnemonic(o,{prefix:t,hdPaths:[p(n)]})}async function lt({privateKey:o,prefix:t}){let{DirectSecp256k1Wallet:r}=(await import("@cosmjs/proto-signing")).default;return r.fromKey(o,t)}var co={[R.Cosmos]:500,[R.Kujira]:1000,[R.THORChain]:5000000,[R.Maya]:5000000};function tt(o){return async function t({signature:r,message:f,address:p}){let n=await o(p);if(!n?.pubkey)throw new F("toolbox_cosmos_verify_signature_no_pubkey");let{Secp256k1Signature:y,Secp256k1:i}=(await import("@cosmjs/crypto")).default,x=y.fromFixedLength(s.decode(r));return i.verifySignature(x,s.decode(f),n.pubkey.value)}}async function q({chain:o,...t}){let r=Bo.get("rpcUrls")[o],f=uo[o],p="index"in t?t.index||0:0,n=Co("derivationPath"in t&&t.derivationPath?t.derivationPath:lo(ao[o],{index:p})),y=await ot(t).with({phrase:mo.string},({phrase:w})=>To({phrase:w,prefix:f,derivationPath:n})).with({signer:mo.any},({signer:w})=>w).otherwise(()=>{return});async function i(w){return(await A(r)).getAccount(w)}async function x(){let[w]=await y?.getAccounts()||[];return w?.address}async function v(){let[w]=await y?.getAccounts()||[];if(!w?.pubkey)throw new F("toolbox_cosmos_signer_not_defined");return s.encode(w?.pubkey)}async function c({recipient:w,assetValue:d,memo:u="",feeRate:C,feeOptionKey:_=so.Fast}){let $=await x();if(!(y&&$))throw new F("toolbox_cosmos_signer_not_defined");let W=$o.from({chain:o}),H=Y(W),N=C||ft((await vo(o,co[o]))[_],H),S=await K(r,y),E=[{denom:I(`u${d.symbol}`).toLowerCase(),amount:d.getBaseValue("string")}],{transactionHash:Q}=await S.sendTokens($,w,E,N,u);return Q}return{transfer:c,getAddress:x,getAccount:i,getBalance:_o(o),getSignerFromPhrase:async({phrase:w,derivationPath:d})=>To({phrase:w,prefix:f,derivationPath:Co(d),index:p}),getSignerFromPrivateKey:async(w)=>{let{DirectSecp256k1Wallet:d}=(await import("@cosmjs/proto-signing")).default;return d.fromKey(w,f)},createPrivateKeyFromPhrase:yt(n),validateAddress:Ho(f),getPubKey:v,getFees:()=>vo(o,co[o]),fetchFeeRateFromSwapKit:Wo,getBalanceAsDenoms:nt(r),createTransaction:po,verifySignature:tt(i)}}async function or(o,t){try{let f=(await Ro.getGasRate()).find((p)=>p.chainId===o)?.value;return f?Number.parseFloat(f):t}catch(r){return t}}function tr({address:o,chain:t,prefix:r}){let f=r||rt(t);if(!(f&&o))throw new F("toolbox_cosmos_validate_address_prefix_not_found");return Ho(f)(o)}function rr({assetValue:{chain:o}}){return $o.from({chain:o,value:pt(o)})}function rt(o){let{isStagenet:t}=Bo.get("envs"),r=o?[R.THORChain,R.Maya].includes(o)&&t:!1,f=o?uo[o]:void 0;return r?`s${f}`:f}async function vo(o,t){let r=await Wo(bo[o],t);return{average:g.fromBigInt(BigInt(r),b[o]),fast:g.fromBigInt(BigInt(Math.floor(r*1.5)),b[o]),fastest:g.fromBigInt(BigInt(Math.floor(r*2)),b[o])}}function ft(o,t){return{amount:[{denom:t,amount:o.getBaseValue("string")}],gas:"200000"}}function pt(o){return{[R.Cosmos]:0.007,[R.Kujira]:0.02,[R.THORChain]:0.02,[R.Maya]:0.02}[o]||0}function Ho(o){return function t(r){if(!r.startsWith(o))return!1;try{let{prefix:f,words:p}=V.decode(r);return V.encode(f,p)===r.toLocaleLowerCase()}catch(f){return!1}}}function nt(o){return async function t(r){return(await(await A(o)).getAllBalances(r)).map((y)=>({...y,denom:y.denom.includes("/")?y.denom.toUpperCase():y.denom}))}}function yt(o){return async function t(r){let{Bip39:f,EnglishMnemonic:p,Slip10:n,Slip10Curve:y,stringToPath:i}=await import("@cosmjs/crypto"),x=new p(r),v=await f.mnemonicToSeed(x),{privkey:c}=n.derivePath(y.Secp256k1,v,i(o));return c}}import{base64 as k}from"@scure/base";import{BaseDecimal as wt,Chain as xt,CosmosChainPrefixes as it,FeeOption as a,NetworkDerivationPath as Ct,RequestClient as mt,SKConfig as l,SwapKitError as jo,SwapKitNumber as Ao,derivationPathToString as Tt,updateDerivationPath as ct}from"@swapkit/helpers";import{P as Io,match as vt}from"ts-pattern";function dt({prefix:o,derivationPath:t}){return async function r(f,p=0){let{Secp256k1HdWallet:n}=(await import("@cosmjs/amino")).default,{stringToPath:y}=(await import("@cosmjs/crypto")).default;return n.fromMnemonic(f,{hdPaths:[y(`${t}/${p}`)],prefix:o})}}function _t(o){return k.encode(o)}function $t(o){return async function t({wallet:r,tx:f}){let{msgs:p,accountNumber:n,sequence:y,chainId:i,fee:x,memo:v}=typeof f==="string"?JSON.parse(f):f,c=(await r.getAccounts())?.[0]?.address||"",w=await z(o),d=await Z(),u=await fo(r,{registry:d,aminoTypes:w}),C=[];for(let W of p){let H=await L(W,o);C.push(H)}let{signatures:[_]}=await u.sign(c,C,x,v,{accountNumber:n,sequence:y,chainId:i}),$=await O({chain:o,memo:v,msgs:p.map(P)});return{signature:_t(_),bodyBytes:$}}}function ut({prefix:o,rpcUrl:t}){return async function r(f,p,n,y,i){let{encodeSecp256k1Pubkey:x,pubkeyToAddress:v}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:c}=(await import("@cosmjs/stargate")).default,{sequence:w,fee:d}=JSON.parse(f),u=await zo(n,y),C=p.map((W)=>[v(x(k.decode(W.pubKey)),o),k.decode(W.signature)]),_=await A(t),{transactionHash:$}=await _.broadcastTx(c(u,w,d,i,new Map(C)));return $}}async function zo(o,t,r=!0){let{createMultisigThresholdPubkey:f,encodeSecp256k1Pubkey:p}=(await import("@cosmjs/amino")).default;return f(o.map((n)=>p(k.decode(n))),t,r)}function Bt(o){return k.decode(o)}async function Rt({privateKey:o,message:t}){let{Secp256k1:r}=(await import("@cosmjs/crypto")).default,f=await r.createSignature(k.decode(t),o);return k.encode(Buffer.concat([f.r(32),f.s(32)]))}async function Lo({chain:o,...t}){let r=l.get("nodeUrls")[o],f=l.get("rpcUrls")[o],{isStagenet:p}=l.get("envs"),n=o===xt.THORChain,y=`${p?"s":""}${it[o]}`,i="index"in t?t.index||0:0,x="derivationPath"in t&&t.derivationPath?t.derivationPath:ct(Ct[o],{index:i}),v=await q({chain:o,...t}),c=await vt(t).with({phrase:Io.string},({phrase:C})=>v.getSignerFromPhrase({phrase:C,derivationPath:x})).with({signer:Io.any},({signer:C})=>C).otherwise(()=>{return}),w=j(o);async function d(){let C,_=`${r}/${n?"thorchain":"mayachain"}/constants`;try{let{int_64_values:{NativeTransactionFee:$}}=await mt.get(_);if(!$||Number.isNaN($)||$<0)throw new jo("toolbox_cosmos_invalid_fee",{nativeFee:$.toString()});C=new Ao($)}catch{C=new Ao({value:n?0.02:1,decimal:wt[o]})}return{[a.Average]:C,[a.Fast]:C,[a.Fastest]:C}}async function u({assetValue:C,memo:_="",recipient:$}){let{TxRaw:W}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),H=(await c?.getAccounts())?.[0]?.address;if(!(H&&c))throw new jo("toolbox_cosmos_no_signer");let N="signAmino"in c,S=await Z(),E=await z(o),Q=await K(f,c,{registry:S,aminoTypes:E}),M=e({assetValue:C,sender:H,recipient:$,memo:_});if(N){let Zo=await L(M,o),{signatures:Qo,authInfoBytes:Xo}=await Q.sign(H,[Zo],w,_),Go=W.encode({signatures:Qo,authInfoBytes:Xo,bodyBytes:await O({chain:o,msgs:[M].map(P),memo:_})}).finish();return(await Q.broadcastTx(Go)).transactionHash}let Po=P(M),ko=await L(Po,o);return(await Q.signAndBroadcast(H,[ko],w,_)).transactionHash}return{...v,broadcastMultisigTx:ut({prefix:y,rpcUrl:f}),buildAminoMsg:e,buildEncodedTxBody:O,convertToSignable:L,createDefaultAminoTypes:()=>z(o),createDefaultRegistry:Z,createMultisig:zo,createTransaction:io(f),deposit:u,getFees:d,importSignature:Bt,parseAminoMessageForDirectSigning:P,secp256k1HdWalletFromMnemonic:dt({derivationPath:Tt(x),prefix:y}),signMultisigTx:$t(o),signWithPrivateKey:Rt,transfer:u,pubkeyToAddress:async(C)=>{let{pubkeyToAddress:_}=(await import("@cosmjs/amino")).default;return _(C,y)}}}var vr=(o,t)=>{switch(o){case h.Cosmos:case h.Kujira:return q({chain:o,...t});case h.Maya:case h.THORChain:return Lo({chain:o,...t});default:throw new Wt("toolbox_cosmos_not_supported",{chain:o})}};export{tt as verifySignature,yo as transferMsgAmino,Lt as toBase64,P as parseAminoMessageForDirectSigning,lt as getSignerFromPrivateKey,To as getSignerFromPhrase,No as getRPC,I as getMsgSendDenom,or as getFeeRateFromThorswap,Y as getDenomWithChain,j as getDefaultChainFee,io as getCreateTransaction,vr as getCosmosToolbox,Pt as fromBase64,Wo as fetchFeeRateFromSwapKit,rr as estimateTransactionFee,wo as depositMsgAmino,Lo as createThorchainToolbox,A as createStargateClient,K as createSigningStargateClient,fo as createOfflineStargateClient,Z as createDefaultRegistry,z as createDefaultAminoTypes,q as createCosmosToolbox,tr as cosmosValidateAddress,po as cosmosCreateTransaction,L as convertToSignable,eo as buildTransferTx,O as buildEncodedTxBody,Vo as buildDepositTx,e as buildAminoMsg,G as bech32ToBase64,J as base64ToBech32,Fo as YUM_KUJIRA_FACTORY_DENOM,Oo as USK_KUJIRA_FACTORY_DENOM,Ot as THORCHAIN_GAS_VALUE,Ft as MAYA_GAS_VALUE,ho as DEFAULT_KUJI_FEE_MAINNET,qo as DEFAULT_COSMOS_FEE_MAINNET};
1
+ import{c as $o}from"../../chunk-12xtvbsp.js";import{d as m,e as T}from"../../chunk-s47y8512.js";import{base64 as to,bech32 as X}from"@scure/base";import{SwapKitError as Fo}from"@swapkit/helpers";import{fromByteArray as Ko,toByteArray as Do}from"base64-js";function G(o){return to.encode(Uint8Array.from(X.fromWords(X.decode(o).words)))}function J(o,t="thor"){return X.encode(t,X.toWords(to.decode(o)))}function Pt(o){return Ko(o)}function kt(o){if(!o.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new Fo("toolbox_cosmos_invalid_params",{error:"Invalid base64 string format"});return Do(o)}import{AssetValue as eo,Chain as K,ChainToChainId as yo,SwapKitError as Vo}from"@swapkit/helpers";import{AssetValue as Oo,Chain as B,ChainId as U,SKConfig as ro,SwapKitError as fo}from"@swapkit/helpers";var qo="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",No="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",ho={amount:[{denom:"uatom",amount:"500"}],gas:"200000"},So={amount:[{denom:"ukuji",amount:"1000"}],gas:"200000"};function j(o){switch(o){case B.Maya:return{amount:[],gas:"10000000000"};case B.THORChain:return{amount:[],gas:"500000000"};case B.Kujira:return So;default:return ho}}var I=(o,t=!1)=>{if(t)return o.toLowerCase();switch(o){case"uUSK":case"USK":return qo;case"uYUM":case"YUM":return No;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";default:return o}},Y=({symbol:o,chain:t})=>{if(t===B.Maya)return(o.toUpperCase()!=="CACAO"?o:`${B.Maya}.${o}`).toUpperCase();if(t===B.THORChain)return(o.toUpperCase()!=="RUNE"?o:`${B.THORChain}.${o}`).toUpperCase();return I(o,!1)};async function A(o){let{StargateClient:t}=(await import("@cosmjs/stargate")).default;return t.connect(o)}async function F(o,t,r={}){let{SigningStargateClient:f,GasPrice:p}=(await import("@cosmjs/stargate")).default,n=typeof r==="string"?r:"0.0003uatom",y=typeof r==="string"?{}:r;return f.connectWithSigner(o,t,{gasPrice:p.fromString(n),...y})}async function po(o,t){let{SigningStargateClient:r}=(await import("@cosmjs/stargate")).default;return r.offline(o,t)}var Eo=(o)=>{let{isStagenet:t}=ro.get("envs"),r=ro.get("rpcUrls");switch(o){case U.Kujira:return r.KUJI;case U.THORChain:case"thorchain-mainnet-v1":return t?r.THOR_STAGENET:r.THOR;case U.Maya:return t?r.MAYA_STAGENET:r.MAYA;default:return r.GAIA}},Mo=(o)=>{switch(o){case B.Maya:case B.THORChain:return"/types.MsgSend";case B.Cosmos:case B.Kujira:return"/cosmos.bank.v1beta1.MsgSend";default:throw new fo("toolbox_cosmos_not_supported",{chain:o})}},no=async({sender:o,recipient:t,assetValue:r,memo:f="",feeRate:p,sequence:n,accountNumber:y})=>{let{chain:i,chainId:x}=r,v=Eo(x),w=await(await A(v)).getAccount(o);if(!w)throw new fo("toolbox_cosmos_account_not_found",{sender:o});let d=Oo.from({chain:i}),$=I(d.symbol),C=j(i),_=$&&p?{amount:[{denom:$,amount:p.toString()}],gas:C.gas}:C,u={fromAddress:o,toAddress:t,amount:[{amount:r.getBaseValue("string"),denom:I(r.symbol)}]};return{accountNumber:y??w.accountNumber,chainId:x,fee:_,memo:f,sequence:n??w.sequence,msgs:[{typeUrl:Mo(i),value:u}]}};import{Chain as Uo}from"@swapkit/helpers";async function Z(){let{$root:o}=await import("../../chunk-9bqegm61.js"),{Registry:t}=(await import("@cosmjs/proto-signing")).default,{defaultRegistryTypes:r}=(await import("@cosmjs/stargate")).default;return new t([...r,["/types.MsgSend",o.types.MsgSend],["/types.MsgDeposit",o.types.MsgDeposit]])}async function z(o){let{AminoTypes:t}=(await import("@cosmjs/stargate")).default,r=o===Uo.THORChain?"thorchain":"mayachain";return new t({"/types.MsgSend":{aminoType:`${r}/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:G(f),toAddress:G(p)})},"/types.MsgDeposit":{aminoType:`${r}/MsgDeposit`,toAmino:({signer:f,...p})=>({...p,signer:J(f)}),fromAmino:({signer:f,...p})=>({...p,signer:G(f)})}})}var Ot=j(K.THORChain).gas,qt=j(K.Maya).gas,wo=({sender:o,recipient:t,assetValue:r})=>{return{type:`${r.chain===K.Maya?"mayachain":"thorchain"}/MsgSend`,value:{from_address:o,to_address:t,amount:[{amount:r.getBaseValue("string"),denom:I(r.symbol,!0)}]}}},xo=({sender:o,assetValue:t,memo:r=""})=>{return{type:`${t.chain===K.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:t.getBaseValue("string"),asset:Y(t)}],signer:o,memo:r}}},e=({sender:o,recipient:t,assetValue:r,memo:f})=>{return!t?xo({sender:o,assetValue:r,memo:f}):wo({sender:o,recipient:t,assetValue:r})},L=async(o,t)=>{return(await z(t)).fromAmino(o)},io=async({rpcUrl:o,sender:t})=>{let f=await(await A(o)).getAccount(t);if(!f)throw new Vo("toolbox_cosmos_account_not_found",{sender:t});return f};function Co(o){return function t(r){let{assetValue:f,recipient:p,memo:n,sender:y,asSignable:i,asAminoMessage:x}=r;if(p)return bo(o)({sender:y,recipient:p,assetValue:f,memo:n,asSignable:i,asAminoMessage:x});return go(o)({sender:y,assetValue:f,memo:n,asSignable:i,asAminoMessage:x})}}var bo=(o)=>async({sender:t,recipient:r,assetValue:f,memo:p="",asSignable:n=!0,asAminoMessage:y=!1,sequence:i,accountNumber:x})=>{let v=await io({rpcUrl:o,sender:t}),c=f.chain,w=wo({sender:t,recipient:r,assetValue:f}),d=n?await L(y?w:P(w),c):w;return{chainId:yo[c],accountNumber:x||v.accountNumber,sequence:i||v.sequence,msgs:[d],fee:j(f.chain),memo:p}},go=(o)=>async({sender:t,assetValue:r,memo:f="",asSignable:p=!0,asAminoMessage:n=!1,sequence:y,accountNumber:i})=>{let x=await io({rpcUrl:o,sender:t}),v=r.chain,c=xo({sender:t,assetValue:r,memo:f}),w=p?await L(n?c:P(c),v):c;return{chainId:yo[v],accountNumber:i||x.accountNumber,sequence:y||x.sequence,msgs:[w],fee:j(r.chain),memo:f}};function P(o){if(o.type==="thorchain/MsgSend"||o.type==="mayachain/MsgSend")return o;return{...o,value:{...o.value,coins:o.value.coins.map((t)=>{let r=eo.from({asset:t.asset}),f=(r.isSynthetic?r.symbol.split("/")?.[1]:r.symbol)?.toUpperCase(),p=(r.isSynthetic?r.symbol.split("/")?.[0]:r.chain)?.toUpperCase();return{...t,asset:{chain:p,symbol:f,ticker:r.ticker,synth:r.isSynthetic}}})}}}async function D({chain:o,memo:t,msgs:r}){let f=await Z(),p=await z(o),n={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:t,messages:r.map((y)=>p.fromAmino(y))}};return f.encode(n)}import{Chain as N,SwapKitError as Ht}from"@swapkit/helpers";import{base64 as s,bech32 as V}from"@scure/base";import{AssetValue as Bo,BaseDecimal as b,Chain as R,ChainToChainId as so,CosmosChainPrefixes as Ro,DerivationPath as ao,FeeOption as a,NetworkDerivationPath as lo,SKConfig as Wo,SwapKitError as O,SwapKitNumber as g,applyFeeMultiplier as mo,derivationPathToString as To,updateDerivationPath as ot}from"@swapkit/helpers";import{SwapKitApi as Ho}from"@swapkit/helpers/api";import{P as co,match as tt}from"ts-pattern";async function jo(o,t){try{let f=(await Ho.getGasRate()).find((p)=>p.chainId===o)?.value;return f?Number.parseFloat(f):t}catch(r){return t}}async function vo({phrase:o,prefix:t,...r}){let{DirectSecp256k1HdWallet:f}=(await import("@cosmjs/proto-signing")).default,{stringToPath:p}=(await import("@cosmjs/crypto")).default,n="derivationPath"in r?r.derivationPath:`${ao[r.chain]}/${r.index}`;return f.fromMnemonic(o,{prefix:t,hdPaths:[p(n)]})}async function or({privateKey:o,prefix:t}){let{DirectSecp256k1Wallet:r}=(await import("@cosmjs/proto-signing")).default;return r.fromKey(o,t)}var _o={[R.Cosmos]:500,[R.Kujira]:1000,[R.THORChain]:5000000,[R.Maya]:5000000};function rt(o){return async function t({signature:r,message:f,address:p}){let n=await o(p);if(!n?.pubkey)throw new O("toolbox_cosmos_verify_signature_no_pubkey");let{Secp256k1Signature:y,Secp256k1:i}=(await import("@cosmjs/crypto")).default,x=y.fromFixedLength(s.decode(r));return i.verifySignature(x,s.decode(f),n.pubkey.value)}}async function q({chain:o,...t}){let r=Wo.get("rpcUrls")[o],f=Ro[o],p="index"in t?t.index||0:0,n=To("derivationPath"in t&&t.derivationPath?t.derivationPath:ot(lo[o],{index:p})),y=await tt(t).with({phrase:co.string},({phrase:w})=>vo({phrase:w,prefix:f,derivationPath:n})).with({signer:co.any},({signer:w})=>w).otherwise(()=>{return});async function i(w){return(await A(r)).getAccount(w)}async function x(){let[w]=await y?.getAccounts()||[];return w?.address}async function v(){let[w]=await y?.getAccounts()||[];if(!w?.pubkey)throw new O("toolbox_cosmos_signer_not_defined");return s.encode(w?.pubkey)}async function c({recipient:w,assetValue:d,memo:$="",feeRate:C,feeOptionKey:_=a.Fast}){let u=await x();if(!(y&&u))throw new O("toolbox_cosmos_signer_not_defined");let W=Bo.from({chain:o}),H=Y(W),h=C||pt((await uo(o,_o[o]))[_],H),S=await F(r,y),E=[{denom:I(`u${d.symbol}`).toLowerCase(),amount:d.getBaseValue("string")}],{transactionHash:Q}=await S.sendTokens(u,w,E,h,$);return Q}return{transfer:c,getAddress:x,getAccount:i,getBalance:$o(o),getSignerFromPhrase:async({phrase:w,derivationPath:d})=>vo({phrase:w,prefix:f,derivationPath:To(d),index:p}),getSignerFromPrivateKey:async(w)=>{let{DirectSecp256k1Wallet:d}=(await import("@cosmjs/proto-signing")).default;return d.fromKey(w,f)},createPrivateKeyFromPhrase:wt(n),validateAddress:Ao(f),getPubKey:v,getFees:()=>uo(o,_o[o]),fetchFeeRateFromSwapKit:jo,getBalanceAsDenoms:yt(r),createTransaction:no,verifySignature:rt(i)}}async function tr(o,t){try{let f=(await Ho.getGasRate()).find((p)=>p.chainId===o)?.value;return f?Number.parseFloat(f):t}catch(r){return t}}function rr({address:o,chain:t,prefix:r}){let f=r||ft(t);if(!(f&&o))throw new O("toolbox_cosmos_validate_address_prefix_not_found");return Ao(f)(o)}function fr({assetValue:{chain:o}}){return Bo.from({chain:o,value:nt(o)})}function ft(o){let{isStagenet:t}=Wo.get("envs"),r=o?[R.THORChain,R.Maya].includes(o)&&t:!1,f=o?Ro[o]:void 0;return r?`s${f}`:f}async function uo(o,t){let r=await jo(so[o],t);return{average:g.fromBigInt(BigInt(r),b[o]),fast:g.fromBigInt(BigInt(mo(r,a.Fast,!0)),b[o]),fastest:g.fromBigInt(BigInt(mo(r,a.Fastest,!0)),b[o])}}function pt(o,t){return{amount:[{denom:t,amount:o.getBaseValue("string")}],gas:"200000"}}function nt(o){return{[R.Cosmos]:0.007,[R.Kujira]:0.02,[R.THORChain]:0.02,[R.Maya]:0.02}[o]||0}function Ao(o){return function t(r){if(!r.startsWith(o))return!1;try{let{prefix:f,words:p}=V.decode(r);return V.encode(f,p)===r.toLocaleLowerCase()}catch(f){return!1}}}function yt(o){return async function t(r){return(await(await A(o)).getAllBalances(r)).map((y)=>({...y,denom:y.denom.includes("/")?y.denom.toUpperCase():y.denom}))}}function wt(o){return async function t(r){let{Bip39:f,EnglishMnemonic:p,Slip10:n,Slip10Curve:y,stringToPath:i}=await import("@cosmjs/crypto"),x=new p(r),v=await f.mnemonicToSeed(x),{privkey:c}=n.derivePath(y.Secp256k1,v,i(o));return c}}import{base64 as k}from"@scure/base";import{BaseDecimal as xt,Chain as it,CosmosChainPrefixes as Ct,FeeOption as l,NetworkDerivationPath as mt,RequestClient as Tt,SKConfig as oo,SwapKitError as Io,SwapKitNumber as zo,derivationPathToString as ct,updateDerivationPath as vt}from"@swapkit/helpers";import{P as Lo,match as dt}from"ts-pattern";function _t({prefix:o,derivationPath:t}){return async function r(f,p=0){let{Secp256k1HdWallet:n}=(await import("@cosmjs/amino")).default,{stringToPath:y}=(await import("@cosmjs/crypto")).default;return n.fromMnemonic(f,{hdPaths:[y(`${t}/${p}`)],prefix:o})}}function ut(o){return k.encode(o)}function $t(o){return async function t({wallet:r,tx:f}){let{msgs:p,accountNumber:n,sequence:y,chainId:i,fee:x,memo:v}=typeof f==="string"?JSON.parse(f):f,c=(await r.getAccounts())?.[0]?.address||"",w=await z(o),d=await Z(),$=await po(r,{registry:d,aminoTypes:w}),C=[];for(let W of p){let H=await L(W,o);C.push(H)}let{signatures:[_]}=await $.sign(c,C,x,v,{accountNumber:n,sequence:y,chainId:i}),u=await D({chain:o,memo:v,msgs:p.map(P)});return{signature:ut(_),bodyBytes:u}}}function Bt({prefix:o,rpcUrl:t}){return async function r(f,p,n,y,i){let{encodeSecp256k1Pubkey:x,pubkeyToAddress:v}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:c}=(await import("@cosmjs/stargate")).default,{sequence:w,fee:d}=JSON.parse(f),$=await Po(n,y),C=p.map((W)=>[v(x(k.decode(W.pubKey)),o),k.decode(W.signature)]),_=await A(t),{transactionHash:u}=await _.broadcastTx(c($,w,d,i,new Map(C)));return u}}async function Po(o,t,r=!0){let{createMultisigThresholdPubkey:f,encodeSecp256k1Pubkey:p}=(await import("@cosmjs/amino")).default;return f(o.map((n)=>p(k.decode(n))),t,r)}function Rt(o){return k.decode(o)}async function Wt({privateKey:o,message:t}){let{Secp256k1:r}=(await import("@cosmjs/crypto")).default,f=await r.createSignature(k.decode(t),o);return k.encode(Buffer.concat([f.r(32),f.s(32)]))}async function ko({chain:o,...t}){let r=oo.get("nodeUrls")[o],f=oo.get("rpcUrls")[o],{isStagenet:p}=oo.get("envs"),n=o===it.THORChain,y=`${p?"s":""}${Ct[o]}`,i="index"in t?t.index||0:0,x="derivationPath"in t&&t.derivationPath?t.derivationPath:vt(mt[o],{index:i}),v=await q({chain:o,...t}),c=await dt(t).with({phrase:Lo.string},({phrase:C})=>v.getSignerFromPhrase({phrase:C,derivationPath:x})).with({signer:Lo.any},({signer:C})=>C).otherwise(()=>{return}),w=j(o);async function d(){let C,_=`${r}/${n?"thorchain":"mayachain"}/constants`;try{let{int_64_values:{NativeTransactionFee:u}}=await Tt.get(_);if(!u||Number.isNaN(u)||u<0)throw new Io("toolbox_cosmos_invalid_fee",{nativeFee:u.toString()});C=new zo(u)}catch{C=new zo({value:n?0.02:1,decimal:xt[o]})}return{[l.Average]:C,[l.Fast]:C,[l.Fastest]:C}}async function $({assetValue:C,memo:_="",recipient:u}){let{TxRaw:W}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),H=(await c?.getAccounts())?.[0]?.address;if(!(H&&c))throw new Io("toolbox_cosmos_no_signer");let h="signAmino"in c,S=await Z(),E=await z(o),Q=await F(f,c,{registry:S,aminoTypes:E}),M=e({assetValue:C,sender:H,recipient:u,memo:_});if(h){let Xo=await L(M,o),{signatures:Go,authInfoBytes:Jo}=await Q.sign(H,[Xo],w,_),Yo=W.encode({signatures:Go,authInfoBytes:Jo,bodyBytes:await D({chain:o,msgs:[M].map(P),memo:_})}).finish();return(await Q.broadcastTx(Yo)).transactionHash}let Zo=P(M),Qo=await L(Zo,o);return(await Q.signAndBroadcast(H,[Qo],w,_)).transactionHash}return{...v,broadcastMultisigTx:Bt({prefix:y,rpcUrl:f}),buildAminoMsg:e,buildEncodedTxBody:D,convertToSignable:L,createDefaultAminoTypes:()=>z(o),createDefaultRegistry:Z,createMultisig:Po,createTransaction:Co(f),deposit:$,getFees:d,importSignature:Rt,parseAminoMessageForDirectSigning:P,secp256k1HdWalletFromMnemonic:_t({derivationPath:ct(x),prefix:y}),signMultisigTx:$t(o),signWithPrivateKey:Wt,transfer:$,pubkeyToAddress:async(C)=>{let{pubkeyToAddress:_}=(await import("@cosmjs/amino")).default;return _(C,y)}}}var dr=(o,t)=>{switch(o){case N.Cosmos:case N.Kujira:return q({chain:o,...t});case N.Maya:case N.THORChain:return ko({chain:o,...t});default:throw new Ht("toolbox_cosmos_not_supported",{chain:o})}};export{rt as verifySignature,wo as transferMsgAmino,Pt as toBase64,P as parseAminoMessageForDirectSigning,or as getSignerFromPrivateKey,vo as getSignerFromPhrase,Eo as getRPC,I as getMsgSendDenom,tr as getFeeRateFromThorswap,Y as getDenomWithChain,j as getDefaultChainFee,Co as getCreateTransaction,dr as getCosmosToolbox,kt as fromBase64,jo as fetchFeeRateFromSwapKit,fr as estimateTransactionFee,xo as depositMsgAmino,ko as createThorchainToolbox,A as createStargateClient,F as createSigningStargateClient,po as createOfflineStargateClient,Z as createDefaultRegistry,z as createDefaultAminoTypes,q as createCosmosToolbox,rr as cosmosValidateAddress,no as cosmosCreateTransaction,L as convertToSignable,bo as buildTransferTx,D as buildEncodedTxBody,go as buildDepositTx,e as buildAminoMsg,G as bech32ToBase64,J as base64ToBech32,No as YUM_KUJIRA_FACTORY_DENOM,qo as USK_KUJIRA_FACTORY_DENOM,Ot as THORCHAIN_GAS_VALUE,qt as MAYA_GAS_VALUE,So as DEFAULT_KUJI_FEE_MAINNET,ho as DEFAULT_COSMOS_FEE_MAINNET};
2
2
 
3
- //# debugId=A280A497D578FD9264756E2164756E21
3
+ //# debugId=10C6751D23FEF5F464756E2164756E21