@swapkit/toolboxes 1.0.0-beta.16 → 1.0.0-beta.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-p1kdg37m.js → chunk-38ztynv0.js} +1 -1
- package/dist/{chunk-p1kdg37m.js.map → chunk-38ztynv0.js.map} +1 -1
- package/dist/{chunk-0f0249b1.js → chunk-cv69ewns.js} +1 -1
- package/dist/cosmos/index.js +1 -1
- package/dist/evm/index.js +1 -1
- package/dist/index.js +1 -1
- package/dist/radix/index.js +1 -1
- package/dist/ripple/index.js +1 -1
- package/dist/solana/index.js +1 -1
- package/dist/substrate/index.js +1 -1
- package/dist/utxo/index.js +1 -1
- package/package.json +2 -2
- /package/dist/{chunk-0f0249b1.js.map → chunk-cv69ewns.js.map} +0 -0
|
@@ -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
2
|
export{k as c,l as d};
|
|
3
3
|
|
|
4
|
-
//# debugId=
|
|
4
|
+
//# debugId=C6E0EECD23D4628564756E2164756E21
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import"./chunk-p1kdg37m.js";import Y from"protobufjs/minimal.js";var X=Y.Reader,J=Y.Writer,Q=Y.util,L=Y.roots.default||(Y.roots.default={});L.common=(()=>{let Z={};return Z.Asset=(()=>{function G(H){if(H){for(let q=Object.keys(H),B=0;B<q.length;++B)if(H[q[B]]!=null)this[q[B]]=H[q[B]]}}return G.prototype.chain="",G.prototype.symbol="",G.prototype.ticker="",G.prototype.synth=!1,G.create=function H(q){return new G(q)},G.encode=function H(q,B){if(!B)B=J.create();if(q.chain!=null&&Object.hasOwnProperty.call(q,"chain"))B.uint32(10).string(q.chain);if(q.symbol!=null&&Object.hasOwnProperty.call(q,"symbol"))B.uint32(18).string(q.symbol);if(q.ticker!=null&&Object.hasOwnProperty.call(q,"ticker"))B.uint32(26).string(q.ticker);if(q.synth!=null&&Object.hasOwnProperty.call(q,"synth"))B.uint32(32).bool(q.synth);return B},G.encodeDelimited=function H(q,B){return this.encode(q,B).ldelim()},G.decode=function H(q,B){if(!(q instanceof X))q=X.create(q);let z=B===void 0?q.len:q.pos+B,E=new L.common.Asset;while(q.pos<z){let V=q.uint32();switch(V>>>3){case 1:E.chain=q.string();break;case 2:E.symbol=q.string();break;case 3:E.ticker=q.string();break;case 4:E.synth=q.bool();break;default:q.skipType(V&7);break}}return E},G.decodeDelimited=function H(q){if(!(q instanceof X))q=new X(q);return this.decode(q,q.uint32())},G.verify=function H(q){if(typeof q!=="object"||q===null)return"object expected";if(q.chain!=null&&q.hasOwnProperty("chain")){if(!Q.isString(q.chain))return"chain: string expected"}if(q.symbol!=null&&q.hasOwnProperty("symbol")){if(!Q.isString(q.symbol))return"symbol: string expected"}if(q.ticker!=null&&q.hasOwnProperty("ticker")){if(!Q.isString(q.ticker))return"ticker: string expected"}if(q.synth!=null&&q.hasOwnProperty("synth")){if(typeof q.synth!=="boolean")return"synth: boolean expected"}return null},G.fromObject=function H(q){if(q instanceof L.common.Asset)return q;let B=new L.common.Asset;if(q.chain!=null)B.chain=String(q.chain);if(q.symbol!=null)B.symbol=String(q.symbol);if(q.ticker!=null)B.ticker=String(q.ticker);if(q.synth!=null)B.synth=Boolean(q.synth);return B},G.toObject=function H(q,B){if(!B)B={};let z={};if(B.defaults)z.chain="",z.symbol="",z.ticker="",z.synth=!1;if(q.chain!=null&&q.hasOwnProperty("chain"))z.chain=q.chain;if(q.symbol!=null&&q.hasOwnProperty("symbol"))z.symbol=q.symbol;if(q.ticker!=null&&q.hasOwnProperty("ticker"))z.ticker=q.ticker;if(q.synth!=null&&q.hasOwnProperty("synth"))z.synth=q.synth;return z},G.prototype.toJSON=function H(){return this.constructor.toObject(this,Y.util.toJSONOptions)},G})(),Z.Coin=(()=>{function G(H){if(H){for(let q=Object.keys(H),B=0;B<q.length;++B)if(H[q[B]]!=null)this[q[B]]=H[q[B]]}}return G.prototype.asset=null,G.prototype.amount="",G.prototype.decimals=Q.Long?Q.Long.fromBits(0,0,!1):0,G.create=function H(q){return new G(q)},G.encode=function H(q,B){if(!B)B=J.create();if(q.asset!=null&&Object.hasOwnProperty.call(q,"asset"))L.common.Asset.encode(q.asset,B.uint32(10).fork()).ldelim();if(q.amount!=null&&Object.hasOwnProperty.call(q,"amount"))B.uint32(18).string(q.amount);if(q.decimals!=null&&Object.hasOwnProperty.call(q,"decimals"))B.uint32(24).int64(q.decimals);return B},G.encodeDelimited=function H(q,B){return this.encode(q,B).ldelim()},G.decode=function H(q,B){if(!(q instanceof X))q=X.create(q);let z=B===void 0?q.len:q.pos+B,E=new L.common.Coin;while(q.pos<z){let V=q.uint32();switch(V>>>3){case 1:E.asset=L.common.Asset.decode(q,q.uint32());break;case 2:E.amount=q.string();break;case 3:E.decimals=q.int64();break;default:q.skipType(V&7);break}}return E},G.decodeDelimited=function H(q){if(!(q instanceof X))q=new X(q);return this.decode(q,q.uint32())},G.verify=function H(q){if(typeof q!=="object"||q===null)return"object expected";if(q.asset!=null&&q.hasOwnProperty("asset")){let B=L.common.Asset.verify(q.asset);if(B)return"asset."+B}if(q.amount!=null&&q.hasOwnProperty("amount")){if(!Q.isString(q.amount))return"amount: string expected"}if(q.decimals!=null&&q.hasOwnProperty("decimals")){if(!Q.isInteger(q.decimals)&&!(q.decimals&&Q.isInteger(q.decimals.low)&&Q.isInteger(q.decimals.high)))return"decimals: integer|Long expected"}return null},G.fromObject=function H(q){if(q instanceof L.common.Coin)return q;let B=new L.common.Coin;if(q.asset!=null){if(typeof q.asset!=="object")throw TypeError(".common.Coin.asset: object expected");B.asset=L.common.Asset.fromObject(q.asset)}if(q.amount!=null)B.amount=String(q.amount);if(q.decimals!=null){if(Q.Long)(B.decimals=Q.Long.fromValue(q.decimals)).unsigned=!1;else if(typeof q.decimals==="string")B.decimals=Number.parseInt(q.decimals,10);else if(typeof q.decimals==="number")B.decimals=q.decimals;else if(typeof q.decimals==="object")B.decimals=new Q.LongBits(q.decimals.low>>>0,q.decimals.high>>>0).toNumber()}return B},G.toObject=function H(q,B){if(!B)B={};let z={};if(B.defaults)if(z.asset=null,z.amount="",Q.Long){let E=new Q.Long(0,0,!1);z.decimals=B.longs===String?E.toString():B.longs===Number?E.toNumber():E}else z.decimals=B.longs===String?"0":0;if(q.asset!=null&&q.hasOwnProperty("asset"))z.asset=L.common.Asset.toObject(q.asset,B);if(q.amount!=null&&q.hasOwnProperty("amount"))z.amount=q.amount;if(q.decimals!=null&&q.hasOwnProperty("decimals"))if(typeof q.decimals==="number")z.decimals=B.longs===String?String(q.decimals):q.decimals;else z.decimals=B.longs===String?Q.Long.prototype.toString.call(q.decimals):B.longs===Number?new Q.LongBits(q.decimals.low>>>0,q.decimals.high>>>0).toNumber():q.decimals;return z},G.prototype.toJSON=function H(){return this.constructor.toObject(this,Y.util.toJSONOptions)},G})(),Z.PubKeySet=(()=>{function G(H){if(H){for(let q=Object.keys(H),B=0;B<q.length;++B)if(H[q[B]]!=null)this[q[B]]=H[q[B]]}}return G.prototype.secp256k1="",G.prototype.ed25519="",G.create=function H(q){return new G(q)},G.encode=function H(q,B){if(!B)B=J.create();if(q.secp256k1!=null&&Object.hasOwnProperty.call(q,"secp256k1"))B.uint32(10).string(q.secp256k1);if(q.ed25519!=null&&Object.hasOwnProperty.call(q,"ed25519"))B.uint32(18).string(q.ed25519);return B},G.encodeDelimited=function H(q,B){return this.encode(q,B).ldelim()},G.decode=function H(q,B){if(!(q instanceof X))q=X.create(q);let z=B===void 0?q.len:q.pos+B,E=new L.common.PubKeySet;while(q.pos<z){let V=q.uint32();switch(V>>>3){case 1:E.secp256k1=q.string();break;case 2:E.ed25519=q.string();break;default:q.skipType(V&7);break}}return E},G.decodeDelimited=function H(q){if(!(q instanceof X))q=new X(q);return this.decode(q,q.uint32())},G.verify=function H(q){if(typeof q!=="object"||q===null)return"object expected";if(q.secp256k1!=null&&q.hasOwnProperty("secp256k1")){if(!Q.isString(q.secp256k1))return"secp256k1: string expected"}if(q.ed25519!=null&&q.hasOwnProperty("ed25519")){if(!Q.isString(q.ed25519))return"ed25519: string expected"}return null},G.fromObject=function H(q){if(q instanceof L.common.PubKeySet)return q;let B=new L.common.PubKeySet;if(q.secp256k1!=null)B.secp256k1=String(q.secp256k1);if(q.ed25519!=null)B.ed25519=String(q.ed25519);return B},G.toObject=function H(q,B){if(!B)B={};let z={};if(B.defaults)z.secp256k1="",z.ed25519="";if(q.secp256k1!=null&&q.hasOwnProperty("secp256k1"))z.secp256k1=q.secp256k1;if(q.ed25519!=null&&q.hasOwnProperty("ed25519"))z.ed25519=q.ed25519;return z},G.prototype.toJSON=function H(){return this.constructor.toObject(this,Y.util.toJSONOptions)},G})(),Z.Tx=(()=>{function G(H){if(this.coins=[],this.gas=[],H){for(let q=Object.keys(H),B=0;B<q.length;++B)if(H[q[B]]!=null)this[q[B]]=H[q[B]]}}return G.prototype.id="",G.prototype.chain="",G.prototype.fromAddress="",G.prototype.toAddress="",G.prototype.coins=Q.emptyArray,G.prototype.gas=Q.emptyArray,G.prototype.memo="",G.create=function H(q){return new G(q)},G.encode=function H(q,B){if(!B)B=J.create();if(q.id!=null&&Object.hasOwnProperty.call(q,"id"))B.uint32(10).string(q.id);if(q.chain!=null&&Object.hasOwnProperty.call(q,"chain"))B.uint32(18).string(q.chain);if(q.fromAddress!=null&&Object.hasOwnProperty.call(q,"fromAddress"))B.uint32(26).string(q.fromAddress);if(q.toAddress!=null&&Object.hasOwnProperty.call(q,"toAddress"))B.uint32(34).string(q.toAddress);if(q.coins?.length)for(let z=0;z<q.coins.length;++z)L.common.Coin.encode(q.coins[z],B.uint32(42).fork()).ldelim();if(q.gas?.length)for(let z=0;z<q.gas.length;++z)L.common.Coin.encode(q.gas[z],B.uint32(50).fork()).ldelim();if(q.memo!=null&&Object.hasOwnProperty.call(q,"memo"))B.uint32(58).string(q.memo);return B},G.encodeDelimited=function H(q,B){return this.encode(q,B).ldelim()},G.decode=function H(q,B){if(!(q instanceof X))q=X.create(q);let z=B===void 0?q.len:q.pos+B,E=new L.common.Tx;while(q.pos<z){let V=q.uint32();switch(V>>>3){case 1:E.id=q.string();break;case 2:E.chain=q.string();break;case 3:E.fromAddress=q.string();break;case 4:E.toAddress=q.string();break;case 5:if(!E.coins?.length)E.coins=[];E.coins.push(L.common.Coin.decode(q,q.uint32()));break;case 6:if(!E.gas?.length)E.gas=[];E.gas.push(L.common.Coin.decode(q,q.uint32()));break;case 7:E.memo=q.string();break;default:q.skipType(V&7);break}}return E},G.decodeDelimited=function H(q){if(!(q instanceof X))q=new X(q);return this.decode(q,q.uint32())},G.verify=function H(q){if(typeof q!=="object"||q===null)return"object expected";if(q.id!=null&&q.hasOwnProperty("id")){if(!Q.isString(q.id))return"id: string expected"}if(q.chain!=null&&q.hasOwnProperty("chain")){if(!Q.isString(q.chain))return"chain: string expected"}if(q.fromAddress!=null&&q.hasOwnProperty("fromAddress")){if(!Q.isString(q.fromAddress))return"fromAddress: string expected"}if(q.toAddress!=null&&q.hasOwnProperty("toAddress")){if(!Q.isString(q.toAddress))return"toAddress: string expected"}if(q.coins!=null&&q.hasOwnProperty("coins")){if(!Array.isArray(q.coins))return"coins: array expected";for(let B=0;B<q.coins.length;++B){let z=L.common.Coin.verify(q.coins[B]);if(z)return"coins."+z}}if(q.gas!=null&&q.hasOwnProperty("gas")){if(!Array.isArray(q.gas))return"gas: array expected";for(let B=0;B<q.gas.length;++B){let z=L.common.Coin.verify(q.gas[B]);if(z)return"gas."+z}}if(q.memo!=null&&q.hasOwnProperty("memo")){if(!Q.isString(q.memo))return"memo: string expected"}return null},G.fromObject=function H(q){if(q instanceof L.common.Tx)return q;let B=new L.common.Tx;if(q.id!=null)B.id=String(q.id);if(q.chain!=null)B.chain=String(q.chain);if(q.fromAddress!=null)B.fromAddress=String(q.fromAddress);if(q.toAddress!=null)B.toAddress=String(q.toAddress);if(q.coins){if(!Array.isArray(q.coins))throw TypeError(".common.Tx.coins: array expected");B.coins=[];for(let z=0;z<q.coins.length;++z){if(typeof q.coins[z]!=="object")throw TypeError(".common.Tx.coins: object expected");B.coins[z]=L.common.Coin.fromObject(q.coins[z])}}if(q.gas){if(!Array.isArray(q.gas))throw TypeError(".common.Tx.gas: array expected");B.gas=[];for(let z=0;z<q.gas.length;++z){if(typeof q.gas[z]!=="object")throw TypeError(".common.Tx.gas: object expected");B.gas[z]=L.common.Coin.fromObject(q.gas[z])}}if(q.memo!=null)B.memo=String(q.memo);return B},G.toObject=function H(q,B){if(!B)B={};let z={};if(B.arrays||B.defaults)z.coins=[],z.gas=[];if(B.defaults)z.id="",z.chain="",z.fromAddress="",z.toAddress="",z.memo="";if(q.id!=null&&q.hasOwnProperty("id"))z.id=q.id;if(q.chain!=null&&q.hasOwnProperty("chain"))z.chain=q.chain;if(q.fromAddress!=null&&q.hasOwnProperty("fromAddress"))z.fromAddress=q.fromAddress;if(q.toAddress!=null&&q.hasOwnProperty("toAddress"))z.toAddress=q.toAddress;if(q.coins?.length){z.coins=[];for(let E=0;E<q.coins.length;++E)z.coins[E]=L.common.Coin.toObject(q.coins[E],B)}if(q.gas?.length){z.gas=[];for(let E=0;E<q.gas.length;++E)z.gas[E]=L.common.Coin.toObject(q.gas[E],B)}if(q.memo!=null&&q.hasOwnProperty("memo"))z.memo=q.memo;return z},G.prototype.toJSON=function H(){return this.constructor.toObject(this,Y.util.toJSONOptions)},G})(),Z.Fee=(()=>{function G(H){if(this.coins=[],H){for(let q=Object.keys(H),B=0;B<q.length;++B)if(H[q[B]]!=null)this[q[B]]=H[q[B]]}}return G.prototype.coins=Q.emptyArray,G.prototype.poolDeduct="",G.create=function H(q){return new G(q)},G.encode=function H(q,B){if(!B)B=J.create();if(q.coins?.length)for(let z=0;z<q.coins.length;++z)L.common.Coin.encode(q.coins[z],B.uint32(10).fork()).ldelim();if(q.poolDeduct!=null&&Object.hasOwnProperty.call(q,"poolDeduct"))B.uint32(18).string(q.poolDeduct);return B},G.encodeDelimited=function H(q,B){return this.encode(q,B).ldelim()},G.decode=function H(q,B){if(!(q instanceof X))q=X.create(q);let z=B===void 0?q.len:q.pos+B,E=new L.common.Fee;while(q.pos<z){let V=q.uint32();switch(V>>>3){case 1:if(!E.coins?.length)E.coins=[];E.coins.push(L.common.Coin.decode(q,q.uint32()));break;case 2:E.poolDeduct=q.string();break;default:q.skipType(V&7);break}}return E},G.decodeDelimited=function H(q){if(!(q instanceof X))q=new X(q);return this.decode(q,q.uint32())},G.verify=function H(q){if(typeof q!=="object"||q===null)return"object expected";if(q.coins!=null&&q.hasOwnProperty("coins")){if(!Array.isArray(q.coins))return"coins: array expected";for(let B=0;B<q.coins.length;++B){let z=L.common.Coin.verify(q.coins[B]);if(z)return"coins."+z}}if(q.poolDeduct!=null&&q.hasOwnProperty("poolDeduct")){if(!Q.isString(q.poolDeduct))return"poolDeduct: string expected"}return null},G.fromObject=function H(q){if(q instanceof L.common.Fee)return q;let B=new L.common.Fee;if(q.coins){if(!Array.isArray(q.coins))throw TypeError(".common.Fee.coins: array expected");B.coins=[];for(let z=0;z<q.coins.length;++z){if(typeof q.coins[z]!=="object")throw TypeError(".common.Fee.coins: object expected");B.coins[z]=L.common.Coin.fromObject(q.coins[z])}}if(q.poolDeduct!=null)B.poolDeduct=String(q.poolDeduct);return B},G.toObject=function H(q,B){if(!B)B={};let z={};if(B.arrays||B.defaults)z.coins=[];if(B.defaults)z.poolDeduct="";if(q.coins?.length){z.coins=[];for(let E=0;E<q.coins.length;++E)z.coins[E]=L.common.Coin.toObject(q.coins[E],B)}if(q.poolDeduct!=null&&q.hasOwnProperty("poolDeduct"))z.poolDeduct=q.poolDeduct;return z},G.prototype.toJSON=function H(){return this.constructor.toObject(this,Y.util.toJSONOptions)},G})(),Z.ProtoUint=(()=>{function G(H){if(H){for(let q=Object.keys(H),B=0;B<q.length;++B)if(H[q[B]]!=null)this[q[B]]=H[q[B]]}}return G.prototype.value="",G.create=function H(q){return new G(q)},G.encode=function H(q,B){if(!B)B=J.create();if(q.value!=null&&Object.hasOwnProperty.call(q,"value"))B.uint32(10).string(q.value);return B},G.encodeDelimited=function H(q,B){return this.encode(q,B).ldelim()},G.decode=function H(q,B){if(!(q instanceof X))q=X.create(q);let z=B===void 0?q.len:q.pos+B,E=new L.common.ProtoUint;while(q.pos<z){let V=q.uint32();switch(V>>>3){case 1:E.value=q.string();break;default:q.skipType(V&7);break}}return E},G.decodeDelimited=function H(q){if(!(q instanceof X))q=new X(q);return this.decode(q,q.uint32())},G.verify=function H(q){if(typeof q!=="object"||q===null)return"object expected";if(q.value!=null&&q.hasOwnProperty("value")){if(!Q.isString(q.value))return"value: string expected"}return null},G.fromObject=function H(q){if(q instanceof L.common.ProtoUint)return q;let B=new L.common.ProtoUint;if(q.value!=null)B.value=String(q.value);return B},G.toObject=function H(q,B){if(!B)B={};let z={};if(B.defaults)z.value="";if(q.value!=null&&q.hasOwnProperty("value"))z.value=q.value;return z},G.prototype.toJSON=function H(){return this.constructor.toObject(this,Y.util.toJSONOptions)},G})(),Z})();L.types=(()=>{let Z={};return Z.MsgDeposit=(()=>{function G(H){if(this.coins=[],H){for(let q=Object.keys(H),B=0;B<q.length;++B)if(H[q[B]]!=null)this[q[B]]=H[q[B]]}}return G.prototype.coins=Q.emptyArray,G.prototype.memo="",G.prototype.signer=Q.newBuffer([]),G.create=function H(q){return new G(q)},G.encode=function H(q,B){if(!B)B=J.create();if(q.coins?.length)for(let z=0;z<q.coins.length;++z)L.common.Coin.encode(q.coins[z],B.uint32(10).fork()).ldelim();if(q.memo!=null&&Object.hasOwnProperty.call(q,"memo"))B.uint32(18).string(q.memo);if(q.signer!=null&&Object.hasOwnProperty.call(q,"signer"))B.uint32(26).bytes(q.signer);return B},G.encodeDelimited=function H(q,B){return this.encode(q,B).ldelim()},G.decode=function H(q,B){if(!(q instanceof X))q=X.create(q);let z=B===void 0?q.len:q.pos+B,E=new L.types.MsgDeposit;while(q.pos<z){let V=q.uint32();switch(V>>>3){case 1:if(!E.coins?.length)E.coins=[];E.coins.push(L.common.Coin.decode(q,q.uint32()));break;case 2:E.memo=q.string();break;case 3:E.signer=q.bytes();break;default:q.skipType(V&7);break}}return E},G.decodeDelimited=function H(q){if(!(q instanceof X))q=new X(q);return this.decode(q,q.uint32())},G.verify=function H(q){if(typeof q!=="object"||q===null)return"object expected";if(q.coins!=null&&q.hasOwnProperty("coins")){if(!Array.isArray(q.coins))return"coins: array expected";for(let B=0;B<q.coins.length;++B){let z=L.common.Coin.verify(q.coins[B]);if(z)return"coins."+z}}if(q.memo!=null&&q.hasOwnProperty("memo")){if(!Q.isString(q.memo))return"memo: string expected"}if(q.signer!=null&&q.hasOwnProperty("signer")){if(!(q.signer&&typeof q.signer.length==="number"||Q.isString(q.signer)))return"signer: buffer expected"}return null},G.fromObject=function H(q){if(q instanceof L.types.MsgDeposit)return q;let B=new L.types.MsgDeposit;if(q.coins){if(!Array.isArray(q.coins))throw TypeError(".types.MsgDeposit.coins: array expected");B.coins=[];for(let z=0;z<q.coins.length;++z){if(typeof q.coins[z]!=="object")throw TypeError(".types.MsgDeposit.coins: object expected");B.coins[z]=L.common.Coin.fromObject(q.coins[z])}}if(q.memo!=null)B.memo=String(q.memo);if(q.signer!=null){if(typeof q.signer==="string")Q.base64.decode(q.signer,B.signer=Q.newBuffer(Q.base64.length(q.signer)),0);else if(q.signer.length)B.signer=q.signer}return B},G.toObject=function H(q,B){if(!B)B={};let z={};if(B.arrays||B.defaults)z.coins=[];if(B.defaults){if(z.memo="",B.bytes===String)z.signer="";else if(z.signer=[],B.bytes!==Array)z.signer=Q.newBuffer(z.signer)}if(q.coins?.length){z.coins=[];for(let E=0;E<q.coins.length;++E)z.coins[E]=L.common.Coin.toObject(q.coins[E],B)}if(q.memo!=null&&q.hasOwnProperty("memo"))z.memo=q.memo;if(q.signer!=null&&q.hasOwnProperty("signer"))z.signer=B.bytes===String?Q.base64.encode(q.signer,0,q.signer.length):B.bytes===Array?Array.prototype.slice.call(q.signer):q.signer;return z},G.prototype.toJSON=function H(){return this.constructor.toObject(this,Y.util.toJSONOptions)},G})(),Z.MsgSend=(()=>{function G(H){if(this.amount=[],H){for(let q=Object.keys(H),B=0;B<q.length;++B)if(H[q[B]]!=null)this[q[B]]=H[q[B]]}}return G.prototype.fromAddress=Q.newBuffer([]),G.prototype.toAddress=Q.newBuffer([]),G.prototype.amount=Q.emptyArray,G.create=function H(q){return new G(q)},G.encode=function H(q,B){if(!B)B=J.create();if(q.fromAddress!=null&&Object.hasOwnProperty.call(q,"fromAddress"))B.uint32(10).bytes(q.fromAddress);if(q.toAddress!=null&&Object.hasOwnProperty.call(q,"toAddress"))B.uint32(18).bytes(q.toAddress);if(q.amount?.length)for(let z=0;z<q.amount.length;++z)L.cosmos.base.v1beta1.Coin.encode(q.amount[z],B.uint32(26).fork()).ldelim();return B},G.encodeDelimited=function H(q,B){return this.encode(q,B).ldelim()},G.decode=function H(q,B){if(!(q instanceof X))q=X.create(q);let z=B===void 0?q.len:q.pos+B,E=new L.types.MsgSend;while(q.pos<z){let V=q.uint32();switch(V>>>3){case 1:E.fromAddress=q.bytes();break;case 2:E.toAddress=q.bytes();break;case 3:if(!E.amount?.length)E.amount=[];E.amount.push(L.cosmos.base.v1beta1.Coin.decode(q,q.uint32()));break;default:q.skipType(V&7);break}}return E},G.decodeDelimited=function H(q){if(!(q instanceof X))q=new X(q);return this.decode(q,q.uint32())},G.verify=function H(q){if(typeof q!=="object"||q===null)return"object expected";if(q.fromAddress!=null&&q.hasOwnProperty("fromAddress")){if(!(q.fromAddress&&typeof q.fromAddress.length==="number"||Q.isString(q.fromAddress)))return"fromAddress: buffer expected"}if(q.toAddress!=null&&q.hasOwnProperty("toAddress")){if(!(q.toAddress&&typeof q.toAddress.length==="number"||Q.isString(q.toAddress)))return"toAddress: buffer expected"}if(q.amount!=null&&q.hasOwnProperty("amount")){if(!Array.isArray(q.amount))return"amount: array expected";for(let B=0;B<q.amount.length;++B){let z=L.cosmos.base.v1beta1.Coin.verify(q.amount[B]);if(z)return"amount."+z}}return null},G.fromObject=function H(q){if(q instanceof L.types.MsgSend)return q;let B=new L.types.MsgSend;if(q.fromAddress!=null){if(typeof q.fromAddress==="string")Q.base64.decode(q.fromAddress,B.fromAddress=Q.newBuffer(Q.base64.length(q.fromAddress)),0);else if(q.fromAddress.length)B.fromAddress=q.fromAddress}if(q.toAddress!=null){if(typeof q.toAddress==="string")Q.base64.decode(q.toAddress,B.toAddress=Q.newBuffer(Q.base64.length(q.toAddress)),0);else if(q.toAddress.length)B.toAddress=q.toAddress}if(q.amount){if(!Array.isArray(q.amount))throw TypeError(".types.MsgSend.amount: array expected");B.amount=[];for(let z=0;z<q.amount.length;++z){if(typeof q.amount[z]!=="object")throw TypeError(".types.MsgSend.amount: object expected");B.amount[z]=L.cosmos.base.v1beta1.Coin.fromObject(q.amount[z])}}return B},G.toObject=function H(q,B){if(!B)B={};let z={};if(B.arrays||B.defaults)z.amount=[];if(B.defaults){if(B.bytes===String)z.fromAddress="";else if(z.fromAddress=[],B.bytes!==Array)z.fromAddress=Q.newBuffer(z.fromAddress);if(B.bytes===String)z.toAddress="";else if(z.toAddress=[],B.bytes!==Array)z.toAddress=Q.newBuffer(z.toAddress)}if(q.fromAddress!=null&&q.hasOwnProperty("fromAddress"))z.fromAddress=B.bytes===String?Q.base64.encode(q.fromAddress,0,q.fromAddress.length):B.bytes===Array?Array.prototype.slice.call(q.fromAddress):q.fromAddress;if(q.toAddress!=null&&q.hasOwnProperty("toAddress"))z.toAddress=B.bytes===String?Q.base64.encode(q.toAddress,0,q.toAddress.length):B.bytes===Array?Array.prototype.slice.call(q.toAddress):q.toAddress;if(q.amount?.length){z.amount=[];for(let E=0;E<q.amount.length;++E)z.amount[E]=L.cosmos.base.v1beta1.Coin.toObject(q.amount[E],B)}return z},G.prototype.toJSON=function H(){return this.constructor.toObject(this,Y.util.toJSONOptions)},G})(),Z})();L.cosmos=(()=>{let Z={};return Z.base=(()=>{let G={};return G.v1beta1=(()=>{let H={};return H.Coin=(()=>{function q(B){if(B){for(let z=Object.keys(B),E=0;E<z.length;++E)if(B[z[E]]!=null)this[z[E]]=B[z[E]]}}return q.prototype.denom="",q.prototype.amount="",q.create=function B(z){return new q(z)},q.encode=function B(z,E){if(!E)E=J.create();if(z.denom!=null&&Object.hasOwnProperty.call(z,"denom"))E.uint32(10).string(z.denom);if(z.amount!=null&&Object.hasOwnProperty.call(z,"amount"))E.uint32(18).string(z.amount);return E},q.encodeDelimited=function B(z,E){return this.encode(z,E).ldelim()},q.decode=function B(z,E){if(!(z instanceof X))z=X.create(z);let V=E===void 0?z.len:z.pos+E,_=new L.cosmos.base.v1beta1.Coin;while(z.pos<V){let N=z.uint32();switch(N>>>3){case 1:_.denom=z.string();break;case 2:_.amount=z.string();break;default:z.skipType(N&7);break}}return _},q.decodeDelimited=function B(z){if(!(z instanceof X))z=new X(z);return this.decode(z,z.uint32())},q.verify=function B(z){if(typeof z!=="object"||z===null)return"object expected";if(z.denom!=null&&z.hasOwnProperty("denom")){if(!Q.isString(z.denom))return"denom: string expected"}if(z.amount!=null&&z.hasOwnProperty("amount")){if(!Q.isString(z.amount))return"amount: string expected"}return null},q.fromObject=function B(z){if(z instanceof L.cosmos.base.v1beta1.Coin)return z;let E=new L.cosmos.base.v1beta1.Coin;if(z.denom!=null)E.denom=String(z.denom);if(z.amount!=null)E.amount=String(z.amount);return E},q.toObject=function B(z,E){if(!E)E={};let V={};if(E.defaults)V.denom="",V.amount="";if(z.denom!=null&&z.hasOwnProperty("denom"))V.denom=z.denom;if(z.amount!=null&&z.hasOwnProperty("amount"))V.amount=z.amount;return V},q.prototype.toJSON=function B(){return this.constructor.toObject(this,Y.util.toJSONOptions)},q})(),H.DecCoin=(()=>{function q(B){if(B){for(let z=Object.keys(B),E=0;E<z.length;++E)if(B[z[E]]!=null)this[z[E]]=B[z[E]]}}return q.prototype.denom="",q.prototype.amount="",q.create=function B(z){return new q(z)},q.encode=function B(z,E){if(!E)E=J.create();if(z.denom!=null&&Object.hasOwnProperty.call(z,"denom"))E.uint32(10).string(z.denom);if(z.amount!=null&&Object.hasOwnProperty.call(z,"amount"))E.uint32(18).string(z.amount);return E},q.encodeDelimited=function B(z,E){return this.encode(z,E).ldelim()},q.decode=function B(z,E){if(!(z instanceof X))z=X.create(z);let V=E===void 0?z.len:z.pos+E,_=new L.cosmos.base.v1beta1.DecCoin;while(z.pos<V){let N=z.uint32();switch(N>>>3){case 1:_.denom=z.string();break;case 2:_.amount=z.string();break;default:z.skipType(N&7);break}}return _},q.decodeDelimited=function B(z){if(!(z instanceof X))z=new X(z);return this.decode(z,z.uint32())},q.verify=function B(z){if(typeof z!=="object"||z===null)return"object expected";if(z.denom!=null&&z.hasOwnProperty("denom")){if(!Q.isString(z.denom))return"denom: string expected"}if(z.amount!=null&&z.hasOwnProperty("amount")){if(!Q.isString(z.amount))return"amount: string expected"}return null},q.fromObject=function B(z){if(z instanceof L.cosmos.base.v1beta1.DecCoin)return z;let E=new L.cosmos.base.v1beta1.DecCoin;if(z.denom!=null)E.denom=String(z.denom);if(z.amount!=null)E.amount=String(z.amount);return E},q.toObject=function B(z,E){if(!E)E={};let V={};if(E.defaults)V.denom="",V.amount="";if(z.denom!=null&&z.hasOwnProperty("denom"))V.denom=z.denom;if(z.amount!=null&&z.hasOwnProperty("amount"))V.amount=z.amount;return V},q.prototype.toJSON=function B(){return this.constructor.toObject(this,Y.util.toJSONOptions)},q})(),H.IntProto=(()=>{function q(B){if(B){for(let z=Object.keys(B),E=0;E<z.length;++E)if(B[z[E]]!=null)this[z[E]]=B[z[E]]}}return q.prototype.int="",q.create=function B(z){return new q(z)},q.encode=function B(z,E){if(!E)E=J.create();if(z.int!=null&&Object.hasOwnProperty.call(z,"int"))E.uint32(10).string(z.int);return E},q.encodeDelimited=function B(z,E){return this.encode(z,E).ldelim()},q.decode=function B(z,E){if(!(z instanceof X))z=X.create(z);let V=E===void 0?z.len:z.pos+E,_=new L.cosmos.base.v1beta1.IntProto;while(z.pos<V){let N=z.uint32();switch(N>>>3){case 1:_.int=z.string();break;default:z.skipType(N&7);break}}return _},q.decodeDelimited=function B(z){if(!(z instanceof X))z=new X(z);return this.decode(z,z.uint32())},q.verify=function B(z){if(typeof z!=="object"||z===null)return"object expected";if(z.int!=null&&z.hasOwnProperty("int")){if(!Q.isString(z.int))return"int: string expected"}return null},q.fromObject=function B(z){if(z instanceof L.cosmos.base.v1beta1.IntProto)return z;let E=new L.cosmos.base.v1beta1.IntProto;if(z.int!=null)E.int=String(z.int);return E},q.toObject=function B(z,E){if(!E)E={};let V={};if(E.defaults)V.int="";if(z.int!=null&&z.hasOwnProperty("int"))V.int=z.int;return V},q.prototype.toJSON=function B(){return this.constructor.toObject(this,Y.util.toJSONOptions)},q})(),H.DecProto=(()=>{function q(B){if(B){for(let z=Object.keys(B),E=0;E<z.length;++E)if(B[z[E]]!=null)this[z[E]]=B[z[E]]}}return q.prototype.dec="",q.create=function B(z){return new q(z)},q.encode=function B(z,E){if(!E)E=J.create();if(z.dec!=null&&Object.hasOwnProperty.call(z,"dec"))E.uint32(10).string(z.dec);return E},q.encodeDelimited=function B(z,E){return this.encode(z,E).ldelim()},q.decode=function B(z,E){if(!(z instanceof X))z=X.create(z);let V=E===void 0?z.len:z.pos+E,_=new L.cosmos.base.v1beta1.DecProto;while(z.pos<V){let N=z.uint32();switch(N>>>3){case 1:_.dec=z.string();break;default:z.skipType(N&7);break}}return _},q.decodeDelimited=function B(z){if(!(z instanceof X))z=new X(z);return this.decode(z,z.uint32())},q.verify=function B(z){if(typeof z!=="object"||z===null)return"object expected";if(z.dec!=null&&z.hasOwnProperty("dec")){if(!Q.isString(z.dec))return"dec: string expected"}return null},q.fromObject=function B(z){if(z instanceof L.cosmos.base.v1beta1.DecProto)return z;let E=new L.cosmos.base.v1beta1.DecProto;if(z.dec!=null)E.dec=String(z.dec);return E},q.toObject=function B(z,E){if(!E)E={};let V={};if(E.defaults)V.dec="";if(z.dec!=null&&z.hasOwnProperty("dec"))V.dec=z.dec;return V},q.prototype.toJSON=function B(){return this.constructor.toObject(this,Y.util.toJSONOptions)},q})(),H})(),G})(),Z})();export{L as $root};
|
|
1
|
+
import"./chunk-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};
|
|
2
2
|
|
|
3
3
|
//# debugId=D6F609310F846DE064756E2164756E21
|
package/dist/cosmos/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{b as vo}from"../chunk-0h4xdrwz.js";import{c as T,d as m}from"../chunk-p1kdg37m.js";import{base64 as oo,bech32 as Q}from"@scure/base";import{fromByteArray as Qo,toByteArray as Xo}from"base64-js";function X(o){return oo.encode(Uint8Array.from(Q.fromWords(Q.decode(o).words)))}function G(o,r="thor"){return Q.encode(r,Q.toWords(oo.decode(o)))}function Ht(o){return Qo(o)}function _t(o){if(!o.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new Error("Invalid base64 string format");return Xo(o)}import{AssetValue as Eo,Chain as Y,ChainToChainId as no}from"@swapkit/helpers";import{AssetValue as Go,Chain as B,ChainId as M,SKConfig as to}from"@swapkit/helpers";var Do="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",Jo="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",Yo={amount:[{denom:"uatom",amount:"500"}],gas:"200000"},ho={amount:[{denom:"ukuji",amount:"1000"}],gas:"200000"};function A(o){switch(o){case B.Maya:return{amount:[],gas:"10000000000"};case B.THORChain:return{amount:[],gas:"500000000"};case B.Kujira:return ho;default:return Yo}}var I=(o,r=!1)=>{if(r)return o.toLowerCase();switch(o){case"uUSK":case"USK":return Do;case"uYUM":case"YUM":return Jo;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";default:return o}},D=({symbol:o,chain:r})=>{if(r===B.Maya)return(o.toUpperCase()!=="CACAO"?o:`${B.Maya}.${o}`).toUpperCase();if(r===B.THORChain)return(o.toUpperCase()!=="RUNE"?o:`${B.THORChain}.${o}`).toUpperCase();return I(o,!1)};async function j(o){let{StargateClient:r}=(await import("@cosmjs/stargate")).default;return r.connect(o)}async function J(o,r,t={}){let{SigningStargateClient:f,GasPrice:n}=(await import("@cosmjs/stargate")).default,p=typeof t==="string"?t:"0.0003uatom",y=typeof t==="string"?{}:t;return f.connectWithSigner(o,r,{gasPrice:n.fromString(p),...y})}async function ro(o,r){let{SigningStargateClient:t}=(await import("@cosmjs/stargate")).default;return t.offline(o,r)}var Oo=(o)=>{let{isStagenet:r}=to.get("envs"),t=to.get("rpcUrls");switch(o){case M.Kujira:return t.KUJI;case M.THORChain:case"thorchain-mainnet-v1":return r?t.THOR_STAGENET:t.THOR;case M.Maya:return r?t.MAYA_STAGENET:t.MAYA;default:return t.GAIA}},Fo=(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 Error("Unsupported chain")}},fo=async({sender:o,recipient:r,assetValue:t,memo:f="",feeRate:n,sequence:p,accountNumber:y})=>{let{chain:x,chainId:i}=t,d=Oo(i),w=await(await j(d)).getAccount(o);if(!w)throw new Error("Account does not exist");let v=Go.from({chain:x}),W=I(v.symbol),C=A(x),u=W&&n?{amount:[{denom:W,amount:n.toString()}],gas:C.gas}:C,$={fromAddress:o,toAddress:r,amount:[{amount:t.getBaseValue("string"),denom:I(t.symbol)}]};return{accountNumber:y??w.accountNumber,chainId:i,fee:u,memo:f,sequence:p??w.sequence,msgs:[{typeUrl:Fo(x),value:$}]}};import{Chain as qo}from"@swapkit/helpers";async function Z(){let{$root:o}=await import("../chunk-0f0249b1.js"),{Registry:r}=(await import("@cosmjs/proto-signing")).default,{defaultRegistryTypes:t}=(await import("@cosmjs/stargate")).default;return new r([...t,["/types.MsgSend",o.types.MsgSend],["/types.MsgDeposit",o.types.MsgDeposit]])}async function z(o){let{AminoTypes:r}=(await import("@cosmjs/stargate")).default,t=o===qo.THORChain?"thorchain":"mayachain";return new r({"/types.MsgSend":{aminoType:`${t}/MsgSend`,toAmino:({fromAddress:f,toAddress:n,...p})=>({...p,from_address:G(f),to_address:G(n)}),fromAmino:({from_address:f,to_address:n,...p})=>({...p,fromAddress:X(f),toAddress:X(n)})},"/types.MsgDeposit":{aminoType:`${t}/MsgDeposit`,toAmino:({signer:f,...n})=>({...n,signer:G(f)}),fromAmino:({signer:f,...n})=>({...n,signer:X(f)})}})}var Qt=A(Y.THORChain).gas,Xt=A(Y.Maya).gas,po=({sender:o,recipient:r,assetValue:t})=>{return{type:`${t.chain===Y.Maya?"mayachain":"thorchain"}/MsgSend`,value:{from_address:o,to_address:r,amount:[{amount:t.getBaseValue("string"),denom:I(t.symbol,!0)}]}}},yo=({sender:o,assetValue:r,memo:t=""})=>{return{type:`${r.chain===Y.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:r.getBaseValue("string"),asset:D(r)}],signer:o,memo:t}}},U=({sender:o,recipient:r,assetValue:t,memo:f})=>{return!r?yo({sender:o,assetValue:t,memo:f}):po({sender:o,recipient:r,assetValue:t})},L=async(o,r)=>{return(await z(r)).fromAmino(o)},wo=async({rpcUrl:o,sender:r})=>{let f=await(await j(o)).getAccount(r);if(!f)throw new Error("Account does not exist");return f};function io(o){return function r(t){let{assetValue:f,recipient:n,memo:p,sender:y,asSignable:x,asAminoMessage:i}=t;if(n)return No(o)({sender:y,recipient:n,assetValue:f,memo:p,asSignable:x,asAminoMessage:i});return So(o)({sender:y,assetValue:f,memo:p,asSignable:x,asAminoMessage:i})}}var No=(o)=>async({sender:r,recipient:t,assetValue:f,memo:n="",asSignable:p=!0,asAminoMessage:y=!1,sequence:x,accountNumber:i})=>{let d=await wo({rpcUrl:o,sender:r}),c=f.chain,w=po({sender:r,recipient:t,assetValue:f}),v=p?await L(y?w:P(w),c):w;return{chainId:no[c],accountNumber:i||d.accountNumber,sequence:x||d.sequence,msgs:[v],fee:A(f.chain),memo:n}},So=(o)=>async({sender:r,assetValue:t,memo:f="",asSignable:n=!0,asAminoMessage:p=!1,sequence:y,accountNumber:x})=>{let i=await wo({rpcUrl:o,sender:r}),d=t.chain,c=yo({sender:r,assetValue:t,memo:f}),w=n?await L(p?c:P(c),d):c;return{chainId:no[d],accountNumber:x||i.accountNumber,sequence:y||i.sequence,msgs:[w],fee:A(t.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((r)=>{let t=Eo.from({asset:r.asset}),f=(t.isSynthetic?t.symbol.split("/")?.[1]:t.symbol)?.toUpperCase(),n=(t.isSynthetic?t.symbol.split("/")?.[0]:t.chain)?.toUpperCase();return{...r,asset:{chain:n,symbol:f,ticker:t.ticker,synth:t.isSynthetic}}})}}}async function h({chain:o,memo:r,msgs:t}){let f=await Z(),n=await z(o),p={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:r,messages:t.map((y)=>n.fromAmino(y))}};return f.encode(p)}import{Chain as q}from"@swapkit/helpers";import{base64 as s,bech32 as V}from"@scure/base";import{AssetValue as uo,BaseDecimal as b,Chain as R,ChainToChainId as eo,CosmosChainPrefixes as $o,DerivationPath as Mo,FeeOption as Uo,NetworkDerivationPath as Vo,SKConfig as Wo,SwapKitError as O,SwapKitNumber as g,derivationPathToString as xo,updateDerivationPath as bo}from"@swapkit/helpers";import{SwapKitApi as Bo}from"@swapkit/helpers/api";import{P as Co,match as go}from"ts-pattern";async function Ro(o,r){try{let f=(await Bo.getGasRate()).find((n)=>n.chainId===o)?.value;return f?Number.parseFloat(f):r}catch(t){return console.error(t),r}}async function To({phrase:o,prefix:r,...t}){let{DirectSecp256k1HdWallet:f}=(await import("@cosmjs/proto-signing")).default,{stringToPath:n}=(await import("@cosmjs/crypto")).default,p="derivationPath"in t?t.derivationPath:`${Mo[t.chain]}/${t.index}`;return f.fromMnemonic(o,{prefix:r,hdPaths:[n(p)]})}async function Ut({privateKey:o,prefix:r}){let{DirectSecp256k1Wallet:t}=(await import("@cosmjs/proto-signing")).default;return t.fromKey(o,r)}var mo={[R.Cosmos]:500,[R.Kujira]:1000,[R.THORChain]:5000000,[R.Maya]:5000000};function so(o){return async function r({signature:t,message:f,address:n}){let p=await o(n);if(!p?.pubkey)throw new O("toolbox_cosmos_verify_signature_no_pubkey");let{Secp256k1Signature:y,Secp256k1:x}=(await import("@cosmjs/crypto")).default,i=y.fromFixedLength(s.decode(t));return x.verifySignature(i,s.decode(f),p.pubkey.value)}}async function F({chain:o,...r}){let t=Wo.get("rpcUrls")[o],f=$o[o],n="index"in r?r.index||0:0,p=xo("derivationPath"in r&&r.derivationPath?r.derivationPath:bo(Vo[o],{index:n})),y=await go(r).with({phrase:Co.string},({phrase:w})=>To({phrase:w,prefix:f,derivationPath:p})).with({signer:Co.any},({signer:w})=>w).otherwise(()=>{return});async function x(w){return(await j(t)).getAccount(w)}async function i(){let[w]=await y?.getAccounts()||[];return w?.address}async function d(){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:v,memo:W="",feeRate:C,feeOptionKey:u=Uo.Fast}){let $=await i();if(!(y&&$))throw new O("toolbox_cosmos_signer_not_defined");let H=uo.from({chain:o}),_=D(H),E=C||lo((await co(o,mo[o]))[u],_),N=await J(t,y),S=[{denom:I(`u${v.symbol}`).toLowerCase(),amount:v.getBaseValue("string")}],{transactionHash:K}=await N.sendTokens($,w,S,E,W);return K}return{transfer:c,getAddress:i,getAccount:x,getBalance:vo(o),getSignerFromPhrase:async({phrase:w,derivationPath:v})=>To({phrase:w,prefix:f,derivationPath:xo(v),index:n}),getSignerFromPrivateKey:async(w)=>{let{DirectSecp256k1Wallet:v}=(await import("@cosmjs/proto-signing")).default;return v.fromKey(w,f)},createPrivateKeyFromPhrase:rt(p),validateAddress:Ho(f),getPubKey:d,getFees:()=>co(o,mo[o]),fetchFeeRateFromSwapKit:Ro,getBalanceAsDenoms:tt(t),createTransaction:fo,verifySignature:so(x)}}async function Vt(o,r){try{let f=(await Bo.getGasRate()).find((n)=>n.chainId===o)?.value;return f?Number.parseFloat(f):r}catch(t){return console.error(t),r}}function bt({address:o,chain:r,prefix:t}){let f=t||ao(r);if(!(f&&o))throw new O("toolbox_cosmos_validate_address_prefix_not_found");return Ho(f)(o)}function gt({assetValue:{chain:o}}){return uo.from({chain:o,value:ot(o)})}function ao(o){let{isStagenet:r}=Wo.get("envs"),t=o?[R.THORChain,R.Maya].includes(o)&&r:!1,f=o?$o[o]:void 0;return t?`s${f}`:f}async function co(o,r){let t=await Ro(eo[o],r);return{average:g.fromBigInt(BigInt(t),b[o]),fast:g.fromBigInt(BigInt(Math.floor(t*1.5)),b[o]),fastest:g.fromBigInt(BigInt(Math.floor(t*2)),b[o])}}function lo(o,r){return{amount:[{denom:r,amount:o.getBaseValue("string")}],gas:"200000"}}function ot(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 r(t){if(!t.startsWith(o))return!1;try{let{prefix:f,words:n}=V.decode(t);return V.encode(f,n)===t.toLocaleLowerCase()}catch(f){return!1}}}function tt(o){return async function r(t){return(await(await j(o)).getAllBalances(t)).map((y)=>({...y,denom:y.denom.includes("/")?y.denom.toUpperCase():y.denom}))}}function rt(o){return async function r(t){let{Bip39:f,EnglishMnemonic:n,Slip10:p,Slip10Curve:y,stringToPath:x}=await import("@cosmjs/crypto"),i=new n(t),d=await f.mnemonicToSeed(i),{privkey:c}=p.derivePath(y.Secp256k1,d,x(o));return c}}import{base64 as k}from"@scure/base";import{BaseDecimal as ft,Chain as nt,CosmosChainPrefixes as pt,FeeOption as a,NetworkDerivationPath as yt,RequestClient as wt,SKConfig as l,SwapKitNumber as _o,derivationPathToString as it,updateDerivationPath as xt}from"@swapkit/helpers";import{P as Ao,match as Ct}from"ts-pattern";function Tt({prefix:o,derivationPath:r}){return async function t(f,n=0){let{Secp256k1HdWallet:p}=(await import("@cosmjs/amino")).default,{stringToPath:y}=(await import("@cosmjs/crypto")).default;return p.fromMnemonic(f,{hdPaths:[y(`${r}/${n}`)],prefix:o})}}function mt(o){return k.encode(o)}function ct(o){return async function r({wallet:t,tx:f}){let{msgs:n,accountNumber:p,sequence:y,chainId:x,fee:i,memo:d}=typeof f==="string"?JSON.parse(f):f,c=(await t.getAccounts())?.[0]?.address||"",w=await z(o),v=await Z(),W=await ro(t,{registry:v,aminoTypes:w}),C=[];for(let H of n){let _=await L(H,o);C.push(_)}let{signatures:[u]}=await W.sign(c,C,i,d,{accountNumber:p,sequence:y,chainId:x}),$=await h({chain:o,memo:d,msgs:n.map(P)});return{signature:mt(u),bodyBytes:$}}}function dt({prefix:o,rpcUrl:r}){return async function t(f,n,p,y,x){let{encodeSecp256k1Pubkey:i,pubkeyToAddress:d}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:c}=(await import("@cosmjs/stargate")).default,{sequence:w,fee:v}=JSON.parse(f),W=await jo(p,y),C=n.map((H)=>[d(i(k.decode(H.pubKey)),o),k.decode(H.signature)]),u=await j(r),{transactionHash:$}=await u.broadcastTx(c(W,w,v,x,new Map(C)));return $}}async function jo(o,r,t=!0){let{createMultisigThresholdPubkey:f,encodeSecp256k1Pubkey:n}=(await import("@cosmjs/amino")).default;return f(o.map((p)=>n(k.decode(p))),r,t)}function vt(o){return k.decode(o)}async function ut({privateKey:o,message:r}){let{Secp256k1:t}=(await import("@cosmjs/crypto")).default,f=await t.createSignature(k.decode(r),o);return k.encode(Buffer.concat([f.r(32),f.s(32)]))}async function Io({chain:o,...r}){let t=l.get("nodeUrls")[o],f=l.get("rpcUrls")[o],{isStagenet:n}=l.get("envs"),p=o===nt.THORChain,y=`${n?"s":""}${pt[o]}`,x="index"in r?r.index||0:0,i="derivationPath"in r&&r.derivationPath?r.derivationPath:xt(yt[o],{index:x}),d=await F({chain:o,...r}),c=await Ct(r).with({phrase:Ao.string},({phrase:C})=>d.getSignerFromPhrase({phrase:C,derivationPath:i})).with({signer:Ao.any},({signer:C})=>C).otherwise(()=>{return}),w=A(o);async function v(){let C,u=`${t}/${p?"thorchain":"mayachain"}/constants`;try{let{int_64_values:{NativeTransactionFee:$}}=await wt.get(u);if(!$||Number.isNaN($)||$<0)throw new Error(`Invalid nativeFee: ${$.toString()}`);C=new _o($)}catch{C=new _o({value:p?0.02:1,decimal:ft[o]})}return{[a.Average]:C,[a.Fast]:C,[a.Fastest]:C}}async function W({assetValue:C,memo:u="",recipient:$}){let{TxRaw:H}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),_=(await c?.getAccounts())?.[0]?.address;if(!(_&&c))throw new Error("Signer not defined");let E="signAmino"in c,N=await Z(),S=await z(o),K=await J(f,c,{registry:N,aminoTypes:S}),e=U({assetValue:C,sender:_,recipient:$,memo:u});if(E){let Po=await L(e,o),{signatures:ko,authInfoBytes:Zo}=await K.sign(_,[Po],w,u),Ko=H.encode({signatures:ko,authInfoBytes:Zo,bodyBytes:await h({chain:o,msgs:[e].map(P),memo:u})}).finish();return(await K.broadcastTx(Ko)).transactionHash}let zo=P(e),Lo=await L(zo,o);return(await K.signAndBroadcast(_,[Lo],w,u)).transactionHash}return{...d,broadcastMultisigTx:dt({prefix:y,rpcUrl:f}),buildAminoMsg:U,buildEncodedTxBody:h,convertToSignable:L,createDefaultAminoTypes:()=>z(o),createDefaultRegistry:Z,createMultisig:jo,createTransaction:io(f),deposit:W,getFees:v,importSignature:vt,parseAminoMessageForDirectSigning:P,secp256k1HdWalletFromMnemonic:Tt({derivationPath:it(i),prefix:y}),signMultisigTx:ct(o),signWithPrivateKey:ut,transfer:W,pubkeyToAddress:async(C)=>{let{pubkeyToAddress:u}=(await import("@cosmjs/amino")).default;return u(C,y)}}}var ir=(o,r)=>{switch(o){case q.Cosmos:case q.Kujira:return F({chain:o,...r});case q.Maya:case q.THORChain:return Io({chain:o,...r});default:throw new Error(`Chain ${o} is not supported`)}};export{so as verifySignature,po as transferMsgAmino,Ht as toBase64,P as parseAminoMessageForDirectSigning,Ut as getSignerFromPrivateKey,To as getSignerFromPhrase,Oo as getRPC,I as getMsgSendDenom,Vt as getFeeRateFromThorswap,D as getDenomWithChain,A as getDefaultChainFee,io as getCreateTransaction,ir as getCosmosToolbox,_t as fromBase64,Ro as fetchFeeRateFromSwapKit,gt as estimateTransactionFee,yo as depositMsgAmino,Io as createThorchainToolbox,j as createStargateClient,J as createSigningStargateClient,ro as createOfflineStargateClient,Z as createDefaultRegistry,z as createDefaultAminoTypes,F as createCosmosToolbox,bt as cosmosValidateAddress,fo as cosmosCreateTransaction,L as convertToSignable,No as buildTransferTx,h as buildEncodedTxBody,So as buildDepositTx,U as buildAminoMsg,X as bech32ToBase64,G as base64ToBech32,Jo as YUM_KUJIRA_FACTORY_DENOM,Do as USK_KUJIRA_FACTORY_DENOM,Qt as THORCHAIN_GAS_VALUE,Xt as MAYA_GAS_VALUE,ho as DEFAULT_KUJI_FEE_MAINNET,Yo as DEFAULT_COSMOS_FEE_MAINNET};
|
|
1
|
+
import{b as vo}from"../chunk-0h4xdrwz.js";import{c as T,d as m}from"../chunk-38ztynv0.js";import{base64 as oo,bech32 as Q}from"@scure/base";import{fromByteArray as Qo,toByteArray as Xo}from"base64-js";function X(o){return oo.encode(Uint8Array.from(Q.fromWords(Q.decode(o).words)))}function G(o,r="thor"){return Q.encode(r,Q.toWords(oo.decode(o)))}function Ht(o){return Qo(o)}function _t(o){if(!o.match(/^[a-zA-Z0-9+/]*={0,2}$/))throw new Error("Invalid base64 string format");return Xo(o)}import{AssetValue as Eo,Chain as Y,ChainToChainId as no}from"@swapkit/helpers";import{AssetValue as Go,Chain as B,ChainId as M,SKConfig as to}from"@swapkit/helpers";var Do="FACTORY/KUJIRA1QK00H5ATUTPSV900X202PXX42NPJR9THG58DNQPA72F2P7M2LUASE444A7/UUSK",Jo="FACTORY/KUJIRA1YGFXN0ER40KLCNCK8THLTUPRDXLCK6WVNPKF2K/UYUM",Yo={amount:[{denom:"uatom",amount:"500"}],gas:"200000"},ho={amount:[{denom:"ukuji",amount:"1000"}],gas:"200000"};function A(o){switch(o){case B.Maya:return{amount:[],gas:"10000000000"};case B.THORChain:return{amount:[],gas:"500000000"};case B.Kujira:return ho;default:return Yo}}var I=(o,r=!1)=>{if(r)return o.toLowerCase();switch(o){case"uUSK":case"USK":return Do;case"uYUM":case"YUM":return Jo;case"uKUJI":case"KUJI":return"ukuji";case"ATOM":case"uATOM":return"uatom";default:return o}},D=({symbol:o,chain:r})=>{if(r===B.Maya)return(o.toUpperCase()!=="CACAO"?o:`${B.Maya}.${o}`).toUpperCase();if(r===B.THORChain)return(o.toUpperCase()!=="RUNE"?o:`${B.THORChain}.${o}`).toUpperCase();return I(o,!1)};async function j(o){let{StargateClient:r}=(await import("@cosmjs/stargate")).default;return r.connect(o)}async function J(o,r,t={}){let{SigningStargateClient:f,GasPrice:n}=(await import("@cosmjs/stargate")).default,p=typeof t==="string"?t:"0.0003uatom",y=typeof t==="string"?{}:t;return f.connectWithSigner(o,r,{gasPrice:n.fromString(p),...y})}async function ro(o,r){let{SigningStargateClient:t}=(await import("@cosmjs/stargate")).default;return t.offline(o,r)}var Oo=(o)=>{let{isStagenet:r}=to.get("envs"),t=to.get("rpcUrls");switch(o){case M.Kujira:return t.KUJI;case M.THORChain:case"thorchain-mainnet-v1":return r?t.THOR_STAGENET:t.THOR;case M.Maya:return r?t.MAYA_STAGENET:t.MAYA;default:return t.GAIA}},Fo=(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 Error("Unsupported chain")}},fo=async({sender:o,recipient:r,assetValue:t,memo:f="",feeRate:n,sequence:p,accountNumber:y})=>{let{chain:x,chainId:i}=t,d=Oo(i),w=await(await j(d)).getAccount(o);if(!w)throw new Error("Account does not exist");let v=Go.from({chain:x}),W=I(v.symbol),C=A(x),u=W&&n?{amount:[{denom:W,amount:n.toString()}],gas:C.gas}:C,$={fromAddress:o,toAddress:r,amount:[{amount:t.getBaseValue("string"),denom:I(t.symbol)}]};return{accountNumber:y??w.accountNumber,chainId:i,fee:u,memo:f,sequence:p??w.sequence,msgs:[{typeUrl:Fo(x),value:$}]}};import{Chain as qo}from"@swapkit/helpers";async function Z(){let{$root:o}=await import("../chunk-cv69ewns.js"),{Registry:r}=(await import("@cosmjs/proto-signing")).default,{defaultRegistryTypes:t}=(await import("@cosmjs/stargate")).default;return new r([...t,["/types.MsgSend",o.types.MsgSend],["/types.MsgDeposit",o.types.MsgDeposit]])}async function z(o){let{AminoTypes:r}=(await import("@cosmjs/stargate")).default,t=o===qo.THORChain?"thorchain":"mayachain";return new r({"/types.MsgSend":{aminoType:`${t}/MsgSend`,toAmino:({fromAddress:f,toAddress:n,...p})=>({...p,from_address:G(f),to_address:G(n)}),fromAmino:({from_address:f,to_address:n,...p})=>({...p,fromAddress:X(f),toAddress:X(n)})},"/types.MsgDeposit":{aminoType:`${t}/MsgDeposit`,toAmino:({signer:f,...n})=>({...n,signer:G(f)}),fromAmino:({signer:f,...n})=>({...n,signer:X(f)})}})}var Qt=A(Y.THORChain).gas,Xt=A(Y.Maya).gas,po=({sender:o,recipient:r,assetValue:t})=>{return{type:`${t.chain===Y.Maya?"mayachain":"thorchain"}/MsgSend`,value:{from_address:o,to_address:r,amount:[{amount:t.getBaseValue("string"),denom:I(t.symbol,!0)}]}}},yo=({sender:o,assetValue:r,memo:t=""})=>{return{type:`${r.chain===Y.Maya?"mayachain":"thorchain"}/MsgDeposit`,value:{coins:[{amount:r.getBaseValue("string"),asset:D(r)}],signer:o,memo:t}}},U=({sender:o,recipient:r,assetValue:t,memo:f})=>{return!r?yo({sender:o,assetValue:t,memo:f}):po({sender:o,recipient:r,assetValue:t})},L=async(o,r)=>{return(await z(r)).fromAmino(o)},wo=async({rpcUrl:o,sender:r})=>{let f=await(await j(o)).getAccount(r);if(!f)throw new Error("Account does not exist");return f};function io(o){return function r(t){let{assetValue:f,recipient:n,memo:p,sender:y,asSignable:x,asAminoMessage:i}=t;if(n)return No(o)({sender:y,recipient:n,assetValue:f,memo:p,asSignable:x,asAminoMessage:i});return So(o)({sender:y,assetValue:f,memo:p,asSignable:x,asAminoMessage:i})}}var No=(o)=>async({sender:r,recipient:t,assetValue:f,memo:n="",asSignable:p=!0,asAminoMessage:y=!1,sequence:x,accountNumber:i})=>{let d=await wo({rpcUrl:o,sender:r}),c=f.chain,w=po({sender:r,recipient:t,assetValue:f}),v=p?await L(y?w:P(w),c):w;return{chainId:no[c],accountNumber:i||d.accountNumber,sequence:x||d.sequence,msgs:[v],fee:A(f.chain),memo:n}},So=(o)=>async({sender:r,assetValue:t,memo:f="",asSignable:n=!0,asAminoMessage:p=!1,sequence:y,accountNumber:x})=>{let i=await wo({rpcUrl:o,sender:r}),d=t.chain,c=yo({sender:r,assetValue:t,memo:f}),w=n?await L(p?c:P(c),d):c;return{chainId:no[d],accountNumber:x||i.accountNumber,sequence:y||i.sequence,msgs:[w],fee:A(t.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((r)=>{let t=Eo.from({asset:r.asset}),f=(t.isSynthetic?t.symbol.split("/")?.[1]:t.symbol)?.toUpperCase(),n=(t.isSynthetic?t.symbol.split("/")?.[0]:t.chain)?.toUpperCase();return{...r,asset:{chain:n,symbol:f,ticker:t.ticker,synth:t.isSynthetic}}})}}}async function h({chain:o,memo:r,msgs:t}){let f=await Z(),n=await z(o),p={typeUrl:"/cosmos.tx.v1beta1.TxBody",value:{memo:r,messages:t.map((y)=>n.fromAmino(y))}};return f.encode(p)}import{Chain as q}from"@swapkit/helpers";import{base64 as s,bech32 as V}from"@scure/base";import{AssetValue as uo,BaseDecimal as b,Chain as R,ChainToChainId as eo,CosmosChainPrefixes as $o,DerivationPath as Mo,FeeOption as Uo,NetworkDerivationPath as Vo,SKConfig as Wo,SwapKitError as O,SwapKitNumber as g,derivationPathToString as xo,updateDerivationPath as bo}from"@swapkit/helpers";import{SwapKitApi as Bo}from"@swapkit/helpers/api";import{P as Co,match as go}from"ts-pattern";async function Ro(o,r){try{let f=(await Bo.getGasRate()).find((n)=>n.chainId===o)?.value;return f?Number.parseFloat(f):r}catch(t){return console.error(t),r}}async function To({phrase:o,prefix:r,...t}){let{DirectSecp256k1HdWallet:f}=(await import("@cosmjs/proto-signing")).default,{stringToPath:n}=(await import("@cosmjs/crypto")).default,p="derivationPath"in t?t.derivationPath:`${Mo[t.chain]}/${t.index}`;return f.fromMnemonic(o,{prefix:r,hdPaths:[n(p)]})}async function Ut({privateKey:o,prefix:r}){let{DirectSecp256k1Wallet:t}=(await import("@cosmjs/proto-signing")).default;return t.fromKey(o,r)}var mo={[R.Cosmos]:500,[R.Kujira]:1000,[R.THORChain]:5000000,[R.Maya]:5000000};function so(o){return async function r({signature:t,message:f,address:n}){let p=await o(n);if(!p?.pubkey)throw new O("toolbox_cosmos_verify_signature_no_pubkey");let{Secp256k1Signature:y,Secp256k1:x}=(await import("@cosmjs/crypto")).default,i=y.fromFixedLength(s.decode(t));return x.verifySignature(i,s.decode(f),p.pubkey.value)}}async function F({chain:o,...r}){let t=Wo.get("rpcUrls")[o],f=$o[o],n="index"in r?r.index||0:0,p=xo("derivationPath"in r&&r.derivationPath?r.derivationPath:bo(Vo[o],{index:n})),y=await go(r).with({phrase:Co.string},({phrase:w})=>To({phrase:w,prefix:f,derivationPath:p})).with({signer:Co.any},({signer:w})=>w).otherwise(()=>{return});async function x(w){return(await j(t)).getAccount(w)}async function i(){let[w]=await y?.getAccounts()||[];return w?.address}async function d(){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:v,memo:W="",feeRate:C,feeOptionKey:u=Uo.Fast}){let $=await i();if(!(y&&$))throw new O("toolbox_cosmos_signer_not_defined");let H=uo.from({chain:o}),_=D(H),E=C||lo((await co(o,mo[o]))[u],_),N=await J(t,y),S=[{denom:I(`u${v.symbol}`).toLowerCase(),amount:v.getBaseValue("string")}],{transactionHash:K}=await N.sendTokens($,w,S,E,W);return K}return{transfer:c,getAddress:i,getAccount:x,getBalance:vo(o),getSignerFromPhrase:async({phrase:w,derivationPath:v})=>To({phrase:w,prefix:f,derivationPath:xo(v),index:n}),getSignerFromPrivateKey:async(w)=>{let{DirectSecp256k1Wallet:v}=(await import("@cosmjs/proto-signing")).default;return v.fromKey(w,f)},createPrivateKeyFromPhrase:rt(p),validateAddress:Ho(f),getPubKey:d,getFees:()=>co(o,mo[o]),fetchFeeRateFromSwapKit:Ro,getBalanceAsDenoms:tt(t),createTransaction:fo,verifySignature:so(x)}}async function Vt(o,r){try{let f=(await Bo.getGasRate()).find((n)=>n.chainId===o)?.value;return f?Number.parseFloat(f):r}catch(t){return console.error(t),r}}function bt({address:o,chain:r,prefix:t}){let f=t||ao(r);if(!(f&&o))throw new O("toolbox_cosmos_validate_address_prefix_not_found");return Ho(f)(o)}function gt({assetValue:{chain:o}}){return uo.from({chain:o,value:ot(o)})}function ao(o){let{isStagenet:r}=Wo.get("envs"),t=o?[R.THORChain,R.Maya].includes(o)&&r:!1,f=o?$o[o]:void 0;return t?`s${f}`:f}async function co(o,r){let t=await Ro(eo[o],r);return{average:g.fromBigInt(BigInt(t),b[o]),fast:g.fromBigInt(BigInt(Math.floor(t*1.5)),b[o]),fastest:g.fromBigInt(BigInt(Math.floor(t*2)),b[o])}}function lo(o,r){return{amount:[{denom:r,amount:o.getBaseValue("string")}],gas:"200000"}}function ot(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 r(t){if(!t.startsWith(o))return!1;try{let{prefix:f,words:n}=V.decode(t);return V.encode(f,n)===t.toLocaleLowerCase()}catch(f){return!1}}}function tt(o){return async function r(t){return(await(await j(o)).getAllBalances(t)).map((y)=>({...y,denom:y.denom.includes("/")?y.denom.toUpperCase():y.denom}))}}function rt(o){return async function r(t){let{Bip39:f,EnglishMnemonic:n,Slip10:p,Slip10Curve:y,stringToPath:x}=await import("@cosmjs/crypto"),i=new n(t),d=await f.mnemonicToSeed(i),{privkey:c}=p.derivePath(y.Secp256k1,d,x(o));return c}}import{base64 as k}from"@scure/base";import{BaseDecimal as ft,Chain as nt,CosmosChainPrefixes as pt,FeeOption as a,NetworkDerivationPath as yt,RequestClient as wt,SKConfig as l,SwapKitNumber as _o,derivationPathToString as it,updateDerivationPath as xt}from"@swapkit/helpers";import{P as Ao,match as Ct}from"ts-pattern";function Tt({prefix:o,derivationPath:r}){return async function t(f,n=0){let{Secp256k1HdWallet:p}=(await import("@cosmjs/amino")).default,{stringToPath:y}=(await import("@cosmjs/crypto")).default;return p.fromMnemonic(f,{hdPaths:[y(`${r}/${n}`)],prefix:o})}}function mt(o){return k.encode(o)}function ct(o){return async function r({wallet:t,tx:f}){let{msgs:n,accountNumber:p,sequence:y,chainId:x,fee:i,memo:d}=typeof f==="string"?JSON.parse(f):f,c=(await t.getAccounts())?.[0]?.address||"",w=await z(o),v=await Z(),W=await ro(t,{registry:v,aminoTypes:w}),C=[];for(let H of n){let _=await L(H,o);C.push(_)}let{signatures:[u]}=await W.sign(c,C,i,d,{accountNumber:p,sequence:y,chainId:x}),$=await h({chain:o,memo:d,msgs:n.map(P)});return{signature:mt(u),bodyBytes:$}}}function dt({prefix:o,rpcUrl:r}){return async function t(f,n,p,y,x){let{encodeSecp256k1Pubkey:i,pubkeyToAddress:d}=(await import("@cosmjs/amino")).default,{makeMultisignedTxBytes:c}=(await import("@cosmjs/stargate")).default,{sequence:w,fee:v}=JSON.parse(f),W=await jo(p,y),C=n.map((H)=>[d(i(k.decode(H.pubKey)),o),k.decode(H.signature)]),u=await j(r),{transactionHash:$}=await u.broadcastTx(c(W,w,v,x,new Map(C)));return $}}async function jo(o,r,t=!0){let{createMultisigThresholdPubkey:f,encodeSecp256k1Pubkey:n}=(await import("@cosmjs/amino")).default;return f(o.map((p)=>n(k.decode(p))),r,t)}function vt(o){return k.decode(o)}async function ut({privateKey:o,message:r}){let{Secp256k1:t}=(await import("@cosmjs/crypto")).default,f=await t.createSignature(k.decode(r),o);return k.encode(Buffer.concat([f.r(32),f.s(32)]))}async function Io({chain:o,...r}){let t=l.get("nodeUrls")[o],f=l.get("rpcUrls")[o],{isStagenet:n}=l.get("envs"),p=o===nt.THORChain,y=`${n?"s":""}${pt[o]}`,x="index"in r?r.index||0:0,i="derivationPath"in r&&r.derivationPath?r.derivationPath:xt(yt[o],{index:x}),d=await F({chain:o,...r}),c=await Ct(r).with({phrase:Ao.string},({phrase:C})=>d.getSignerFromPhrase({phrase:C,derivationPath:i})).with({signer:Ao.any},({signer:C})=>C).otherwise(()=>{return}),w=A(o);async function v(){let C,u=`${t}/${p?"thorchain":"mayachain"}/constants`;try{let{int_64_values:{NativeTransactionFee:$}}=await wt.get(u);if(!$||Number.isNaN($)||$<0)throw new Error(`Invalid nativeFee: ${$.toString()}`);C=new _o($)}catch{C=new _o({value:p?0.02:1,decimal:ft[o]})}return{[a.Average]:C,[a.Fast]:C,[a.Fastest]:C}}async function W({assetValue:C,memo:u="",recipient:$}){let{TxRaw:H}=await import("cosmjs-types/cosmos/tx/v1beta1/tx"),_=(await c?.getAccounts())?.[0]?.address;if(!(_&&c))throw new Error("Signer not defined");let E="signAmino"in c,N=await Z(),S=await z(o),K=await J(f,c,{registry:N,aminoTypes:S}),e=U({assetValue:C,sender:_,recipient:$,memo:u});if(E){let Po=await L(e,o),{signatures:ko,authInfoBytes:Zo}=await K.sign(_,[Po],w,u),Ko=H.encode({signatures:ko,authInfoBytes:Zo,bodyBytes:await h({chain:o,msgs:[e].map(P),memo:u})}).finish();return(await K.broadcastTx(Ko)).transactionHash}let zo=P(e),Lo=await L(zo,o);return(await K.signAndBroadcast(_,[Lo],w,u)).transactionHash}return{...d,broadcastMultisigTx:dt({prefix:y,rpcUrl:f}),buildAminoMsg:U,buildEncodedTxBody:h,convertToSignable:L,createDefaultAminoTypes:()=>z(o),createDefaultRegistry:Z,createMultisig:jo,createTransaction:io(f),deposit:W,getFees:v,importSignature:vt,parseAminoMessageForDirectSigning:P,secp256k1HdWalletFromMnemonic:Tt({derivationPath:it(i),prefix:y}),signMultisigTx:ct(o),signWithPrivateKey:ut,transfer:W,pubkeyToAddress:async(C)=>{let{pubkeyToAddress:u}=(await import("@cosmjs/amino")).default;return u(C,y)}}}var ir=(o,r)=>{switch(o){case q.Cosmos:case q.Kujira:return F({chain:o,...r});case q.Maya:case q.THORChain:return Io({chain:o,...r});default:throw new Error(`Chain ${o} is not supported`)}};export{so as verifySignature,po as transferMsgAmino,Ht as toBase64,P as parseAminoMessageForDirectSigning,Ut as getSignerFromPrivateKey,To as getSignerFromPhrase,Oo as getRPC,I as getMsgSendDenom,Vt as getFeeRateFromThorswap,D as getDenomWithChain,A as getDefaultChainFee,io as getCreateTransaction,ir as getCosmosToolbox,_t as fromBase64,Ro as fetchFeeRateFromSwapKit,gt as estimateTransactionFee,yo as depositMsgAmino,Io as createThorchainToolbox,j as createStargateClient,J as createSigningStargateClient,ro as createOfflineStargateClient,Z as createDefaultRegistry,z as createDefaultAminoTypes,F as createCosmosToolbox,bt as cosmosValidateAddress,fo as cosmosCreateTransaction,L as convertToSignable,No as buildTransferTx,h as buildEncodedTxBody,So as buildDepositTx,U as buildAminoMsg,X as bech32ToBase64,G as base64ToBech32,Jo as YUM_KUJIRA_FACTORY_DENOM,Do as USK_KUJIRA_FACTORY_DENOM,Qt as THORCHAIN_GAS_VALUE,Xt as MAYA_GAS_VALUE,ho as DEFAULT_KUJI_FEE_MAINNET,Yo as DEFAULT_COSMOS_FEE_MAINNET};
|
|
2
2
|
|
|
3
3
|
//# debugId=D1995731E85D99AE64756E2164756E21
|
package/dist/evm/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{b as tt}from"../chunk-0h4xdrwz.js";import{c as J,d as C}from"../chunk-p1kdg37m.js";import{SKConfig as xt,warnOnce as Jt}from"@swapkit/helpers";function S(t){let u=xt.get("apis")[t];if(u)return Jt(!0,"Using custom EVM API. Be sure to implement all methods to avoid issues."),u;return Ct(t)}function Tn(t){return t}function Ct(t){return{getBalance:tt(t)}}import{AssetValue as K,BaseDecimal as gt,Chain as L,ChainToExplorerUrl as Ft,ChainToHexChainId as It,FeeOption as at,SKConfig as pt,SwapKitNumber as r}from"@swapkit/helpers";import{Chain as E,ContractAddress as q,FeeOption as f,SwapKitError as B,SwapKitNumber as nt,isGasAsset as kt}from"@swapkit/helpers";import{erc20ABI as Y}from"@swapkit/helpers/contracts";import{BrowserProvider as Gt,Contract as ut,Interface as et,getAddress as h}from"ethers";var _=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function j({chain:t=E.Ethereum,provider:u,signer:n,isEIP1559Compatible:e=!0}){return{getAddress:()=>{return n?n.getAddress():void 0},call:A({provider:u,signer:n,isEIP1559Compatible:e,chain:t}),estimateCall:yt({provider:u,signer:n}),EIP1193SendTransaction:F(u),approve:Nt({provider:u,signer:n,isEIP1559Compatible:e,chain:t}),approvedAmount:ot({provider:u,chain:t}),broadcastTransaction:u.broadcastTransaction,createApprovalTx:jt({provider:u,signer:n,chain:t}),createContract:Wt({provider:u,chain:t}),createContractTxObject:Z({provider:u,chain:t}),createTransferTx:P({provider:u,signer:n,chain:t}),createTransaction:P({provider:u,signer:n,chain:t}),estimateGasLimit:Vt({provider:u,signer:n,chain:t}),estimateGasPrices:k({chain:t,provider:u,isEIP1559Compatible:e}),isApproved:Xt({provider:u,chain:t}),sendTransaction:lt({provider:u,signer:n,isEIP1559Compatible:e,chain:t}),signMessage:n?.signMessage,transfer:St({provider:u,signer:n,isEIP1559Compatible:e,chain:t}),validateAddress:(o)=>$t({address:o})}}function $t({address:t}){try{return h(t),!0}catch(u){return!1}}function g(t){return t instanceof Gt}function O(t,u,n){return new ut(t,et.from(u),n)}function Wt({provider:t}){return function u(n,e){return new ut(n,et.from(e),t)}}var Qt=["payable","nonpayable"];function Yt({abi:t,funcName:u}){let n=t.find((e)=>e.name===u);if(!n)throw new B("toolbox_evm_no_abi_fragment",{funcName:u});return n.stateMutability&&Qt.includes(n.stateMutability)}function fn(t){return h(t)}function F(t){return function u({value:n,...e}){if(!g(t))throw new B("toolbox_evm_provider_not_eip1193_compatible");return t.send("eth_sendTransaction",[{value:V(BigInt(n||0)),...e}])}}function Bn(t,u){let n=I(t,u);if(n)return h(n.toLowerCase());throw new B("toolbox_evm_invalid_gas_asset_address")}var Zt={[E.Arbitrum]:q.ARB,[E.Avalanche]:q.AVAX,[E.Base]:q.BASE,[E.BinanceSmartChain]:q.BSC,[E.Ethereum]:q.ETH,[E.Optimism]:q.OP,[E.Polygon]:q.MATIC};function I({chain:t,symbol:u,ticker:n},e){try{let o=t===E.BinanceSmartChain&&u==="BNB"&&n==="BNB",y=t===e&&u===e&&n===e,l=[E.Arbitrum,E.Base].includes(t)&&u==="ETH"&&n==="ETH";if(y||o||l)return Zt[e];return h(u.slice(n.length+1).replace(/^0X/,""))}catch(o){return null}}function Z({provider:t}){return async({contractAddress:u,abi:n,funcName:e,funcParams:o=[],txOverrides:y})=>O(u,n,t).getFunction(e).populateTransaction(...o.concat(y).filter((l)=>typeof l!=="undefined"))}function k({chain:t,provider:u,isEIP1559Compatible:n=!0}){if(t===E.Arbitrum)return async function e(){try{let{gasPrice:o}=await u.getFeeData();if(!o)throw new Error("No fee data available");return{[f.Average]:{gasPrice:o},[f.Fast]:{gasPrice:o},[f.Fastest]:{gasPrice:o}}}catch(o){throw new Error(`Failed to estimate gas price: ${o.msg??o.toString()}`)}};if(t===E.Optimism)return async function e(){try{let{maxFeePerGas:o,maxPriorityFeePerGas:y,gasPrice:l}=await u.getFeeData(),p=v(u)(),a=l;if(!(o&&y))throw new Error("No fee data available");return{[f.Average]:{l1GasPrice:p,gasPrice:a,maxFeePerGas:o,maxPriorityFeePerGas:y},[f.Fast]:{l1GasPrice:(p||0n)*15n/10n,gasPrice:a*15n/10n,maxFeePerGas:o,maxPriorityFeePerGas:y*15n/10n},[f.Fastest]:{l1GasPrice:(p||0n)*2n,gasPrice:a*2n,maxFeePerGas:o,maxPriorityFeePerGas:y*2n}}}catch(o){throw new Error(`Failed to estimate gas price: ${o.msg??o.toString()}`)}};return async function e(){try{let{maxFeePerGas:o,maxPriorityFeePerGas:y,gasPrice:l}=await u.getFeeData();if(n){if(o===null||y===null)throw new B("toolbox_evm_no_fee_data");return{[f.Average]:{maxFeePerGas:o,maxPriorityFeePerGas:y},[f.Fast]:{maxFeePerGas:o*15n/10n,maxPriorityFeePerGas:y*15n/10n},[f.Fastest]:{maxFeePerGas:o*2n,maxPriorityFeePerGas:y*2n}}}if(!l)throw new B("toolbox_evm_no_gas_price");return{[f.Average]:{gasPrice:l},[f.Fast]:{gasPrice:l*15n/10n},[f.Fastest]:{gasPrice:l*2n}}}catch(o){throw new Error(`Failed to estimate gas price: ${o.msg??o.toString()}`)}}}function A({provider:t,isEIP1559Compatible:u,signer:n,chain:e}){return async function o({callProvider:y,contractAddress:l,abi:p,funcName:a,funcParams:i=[],txOverrides:T={},feeOption:s=f.Fast}){let m=y||t;if(!l)throw new Error("contractAddress must be provided");let b=Yt({abi:p,funcName:a});if(b&&g(m)&&n){let R=Z({provider:m,chain:e}),D=T?.from||await n?.getAddress(),U=await R({contractAddress:l,abi:p,funcName:a,funcParams:i,txOverrides:{...T,from:D}});return F(m)(U)}let M=O(l,p,m);if(b){if(!n)throw new B("toolbox_evm_no_signer");let R=T?.from||await n.getAddress();if(!R)throw new B("toolbox_evm_no_signer_address");let D=M.connect(n),U=k({provider:t,isEIP1559Compatible:u,chain:e}),{maxFeePerGas:H,maxPriorityFeePerGas:c,gasPrice:z}=(await U())[s],Q=await M.getFunction(a).estimateGas(...i,T),N=await D[a](...i,{...T,gasLimit:Q,maxFeePerGas:H,maxPriorityFeePerGas:c,gasPrice:z,nonce:T?.nonce||await m.getTransactionCount(R)});return typeof N?.hash==="string"?N?.hash:N}let w=await M[a]?.(...i);return typeof w?.hash==="string"?w?.hash:w}}function ot({provider:t,chain:u}){return function n({assetAddress:e,spenderAddress:o,from:y}){return A({provider:t,isEIP1559Compatible:!0,chain:u})({contractAddress:e,abi:Y,funcName:"allowance",funcParams:[y,o]})}}function Xt({provider:t,chain:u}){return async function n({assetAddress:e,spenderAddress:o,from:y,amount:l=_}){let p=await ot({provider:t,chain:u})({assetAddress:e,spenderAddress:o,from:y});return nt.fromBigInt(p).gte(nt.fromBigInt(BigInt(l)))}}function Nt({signer:t,isEIP1559Compatible:u=!0,provider:n,chain:e}){return async function o({assetAddress:y,spenderAddress:l,feeOptionKey:p=f.Fast,amount:a,gasLimitFallback:i,from:T,nonce:s}){let m=[l,BigInt(a||_)],b=await t?.getAddress()||T,M={contractAddress:y,abi:Y,funcName:"approve",funcParams:m,signer:t,txOverrides:{from:b}};if(g(n)){let R=Z({provider:n,chain:e}),D=F(n),U=await R(M);return D(U)}return A({provider:n,isEIP1559Compatible:u,signer:t,chain:e})({...M,funcParams:m,txOverrides:{from:b,nonce:s,gasLimit:i?BigInt(i.toString()):void 0},feeOption:p})}}function St({signer:t,isEIP1559Compatible:u=!0,provider:n}){return async function e({assetValue:o,memo:y,recipient:l,feeOptionKey:p=f.Fast,sender:a,...i}){let{hexlify:T,toUtf8Bytes:s}=await import("ethers"),m=o.getBaseValue("bigint"),b=o.chain,M=a||await t?.getAddress(),w=lt({provider:n,signer:t,isEIP1559Compatible:u,chain:b});if(!M)throw new B("toolbox_evm_no_from_address");if(o.isGasAsset){let z={...i,from:M,to:l,value:m,data:T(s(y||"")),feeOptionKey:p};return w(z)}if(!I(o,b))throw new B("toolbox_evm_no_contract_address");let{maxFeePerGas:D,maxPriorityFeePerGas:U,gasPrice:H}=(await k({provider:n,isEIP1559Compatible:u,chain:b})())[p],c=await P({provider:n,signer:t,chain:b})({assetValue:o,memo:y,recipient:l,data:T(s(y||"")),sender:M,maxFeePerGas:D,maxPriorityFeePerGas:U,gasPrice:H});return w(c)}}function yt({provider:t,signer:u}){return function n({contractAddress:e,abi:o,funcName:y,funcParams:l=[],txOverrides:p}){if(!e)throw new B("toolbox_evm_no_contract_address");let a=O(e,o,t);return u?a.connect(u).getFunction(y).estimateGas(...l,p):a.getFunction(y).estimateGas(...l,p)}}function Vt({provider:t,signer:u}){return async function n({assetValue:e,recipient:o,memo:y,data:l,sender:p,funcName:a,funcParams:i,txOverrides:T}){let s=e.bigIntValue,m=e.isGasAsset?null:I(e,e.chain);if(m&&a)return yt({provider:t,signer:u})({contractAddress:m,abi:Y,funcName:a,funcParams:i,txOverrides:T});let{hexlify:b,toUtf8Bytes:M}=await import("ethers");return t.estimateGas({from:p,to:o,value:s,data:l?l:y?b(M(y)):void 0})}}var ht=(t)=>t.type===2||!!t.maxFeePerGas||!!t.maxPriorityFeePerGas;function lt({provider:t,signer:u,isEIP1559Compatible:n=!0,chain:e}){return async function o({feeOptionKey:y=f.Fast,...l}){let{from:p,to:a,data:i,value:T,...s}=l;if(!u)throw new B("toolbox_evm_no_signer");if(!a)throw new B("toolbox_evm_no_to_address");let m={...s,data:i||"0x",to:a,from:p,value:BigInt(T||0)};if(g(t))return F(t)(m);let b=p||await u.getAddress(),M=l.nonce||await t.getTransactionCount(b),w=(await t.getNetwork()).chainId,R=ht(m)||n,D=k({provider:t,isEIP1559Compatible:n,chain:e}),U=R&&!(m.maxFeePerGas&&m.maxPriorityFeePerGas)||!m.gasPrice?Object.entries((await D())[y]).reduce((c,[z,Q])=>({...c,[z]:V(BigInt(Q))}),{}):{},H;try{H=V(m.gasLimit||await t.estimateGas(m)*11n/10n)}catch(c){throw new B("toolbox_evm_error_estimating_gas_limit",{error:c})}try{let c={...m,chainId:w,type:R?2:0,gasLimit:H,nonce:M,...U};try{return(await u.sendTransaction(c)).hash}catch(z){let Q=await u.signTransaction({...c,from:b});return(await t.broadcastTransaction(Q)).hash}}catch(c){throw new B("toolbox_evm_error_sending_transaction",{error:c})}}}function P({provider:t,signer:u}){return async function n({assetValue:e,memo:o,recipient:y,data:l,sender:p,maxFeePerGas:a,maxPriorityFeePerGas:i,gasPrice:T,...s}){let m=e.getBaseValue("bigint"),b=e.chain,M=p||await u?.getAddress();if(!M)throw new B("toolbox_evm_no_from_address");if(kt(e)){let{hexlify:D,toUtf8Bytes:U}=await import("ethers");return{...s,from:M,to:y,value:m,data:l||D(U(o||""))}}let w=I(e,b);if(!w)throw new B("toolbox_evm_no_contract_address");return Z({provider:t,chain:e.chain})({contractAddress:w,abi:Y,funcName:"transfer",funcParams:[y,m],txOverrides:{from:M,maxFeePerGas:a,maxPriorityFeePerGas:i,gasPrice:T}})}}function jt({provider:t,signer:u,chain:n}){return async function e({assetAddress:o,spenderAddress:y,amount:l,from:p}){let a=await u?.getAddress()||p,i=Z({provider:t,chain:n}),T=[y,BigInt(l||_)];return await i({contractAddress:o,abi:Y,funcName:"approve",funcParams:T,txOverrides:{from:a}})}}async function G(t,u){let{JsonRpcProvider:n}=await import("ethers");return new n(u||pt.get("rpcUrls")[t])}var En=async({from:t,memo:u="",feeOptionKey:n=at.Fastest,assetValue:e,abi:o,funcName:y,funcParams:l,contractAddress:p,txOverrides:a})=>{let{getEvmToolbox:i}=await import("@swapkit/toolboxes/evm"),T=await i(e.chain),m=(await T.getBalance(t)).find(({symbol:c,chain:z})=>e?c===e.symbol:c===K.from({chain:z})?.symbol),b=(await T.estimateGasPrices())[n];if(!m)return K.from({chain:e.chain});if(e&&(m.chain!==e.chain||m.symbol!==e?.symbol))return m;let M=o&&y&&l&&p?await T.estimateCall({contractAddress:p,abi:o,funcName:y,funcParams:l,txOverrides:a}):await T.estimateGasLimit({sender:t,recipient:t,memo:u,assetValue:e}),w="maxFeePerGas"in b,R="gasPrice"in b&&b.gasPrice!==void 0;if(!(b&&(R||w)))throw new Error("Could not fetch fee data");let D=w?(b.maxFeePerGas||1n)+(b.maxPriorityFeePerGas||1n):b.gasPrice||1n,U=M*D,H=r.fromBigInt(m.getBaseValue("bigint")).sub(U.toString());return K.from({chain:m.chain,value:H.getValue("string")})};function V(t){return t>0n?`0x${t.toString(16)}`:"0x0"}function mt({provider:t,isEIP1559Compatible:u=!0}){return async function n({feeOption:e=at.Fast,chain:o,...y}){let p=await k({provider:t,isEIP1559Compatible:u,chain:o})(),a=await t.estimateGas(y),i=K.from({chain:o}),{gasPrice:T,maxFeePerGas:s,maxPriorityFeePerGas:m}=p[e];if(!u&&T)return i.set(r.fromBigInt(T*a,i.decimal));if(s&&m){let b=(s+m)*a;return i.set(r.fromBigInt(b,i.decimal))}throw new Error("No gas price found")}}function it(t){return()=>L.Ethereum===t?void 0:{...Kt({chain:t}),chainId:It[t],rpcUrls:[pt.get("rpcUrls")[t]],blockExplorerUrls:[Ft[t]]}}function Tt(t){return![L.Arbitrum,L.BinanceSmartChain].includes(t)}function Kt({chain:t}){let u=gt[t];switch(t){case L.Arbitrum:return{chainName:"Arbitrum One",nativeCurrency:{name:"Ethereum",symbol:L.Ethereum,decimals:u}};case L.Avalanche:return{chainName:"Avalanche Network",nativeCurrency:{name:"Avalanche",symbol:t,decimals:u}};case L.Base:return{chainName:"Base Mainnet",nativeCurrency:{name:"Ethereum",symbol:L.Ethereum,decimals:u}};case L.BinanceSmartChain:return{chainName:"BNB Chain",nativeCurrency:{name:"Binance Coin",symbol:"BNB",decimals:u}};case L.Polygon:return{chainName:"Polygon Mainnet",nativeCurrency:{name:"Polygon",symbol:L.Polygon,decimals:u}};default:throw new Error(`Chain ${t} is not supported`)}}var Pt;((n)=>{n.Test="goerli";n.Main="homestead"})(Pt||={});import{Chain as x}from"@swapkit/helpers";import{Chain as $,FeeOption as _t,SKConfig as Ot}from"@swapkit/helpers";import{HDNodeWallet as At}from"ethers";import{P as Mt,match as vt}from"ts-pattern";var bt=[{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"aggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes[]",name:"returnData",type:"bytes[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"blockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],name:"getBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"getBlockNumber",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockCoinbase",outputs:[{internalType:"address",name:"coinbase",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockDifficulty",outputs:[{internalType:"uint256",name:"difficulty",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockGasLimit",outputs:[{internalType:"uint256",name:"gaslimit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockTimestamp",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"addr",type:"address"}],name:"getEthBalance",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getLastBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryAggregate",outputs:[{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryBlockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"}];async function st({provider:t,...u}){let n=await W($.Ethereum)({provider:t,...u});async function e(o,y="0x5ba1e12693dc8f9c48aad8770482f4739beed696",l="aggregate",p=_t.Fast){let a=await n.createContractTxObject({contractAddress:y,abi:bt,funcName:l,funcParams:[o]});return n.sendTransaction({...a,feeOptionKey:p})}return{...n,multicall:e}}var wt=W($.Arbitrum),ct=W($.Avalanche),ft=W($.Base),Bt=W($.BinanceSmartChain),Rt=W($.Polygon);function W(t){return async function u({provider:n,...e}){let o=Ot.get("rpcUrls")[t],y=n||await G(t,o),l=Tt(t),p=vt(e).with({phrase:Mt.string},({phrase:i})=>At.fromPhrase(i).connect(y)).with({signer:Mt.any},({signer:i})=>i).otherwise(()=>{return});return{...j({provider:y,signer:p,isEIP1559Compatible:l,chain:t}),estimateTransactionFee:mt({provider:y,isEIP1559Compatible:l,chain:t}),getNetworkParams:it(t),getBalance:S(t).getBalance}}}import{BaseDecimal as rt,Chain as X,ChainId as dt,ChainToExplorerUrl as tn,SKConfig as Et}from"@swapkit/helpers";import{Contract as nn,HDNodeWallet as un}from"ethers";import{P as Ut}from"ts-pattern";import{match as en}from"ts-pattern";var Dt=[{inputs:[{internalType:"address",name:"_owner",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"DecimalsUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"GasPriceUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"L1BaseFeeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"OverheadUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"ScalarUpdated",type:"event"},{inputs:[],name:"decimals",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"gasPrice",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1Fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1GasUsed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"l1BaseFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"overhead",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"scalar",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_decimals",type:"uint256"}],name:"setDecimals",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_gasPrice",type:"uint256"}],name:"setGasPrice",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_baseFee",type:"uint256"}],name:"setL1BaseFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_overhead",type:"uint256"}],name:"setOverhead",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_scalar",type:"uint256"}],name:"setScalar",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}];var on="0x420000000000000000000000000000000000000f";function d(t){return new nn(on,Dt,t)}function v(t){return function u(){let n=d(t);if(n&&"l1BaseFee"in n)return n?.l1BaseFee();return}}function Lt(t){return async function u({from:n,to:e,nonce:o,...y}){let{Transaction:l}=await import("ethers");if(!e)throw new Error("Missing to address");return l.from({...y,authorizationList:y.authorizationList,to:e,nonce:o?o:n?await t.getTransactionCount(n):0}).serialized}}function Ht(t){return async function u(n){let e=d(t),o=await Lt(t)(n);if(e&&"getL1Fee"in e)return e.getL1Fee(o)}}function zt(t){return async function u(n){let e=await t.send("eth_gasPrice",[]),o=await t.estimateGas(n);return e.mul(o)}}function yn(t){return async function u(n){let e=await Ht(t)(n),o=await zt(t)(n);return e.add(o)}}function ln(t){return async function u(n){let e=d(t),o=await Lt(t)(n);if(e&&"getL1GasUsed"in e)return e.getL1GasUsed(o)}}var an=()=>({chainId:dt.OptimismHex,chainName:"Optimism",nativeCurrency:{name:"Ethereum",symbol:X.Ethereum,decimals:rt.ETH},rpcUrls:[Et.get("rpcUrls")[X.Optimism]],blockExplorerUrls:[tn[X.Optimism]]});async function qt({provider:t,...u}){let n=X.Optimism,e=Et.get("rpcUrls")[n],o=t||await G(n,e),y=en(u).with({phrase:Ut.string},({phrase:a})=>un.fromPhrase(a).connect(o)).with({signer:Ut.any},({signer:a})=>a).otherwise(()=>{return}),l=j({provider:o,signer:y}),p=v(o);return{...l,estimateL1Gas:ln(o),estimateL1GasCost:Ht(o),estimateL2GasCost:zt(o),estimateTotalGasCost:yn(o),getBalance:S(X.Optimism).getBalance,getL1GasPrice:p,getNetworkParams:an}}async function _n(t,u){let n={...u,provider:u?.provider||await G(t)};switch(t){case x.Avalanche:return ct(n);case x.Arbitrum:return wt(n);case x.Base:return ft(n);case x.Optimism:return qt(n);case x.Polygon:return Rt(n);case x.BinanceSmartChain:return Bt(n);case x.Ethereum:return st(n);default:throw new Error(`Chain ${t} is not supported`)}}export{V as toHexString,fn as toChecksumAddress,Yt as isStateChangingCall,g as isBrowserProvider,I as getTokenAddress,G as getProvider,it as getNetworkParams,v as getL1GasPriceFetcher,Tt as getIsEIP1559Compatible,_n as getEvmToolbox,S as getEvmApi,mt as getEstimateTransactionFee,k as getEstimateGasPrices,F as getEIP1193SendTransaction,Z as getCreateContractTxObject,Wt as getCreateContract,Bn as getChecksumAddressFromAsset,$t as evmValidateAddress,En as estimateMaxSendableAmount,ln as estimateL1Gas,Tn as createCustomEvmApi,O as createContract,qt as OPToolbox,_ as MAX_APPROVAL,Rt as MATICToolbox,Pt as EthNetwork,st as ETHToolbox,j as BaseEVMToolbox,Bt as BSCToolbox,ft as BASEToolbox,ct as AVAXToolbox,wt as ARBToolbox};
|
|
1
|
+
import{b as tt}from"../chunk-0h4xdrwz.js";import{c as J,d as C}from"../chunk-38ztynv0.js";import{SKConfig as xt,warnOnce as Jt}from"@swapkit/helpers";function S(t){let u=xt.get("apis")[t];if(u)return Jt(!0,"Using custom EVM API. Be sure to implement all methods to avoid issues."),u;return Ct(t)}function Tn(t){return t}function Ct(t){return{getBalance:tt(t)}}import{AssetValue as K,BaseDecimal as gt,Chain as L,ChainToExplorerUrl as Ft,ChainToHexChainId as It,FeeOption as at,SKConfig as pt,SwapKitNumber as r}from"@swapkit/helpers";import{Chain as E,ContractAddress as q,FeeOption as f,SwapKitError as B,SwapKitNumber as nt,isGasAsset as kt}from"@swapkit/helpers";import{erc20ABI as Y}from"@swapkit/helpers/contracts";import{BrowserProvider as Gt,Contract as ut,Interface as et,getAddress as h}from"ethers";var _=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function j({chain:t=E.Ethereum,provider:u,signer:n,isEIP1559Compatible:e=!0}){return{getAddress:()=>{return n?n.getAddress():void 0},call:A({provider:u,signer:n,isEIP1559Compatible:e,chain:t}),estimateCall:yt({provider:u,signer:n}),EIP1193SendTransaction:F(u),approve:Nt({provider:u,signer:n,isEIP1559Compatible:e,chain:t}),approvedAmount:ot({provider:u,chain:t}),broadcastTransaction:u.broadcastTransaction,createApprovalTx:jt({provider:u,signer:n,chain:t}),createContract:Wt({provider:u,chain:t}),createContractTxObject:Z({provider:u,chain:t}),createTransferTx:P({provider:u,signer:n,chain:t}),createTransaction:P({provider:u,signer:n,chain:t}),estimateGasLimit:Vt({provider:u,signer:n,chain:t}),estimateGasPrices:k({chain:t,provider:u,isEIP1559Compatible:e}),isApproved:Xt({provider:u,chain:t}),sendTransaction:lt({provider:u,signer:n,isEIP1559Compatible:e,chain:t}),signMessage:n?.signMessage,transfer:St({provider:u,signer:n,isEIP1559Compatible:e,chain:t}),validateAddress:(o)=>$t({address:o})}}function $t({address:t}){try{return h(t),!0}catch(u){return!1}}function g(t){return t instanceof Gt}function O(t,u,n){return new ut(t,et.from(u),n)}function Wt({provider:t}){return function u(n,e){return new ut(n,et.from(e),t)}}var Qt=["payable","nonpayable"];function Yt({abi:t,funcName:u}){let n=t.find((e)=>e.name===u);if(!n)throw new B("toolbox_evm_no_abi_fragment",{funcName:u});return n.stateMutability&&Qt.includes(n.stateMutability)}function fn(t){return h(t)}function F(t){return function u({value:n,...e}){if(!g(t))throw new B("toolbox_evm_provider_not_eip1193_compatible");return t.send("eth_sendTransaction",[{value:V(BigInt(n||0)),...e}])}}function Bn(t,u){let n=I(t,u);if(n)return h(n.toLowerCase());throw new B("toolbox_evm_invalid_gas_asset_address")}var Zt={[E.Arbitrum]:q.ARB,[E.Avalanche]:q.AVAX,[E.Base]:q.BASE,[E.BinanceSmartChain]:q.BSC,[E.Ethereum]:q.ETH,[E.Optimism]:q.OP,[E.Polygon]:q.MATIC};function I({chain:t,symbol:u,ticker:n},e){try{let o=t===E.BinanceSmartChain&&u==="BNB"&&n==="BNB",y=t===e&&u===e&&n===e,l=[E.Arbitrum,E.Base].includes(t)&&u==="ETH"&&n==="ETH";if(y||o||l)return Zt[e];return h(u.slice(n.length+1).replace(/^0X/,""))}catch(o){return null}}function Z({provider:t}){return async({contractAddress:u,abi:n,funcName:e,funcParams:o=[],txOverrides:y})=>O(u,n,t).getFunction(e).populateTransaction(...o.concat(y).filter((l)=>typeof l!=="undefined"))}function k({chain:t,provider:u,isEIP1559Compatible:n=!0}){if(t===E.Arbitrum)return async function e(){try{let{gasPrice:o}=await u.getFeeData();if(!o)throw new Error("No fee data available");return{[f.Average]:{gasPrice:o},[f.Fast]:{gasPrice:o},[f.Fastest]:{gasPrice:o}}}catch(o){throw new Error(`Failed to estimate gas price: ${o.msg??o.toString()}`)}};if(t===E.Optimism)return async function e(){try{let{maxFeePerGas:o,maxPriorityFeePerGas:y,gasPrice:l}=await u.getFeeData(),p=v(u)(),a=l;if(!(o&&y))throw new Error("No fee data available");return{[f.Average]:{l1GasPrice:p,gasPrice:a,maxFeePerGas:o,maxPriorityFeePerGas:y},[f.Fast]:{l1GasPrice:(p||0n)*15n/10n,gasPrice:a*15n/10n,maxFeePerGas:o,maxPriorityFeePerGas:y*15n/10n},[f.Fastest]:{l1GasPrice:(p||0n)*2n,gasPrice:a*2n,maxFeePerGas:o,maxPriorityFeePerGas:y*2n}}}catch(o){throw new Error(`Failed to estimate gas price: ${o.msg??o.toString()}`)}};return async function e(){try{let{maxFeePerGas:o,maxPriorityFeePerGas:y,gasPrice:l}=await u.getFeeData();if(n){if(o===null||y===null)throw new B("toolbox_evm_no_fee_data");return{[f.Average]:{maxFeePerGas:o,maxPriorityFeePerGas:y},[f.Fast]:{maxFeePerGas:o*15n/10n,maxPriorityFeePerGas:y*15n/10n},[f.Fastest]:{maxFeePerGas:o*2n,maxPriorityFeePerGas:y*2n}}}if(!l)throw new B("toolbox_evm_no_gas_price");return{[f.Average]:{gasPrice:l},[f.Fast]:{gasPrice:l*15n/10n},[f.Fastest]:{gasPrice:l*2n}}}catch(o){throw new Error(`Failed to estimate gas price: ${o.msg??o.toString()}`)}}}function A({provider:t,isEIP1559Compatible:u,signer:n,chain:e}){return async function o({callProvider:y,contractAddress:l,abi:p,funcName:a,funcParams:i=[],txOverrides:T={},feeOption:s=f.Fast}){let m=y||t;if(!l)throw new Error("contractAddress must be provided");let b=Yt({abi:p,funcName:a});if(b&&g(m)&&n){let R=Z({provider:m,chain:e}),D=T?.from||await n?.getAddress(),U=await R({contractAddress:l,abi:p,funcName:a,funcParams:i,txOverrides:{...T,from:D}});return F(m)(U)}let M=O(l,p,m);if(b){if(!n)throw new B("toolbox_evm_no_signer");let R=T?.from||await n.getAddress();if(!R)throw new B("toolbox_evm_no_signer_address");let D=M.connect(n),U=k({provider:t,isEIP1559Compatible:u,chain:e}),{maxFeePerGas:H,maxPriorityFeePerGas:c,gasPrice:z}=(await U())[s],Q=await M.getFunction(a).estimateGas(...i,T),N=await D[a](...i,{...T,gasLimit:Q,maxFeePerGas:H,maxPriorityFeePerGas:c,gasPrice:z,nonce:T?.nonce||await m.getTransactionCount(R)});return typeof N?.hash==="string"?N?.hash:N}let w=await M[a]?.(...i);return typeof w?.hash==="string"?w?.hash:w}}function ot({provider:t,chain:u}){return function n({assetAddress:e,spenderAddress:o,from:y}){return A({provider:t,isEIP1559Compatible:!0,chain:u})({contractAddress:e,abi:Y,funcName:"allowance",funcParams:[y,o]})}}function Xt({provider:t,chain:u}){return async function n({assetAddress:e,spenderAddress:o,from:y,amount:l=_}){let p=await ot({provider:t,chain:u})({assetAddress:e,spenderAddress:o,from:y});return nt.fromBigInt(p).gte(nt.fromBigInt(BigInt(l)))}}function Nt({signer:t,isEIP1559Compatible:u=!0,provider:n,chain:e}){return async function o({assetAddress:y,spenderAddress:l,feeOptionKey:p=f.Fast,amount:a,gasLimitFallback:i,from:T,nonce:s}){let m=[l,BigInt(a||_)],b=await t?.getAddress()||T,M={contractAddress:y,abi:Y,funcName:"approve",funcParams:m,signer:t,txOverrides:{from:b}};if(g(n)){let R=Z({provider:n,chain:e}),D=F(n),U=await R(M);return D(U)}return A({provider:n,isEIP1559Compatible:u,signer:t,chain:e})({...M,funcParams:m,txOverrides:{from:b,nonce:s,gasLimit:i?BigInt(i.toString()):void 0},feeOption:p})}}function St({signer:t,isEIP1559Compatible:u=!0,provider:n}){return async function e({assetValue:o,memo:y,recipient:l,feeOptionKey:p=f.Fast,sender:a,...i}){let{hexlify:T,toUtf8Bytes:s}=await import("ethers"),m=o.getBaseValue("bigint"),b=o.chain,M=a||await t?.getAddress(),w=lt({provider:n,signer:t,isEIP1559Compatible:u,chain:b});if(!M)throw new B("toolbox_evm_no_from_address");if(o.isGasAsset){let z={...i,from:M,to:l,value:m,data:T(s(y||"")),feeOptionKey:p};return w(z)}if(!I(o,b))throw new B("toolbox_evm_no_contract_address");let{maxFeePerGas:D,maxPriorityFeePerGas:U,gasPrice:H}=(await k({provider:n,isEIP1559Compatible:u,chain:b})())[p],c=await P({provider:n,signer:t,chain:b})({assetValue:o,memo:y,recipient:l,data:T(s(y||"")),sender:M,maxFeePerGas:D,maxPriorityFeePerGas:U,gasPrice:H});return w(c)}}function yt({provider:t,signer:u}){return function n({contractAddress:e,abi:o,funcName:y,funcParams:l=[],txOverrides:p}){if(!e)throw new B("toolbox_evm_no_contract_address");let a=O(e,o,t);return u?a.connect(u).getFunction(y).estimateGas(...l,p):a.getFunction(y).estimateGas(...l,p)}}function Vt({provider:t,signer:u}){return async function n({assetValue:e,recipient:o,memo:y,data:l,sender:p,funcName:a,funcParams:i,txOverrides:T}){let s=e.bigIntValue,m=e.isGasAsset?null:I(e,e.chain);if(m&&a)return yt({provider:t,signer:u})({contractAddress:m,abi:Y,funcName:a,funcParams:i,txOverrides:T});let{hexlify:b,toUtf8Bytes:M}=await import("ethers");return t.estimateGas({from:p,to:o,value:s,data:l?l:y?b(M(y)):void 0})}}var ht=(t)=>t.type===2||!!t.maxFeePerGas||!!t.maxPriorityFeePerGas;function lt({provider:t,signer:u,isEIP1559Compatible:n=!0,chain:e}){return async function o({feeOptionKey:y=f.Fast,...l}){let{from:p,to:a,data:i,value:T,...s}=l;if(!u)throw new B("toolbox_evm_no_signer");if(!a)throw new B("toolbox_evm_no_to_address");let m={...s,data:i||"0x",to:a,from:p,value:BigInt(T||0)};if(g(t))return F(t)(m);let b=p||await u.getAddress(),M=l.nonce||await t.getTransactionCount(b),w=(await t.getNetwork()).chainId,R=ht(m)||n,D=k({provider:t,isEIP1559Compatible:n,chain:e}),U=R&&!(m.maxFeePerGas&&m.maxPriorityFeePerGas)||!m.gasPrice?Object.entries((await D())[y]).reduce((c,[z,Q])=>({...c,[z]:V(BigInt(Q))}),{}):{},H;try{H=V(m.gasLimit||await t.estimateGas(m)*11n/10n)}catch(c){throw new B("toolbox_evm_error_estimating_gas_limit",{error:c})}try{let c={...m,chainId:w,type:R?2:0,gasLimit:H,nonce:M,...U};try{return(await u.sendTransaction(c)).hash}catch(z){let Q=await u.signTransaction({...c,from:b});return(await t.broadcastTransaction(Q)).hash}}catch(c){throw new B("toolbox_evm_error_sending_transaction",{error:c})}}}function P({provider:t,signer:u}){return async function n({assetValue:e,memo:o,recipient:y,data:l,sender:p,maxFeePerGas:a,maxPriorityFeePerGas:i,gasPrice:T,...s}){let m=e.getBaseValue("bigint"),b=e.chain,M=p||await u?.getAddress();if(!M)throw new B("toolbox_evm_no_from_address");if(kt(e)){let{hexlify:D,toUtf8Bytes:U}=await import("ethers");return{...s,from:M,to:y,value:m,data:l||D(U(o||""))}}let w=I(e,b);if(!w)throw new B("toolbox_evm_no_contract_address");return Z({provider:t,chain:e.chain})({contractAddress:w,abi:Y,funcName:"transfer",funcParams:[y,m],txOverrides:{from:M,maxFeePerGas:a,maxPriorityFeePerGas:i,gasPrice:T}})}}function jt({provider:t,signer:u,chain:n}){return async function e({assetAddress:o,spenderAddress:y,amount:l,from:p}){let a=await u?.getAddress()||p,i=Z({provider:t,chain:n}),T=[y,BigInt(l||_)];return await i({contractAddress:o,abi:Y,funcName:"approve",funcParams:T,txOverrides:{from:a}})}}async function G(t,u){let{JsonRpcProvider:n}=await import("ethers");return new n(u||pt.get("rpcUrls")[t])}var En=async({from:t,memo:u="",feeOptionKey:n=at.Fastest,assetValue:e,abi:o,funcName:y,funcParams:l,contractAddress:p,txOverrides:a})=>{let{getEvmToolbox:i}=await import("@swapkit/toolboxes/evm"),T=await i(e.chain),m=(await T.getBalance(t)).find(({symbol:c,chain:z})=>e?c===e.symbol:c===K.from({chain:z})?.symbol),b=(await T.estimateGasPrices())[n];if(!m)return K.from({chain:e.chain});if(e&&(m.chain!==e.chain||m.symbol!==e?.symbol))return m;let M=o&&y&&l&&p?await T.estimateCall({contractAddress:p,abi:o,funcName:y,funcParams:l,txOverrides:a}):await T.estimateGasLimit({sender:t,recipient:t,memo:u,assetValue:e}),w="maxFeePerGas"in b,R="gasPrice"in b&&b.gasPrice!==void 0;if(!(b&&(R||w)))throw new Error("Could not fetch fee data");let D=w?(b.maxFeePerGas||1n)+(b.maxPriorityFeePerGas||1n):b.gasPrice||1n,U=M*D,H=r.fromBigInt(m.getBaseValue("bigint")).sub(U.toString());return K.from({chain:m.chain,value:H.getValue("string")})};function V(t){return t>0n?`0x${t.toString(16)}`:"0x0"}function mt({provider:t,isEIP1559Compatible:u=!0}){return async function n({feeOption:e=at.Fast,chain:o,...y}){let p=await k({provider:t,isEIP1559Compatible:u,chain:o})(),a=await t.estimateGas(y),i=K.from({chain:o}),{gasPrice:T,maxFeePerGas:s,maxPriorityFeePerGas:m}=p[e];if(!u&&T)return i.set(r.fromBigInt(T*a,i.decimal));if(s&&m){let b=(s+m)*a;return i.set(r.fromBigInt(b,i.decimal))}throw new Error("No gas price found")}}function it(t){return()=>L.Ethereum===t?void 0:{...Kt({chain:t}),chainId:It[t],rpcUrls:[pt.get("rpcUrls")[t]],blockExplorerUrls:[Ft[t]]}}function Tt(t){return![L.Arbitrum,L.BinanceSmartChain].includes(t)}function Kt({chain:t}){let u=gt[t];switch(t){case L.Arbitrum:return{chainName:"Arbitrum One",nativeCurrency:{name:"Ethereum",symbol:L.Ethereum,decimals:u}};case L.Avalanche:return{chainName:"Avalanche Network",nativeCurrency:{name:"Avalanche",symbol:t,decimals:u}};case L.Base:return{chainName:"Base Mainnet",nativeCurrency:{name:"Ethereum",symbol:L.Ethereum,decimals:u}};case L.BinanceSmartChain:return{chainName:"BNB Chain",nativeCurrency:{name:"Binance Coin",symbol:"BNB",decimals:u}};case L.Polygon:return{chainName:"Polygon Mainnet",nativeCurrency:{name:"Polygon",symbol:L.Polygon,decimals:u}};default:throw new Error(`Chain ${t} is not supported`)}}var Pt;((n)=>{n.Test="goerli";n.Main="homestead"})(Pt||={});import{Chain as x}from"@swapkit/helpers";import{Chain as $,FeeOption as _t,SKConfig as Ot}from"@swapkit/helpers";import{HDNodeWallet as At}from"ethers";import{P as Mt,match as vt}from"ts-pattern";var bt=[{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"aggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes[]",name:"returnData",type:"bytes[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"blockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],name:"getBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"getBlockNumber",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockCoinbase",outputs:[{internalType:"address",name:"coinbase",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockDifficulty",outputs:[{internalType:"uint256",name:"difficulty",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockGasLimit",outputs:[{internalType:"uint256",name:"gaslimit",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getCurrentBlockTimestamp",outputs:[{internalType:"uint256",name:"timestamp",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"addr",type:"address"}],name:"getEthBalance",outputs:[{internalType:"uint256",name:"balance",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getLastBlockHash",outputs:[{internalType:"bytes32",name:"blockHash",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryAggregate",outputs:[{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"requireSuccess",type:"bool"},{components:[{internalType:"address",name:"target",type:"address"},{internalType:"bytes",name:"callData",type:"bytes"}],internalType:"struct Multicall2.Call[]",name:"calls",type:"tuple[]"}],name:"tryBlockAndAggregate",outputs:[{internalType:"uint256",name:"blockNumber",type:"uint256"},{internalType:"bytes32",name:"blockHash",type:"bytes32"},{components:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],internalType:"struct Multicall2.Result[]",name:"returnData",type:"tuple[]"}],stateMutability:"nonpayable",type:"function"}];async function st({provider:t,...u}){let n=await W($.Ethereum)({provider:t,...u});async function e(o,y="0x5ba1e12693dc8f9c48aad8770482f4739beed696",l="aggregate",p=_t.Fast){let a=await n.createContractTxObject({contractAddress:y,abi:bt,funcName:l,funcParams:[o]});return n.sendTransaction({...a,feeOptionKey:p})}return{...n,multicall:e}}var wt=W($.Arbitrum),ct=W($.Avalanche),ft=W($.Base),Bt=W($.BinanceSmartChain),Rt=W($.Polygon);function W(t){return async function u({provider:n,...e}){let o=Ot.get("rpcUrls")[t],y=n||await G(t,o),l=Tt(t),p=vt(e).with({phrase:Mt.string},({phrase:i})=>At.fromPhrase(i).connect(y)).with({signer:Mt.any},({signer:i})=>i).otherwise(()=>{return});return{...j({provider:y,signer:p,isEIP1559Compatible:l,chain:t}),estimateTransactionFee:mt({provider:y,isEIP1559Compatible:l,chain:t}),getNetworkParams:it(t),getBalance:S(t).getBalance}}}import{BaseDecimal as rt,Chain as X,ChainId as dt,ChainToExplorerUrl as tn,SKConfig as Et}from"@swapkit/helpers";import{Contract as nn,HDNodeWallet as un}from"ethers";import{P as Ut}from"ts-pattern";import{match as en}from"ts-pattern";var Dt=[{inputs:[{internalType:"address",name:"_owner",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"DecimalsUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"GasPriceUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"L1BaseFeeUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"OverheadUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"",type:"uint256"}],name:"ScalarUpdated",type:"event"},{inputs:[],name:"decimals",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"gasPrice",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1Fee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"getL1GasUsed",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"l1BaseFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"overhead",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"scalar",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_decimals",type:"uint256"}],name:"setDecimals",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_gasPrice",type:"uint256"}],name:"setGasPrice",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_baseFee",type:"uint256"}],name:"setL1BaseFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_overhead",type:"uint256"}],name:"setOverhead",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"_scalar",type:"uint256"}],name:"setScalar",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}];var on="0x420000000000000000000000000000000000000f";function d(t){return new nn(on,Dt,t)}function v(t){return function u(){let n=d(t);if(n&&"l1BaseFee"in n)return n?.l1BaseFee();return}}function Lt(t){return async function u({from:n,to:e,nonce:o,...y}){let{Transaction:l}=await import("ethers");if(!e)throw new Error("Missing to address");return l.from({...y,authorizationList:y.authorizationList,to:e,nonce:o?o:n?await t.getTransactionCount(n):0}).serialized}}function Ht(t){return async function u(n){let e=d(t),o=await Lt(t)(n);if(e&&"getL1Fee"in e)return e.getL1Fee(o)}}function zt(t){return async function u(n){let e=await t.send("eth_gasPrice",[]),o=await t.estimateGas(n);return e.mul(o)}}function yn(t){return async function u(n){let e=await Ht(t)(n),o=await zt(t)(n);return e.add(o)}}function ln(t){return async function u(n){let e=d(t),o=await Lt(t)(n);if(e&&"getL1GasUsed"in e)return e.getL1GasUsed(o)}}var an=()=>({chainId:dt.OptimismHex,chainName:"Optimism",nativeCurrency:{name:"Ethereum",symbol:X.Ethereum,decimals:rt.ETH},rpcUrls:[Et.get("rpcUrls")[X.Optimism]],blockExplorerUrls:[tn[X.Optimism]]});async function qt({provider:t,...u}){let n=X.Optimism,e=Et.get("rpcUrls")[n],o=t||await G(n,e),y=en(u).with({phrase:Ut.string},({phrase:a})=>un.fromPhrase(a).connect(o)).with({signer:Ut.any},({signer:a})=>a).otherwise(()=>{return}),l=j({provider:o,signer:y}),p=v(o);return{...l,estimateL1Gas:ln(o),estimateL1GasCost:Ht(o),estimateL2GasCost:zt(o),estimateTotalGasCost:yn(o),getBalance:S(X.Optimism).getBalance,getL1GasPrice:p,getNetworkParams:an}}async function _n(t,u){let n={...u,provider:u?.provider||await G(t)};switch(t){case x.Avalanche:return ct(n);case x.Arbitrum:return wt(n);case x.Base:return ft(n);case x.Optimism:return qt(n);case x.Polygon:return Rt(n);case x.BinanceSmartChain:return Bt(n);case x.Ethereum:return st(n);default:throw new Error(`Chain ${t} is not supported`)}}export{V as toHexString,fn as toChecksumAddress,Yt as isStateChangingCall,g as isBrowserProvider,I as getTokenAddress,G as getProvider,it as getNetworkParams,v as getL1GasPriceFetcher,Tt as getIsEIP1559Compatible,_n as getEvmToolbox,S as getEvmApi,mt as getEstimateTransactionFee,k as getEstimateGasPrices,F as getEIP1193SendTransaction,Z as getCreateContractTxObject,Wt as getCreateContract,Bn as getChecksumAddressFromAsset,$t as evmValidateAddress,En as estimateMaxSendableAmount,ln as estimateL1Gas,Tn as createCustomEvmApi,O as createContract,qt as OPToolbox,_ as MAX_APPROVAL,Rt as MATICToolbox,Pt as EthNetwork,st as ETHToolbox,j as BaseEVMToolbox,Bt as BSCToolbox,ft as BASEToolbox,ct as AVAXToolbox,wt as ARBToolbox};
|
|
2
2
|
|
|
3
3
|
//# debugId=F518B549C1B7915464756E2164756E21
|
package/dist/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{c as t,d as s}from"./chunk-
|
|
1
|
+
import{c as t,d as s}from"./chunk-38ztynv0.js";import{AssetValue as y,Chain as o,FeeOption as C}from"@swapkit/helpers";async function f(){let{match:n}=await import("ts-pattern"),{cosmosValidateAddress:a}=await import("@swapkit/toolboxes/cosmos"),{evmValidateAddress:e}=await import("@swapkit/toolboxes/evm"),{substrateValidateAddress:i}=await import("@swapkit/toolboxes/substrate"),{getUTXOAddressValidator:l}=await import("@swapkit/toolboxes/utxo"),{getSolanaAddressValidator:c}=await import("@swapkit/toolboxes/solana"),{rippleValidateAddress:p}=await import("@swapkit/toolboxes/ripple"),{radixValidateAddress:x}=await import("@swapkit/toolboxes/radix"),m=await c(),b=await l();return function d({address:r,chain:T}){return n(T).with(o.Arbitrum,o.Avalanche,o.Optimism,o.BinanceSmartChain,o.Base,o.Polygon,o.Ethereum,()=>e({address:r})).with(o.Litecoin,o.Dash,o.Dogecoin,o.BitcoinCash,o.Bitcoin,()=>b({address:r,chain:T})).with(o.Cosmos,o.Kujira,o.Maya,o.THORChain,()=>a({address:r,chain:T})).with(o.Chainflip,o.Polkadot,()=>i({address:r,chain:T})).with(o.Radix,()=>x(r)).with(o.Ripple,()=>p(r)).with(o.Solana,()=>m(r)).otherwise(()=>!1)}}async function g(n){let a=await u(n);return async function e(i){switch(n){case o.Arbitrum:case o.Avalanche:case o.Optimism:case o.BinanceSmartChain:case o.Base:case o.Polygon:case o.Ethereum:{let l=await a.createTransaction(i);return a.estimateTransactionFee({...l,feeOption:i.feeOptionKey||C.Fast,chain:n})}case o.Bitcoin:case o.BitcoinCash:case o.Dogecoin:case o.Dash:case o.Litecoin:return a.estimateTransactionFee(i);case o.THORChain:case o.Maya:case o.Kujira:case o.Cosmos:{let{estimateTransactionFee:l}=await import("@swapkit/toolboxes/cosmos");return l(i)}case o.Polkadot:return a.estimateTransactionFee(i);case o.Solana:return a.estimateTransactionFee(i);case o.Ripple:return a.estimateTransactionFee();default:return y.from({chain:n})}}}async function u(n,a){switch(n){case o.Arbitrum:case o.Avalanche:case o.Optimism:case o.BinanceSmartChain:case o.Base:case o.Polygon:case o.Ethereum:{let{getEvmToolbox:e}=await import("@swapkit/toolboxes/evm");return await e(n,a)}case o.Litecoin:case o.Dash:case o.Dogecoin:case o.BitcoinCash:case o.Bitcoin:{let{getUtxoToolbox:e}=await import("@swapkit/toolboxes/utxo");return await e(n,a)}case o.Cosmos:case o.Kujira:case o.Maya:case o.THORChain:{let{getCosmosToolbox:e}=await import("@swapkit/toolboxes/cosmos");return await e(n,a)}case o.Chainflip:case o.Polkadot:{let{getSubstrateToolbox:e}=await import("@swapkit/toolboxes/substrate");return await e(n,a)}case o.Radix:{let{RadixToolbox:e}=await import("@swapkit/toolboxes/radix");return await e(a)}case o.Ripple:{let{getRippleToolbox:e}=await import("@swapkit/toolboxes/ripple");return await e(a)}case o.Solana:{let{getSolanaToolbox:e}=await import("@swapkit/toolboxes/solana");return await e(a)}default:throw new Error(`Chain ${n} is not supported`)}}export{u as getToolbox,g as getFeeEstimator,f as getAddressValidator};
|
|
2
2
|
|
|
3
3
|
//# debugId=F5BD75044784CD8664756E2164756E21
|
package/dist/radix/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{c as W,d as X}from"../chunk-
|
|
1
|
+
import{c as W,d as X}from"../chunk-38ztynv0.js";import{AssetValue as _,Chain as Y,SKConfig as $}from"@swapkit/helpers";function q(j){return j.startsWith("account_rdx1")&&j.length===66}function G({networkApi:j}){return async function J(K){let M=await v({address:K,networkApi:j});return x({resources:M,networkApi:j})}}async function v({address:j,networkApi:J}){let K=!0,M,L=[],z=await B(J);while(K){let Q={address:j,limit_per_page:100,cursor:M,at_ledger_state:{state_version:z}},N=await J.state.innerClient.entityFungiblesPage({stateEntityFungiblesPageRequest:Q});if(L=L.concat(N.items),N.next_cursor)M=N.next_cursor;else K=!1}return L}async function x({resources:j,networkApi:J}){let K=[],M=50,L=[];for(let z=0;z<j.length;z+=50)L.push(j.slice(z,z+50));for(let z of L){let Q=z.map((H)=>H.resource_address),N=await J.state.getEntityDetailsVaultAggregated(Q),V=new Map;for(let H of N)if(H.details!==void 0){let O=H.metadata?.items.find((Z)=>Z.key==="symbol"),U=O?.value.typed.type==="String"?O.value.typed.value:"?";if(H.details.type==="FungibleResource")V.set(H.address,{decimals:H.details.divisibility,symbol:U})}for(let H of z)if(H.aggregation_level==="Global"){let O=V.get(H.resource_address)||{decimals:0,symbol:"?"},U=_.from({asset:O.symbol!==Y.Radix?`${Y.Radix}.${O.symbol}-${H.resource_address}`:"XRD.XRD",value:H.amount});K.push(U)}}return K}async function B(j){return j.status.getCurrent().then((J)=>J.ledger_state.state_version)}var S=async({dappConfig:j}={})=>{let{RadixDappToolkit:J}=await import("@radixdlt/radix-dapp-toolkit"),{GatewayApiClient:K}=await import("@radixdlt/babylon-gateway-api-sdk"),M=j||$.get("integrations").radix,L=J({...M,networkId:M.network?.networkId||1}),z=K.initialize(L.gatewayApi.clientConfig);return{getAddress:()=>"",getBalance:G({networkApi:z}),networkApi:z,validateAddress:q,signAndBroadcast:()=>{throw new Error("Not implemented")}}};export{q as radixValidateAddress,S as RadixToolbox};
|
|
2
2
|
|
|
3
3
|
//# debugId=DD879EEE96AA5EA464756E2164756E21
|
package/dist/ripple/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import"../chunk-
|
|
1
|
+
import"../chunk-38ztynv0.js";import{AssetValue as $,BaseDecimal as L,Chain as J,SKConfig as U,SwapKitError as M,SwapKitNumber as _}from"@swapkit/helpers";import{Client as f,Wallet as B,isValidAddress as b,xrpToDrops as R}from"xrpl";import{hashes as V}from"xrpl";var D={ACCOUNT_NOT_FOUND:19};function N(y){let z=B.fromMnemonic(y);return{getAddress:()=>Promise.resolve(z.address),signTransaction:(Y)=>Promise.resolve(z.sign(Y))}}function W(y){return b(y)}var E=async(y={})=>{let z="signer"in y&&y.signer?y.signer:("phrase"in y)&&y.phrase?N(y.phrase):void 0,Y=U.get("rpcUrls")[J.Ripple];if(!Y)throw new M({errorKey:"toolbox_ripple_rpc_not_configured",info:{chain:J.Ripple}});let Q=new f(Y);await Q.connect();let Z=()=>{if(!z)throw new M({errorKey:"toolbox_ripple_signer_not_found"});return z.getAddress()},H=async(j)=>{let G=j||await Z();try{let X=(await Q.request({command:"account_info",account:G})).result.account_data.Balance;return[$.from({chain:J.Ripple,value:X,fromBaseDecimal:L[J.Ripple]})]}catch(q){if(q.data.error_code===D.ACCOUNT_NOT_FOUND)return[$.from({chain:J.Ripple,value:0})];throw new M("toolbox_ripple_get_balance_error",{info:{address:G,error:q}})}},O=async()=>{let G=(await Q.request({command:"fee"})).result.drops.open_ledger_fee;return $.from({chain:J.Ripple,value:_.fromBigInt(BigInt(G),L[J.Ripple])})},k=async({assetValue:j,recipient:G,memo:q,sender:X})=>{if(!W(G))throw new M({errorKey:"core_transaction_invalid_recipient_address"});let P=X||await Z();if(!j.isGasAsset||j.chain!==J.Ripple)throw new M({errorKey:"toolbox_ripple_asset_not_supported",info:{asset:j.toString()}});let I={TransactionType:"Payment",Account:P,Amount:R(j.getValue("string")),Destination:G};if(q)I.Memos=[{Memo:{MemoData:Buffer.from(q).toString("hex")}}];return await Q.autofill(I)},v=(j)=>{if(!z)throw new M({errorKey:"toolbox_ripple_signer_not_found"});return z.signTransaction(j)},F=async(j)=>{let q=(await Q.submitAndWait(j)).result;if(q.validated)return q.hash;throw new M({errorKey:"toolbox_ripple_broadcast_error",info:{chain:J.Ripple}})};return{signer:z,createSigner:N,getAddress:Z,validateAddress:W,getBalance:H,createTransaction:k,signTransaction:v,broadcastTransaction:F,transfer:async(j)=>{if(!z)throw new M({errorKey:"toolbox_ripple_signer_not_found"});let G=await z.getAddress(),q=await k({...j,sender:G}),X=await v(q);return F(X.tx_blob)},estimateTransactionFee:O,disconnect:()=>Q.disconnect()}};export{W as rippleValidateAddress,V as hashes,E as getRippleToolbox};
|
|
2
2
|
|
|
3
3
|
//# debugId=AD02AAC0A5102C8964756E2164756E21
|
package/dist/solana/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{c as S,d as f}from"../chunk-
|
|
1
|
+
import{c as S,d as f}from"../chunk-38ztynv0.js";import{AssetValue as j,BaseDecimal as F,Chain as q,DerivationPath as Q,NetworkDerivationPath as X,SKConfig as Y,SwapKitError as R,derivationPathToString as Z,updateDerivationPath as _}from"@swapkit/helpers";import{P as d}from"ts-pattern";import{match as $}from"ts-pattern";async function v(T){try{let a=await fetch(`https://lite-api.jup.ag/tokens/v1/token/${T}`);if(!a.ok)return null;return await a.json()}catch{return null}}async function I(T){let a=await h(),{PublicKey:l}=await import("@solana/web3.js"),{TOKEN_PROGRAM_ID:o}=await import("@solana/spl-token"),y=new l(T),p=[],P=await a.getBalance(y);if(P>0)p.push(j.from({chain:q.Solana,value:P,fromBaseDecimal:F[q.Solana]}));let x=await a.getParsedTokenAccountsByOwner(y,{programId:o});for(let{account:m}of x.value){let b=m.data.parsed.info,O=b.mint,w=b.tokenAmount.amount;if(Number(w)===0)continue;let M=await v(O),E=M?.symbol||"UNKNOWN",G=M?.decimals||b.tokenAmount.decimals;p.push(j.from({chain:q.Solana,symbol:E,address:O,value:w,fromBaseDecimal:G}))}return p}async function J(){let{PublicKey:T}=await import("@solana/web3.js");return(a)=>{try{let l=new T(a);return T.isOnCurve(l.toBytes())}catch(l){return!1}}}async function g(T){let a=T&&"index"in T?T.index||0:0,l=Z(T&&"derivationPath"in T&&T.derivationPath?T.derivationPath:_(X[q.Solana],{index:a})),o=await $(T).with({phrase:d.string},({phrase:p})=>z({phrase:p,derivationPath:l})).with({signer:d.any},({signer:p})=>p).otherwise(()=>{return});function y(){return o?.publicKey?B(o.publicKey):""}return{getConnection:h,getAddress:y,createKeysForPath:z,getAddressFromPubKey:B,getPubkeyFromAddress:L,createTransaction:A(h),createTransactionFromInstructions:k,getBalance:(p)=>{let P=p||y();if(!P)throw new R("core_wallet_connection_not_found");return I(P)},transfer:s(h,o),broadcastTransaction:u(h),getAddressValidator:J,signTransaction:C(h,o),estimateTransactionFee:H(h)}}function H(T){return async({recipient:a,assetValue:l,memo:o,isProgramDerivedAddress:y,sender:p})=>{let P=await T(),m=(await A(T)({recipient:a,assetValue:l,memo:o,isProgramDerivedAddress:y,sender:p})).compileMessage(),b=await P.getFeeForMessage(m);if(b.value===null)throw new R("toolbox_solana_fee_estimation_failed","Could not estimate Solana fee.");return j.from({chain:q.Solana,value:b.value,fromBaseDecimal:F[q.Solana]})}}async function h(){let{Connection:T}=await import("@solana/web3.js");return new T(Y.get("rpcUrls").SOL,"confirmed")}function K(T){return async({assetValue:a,recipient:l,sender:o,isProgramDerivedAddress:y})=>{let p=await T(),P=await L(o);if(a.isGasAsset){let{Transaction:x,SystemProgram:m,PublicKey:b}=await import("@solana/web3.js");return new x().add(m.transfer({fromPubkey:P,lamports:a.getBaseValue("number"),toPubkey:new b(l)}))}if(a.address)return D({amount:a.getBaseValue("number"),connection:p,decimals:a.decimal,from:P,recipient:l,tokenAddress:a.address,isProgramDerivedAddress:y});return}}async function D({tokenAddress:T,recipient:a,from:l,connection:o,amount:y,decimals:p,isProgramDerivedAddress:P}){let{getAssociatedTokenAddress:x,getAccount:m,createAssociatedTokenAccountInstruction:b,createTransferCheckedInstruction:O}=await import("@solana/spl-token"),{Transaction:w,PublicKey:M}=await import("@solana/web3.js"),E=new w,G=new M(T),N=await x(G,l),U=new M(a),W=await x(G,U,P),V=!1;try{await m(o,W),V=!0}catch(n){}if(!V)E.add(b(l,W,U,G));return E.add(O(N,G,W,l,y,p)),E}function A(T){return async({recipient:a,assetValue:l,memo:o,isProgramDerivedAddress:y,sender:p})=>{let{createMemoInstruction:P}=await import("@solana/spl-memo"),x=await L(p),m=await J();if(!(y||m(a)))throw new R("core_transaction_invalid_recipient_address");let b=await T(),O=await K(T)({assetValue:l,recipient:a,sender:p,isProgramDerivedAddress:y});if(!O)throw new R("core_transaction_invalid_sender_address");if(o)O.add(P(o));let w=await b.getLatestBlockhash();return O.recentBlockhash=w.blockhash,O.feePayer=x,O}}async function k({instructions:T}){let{Transaction:a}=await import("@solana/web3.js"),l=new a().add(...T);if(!l)throw new R("core_transaction_invalid_sender_address");return l}function s(T,a){return async({recipient:l,assetValue:o,memo:y,isProgramDerivedAddress:p})=>{if(!a)throw new R("core_transaction_invalid_sender_address");let P=a.publicKey?.toString()??(await a.connect()).publicKey.toString(),x=await A(T)({recipient:l,assetValue:o,memo:y,isProgramDerivedAddress:p,sender:P});if("connect"in a){let m=await a.signTransaction(x);return u(T)(m)}return x.sign(a),u(T)(x)}}function u(T){return async(a)=>{return(await T()).sendRawTransaction(a.serialize())}}function C(T,a){return async(l)=>{let{VersionedTransaction:o}=await import("@solana/web3.js");if(!a)throw new R("toolbox_solana_no_signer");if(!(l instanceof o)){let p=await(await T()).getLatestBlockhash();l.recentBlockhash=p.blockhash,l.feePayer=a.publicKey||void 0}if("connect"in a)return await a.signTransaction(l);return await l.sign([a]),l}}async function z({phrase:T,derivationPath:a=Q.SOL}){let{HDKey:l}=await import("micro-key-producer/slip10.js"),{mnemonicToSeedSync:o}=await import("@scure/bip39"),{Keypair:y}=await import("@solana/web3.js"),p=o(T),P=l.fromMasterSeed(p);return y.fromSeed(P.derive(a,!0).privateKey)}function B(T){return T.toString()}async function L(T){let{PublicKey:a}=await import("@solana/web3.js");return new a(T)}export{g as getSolanaToolbox,J as getSolanaAddressValidator,z as createKeysForPath};
|
|
2
2
|
|
|
3
3
|
//# debugId=2D4DCF3D429F413464756E2164756E21
|
package/dist/substrate/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{b}from"../chunk-0h4xdrwz.js";import{c as f,d as g}from"../chunk-
|
|
1
|
+
import{b}from"../chunk-0h4xdrwz.js";import{c as f,d as g}from"../chunk-38ztynv0.js";import{hexToU8a as E,isHex as N,u8aToHex as j}from"@polkadot/util";import{decodeAddress as S,encodeAddress as k}from"@polkadot/util-crypto";import{AssetValue as R,Chain as p,SKConfig as D,SwapKitError as c,SwapKitNumber as B}from"@swapkit/helpers";import{P as x,match as F}from"ts-pattern";var v={prefix:0,network:"polkadot",displayName:"Polkadot Relay Chain",symbols:["DOT"],decimals:[10],standardAccount:"*25519",website:"https://polkadot.network"},C={prefix:2112,network:"chainflip",displayName:"Chainflip",symbols:["FLIP"],decimals:[18],standardAccount:"*25519",website:"https://chainflip.io/"},K={prefix:42,network:"substrate",displayName:"Substrate",symbols:[],decimals:[],standardAccount:"*25519",website:"https://substrate.io/"},d={DOT:v,FLIP:C,GENERIC:K};var M=({generic:e=!1,...t}={})=>{return _({chain:p.Polkadot,generic:e,...t})},G=async({generic:e=!1,...t}={})=>{return{...await _({chain:p.Chainflip,generic:e,...t}),getBalance:b(p.Chainflip)}};function te(e,t){switch(e){case p.Chainflip:return G(t);case p.Polkadot:return M(t);default:throw new Error(`Chain ${e} is not supported`)}}function u(e){return"address"in e}async function I(e,t){let{Keyring:r}=await import("@polkadot/api"),{cryptoWaitReady:n}=await import("@polkadot/util-crypto");return await n(),new r({type:"sr25519",ss58Format:t}).addFromUri(e)}var w=(e,t)=>e.rpc.system.accountNextIndex(t),y=(e,t)=>{try{let r=A(e,t);return T(r,"ss58",t),!0}catch(r){return!1}},P=(e,{recipient:t,assetValue:r})=>e.tx.balances?.transferAllowDeath?.(t,r.getBaseValue("number")),V=async(e,t,{recipient:r,assetValue:n,sender:a})=>{let i=P(e,{recipient:r,assetValue:n}),o=u(t);if(!i)return;let s=o?t.address:a;if(!s)throw new c("core_transaction_invalid_sender_address");let l=await w(e,s);return(await i.signAndSend(o?t:s,{signer:o?void 0:t,nonce:l}))?.toString()},L=async(e,t,r,{recipient:n,assetValue:a,sender:i})=>{let o=P(e,{recipient:n,assetValue:a}),s=u(t)?t.address:i;if(!s)return;let l=await o?.paymentInfo(s,{nonce:await w(e,s)})||{partialFee:0};return r.set(B.fromBigInt(BigInt(l.partialFee.toString()),r.decimal).getValue("string"))},U=async(e,t)=>{if(t)return e.send(t);return(await e.send()).toString()},H=async(e,t)=>{return await t.signAsync(e)},W=(e,t,r)=>{if(r)return t.signAndSend(e,r);return t.signAndSend(e).toString()},O=async({signer:e,address:t,tx:r,callback:n,api:a})=>{let i=await w(a,t);if(n)r.signAndSend(t,{nonce:i,signer:e},n);return r.signAndSend(t,{nonce:i,signer:e}).toString()};function q(e,t){let r=S(e);return k(r,t)}function A(e,t){return N(e)?E(e):S(e,void 0,t)}function T(e,t="ss58",r){if(t==="hex")return j(e);return k(e,r)}var $=({api:e,network:t,gasAsset:r,signer:n})=>({api:e,network:t,gasAsset:r,decodeAddress:A,encodeAddress:T,convertAddress:q,getBalance:b(p.Polkadot),createKeyring:(a)=>I(a,t.prefix),getAddress:(a)=>{let i=a||n;if(!i)throw new c("core_wallet_not_keypair_wallet");return u(i)?i.address:void 0},createTransaction:(a)=>P(e,a),validateAddress:(a)=>y(a,t.prefix),transfer:(a)=>{if(!n)throw new c("core_wallet_not_keypair_wallet");return V(e,n,a)},estimateTransactionFee:(a)=>{if(!n)throw new c("core_wallet_not_keypair_wallet");return L(e,n,r,a)},sign:(a)=>{if(!n)throw new c("core_wallet_not_keypair_wallet");if(u(n))return H(n,a);throw new c("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")},broadcast:U,signAndBroadcast:({tx:a,callback:i,address:o})=>{if(!n)throw new c("core_wallet_not_keypair_wallet");if(u(n))return W(n,a,i);if(o)return O({signer:n,address:o,tx:a,callback:i,api:e});throw new c("core_wallet_not_keypair_wallet","Signer does not have keyring pair capabilities required for signing.")}}),re=({address:e,chain:t})=>{let{prefix:r}=t===p.Polkadot?d.DOT:d.FLIP;return y(e,r)||y(e,d.GENERIC.prefix)};async function _({generic:e,chain:t,...r}){let{ApiPromise:n,WsProvider:a}=await import("@polkadot/api"),i=new a(D.get("rpcUrls")[t]),o=await n.create({provider:i}),s=R.from({chain:t}),l=e?d.GENERIC:d[t],h=await F(r).with({phrase:x.string},({phrase:m})=>I(m,d[t].prefix)).with({signer:x.any},({signer:m})=>m).otherwise(()=>{return});return $({api:o,signer:h,gasAsset:s,network:l})}export{re as substrateValidateAddress,u as isKeyringPair,te as getSubstrateToolbox,_ as createSubstrateToolbox,I as createKeyring,d as SubstrateNetwork,M as PolkadotToolbox,G as ChainflipToolbox,$ as BaseSubstrateToolbox};
|
|
2
2
|
|
|
3
3
|
//# debugId=4662675F7CC450C464756E2164756E21
|
package/dist/utxo/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{a as QX,b as TX}from"../chunk-0h4xdrwz.js";import"../chunk-p1kdg37m.js";import{Chain as A}from"@swapkit/helpers";import{Transaction as ZG,TransactionBuilder as jG,address as LG}from"@psf/bitcoincashjs-lib";import{Chain as WG,FeeOption as qG,NetworkDerivationPath as DG,derivationPathToString as BG,updateDerivationPath as UG}from"@swapkit/helpers";import{Psbt as vG}from"bitcoinjs-lib";import{Chain as z,RequestClient as R,SKConfig as r,warnOnce as ZX}from"@swapkit/helpers";import{networks as yX}from"bitcoinjs-lib";import V from"coininfo";async function KX({chain:X,txHash:G}){let $=r.get("rpcUrls")[X],J=JSON.stringify({jsonrpc:"2.0",method:"sendrawtransaction",params:[G],id:QX()}),Z=await R.post($,{headers:{"Content-Type":"application/json"},body:J});if(Z.error)throw new Error(`failed to broadcast a transaction: ${Z.error?.message}`);if(Z.result.includes('"code":-26'))throw new Error("Invalid transaction: the transaction amount was too low");return Z.result}function o(X){return`https://api.blockchair.com/${kX(X)}`}function JX(X){switch(X){case z.Bitcoin:return 5;case z.Dogecoin:return 1e4;case z.Litecoin:return 1;default:return 2}}function kX(X){switch(X){case z.BitcoinCash:return"bitcoin-cash";case z.Litecoin:return"litecoin";case z.Dash:return"dash";case z.Dogecoin:return"dogecoin";case z.Polkadot:return"polkadot";default:return"bitcoin"}}async function NX(X){try{let{feePerKb:G}=await R.get(`https://app.bitgo.com/api/v2/${X.toLowerCase()}/tx/fee`),$=G/1000;return Math.max($,JX(X))}catch(G){return JX(X)}}async function n(X,G){try{let $=await R.get(X);if(!$||$.context.code!==200)throw new Error(`failed to query ${X}`);return $.data}catch($){if(!G)throw $;let J=await R.get(`${X}${G?`&key=${G}`:""}`);if(!J||J.context.code!==200)throw new Error(`failed to query ${X}`);return J.data}}async function jX({address:X,chain:G,apiKey:$}){if(!X)throw new Error("address is required");try{return(await n(`${o(G)}/dashboards/address/${X}?transaction_details=true`,$))[X]}catch(J){return{utxo:[],address:{balance:0,transaction_count:0}}}}async function OX({address:X,chain:G,apiKey:$}){return(await jX({address:X,chain:G,apiKey:$}))?.address.balance||0}async function LX({chain:X,apiKey:G,txHash:$}){if(!$)throw new Error("txHash is required");try{return(await n(`${o(X)}/raw/transaction/${$}`,G))?.[$]?.raw_transaction||""}catch(J){return console.error(J),""}}async function VX({chain:X,address:G,apiKey:$,offset:J=0,limit:Z=100}){return(await n(`${o(X)}/outputs?q=is_spent(false),recipient(${G})&limit=${Z}&offset=${J}`,$)).filter(({is_spent:W})=>!W).map(({script_hex:W,block_id:L,transaction_hash:q,index:D,value:U,spending_signature_hex:B})=>({hash:q,index:D,value:U,txHex:B,script_hex:W,is_confirmed:L!==-1}))}async function WX({chain:X,address:G,apiKey:$,offset:J=0,limit:Z=100}){if(!G)throw new Error("address is required");try{let j=await VX({chain:X,address:G,apiKey:$,offset:J,limit:Z});if(j.length<=Z)return j;let Q=await WX({chain:X,address:G,apiKey:$,offset:J+Z,limit:Z});return[...j,...Q]}catch(j){return console.error(j),[]}}async function EX({address:X,chain:G,apiKey:$,fetchTxHex:J=!0}){let Z=await WX({chain:G,address:X,apiKey:$}),j=[];for(let{hash:Q,index:W,script_hex:L,value:q}of Z){let D;if(J)D=await LX({txHash:Q,chain:G,apiKey:$});j.push({address:X,hash:Q,index:W,txHex:D,value:q,witnessUtxo:{value:q,script:Buffer.from(L,"hex")}})}return j}function bX(X){let G=r.get("apiKeys").blockchair||"";return ZX(!G,"No Blockchair API key found. Functionality will be limited."),{broadcastTx:($)=>KX({txHash:$,chain:X}),getRawTx:($)=>LX({txHash:$,chain:X,apiKey:G}),getSuggestedTxFee:()=>NX(X),getBalance:($)=>OX({address:$,chain:X,apiKey:G}),getAddressData:($)=>jX({address:$,chain:X,apiKey:G}),scanUTXOs:($)=>EX({...$,chain:X,apiKey:G})}}function FG(X){return X}function Y(X){let G=r.get("apis")[X];if(G)return ZX(!0,"Using custom UTXO API. Be sure to implement all methods to avoid issues."),G;return bX(X)}function I(){return function X(G){switch(G){case z.Bitcoin:return yX.bitcoin;case z.BitcoinCash:return V.bitcoincash.main.toBitcoinJS();case z.Dash:return V.dash.main.toBitcoinJS();case z.Litecoin:return V.litecoin.main.toBitcoinJS();case z.Dogecoin:{let $={private:70615956,public:70617039},J=V.dogecoin.test;return J.versions.bip32=$,V.dogecoin.main.toBitcoinJS()}default:throw new Error("Invalid chain")}}}import DX from"bs58check";import BX from"cashaddrjs";var UX;(($)=>{$.Mainnet="mainnet";$.Testnet="testnet"})(UX||={});var v={["legacy"]:{["mainnet"]:{["p2pkh"]:0,["p2sh"]:5},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}},["bitpay"]:{["mainnet"]:{["p2pkh"]:28,["p2sh"]:40},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}}};function vX(X){try{return g(X),!0}catch(G){return!1}}function MX(X){return g(X)?.network}function E(X){let G=g(X);if(G?.format==="legacy")return X;return RX(G)}function f(X){let G=g(X);return fX(G)}function g(X){try{return SX(X)}catch(G){}try{return AX(X)}catch(G){}throw new Error("Received an invalid Bitcoin Cash address as input.")}function SX(X){try{let G=DX.decode(X);if(G.length!==21)throw new Error("Received an invalid Bitcoin Cash address as input.");let $=G[0],J=Array.prototype.slice.call(G,1);switch($){case v.legacy.mainnet.p2pkh:return{hash:J,format:"legacy",network:"mainnet",type:"p2pkh"};case v.legacy.mainnet.p2sh:return{hash:J,format:"legacy",network:"mainnet",type:"p2sh"};case v.legacy.testnet.p2pkh:return{hash:J,format:"legacy",network:"testnet",type:"p2pkh"};case v.legacy.testnet.p2sh:return{hash:J,format:"legacy",network:"testnet",type:"p2sh"};case v.bitpay.mainnet.p2pkh:return{hash:J,format:"bitpay",network:"mainnet",type:"p2pkh"};case v.bitpay.mainnet.p2sh:return{hash:J,format:"bitpay",network:"mainnet",type:"p2sh"};default:throw new Error("Received an invalid Bitcoin Cash address as input.")}}catch(G){throw new Error("Received an invalid Bitcoin Cash address as input.")}}function AX(X){if(X.indexOf(":")!==-1)try{return qX(X)}catch(G){}else{let G=["bitcoincash","bchtest","bchreg"];for(let $ of G)try{return qX(`${$}:${X}`)}catch(J){}}throw new Error("Received an invalid Bitcoin Cash address as input.")}function qX(X){try{let{hash:G,prefix:$,type:J}=BX.decode(X);return{format:"cashaddr",hash:Array.prototype.slice.call(G,0),network:$==="bitcoincash"?"mainnet":"testnet",type:J==="P2PKH"?"p2pkh":"p2sh"}}catch(G){throw new Error("Received an invalid Bitcoin Cash address as input.")}}function RX(X){let G=v.legacy[X.network][X.type],$=Buffer.alloc(1+X.hash.length);return $[0]=G,$.set(X.hash,1),DX.encode($)}function fX(X){let G=X.network==="mainnet"?"bitcoincash":"bchtest",$=X.type==="p2pkh"?"P2PKH":"P2SH",J=new Uint8Array(X.hash);return BX.encode(G,$,J)}import{Chain as K}from"@swapkit/helpers";var d=(X)=>{switch(X){case K.Bitcoin:case K.BitcoinCash:return 550;case K.Dash:case K.Litecoin:return 5500;case K.Dogecoin:return 1e5;default:throw new Error("Invalid Chain")}},P=({inputs:X,outputs:G,feeRate:$=1,chain:J=K.Bitcoin})=>{let Z=Math.ceil($),j=X[0]&&"address"in X[0]&&X[0].address?m(X[0].address):"P2PKH",Q=X.filter((B)=>F(B)*Z<=B.value),W=i+G.reduce((B,C)=>B+x(C,j),0),L=G.reduce((B,C)=>B+C.value,0),q=W*Z,D=0,U=[];for(let B of Q){let C=F(B),M=Z*C;q+=M,D+=B.value,U.push(B);let H=q+L;if(D<H)continue;let y=D-H,XX=Z*x({address:"",value:0},j);if(y>XX){let GX=XX+q,$X=D-(L+GX);if($X>Math.max(F({})*Z,d(J)))return{inputs:U,outputs:G.concat({value:$X,address:""}),fee:GX}}return{inputs:U,outputs:G,fee:q}}return{fee:Z*b({inputs:X,outputs:G,feeRate:Z})}};import{opcodes as gX,script as xX}from"bitcoinjs-lib";var EG=1000,i=10,mX=10,lX=41,hX=107;function w(X){let G=Buffer.from(X,"utf8");return xX.compile([gX.OP_RETURN,G])}var a;(($)=>{$.P2PKH="P2PKH";$.P2WPKH="P2WPKH"})(a||={});var s={["P2PKH"]:148,["P2WPKH"]:68},l={["P2PKH"]:34,["P2WPKH"]:31},m=(X)=>{if(X.startsWith("bc1")||X.startsWith("ltc1"))return"P2WPKH";if(X.startsWith("1")||X.startsWith("3")||X.startsWith("L")||X.startsWith("M")||X.startsWith("X")||X.startsWith("D")||X.startsWith("bitcoincash:q")||X.startsWith("q"))return"P2PKH";throw new Error("Invalid address")},b=({inputs:X,outputs:G,feeRate:$})=>{let J=X[0]&&"address"in X[0]&&X[0].address?m(X[0].address):"P2PKH",Z=X.filter((Q)=>Q.value>=s["type"in Q?Q.type:"P2PKH"]*Math.ceil($)).reduce((Q,W)=>Q+F(W),0),j=G?.reduce((Q,W)=>Q+x(W),0)||l[J];return i+Z+j},F=(X)=>{if("type"in X)return s[X.type];if("address"in X&&X.address)return s[m(X.address)];return lX+hX},x=(X,G)=>{if(X?.script)return mX+X.script.length+(X.script.length>=74?2:1);if(G)return l[G];return l.P2PKH};import{AssetValue as t,Chain as _,DerivationPath as cX,FeeOption as k,NetworkDerivationPath as pX,SwapKitNumber as uX,derivationPathToString as rX,updateDerivationPath as oX}from"@swapkit/helpers";import{Psbt as nX,address as dX,initEccLib as HX,payments as CX}from"bitcoinjs-lib";import iX from"ecpair";import e from"@bitcoinerlab/secp256k1";import{ECPair as aX,HDNode as sX}from"@psf/bitcoincashjs-lib";import{HDKey as tX}from"@scure/bip32";import{mnemonicToSeedSync as zX}from"@scure/bip39";var h=[_.Dash,_.Dogecoin];function eX({inputs:X,outputs:G,chain:$,psbt:J,sender:Z,compiledMemo:j}){for(let Q of X){let W=!!Q.witnessUtxo&&!h.includes($)&&{witnessUtxo:Q.witnessUtxo},L=h.includes($)&&{nonWitnessUtxo:Q.txHex?Buffer.from(Q.txHex,"hex"):void 0};J.addInput({hash:Q.hash,index:Q.index,...W,...L})}for(let Q of G){let W="address"in Q&&Q.address?Q.address:Z,L=Q.script;if(L&&!j)continue;let q=L?{script:j,value:0}:{address:W,value:Q.value};HX(e),J.addOutput(q)}return{psbt:J,inputs:X}}async function YX({assetValue:X,recipient:G,memo:$,feeRate:J,sender:Z,fetchTxHex:j=!1}){let Q=X.chain,W=$?await w($):null,L=await FX({assetValue:X,recipient:G,memo:$,sender:Z,fetchTxHex:j}),{inputs:q,outputs:D}=P({...L,feeRate:J,chain:Q});if(!(q&&D))throw new Error("Insufficient Balance for transaction");let U=await I(),B=new nX({network:U(Q)});if(Q===_.Dogecoin)B.setMaximumFeeRate(650000000);let{psbt:C,inputs:M}=await eX({inputs:q,outputs:D,chain:Q,psbt:B,sender:Z,compiledMemo:W});return{psbt:C,utxos:L.inputs,inputs:M}}async function XG(){let X=await I();return function G({address:$,chain:J}){if(J===_.BitcoinCash)return N($);try{return HX(e),dX.toOutputScript($,X(J)),!0}catch(Z){return!1}}}async function GG({chain:X,phrase:G,derivationPath:$}){let J=(await p(X))({phrase:G,derivationPath:$});async function Z(Q){return await Q.signAllInputs(J),Q}async function j(){return(await _X(X))(J)}return{getAddress:j,signTransaction:Z}}async function c({chain:X,...G}){let $="phrase"in G?G.phrase:void 0,J="index"in G?G.index||0:0,Z=rX("derivationPath"in G&&G.derivationPath?G.derivationPath:oX(pX[X],{index:J})),j=$?await GG({chain:X,phrase:$,derivationPath:Z}):("signer"in G)?G.signer:void 0;function Q(){return Promise.resolve(j?.getAddress())}let W=await _X(X),L=await XG(),q=await p(X);return{accumulative:P,calculateTxSize:b,getAddressFromKeys:W,getAddress:Q,validateAddress:(D)=>L({address:D,chain:X}),broadcastTx:(D)=>Y(X).broadcastTx(D),createTransaction:YX,createKeysForPath:q,getFeeRates:()=>u(X),getInputsOutputsFee:IX,transfer:QG(j),getPrivateKeyFromMnemonic:(D)=>{return q(D).toWIF()},getBalance:TX(X),estimateTransactionFee:JG(X),estimateMaxSendableAmount:$G(X)}}async function IX({assetValue:X,feeOptionKey:G=k.Fast,feeRate:$,memo:J,sender:Z,recipient:j}){let Q=X.chain,W=await FX({assetValue:X,sender:Z,memo:J,recipient:j}),L=$?Math.floor($):(await u(Q))[G];return P({...W,feeRate:L,chain:Q})}function $G(X){return async function G({from:$,memo:J,feeRate:Z,feeOptionKey:j=k.Fast,recipients:Q=1}){let W=await Y(X).getAddressData($),L=Z?Math.ceil(Z):(await u(X))[j],q=W?.utxo.map((M)=>({...M,type:"P2PKH",hash:""})).filter((M)=>M.value>Math.max(d(X),F(M)*L));if(!q?.length)return t.from({chain:X});let D=t.from({chain:X,value:q.reduce((M,H)=>M+H.value,0)}),U=typeof Q==="number"?Array.from({length:Q},()=>({address:$,value:0})):Q;if(J){let M=await w(J);U.push({address:$,script:M,value:0})}let C=b({inputs:q,outputs:U,feeRate:L})*L;return D.sub(C)}}function JG(X){return async(G)=>{let $=await IX(G);return t.from({chain:X,value:uX.fromBigInt(BigInt($.fee),8).getValue("string")})}}async function p(X){let G=await I();switch(X){case _.BitcoinCash:return function $({phrase:J,derivationPath:Z=`${cX.BCH}/0`,wif:j}){let Q=G(X);if(j)return aX.fromWIF(j,Q);if(!J)throw new Error("No phrase provided");return sX.fromSeedBuffer(Buffer.from(zX(J)),Q).derivePath(Z).keyPair};case _.Bitcoin:case _.Dogecoin:case _.Litecoin:case _.Dash:return function $({phrase:J,wif:Z,derivationPath:j}){if(!(Z||J))throw new Error("Either phrase or wif must be provided");let Q=iX(e),W=G(X);if(Z)return Q.fromWIF(Z,W);let L=zX(J),q=tX.fromMasterSeed(L,W).derive(j);if(!q.privateKey)throw new Error("Could not get private key from phrase");return Q.fromPrivateKey(Buffer.from(q.privateKey),{network:W})};default:throw new Error(`Chain ${X} is not supported`)}}async function _X(X){let G=await I();return function $(J){if(!J)throw new Error("Keys must be provided");let Z=h.includes(X)?CX.p2pkh:CX.p2wpkh,{address:j}=Z({pubkey:J.publicKey,network:G(X)});if(!j)throw new Error("Address not defined");return j}}function QG(X){return async function G({memo:$,recipient:J,feeOptionKey:Z,feeRate:j,assetValue:Q}){let W=await X?.getAddress(),L=Q.chain;if(!(X&&W))throw new Error("From address must be provided");if(!J)throw new Error("Recipient address must be provided");let q=j||(await u(L))[Z||k.Fast],{psbt:D}=await YX({recipient:J,feeRate:q,sender:W,assetValue:Q,memo:$}),U=await X.signTransaction(D);return U.finalizeAllInputs(),Y(L).broadcastTx(U.extractTransaction().toHex())}}async function u(X){let G=await Y(X).getSuggestedTxFee();return{[k.Average]:G,[k.Fast]:G*1.5,[k.Fastest]:G*2}}async function FX({assetValue:X,recipient:G,memo:$,sender:J,fetchTxHex:Z=!1}){let j=X.chain,Q=Z||h.includes(j);return{inputs:await Y(j).scanUTXOs({address:J,fetchTxHex:Q}),outputs:[{address:G,value:Number(X.bigIntValue)},...$?[{address:"",script:await w($),value:0}]:[]]}}var T=WG.BitcoinCash;function S(X){return X.replace(/(bchtest:|bitcoincash:)/,"")}function N(X){let G=S(X);return vX(G)&&MX(G)==="mainnet"}function O(X){return S(f(X))}async function MG(X){async function G({builder:J,utxos:Z}){return Z.forEach((j,Q)=>{J.sign(Q,X,void 0,65,j.witnessUtxo?.value)}),J.build()}return{getAddress:()=>{let J=X.getAddress(0);return Promise.resolve(O(J))},signTransaction:G}}async function PX(X){let G="phrase"in X?X.phrase:void 0,$="index"in X?X.index||0:0,J=BG("derivationPath"in X&&X.derivationPath?X.derivationPath:UG(DG[T],{index:$})),Z=(await p(T))({phrase:G,derivationPath:J}),j=Z?await MG(Z):("signer"in X)?X.signer:void 0;function Q(){return Promise.resolve(j?.getAddress())}let{getBalance:W,getFeeRates:L,broadcastTx:q,...D}=await c({chain:T});function U(B,C=!0){return W(S(f(B)))}return{...D,getAddress:Q,broadcastTx:q,createTransaction:wX,buildTx:zG,getAddressFromKeys:TG,getBalance:U,getFeeRates:L,stripPrefix:S,stripToCashAddress:O,validateAddress:N,transfer:CG({getFeeRates:L,broadcastTx:q,signer:j})}}async function wX({assetValue:X,recipient:G,memo:$,feeRate:J,sender:Z}){if(!N(G))throw new Error("Invalid address");let j=await Y(T).scanUTXOs({address:O(Z),fetchTxHex:!0}),Q=$?await w($):null,W=[];W.push({address:G,value:X.getBaseValue("number")});let{inputs:L,outputs:q}=P({inputs:j,outputs:W,feeRate:J,chain:T});if(!(L&&q))throw new Error("Balance insufficient for transaction");let D=await I(),U=new jG(D(T));await Promise.all(L.map(async(B)=>{let C=await Y(T).getRawTx(B.hash);U.addInput(ZG.fromBuffer(Buffer.from(C,"hex")),B.index)}));for(let B of q){let C="address"in B&&B.address?B.address:E(Z),M=await I(),H=LG.toOutputScript(E(C),M(T));U.addOutput(H,B.value)}if(Q)U.addOutput(Q,0);return{builder:U,utxos:L}}function CG({broadcastTx:X,getFeeRates:G,signer:$}){return async function J({recipient:Z,assetValue:j,feeOptionKey:Q=qG.Fast,...W}){let L=await $?.getAddress();if(!($&&L))throw new Error("Signer must provider address");if(!Z)throw new Error("Recipient address must be provided");let q=W.feeRate||(await G())[Q],{builder:D,utxos:U}=await wX({...W,assetValue:j,feeRate:q,recipient:Z,sender:L}),C=(await $.signTransaction({builder:D,utxos:U})).toHex();return X(C)}}async function zG({assetValue:X,recipient:G,memo:$,feeRate:J,sender:Z}){let j=f(G);if(!N(j))throw new Error("Invalid address");let Q=await Y(T).scanUTXOs({address:O(Z),fetchTxHex:!0}),W=Number(J.toFixed(0)),L=$?await w($):null,q=[];if(q.push({address:E(G),value:X.getBaseValue("number")}),L)q.push({script:L,value:0});let{inputs:D,outputs:U}=P({inputs:Q,outputs:q,feeRate:W,chain:T});if(!(D&&U))throw new Error("Balance insufficient for transaction");let B=await I(),C=new vG({network:B(T)});for(let{hash:M,index:H,witnessUtxo:y}of D)C.addInput({hash:M,index:H,witnessUtxo:y});for(let M of U){let H="address"in M&&M.address?M.address:E(Z),y=M.script?L?{script:L,value:0}:void 0:{address:H,value:M.value};if(y)C.addOutput(y)}return{psbt:C,utxos:Q,inputs:D}}function TG(X){let G=X.getAddress(0);return O(G)}async function Q$(X,G){switch(X){case A.BitcoinCash:return await PX(G);case A.Bitcoin:case A.Dogecoin:case A.Litecoin:case A.Dash:return await c({chain:X,...G});default:throw new Error(`Chain ${X} is not supported`)}}export{E as toLegacyAddress,f as toCashAddress,O as stripToCashAddress,S as stripPrefix,h as nonSegwitChains,vX as isValidAddress,Q$ as getUtxoToolbox,I as getUtxoNetwork,Y as getUtxoApi,XG as getUTXOAddressValidator,m as getScriptTypeForAddress,x as getOutputSize,F as getInputSize,d as getDustThreshold,p as getCreateKeysForPath,MX as detectAddressNetwork,c as createUTXOToolbox,FG as createCustomUtxoApi,PX as createBCHToolbox,w as compileMemo,b as calculateTxSize,N as bchValidateAddress,_X as addressFromKeysGetter,P as accumulative,UX as UtxoNetwork,a as UTXOScriptType,i as TX_OVERHEAD,l as OutputSizes,mX as OP_RETURN_OVERHEAD,EG as MIN_TX_FEE,s as InputSizes};
|
|
1
|
+
import{a as QX,b as TX}from"../chunk-0h4xdrwz.js";import"../chunk-38ztynv0.js";import{Chain as A}from"@swapkit/helpers";import{Transaction as ZG,TransactionBuilder as jG,address as LG}from"@psf/bitcoincashjs-lib";import{Chain as WG,FeeOption as qG,NetworkDerivationPath as DG,derivationPathToString as BG,updateDerivationPath as UG}from"@swapkit/helpers";import{Psbt as vG}from"bitcoinjs-lib";import{Chain as z,RequestClient as R,SKConfig as r,warnOnce as ZX}from"@swapkit/helpers";import{networks as yX}from"bitcoinjs-lib";import V from"coininfo";async function KX({chain:X,txHash:G}){let $=r.get("rpcUrls")[X],J=JSON.stringify({jsonrpc:"2.0",method:"sendrawtransaction",params:[G],id:QX()}),Z=await R.post($,{headers:{"Content-Type":"application/json"},body:J});if(Z.error)throw new Error(`failed to broadcast a transaction: ${Z.error?.message}`);if(Z.result.includes('"code":-26'))throw new Error("Invalid transaction: the transaction amount was too low");return Z.result}function o(X){return`https://api.blockchair.com/${kX(X)}`}function JX(X){switch(X){case z.Bitcoin:return 5;case z.Dogecoin:return 1e4;case z.Litecoin:return 1;default:return 2}}function kX(X){switch(X){case z.BitcoinCash:return"bitcoin-cash";case z.Litecoin:return"litecoin";case z.Dash:return"dash";case z.Dogecoin:return"dogecoin";case z.Polkadot:return"polkadot";default:return"bitcoin"}}async function NX(X){try{let{feePerKb:G}=await R.get(`https://app.bitgo.com/api/v2/${X.toLowerCase()}/tx/fee`),$=G/1000;return Math.max($,JX(X))}catch(G){return JX(X)}}async function n(X,G){try{let $=await R.get(X);if(!$||$.context.code!==200)throw new Error(`failed to query ${X}`);return $.data}catch($){if(!G)throw $;let J=await R.get(`${X}${G?`&key=${G}`:""}`);if(!J||J.context.code!==200)throw new Error(`failed to query ${X}`);return J.data}}async function jX({address:X,chain:G,apiKey:$}){if(!X)throw new Error("address is required");try{return(await n(`${o(G)}/dashboards/address/${X}?transaction_details=true`,$))[X]}catch(J){return{utxo:[],address:{balance:0,transaction_count:0}}}}async function OX({address:X,chain:G,apiKey:$}){return(await jX({address:X,chain:G,apiKey:$}))?.address.balance||0}async function LX({chain:X,apiKey:G,txHash:$}){if(!$)throw new Error("txHash is required");try{return(await n(`${o(X)}/raw/transaction/${$}`,G))?.[$]?.raw_transaction||""}catch(J){return console.error(J),""}}async function VX({chain:X,address:G,apiKey:$,offset:J=0,limit:Z=100}){return(await n(`${o(X)}/outputs?q=is_spent(false),recipient(${G})&limit=${Z}&offset=${J}`,$)).filter(({is_spent:W})=>!W).map(({script_hex:W,block_id:L,transaction_hash:q,index:D,value:U,spending_signature_hex:B})=>({hash:q,index:D,value:U,txHex:B,script_hex:W,is_confirmed:L!==-1}))}async function WX({chain:X,address:G,apiKey:$,offset:J=0,limit:Z=100}){if(!G)throw new Error("address is required");try{let j=await VX({chain:X,address:G,apiKey:$,offset:J,limit:Z});if(j.length<=Z)return j;let Q=await WX({chain:X,address:G,apiKey:$,offset:J+Z,limit:Z});return[...j,...Q]}catch(j){return console.error(j),[]}}async function EX({address:X,chain:G,apiKey:$,fetchTxHex:J=!0}){let Z=await WX({chain:G,address:X,apiKey:$}),j=[];for(let{hash:Q,index:W,script_hex:L,value:q}of Z){let D;if(J)D=await LX({txHash:Q,chain:G,apiKey:$});j.push({address:X,hash:Q,index:W,txHex:D,value:q,witnessUtxo:{value:q,script:Buffer.from(L,"hex")}})}return j}function bX(X){let G=r.get("apiKeys").blockchair||"";return ZX(!G,"No Blockchair API key found. Functionality will be limited."),{broadcastTx:($)=>KX({txHash:$,chain:X}),getRawTx:($)=>LX({txHash:$,chain:X,apiKey:G}),getSuggestedTxFee:()=>NX(X),getBalance:($)=>OX({address:$,chain:X,apiKey:G}),getAddressData:($)=>jX({address:$,chain:X,apiKey:G}),scanUTXOs:($)=>EX({...$,chain:X,apiKey:G})}}function FG(X){return X}function Y(X){let G=r.get("apis")[X];if(G)return ZX(!0,"Using custom UTXO API. Be sure to implement all methods to avoid issues."),G;return bX(X)}function I(){return function X(G){switch(G){case z.Bitcoin:return yX.bitcoin;case z.BitcoinCash:return V.bitcoincash.main.toBitcoinJS();case z.Dash:return V.dash.main.toBitcoinJS();case z.Litecoin:return V.litecoin.main.toBitcoinJS();case z.Dogecoin:{let $={private:70615956,public:70617039},J=V.dogecoin.test;return J.versions.bip32=$,V.dogecoin.main.toBitcoinJS()}default:throw new Error("Invalid chain")}}}import DX from"bs58check";import BX from"cashaddrjs";var UX;(($)=>{$.Mainnet="mainnet";$.Testnet="testnet"})(UX||={});var v={["legacy"]:{["mainnet"]:{["p2pkh"]:0,["p2sh"]:5},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}},["bitpay"]:{["mainnet"]:{["p2pkh"]:28,["p2sh"]:40},["testnet"]:{["p2pkh"]:111,["p2sh"]:196}}};function vX(X){try{return g(X),!0}catch(G){return!1}}function MX(X){return g(X)?.network}function E(X){let G=g(X);if(G?.format==="legacy")return X;return RX(G)}function f(X){let G=g(X);return fX(G)}function g(X){try{return SX(X)}catch(G){}try{return AX(X)}catch(G){}throw new Error("Received an invalid Bitcoin Cash address as input.")}function SX(X){try{let G=DX.decode(X);if(G.length!==21)throw new Error("Received an invalid Bitcoin Cash address as input.");let $=G[0],J=Array.prototype.slice.call(G,1);switch($){case v.legacy.mainnet.p2pkh:return{hash:J,format:"legacy",network:"mainnet",type:"p2pkh"};case v.legacy.mainnet.p2sh:return{hash:J,format:"legacy",network:"mainnet",type:"p2sh"};case v.legacy.testnet.p2pkh:return{hash:J,format:"legacy",network:"testnet",type:"p2pkh"};case v.legacy.testnet.p2sh:return{hash:J,format:"legacy",network:"testnet",type:"p2sh"};case v.bitpay.mainnet.p2pkh:return{hash:J,format:"bitpay",network:"mainnet",type:"p2pkh"};case v.bitpay.mainnet.p2sh:return{hash:J,format:"bitpay",network:"mainnet",type:"p2sh"};default:throw new Error("Received an invalid Bitcoin Cash address as input.")}}catch(G){throw new Error("Received an invalid Bitcoin Cash address as input.")}}function AX(X){if(X.indexOf(":")!==-1)try{return qX(X)}catch(G){}else{let G=["bitcoincash","bchtest","bchreg"];for(let $ of G)try{return qX(`${$}:${X}`)}catch(J){}}throw new Error("Received an invalid Bitcoin Cash address as input.")}function qX(X){try{let{hash:G,prefix:$,type:J}=BX.decode(X);return{format:"cashaddr",hash:Array.prototype.slice.call(G,0),network:$==="bitcoincash"?"mainnet":"testnet",type:J==="P2PKH"?"p2pkh":"p2sh"}}catch(G){throw new Error("Received an invalid Bitcoin Cash address as input.")}}function RX(X){let G=v.legacy[X.network][X.type],$=Buffer.alloc(1+X.hash.length);return $[0]=G,$.set(X.hash,1),DX.encode($)}function fX(X){let G=X.network==="mainnet"?"bitcoincash":"bchtest",$=X.type==="p2pkh"?"P2PKH":"P2SH",J=new Uint8Array(X.hash);return BX.encode(G,$,J)}import{Chain as K}from"@swapkit/helpers";var d=(X)=>{switch(X){case K.Bitcoin:case K.BitcoinCash:return 550;case K.Dash:case K.Litecoin:return 5500;case K.Dogecoin:return 1e5;default:throw new Error("Invalid Chain")}},P=({inputs:X,outputs:G,feeRate:$=1,chain:J=K.Bitcoin})=>{let Z=Math.ceil($),j=X[0]&&"address"in X[0]&&X[0].address?m(X[0].address):"P2PKH",Q=X.filter((B)=>F(B)*Z<=B.value),W=i+G.reduce((B,C)=>B+x(C,j),0),L=G.reduce((B,C)=>B+C.value,0),q=W*Z,D=0,U=[];for(let B of Q){let C=F(B),M=Z*C;q+=M,D+=B.value,U.push(B);let H=q+L;if(D<H)continue;let y=D-H,XX=Z*x({address:"",value:0},j);if(y>XX){let GX=XX+q,$X=D-(L+GX);if($X>Math.max(F({})*Z,d(J)))return{inputs:U,outputs:G.concat({value:$X,address:""}),fee:GX}}return{inputs:U,outputs:G,fee:q}}return{fee:Z*b({inputs:X,outputs:G,feeRate:Z})}};import{opcodes as gX,script as xX}from"bitcoinjs-lib";var EG=1000,i=10,mX=10,lX=41,hX=107;function w(X){let G=Buffer.from(X,"utf8");return xX.compile([gX.OP_RETURN,G])}var a;(($)=>{$.P2PKH="P2PKH";$.P2WPKH="P2WPKH"})(a||={});var s={["P2PKH"]:148,["P2WPKH"]:68},l={["P2PKH"]:34,["P2WPKH"]:31},m=(X)=>{if(X.startsWith("bc1")||X.startsWith("ltc1"))return"P2WPKH";if(X.startsWith("1")||X.startsWith("3")||X.startsWith("L")||X.startsWith("M")||X.startsWith("X")||X.startsWith("D")||X.startsWith("bitcoincash:q")||X.startsWith("q"))return"P2PKH";throw new Error("Invalid address")},b=({inputs:X,outputs:G,feeRate:$})=>{let J=X[0]&&"address"in X[0]&&X[0].address?m(X[0].address):"P2PKH",Z=X.filter((Q)=>Q.value>=s["type"in Q?Q.type:"P2PKH"]*Math.ceil($)).reduce((Q,W)=>Q+F(W),0),j=G?.reduce((Q,W)=>Q+x(W),0)||l[J];return i+Z+j},F=(X)=>{if("type"in X)return s[X.type];if("address"in X&&X.address)return s[m(X.address)];return lX+hX},x=(X,G)=>{if(X?.script)return mX+X.script.length+(X.script.length>=74?2:1);if(G)return l[G];return l.P2PKH};import{AssetValue as t,Chain as _,DerivationPath as cX,FeeOption as k,NetworkDerivationPath as pX,SwapKitNumber as uX,derivationPathToString as rX,updateDerivationPath as oX}from"@swapkit/helpers";import{Psbt as nX,address as dX,initEccLib as HX,payments as CX}from"bitcoinjs-lib";import iX from"ecpair";import e from"@bitcoinerlab/secp256k1";import{ECPair as aX,HDNode as sX}from"@psf/bitcoincashjs-lib";import{HDKey as tX}from"@scure/bip32";import{mnemonicToSeedSync as zX}from"@scure/bip39";var h=[_.Dash,_.Dogecoin];function eX({inputs:X,outputs:G,chain:$,psbt:J,sender:Z,compiledMemo:j}){for(let Q of X){let W=!!Q.witnessUtxo&&!h.includes($)&&{witnessUtxo:Q.witnessUtxo},L=h.includes($)&&{nonWitnessUtxo:Q.txHex?Buffer.from(Q.txHex,"hex"):void 0};J.addInput({hash:Q.hash,index:Q.index,...W,...L})}for(let Q of G){let W="address"in Q&&Q.address?Q.address:Z,L=Q.script;if(L&&!j)continue;let q=L?{script:j,value:0}:{address:W,value:Q.value};HX(e),J.addOutput(q)}return{psbt:J,inputs:X}}async function YX({assetValue:X,recipient:G,memo:$,feeRate:J,sender:Z,fetchTxHex:j=!1}){let Q=X.chain,W=$?await w($):null,L=await FX({assetValue:X,recipient:G,memo:$,sender:Z,fetchTxHex:j}),{inputs:q,outputs:D}=P({...L,feeRate:J,chain:Q});if(!(q&&D))throw new Error("Insufficient Balance for transaction");let U=await I(),B=new nX({network:U(Q)});if(Q===_.Dogecoin)B.setMaximumFeeRate(650000000);let{psbt:C,inputs:M}=await eX({inputs:q,outputs:D,chain:Q,psbt:B,sender:Z,compiledMemo:W});return{psbt:C,utxos:L.inputs,inputs:M}}async function XG(){let X=await I();return function G({address:$,chain:J}){if(J===_.BitcoinCash)return N($);try{return HX(e),dX.toOutputScript($,X(J)),!0}catch(Z){return!1}}}async function GG({chain:X,phrase:G,derivationPath:$}){let J=(await p(X))({phrase:G,derivationPath:$});async function Z(Q){return await Q.signAllInputs(J),Q}async function j(){return(await _X(X))(J)}return{getAddress:j,signTransaction:Z}}async function c({chain:X,...G}){let $="phrase"in G?G.phrase:void 0,J="index"in G?G.index||0:0,Z=rX("derivationPath"in G&&G.derivationPath?G.derivationPath:oX(pX[X],{index:J})),j=$?await GG({chain:X,phrase:$,derivationPath:Z}):("signer"in G)?G.signer:void 0;function Q(){return Promise.resolve(j?.getAddress())}let W=await _X(X),L=await XG(),q=await p(X);return{accumulative:P,calculateTxSize:b,getAddressFromKeys:W,getAddress:Q,validateAddress:(D)=>L({address:D,chain:X}),broadcastTx:(D)=>Y(X).broadcastTx(D),createTransaction:YX,createKeysForPath:q,getFeeRates:()=>u(X),getInputsOutputsFee:IX,transfer:QG(j),getPrivateKeyFromMnemonic:(D)=>{return q(D).toWIF()},getBalance:TX(X),estimateTransactionFee:JG(X),estimateMaxSendableAmount:$G(X)}}async function IX({assetValue:X,feeOptionKey:G=k.Fast,feeRate:$,memo:J,sender:Z,recipient:j}){let Q=X.chain,W=await FX({assetValue:X,sender:Z,memo:J,recipient:j}),L=$?Math.floor($):(await u(Q))[G];return P({...W,feeRate:L,chain:Q})}function $G(X){return async function G({from:$,memo:J,feeRate:Z,feeOptionKey:j=k.Fast,recipients:Q=1}){let W=await Y(X).getAddressData($),L=Z?Math.ceil(Z):(await u(X))[j],q=W?.utxo.map((M)=>({...M,type:"P2PKH",hash:""})).filter((M)=>M.value>Math.max(d(X),F(M)*L));if(!q?.length)return t.from({chain:X});let D=t.from({chain:X,value:q.reduce((M,H)=>M+H.value,0)}),U=typeof Q==="number"?Array.from({length:Q},()=>({address:$,value:0})):Q;if(J){let M=await w(J);U.push({address:$,script:M,value:0})}let C=b({inputs:q,outputs:U,feeRate:L})*L;return D.sub(C)}}function JG(X){return async(G)=>{let $=await IX(G);return t.from({chain:X,value:uX.fromBigInt(BigInt($.fee),8).getValue("string")})}}async function p(X){let G=await I();switch(X){case _.BitcoinCash:return function $({phrase:J,derivationPath:Z=`${cX.BCH}/0`,wif:j}){let Q=G(X);if(j)return aX.fromWIF(j,Q);if(!J)throw new Error("No phrase provided");return sX.fromSeedBuffer(Buffer.from(zX(J)),Q).derivePath(Z).keyPair};case _.Bitcoin:case _.Dogecoin:case _.Litecoin:case _.Dash:return function $({phrase:J,wif:Z,derivationPath:j}){if(!(Z||J))throw new Error("Either phrase or wif must be provided");let Q=iX(e),W=G(X);if(Z)return Q.fromWIF(Z,W);let L=zX(J),q=tX.fromMasterSeed(L,W).derive(j);if(!q.privateKey)throw new Error("Could not get private key from phrase");return Q.fromPrivateKey(Buffer.from(q.privateKey),{network:W})};default:throw new Error(`Chain ${X} is not supported`)}}async function _X(X){let G=await I();return function $(J){if(!J)throw new Error("Keys must be provided");let Z=h.includes(X)?CX.p2pkh:CX.p2wpkh,{address:j}=Z({pubkey:J.publicKey,network:G(X)});if(!j)throw new Error("Address not defined");return j}}function QG(X){return async function G({memo:$,recipient:J,feeOptionKey:Z,feeRate:j,assetValue:Q}){let W=await X?.getAddress(),L=Q.chain;if(!(X&&W))throw new Error("From address must be provided");if(!J)throw new Error("Recipient address must be provided");let q=j||(await u(L))[Z||k.Fast],{psbt:D}=await YX({recipient:J,feeRate:q,sender:W,assetValue:Q,memo:$}),U=await X.signTransaction(D);return U.finalizeAllInputs(),Y(L).broadcastTx(U.extractTransaction().toHex())}}async function u(X){let G=await Y(X).getSuggestedTxFee();return{[k.Average]:G,[k.Fast]:G*1.5,[k.Fastest]:G*2}}async function FX({assetValue:X,recipient:G,memo:$,sender:J,fetchTxHex:Z=!1}){let j=X.chain,Q=Z||h.includes(j);return{inputs:await Y(j).scanUTXOs({address:J,fetchTxHex:Q}),outputs:[{address:G,value:Number(X.bigIntValue)},...$?[{address:"",script:await w($),value:0}]:[]]}}var T=WG.BitcoinCash;function S(X){return X.replace(/(bchtest:|bitcoincash:)/,"")}function N(X){let G=S(X);return vX(G)&&MX(G)==="mainnet"}function O(X){return S(f(X))}async function MG(X){async function G({builder:J,utxos:Z}){return Z.forEach((j,Q)=>{J.sign(Q,X,void 0,65,j.witnessUtxo?.value)}),J.build()}return{getAddress:()=>{let J=X.getAddress(0);return Promise.resolve(O(J))},signTransaction:G}}async function PX(X){let G="phrase"in X?X.phrase:void 0,$="index"in X?X.index||0:0,J=BG("derivationPath"in X&&X.derivationPath?X.derivationPath:UG(DG[T],{index:$})),Z=(await p(T))({phrase:G,derivationPath:J}),j=Z?await MG(Z):("signer"in X)?X.signer:void 0;function Q(){return Promise.resolve(j?.getAddress())}let{getBalance:W,getFeeRates:L,broadcastTx:q,...D}=await c({chain:T});function U(B,C=!0){return W(S(f(B)))}return{...D,getAddress:Q,broadcastTx:q,createTransaction:wX,buildTx:zG,getAddressFromKeys:TG,getBalance:U,getFeeRates:L,stripPrefix:S,stripToCashAddress:O,validateAddress:N,transfer:CG({getFeeRates:L,broadcastTx:q,signer:j})}}async function wX({assetValue:X,recipient:G,memo:$,feeRate:J,sender:Z}){if(!N(G))throw new Error("Invalid address");let j=await Y(T).scanUTXOs({address:O(Z),fetchTxHex:!0}),Q=$?await w($):null,W=[];W.push({address:G,value:X.getBaseValue("number")});let{inputs:L,outputs:q}=P({inputs:j,outputs:W,feeRate:J,chain:T});if(!(L&&q))throw new Error("Balance insufficient for transaction");let D=await I(),U=new jG(D(T));await Promise.all(L.map(async(B)=>{let C=await Y(T).getRawTx(B.hash);U.addInput(ZG.fromBuffer(Buffer.from(C,"hex")),B.index)}));for(let B of q){let C="address"in B&&B.address?B.address:E(Z),M=await I(),H=LG.toOutputScript(E(C),M(T));U.addOutput(H,B.value)}if(Q)U.addOutput(Q,0);return{builder:U,utxos:L}}function CG({broadcastTx:X,getFeeRates:G,signer:$}){return async function J({recipient:Z,assetValue:j,feeOptionKey:Q=qG.Fast,...W}){let L=await $?.getAddress();if(!($&&L))throw new Error("Signer must provider address");if(!Z)throw new Error("Recipient address must be provided");let q=W.feeRate||(await G())[Q],{builder:D,utxos:U}=await wX({...W,assetValue:j,feeRate:q,recipient:Z,sender:L}),C=(await $.signTransaction({builder:D,utxos:U})).toHex();return X(C)}}async function zG({assetValue:X,recipient:G,memo:$,feeRate:J,sender:Z}){let j=f(G);if(!N(j))throw new Error("Invalid address");let Q=await Y(T).scanUTXOs({address:O(Z),fetchTxHex:!0}),W=Number(J.toFixed(0)),L=$?await w($):null,q=[];if(q.push({address:E(G),value:X.getBaseValue("number")}),L)q.push({script:L,value:0});let{inputs:D,outputs:U}=P({inputs:Q,outputs:q,feeRate:W,chain:T});if(!(D&&U))throw new Error("Balance insufficient for transaction");let B=await I(),C=new vG({network:B(T)});for(let{hash:M,index:H,witnessUtxo:y}of D)C.addInput({hash:M,index:H,witnessUtxo:y});for(let M of U){let H="address"in M&&M.address?M.address:E(Z),y=M.script?L?{script:L,value:0}:void 0:{address:H,value:M.value};if(y)C.addOutput(y)}return{psbt:C,utxos:Q,inputs:D}}function TG(X){let G=X.getAddress(0);return O(G)}async function Q$(X,G){switch(X){case A.BitcoinCash:return await PX(G);case A.Bitcoin:case A.Dogecoin:case A.Litecoin:case A.Dash:return await c({chain:X,...G});default:throw new Error(`Chain ${X} is not supported`)}}export{E as toLegacyAddress,f as toCashAddress,O as stripToCashAddress,S as stripPrefix,h as nonSegwitChains,vX as isValidAddress,Q$ as getUtxoToolbox,I as getUtxoNetwork,Y as getUtxoApi,XG as getUTXOAddressValidator,m as getScriptTypeForAddress,x as getOutputSize,F as getInputSize,d as getDustThreshold,p as getCreateKeysForPath,MX as detectAddressNetwork,c as createUTXOToolbox,FG as createCustomUtxoApi,PX as createBCHToolbox,w as compileMemo,b as calculateTxSize,N as bchValidateAddress,_X as addressFromKeysGetter,P as accumulative,UX as UtxoNetwork,a as UTXOScriptType,i as TX_OVERHEAD,l as OutputSizes,mX as OP_RETURN_OVERHEAD,EG as MIN_TX_FEE,s as InputSizes};
|
|
2
2
|
|
|
3
3
|
//# debugId=BCE92A25C905BB6A64756E2164756E21
|
package/package.json
CHANGED
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"@solana/spl-memo": "0.2.5",
|
|
24
24
|
"@solana/spl-token": "0.4.13",
|
|
25
25
|
"@solana/web3.js": "1.98.2",
|
|
26
|
-
"@swapkit/helpers": "3.0.0-beta.
|
|
26
|
+
"@swapkit/helpers": "3.0.0-beta.12",
|
|
27
27
|
"base64-js": "1.5.1",
|
|
28
28
|
"bitcoinjs-lib": "6.1.7",
|
|
29
29
|
"bs58check": "4.0.0",
|
|
@@ -105,5 +105,5 @@
|
|
|
105
105
|
"type-check:go": "tsgo"
|
|
106
106
|
},
|
|
107
107
|
"type": "module",
|
|
108
|
-
"version": "1.0.0-beta.
|
|
108
|
+
"version": "1.0.0-beta.17"
|
|
109
109
|
}
|
|
File without changes
|