@lombard.finance/sdk 3.5.8 → 3.5.9
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/index2.cjs
CHANGED
|
@@ -42,7 +42,7 @@ ${I5(O)}`),super(f.shortMessage,{cause:f,docsPath:v,metaMessages:[...f.metaMessa
|
|
|
42
42
|
`);super(S,u.cause?{cause:u.cause}:void 0),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BaseError"}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:`ox@${uy()}`}),this.cause=u.cause,this.details=v,this.docs=k,this.docsPath=t,this.shortMessage=f}walk(f){return O4(this,f)}}function O4(p,f){return f!=null&&f(p)?p:p&&typeof p=="object"&&"cause"in p&&p.cause?O4(p.cause,f):f?null:p}const cy="#__bigint";function dy(p,f,u){return JSON.stringify(p,(v,t)=>typeof t=="bigint"?t.toString()+cy:t,u)}function ly(p,f){if(Uo(p)>f)throw new vy({givenSize:Uo(p),maxSize:f})}const Zt={zero:48,nine:57,A:65,F:70,a:97,f:102};function Fo(p){if(p>=Zt.zero&&p<=Zt.nine)return p-Zt.zero;if(p>=Zt.A&&p<=Zt.F)return p-(Zt.A-10);if(p>=Zt.a&&p<=Zt.f)return p-(Zt.a-10)}function py(p,f={}){const{dir:u,size:v=32}=f;if(v===0)return p;if(p.length>v)throw new Ay({size:p.length,targetSize:v,type:"Bytes"});const t=new Uint8Array(v);for(let d=0;d<v;d++){const k=u==="right";t[k?d:v-d-1]=p[k?d:p.length-d-1]}return t}function hi(p,f){if(bt(p)>f)throw new ky({givenSize:bt(p),maxSize:f})}function yy(p,f){if(typeof f=="number"&&f>0&&f>bt(p)-1)throw new z4({offset:f,position:"start",size:bt(p)})}function fy(p,f,u){if(typeof f=="number"&&typeof u=="number"&&bt(p)!==u-f)throw new z4({offset:u,position:"end",size:bt(p)})}function D4(p,f={}){const{dir:u,size:v=32}=f;if(v===0)return p;const t=p.replace("0x","");if(t.length>v*2)throw new Iy({size:Math.ceil(t.length/2),targetSize:v,type:"Hex"});return`0x${t[u==="right"?"padEnd":"padStart"](v*2,"0")}`}const my=new TextEncoder;function by(p){return p instanceof Uint8Array?p:typeof p=="string"?gy(p):hy(p)}function hy(p){return p instanceof Uint8Array?p:new Uint8Array(p)}function gy(p,f={}){const{size:u}=f;let v=p;u&&(hi(p,u),v=Hn(p,u));let t=v.slice(2);t.length%2&&(t=`0${t}`);const d=t.length/2,k=new Uint8Array(d);for(let S=0,N=0;S<d;S++){const L=Fo(t.charCodeAt(N++)),z=Fo(t.charCodeAt(N++));if(L===void 0||z===void 0)throw new fe(`Invalid byte sequence ("${t[N-2]}${t[N-1]}" in "${t}").`);k[S]=L*16+z}return k}function wy(p,f={}){const{size:u}=f,v=my.encode(p);return typeof u=="number"?(ly(v,u),Ty(v,u)):v}function Ty(p,f){return py(p,{dir:"right",size:f})}function Uo(p){return p.length}let vy=class extends fe{constructor({givenSize:f,maxSize:u}){super(`Size cannot exceed \`${u}\` bytes. Given size: \`${f}\` bytes.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.SizeOverflowError"})}},Ay=class extends fe{constructor({size:f,targetSize:u,type:v}){super(`${v.charAt(0).toUpperCase()}${v.slice(1).toLowerCase()} size (\`${f}\`) exceeds padding size (\`${u}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.SizeExceedsPaddingSizeError"})}};const xy=new TextEncoder,Ey=Array.from({length:256},(p,f)=>f.toString(16).padStart(2,"0"));function Cy(p,f={}){const{strict:u=!1}=f;if(!p)throw new Lo(p);if(typeof p!="string")throw new Lo(p);if(u&&!/^0x[0-9a-fA-F]*$/.test(p))throw new zo(p);if(!p.startsWith("0x"))throw new zo(p)}function Lt(...p){return`0x${p.reduce((f,u)=>f+u.replace("0x",""),"")}`}function F4(p,f={}){const u=`0x${Number(p)}`;return typeof f.size=="number"?(hi(u,f.size),zn(u,f.size)):u}function U4(p,f={}){let u="";for(let t=0;t<p.length;t++)u+=Ey[p[t]];const v=`0x${u}`;return typeof f.size=="number"?(hi(v,f.size),Hn(v,f.size)):v}function Ve(p,f={}){const{signed:u,size:v}=f,t=BigInt(p);let d;v?u?d=(1n<<BigInt(v)*8n-1n)-1n:d=2n**(BigInt(v)*8n)-1n:typeof p=="number"&&(d=BigInt(Number.MAX_SAFE_INTEGER));const k=typeof d=="bigint"&&u?-d-1n:0;if(d&&t>d||t<k){const L=typeof p=="bigint"?"n":"";throw new L4({max:d?`${d}${L}`:void 0,min:`${k}${L}`,signed:u,size:v,value:`${p}${L}`})}const N=`0x${(u&&t<0?(1n<<BigInt(v*8))+BigInt(t):t).toString(16)}`;return v?zn(N,v):N}function gi(p,f={}){return U4(xy.encode(p),f)}function zn(p,f){return D4(p,{dir:"left",size:f})}function Hn(p,f){return D4(p,{dir:"right",size:f})}function wi(p,f,u,v={}){const{strict:t}=v;yy(p,f);const d=`0x${p.replace("0x","").slice((f??0)*2,(u??p.length)*2)}`;return t&&fy(d,f,u),d}function bt(p){return Math.ceil((p.length-2)/2)}function Py(p,f={}){const{strict:u=!1}=f;try{return Cy(p,{strict:u}),!0}catch{return!1}}class L4 extends fe{constructor({max:f,min:u,signed:v,size:t,value:d}){super(`Number \`${d}\` is not in safe${t?` ${t*8}-bit`:""}${v?" signed":" unsigned"} integer range ${f?`(\`${u}\` to \`${f}\`)`:`(above \`${u}\`)`}`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.IntegerOutOfRangeError"})}}class Lo extends fe{constructor(f){super(`Value \`${typeof f=="object"?dy(f):f}\` of type \`${typeof f}\` is an invalid hex type.`,{metaMessages:['Hex types must be represented as `"0x${string}"`.']}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.InvalidHexTypeError"})}}class zo extends fe{constructor(f){super(`Value \`${f}\` is an invalid hex value.`,{metaMessages:['Hex values must start with `"0x"` and contain only hexadecimal characters (0-9, a-f, A-F).']}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.InvalidHexValueError"})}}class ky extends fe{constructor({givenSize:f,maxSize:u}){super(`Size cannot exceed \`${u}\` bytes. Given size: \`${f}\` bytes.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SizeOverflowError"})}}class z4 extends fe{constructor({offset:f,position:u,size:v}){super(`Slice ${u==="start"?"starting":"ending"} at offset \`${f}\` is out-of-bounds (size: \`${v}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SliceOffsetOutOfBoundsError"})}}class Iy extends fe{constructor({size:f,targetSize:u,type:v}){super(`${v.charAt(0).toUpperCase()}${v.slice(1).toLowerCase()} size (\`${f}\`) exceeds padding size (\`${u}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SizeExceedsPaddingSizeError"})}}function By(p){return{address:p.address,amount:Ve(p.amount),index:Ve(p.index),validatorIndex:Ve(p.validatorIndex)}}function H4(p){return{...typeof p.baseFeePerGas=="bigint"&&{baseFeePerGas:Ve(p.baseFeePerGas)},...typeof p.blobBaseFee=="bigint"&&{blobBaseFee:Ve(p.blobBaseFee)},...typeof p.feeRecipient=="string"&&{feeRecipient:p.feeRecipient},...typeof p.gasLimit=="bigint"&&{gasLimit:Ve(p.gasLimit)},...typeof p.number=="bigint"&&{number:Ve(p.number)},...typeof p.prevRandao=="bigint"&&{prevRandao:Ve(p.prevRandao)},...typeof p.time=="bigint"&&{time:Ve(p.time)},...p.withdrawals&&{withdrawals:p.withdrawals.map(By)}}}const hs=[{inputs:[{components:[{name:"target",type:"address"},{name:"allowFailure",type:"bool"},{name:"callData",type:"bytes"}],name:"calls",type:"tuple[]"}],name:"aggregate3",outputs:[{components:[{name:"success",type:"bool"},{name:"returnData",type:"bytes"}],name:"returnData",type:"tuple[]"}],stateMutability:"view",type:"function"}],gs=[{name:"query",type:"function",stateMutability:"view",inputs:[{type:"tuple[]",name:"queries",components:[{type:"address",name:"sender"},{type:"string[]",name:"urls"},{type:"bytes",name:"data"}]}],outputs:[{type:"bool[]",name:"failures"},{type:"bytes[]",name:"responses"}]},{name:"HttpError",type:"error",inputs:[{type:"uint16",name:"status"},{type:"string",name:"message"}]}],V4=[{inputs:[],name:"ResolverNotFound",type:"error"},{inputs:[],name:"ResolverWildcardNotSupported",type:"error"},{inputs:[],name:"ResolverNotContract",type:"error"},{inputs:[{name:"returnData",type:"bytes"}],name:"ResolverError",type:"error"},{inputs:[{components:[{name:"status",type:"uint16"},{name:"message",type:"string"}],name:"errors",type:"tuple[]"}],name:"HttpError",type:"error"}],j4=[...V4,{name:"resolve",type:"function",stateMutability:"view",inputs:[{name:"name",type:"bytes"},{name:"data",type:"bytes"}],outputs:[{name:"",type:"bytes"},{name:"address",type:"address"}]},{name:"resolve",type:"function",stateMutability:"view",inputs:[{name:"name",type:"bytes"},{name:"data",type:"bytes"},{name:"gateways",type:"string[]"}],outputs:[{name:"",type:"bytes"},{name:"address",type:"address"}]}],Sy=[...V4,{name:"reverse",type:"function",stateMutability:"view",inputs:[{type:"bytes",name:"reverseName"}],outputs:[{type:"string",name:"resolvedName"},{type:"address",name:"resolvedAddress"},{type:"address",name:"reverseResolver"},{type:"address",name:"resolver"}]},{name:"reverse",type:"function",stateMutability:"view",inputs:[{type:"bytes",name:"reverseName"},{type:"string[]",name:"gateways"}],outputs:[{type:"string",name:"resolvedName"},{type:"address",name:"resolvedAddress"},{type:"address",name:"reverseResolver"},{type:"address",name:"resolver"}]}],Ho=[{name:"text",type:"function",stateMutability:"view",inputs:[{name:"name",type:"bytes32"},{name:"key",type:"string"}],outputs:[{name:"",type:"string"}]}],Vo=[{name:"addr",type:"function",stateMutability:"view",inputs:[{name:"name",type:"bytes32"}],outputs:[{name:"",type:"address"}]},{name:"addr",type:"function",stateMutability:"view",inputs:[{name:"name",type:"bytes32"},{name:"coinType",type:"uint256"}],outputs:[{name:"",type:"bytes"}]}],jo=[{inputs:[{name:"_signer",type:"address"},{name:"_hash",type:"bytes32"},{name:"_signature",type:"bytes"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{name:"_signer",type:"address"},{name:"_hash",type:"bytes32"},{name:"_signature",type:"bytes"}],outputs:[{type:"bool"}],stateMutability:"nonpayable",type:"function",name:"isValidSig"}],q4=[{type:"event",name:"Approval",inputs:[{indexed:!0,name:"owner",type:"address"},{indexed:!0,name:"spender",type:"address"},{indexed:!1,name:"value",type:"uint256"}]},{type:"event",name:"Transfer",inputs:[{indexed:!0,name:"from",type:"address"},{indexed:!0,name:"to",type:"address"},{indexed:!1,name:"value",type:"uint256"}]},{type:"function",name:"allowance",stateMutability:"view",inputs:[{name:"owner",type:"address"},{name:"spender",type:"address"}],outputs:[{type:"uint256"}]},{type:"function",name:"approve",stateMutability:"nonpayable",inputs:[{name:"spender",type:"address"},{name:"amount",type:"uint256"}],outputs:[{type:"bool"}]},{type:"function",name:"balanceOf",stateMutability:"view",inputs:[{name:"account",type:"address"}],outputs:[{type:"uint256"}]},{type:"function",name:"decimals",stateMutability:"view",inputs:[],outputs:[{type:"uint8"}]},{type:"function",name:"name",stateMutability:"view",inputs:[],outputs:[{type:"string"}]},{type:"function",name:"symbol",stateMutability:"view",inputs:[],outputs:[{type:"string"}]},{type:"function",name:"totalSupply",stateMutability:"view",inputs:[],outputs:[{type:"uint256"}]},{type:"function",name:"transfer",stateMutability:"nonpayable",inputs:[{name:"recipient",type:"address"},{name:"amount",type:"uint256"}],outputs:[{type:"bool"}]},{type:"function",name:"transferFrom",stateMutability:"nonpayable",inputs:[{name:"sender",type:"address"},{name:"recipient",type:"address"},{name:"amount",type:"uint256"}],outputs:[{type:"bool"}]}],My="0x82ad56cb",G4="0x608060405234801561001057600080fd5b5060405161018e38038061018e83398101604081905261002f91610124565b6000808351602085016000f59050803b61004857600080fd5b6000808351602085016000855af16040513d6000823e81610067573d81fd5b3d81f35b634e487b7160e01b600052604160045260246000fd5b600082601f83011261009257600080fd5b81516001600160401b038111156100ab576100ab61006b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156100d9576100d961006b565b6040528181528382016020018510156100f157600080fd5b60005b82811015610110576020818601810151838301820152016100f4565b506000918101602001919091529392505050565b6000806040838503121561013757600080fd5b82516001600160401b0381111561014d57600080fd5b61015985828601610081565b602085015190935090506001600160401b0381111561017757600080fd5b61018385828601610081565b915050925092905056fe",Ry="0x608060405234801561001057600080fd5b506040516102c03803806102c083398101604081905261002f916101e6565b836001600160a01b03163b6000036100e457600080836001600160a01b03168360405161005c9190610270565b6000604051808303816000865af19150503d8060008114610099576040519150601f19603f3d011682016040523d82523d6000602084013e61009e565b606091505b50915091508115806100b857506001600160a01b0386163b155b156100e1578060405163101bb98d60e01b81526004016100d8919061028c565b60405180910390fd5b50505b6000808451602086016000885af16040513d6000823e81610103573d81fd5b3d81f35b80516001600160a01b038116811461011e57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561015457818101518382015260200161013c565b50506000910152565b600082601f83011261016e57600080fd5b81516001600160401b0381111561018757610187610123565b604051601f8201601f19908116603f011681016001600160401b03811182821017156101b5576101b5610123565b6040528181528382016020018510156101cd57600080fd5b6101de826020830160208701610139565b949350505050565b600080600080608085870312156101fc57600080fd5b61020585610107565b60208601519094506001600160401b0381111561022157600080fd5b61022d8782880161015d565b93505061023c60408601610107565b60608601519092506001600160401b0381111561025857600080fd5b6102648782880161015d565b91505092959194509250565b60008251610282818460208701610139565b9190910192915050565b60208152600082518060208401526102ab816040850160208701610139565b601f01601f1916919091016040019291505056fe",Ny="0x608060405234801561001057600080fd5b5060405161069438038061069483398101604081905261002f9161051e565b600061003c848484610048565b9050806000526001601ff35b60007f64926492649264926492649264926492649264926492649264926492649264926100748361040c565b036101e7576000606080848060200190518101906100929190610577565b60405192955090935091506000906001600160a01b038516906100b69085906105dd565b6000604051808303816000865af19150503d80600081146100f3576040519150601f19603f3d011682016040523d82523d6000602084013e6100f8565b606091505b50509050876001600160a01b03163b60000361016057806101605760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90610190908b9087906004016105f9565b602060405180830381865afa1580156101ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d19190610633565b6001600160e01b03191614945050505050610405565b6001600160a01b0384163b1561027a57604051630b135d3f60e11b808252906001600160a01b03861690631626ba7e9061022790879087906004016105f9565b602060405180830381865afa158015610244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102689190610633565b6001600160e01b031916149050610405565b81516041146102df5760405162461bcd60e51b815260206004820152603a602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e6774680000000000006064820152608401610157565b6102e7610425565b5060208201516040808401518451859392600091859190811061030c5761030c61065d565b016020015160f81c9050601b811480159061032b57508060ff16601c14155b1561038c5760405162461bcd60e51b815260206004820152603b602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c756500000000006064820152608401610157565b60408051600081526020810180835289905260ff83169181019190915260608101849052608081018390526001600160a01b0389169060019060a0016020604051602081039080840390855afa1580156103ea573d6000803e3d6000fd5b505050602060405103516001600160a01b0316149450505050505b9392505050565b600060208251101561041d57600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b038116811461045857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561048c578181015183820152602001610474565b50506000910152565b600082601f8301126104a657600080fd5b81516001600160401b038111156104bf576104bf61045b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156104ed576104ed61045b565b60405281815283820160200185101561050557600080fd5b610516826020830160208701610471565b949350505050565b60008060006060848603121561053357600080fd5b835161053e81610443565b6020850151604086015191945092506001600160401b0381111561056157600080fd5b61056d86828701610495565b9150509250925092565b60008060006060848603121561058c57600080fd5b835161059781610443565b60208501519093506001600160401b038111156105b357600080fd5b6105bf86828701610495565b604086015190935090506001600160401b0381111561056157600080fd5b600082516105ef818460208701610471565b9190910192915050565b828152604060208201526000825180604084015261061e816060850160208701610471565b601f01601f1916919091016060019392505050565b60006020828403121561064557600080fd5b81516001600160e01b03198116811461040557600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572",Hr="/docs/contract/encodeDeployData";function br(p){const{abi:f,args:u,bytecode:v}=p;if(!u||u.length===0)return v;const t=f.find(k=>"type"in k&&k.type==="constructor");if(!t)throw new s8({docsPath:Hr});if(!("inputs"in t))throw new To({docsPath:Hr});if(!t.inputs||t.inputs.length===0)throw new To({docsPath:Hr});const d=tn(t.inputs,u);return Mt([v,d])}function Ti(){let p=()=>{},f=()=>{};return{promise:new Promise((v,t)=>{p=v,f=t}),resolve:p,reject:f}}const Vr=new Map;function W4({fn:p,id:f,shouldSplitBatch:u,wait:v=0,sort:t}){const d=async()=>{const z=N();k();const j=z.map(({args:q})=>q);j.length!==0&&p(j).then(q=>{t&&Array.isArray(q)&&q.sort(t);for(let O=0;O<z.length;O++){const{resolve:_}=z[O];_==null||_([q[O],q])}}).catch(q=>{for(let O=0;O<z.length;O++){const{reject:_}=z[O];_==null||_(q)}})},k=()=>Vr.delete(f),S=()=>N().map(({args:z})=>z),N=()=>Vr.get(f)||[],L=z=>Vr.set(f,[...N(),z]);return{flush:k,async schedule(z){const{promise:j,resolve:q,reject:O}=Ti();return(u==null?void 0:u([...S(),z]))&&d(),N().length>0?(L({args:z,resolve:q,reject:O}),j):(L({args:z,resolve:q,reject:O}),setTimeout(d,v),j)}}}async function wa(p,f){var A0,N0,k0,I0;const{account:u=p.account,authorizationList:v,batch:t=!!((A0=p.batch)!=null&&A0.multicall),blockNumber:d,blockTag:k="latest",accessList:S,blobs:N,blockOverrides:L,code:z,data:j,factory:q,factoryData:O,gas:_,gasPrice:J,maxFeePerBlobGas:s0,maxFeePerGas:o0,maxPriorityFeePerGas:c0,nonce:p0,to:v0,value:b0,stateOverride:R0,...P0}=f,x0=u?Ce(u):void 0;if(z&&(q||O))throw new f0("Cannot provide both `code` & `factory`/`factoryData` as parameters.");if(z&&v0)throw new f0("Cannot provide both `code` & `to` as parameters.");const e0=z&&j,T0=q&&O&&v0&&j,d0=e0||T0,m0=e0?Fy({code:z,data:j}):T0?Uy({data:j,factory:q,factoryData:O,to:v0}):j;try{Gn(f);const h0=(typeof d=="bigint"?E0(d):void 0)||k,V0=L?H4(L):void 0,Y0=si(R0),G0=(I0=(k0=(N0=p.chain)==null?void 0:N0.formatters)==null?void 0:k0.transactionRequest)==null?void 0:I0.format,de=(G0||b2)({...lr(P0,{format:G0}),from:x0==null?void 0:x0.address,accessList:S,authorizationList:v,blobs:N,data:m0,gas:_,gasPrice:J,maxFeePerBlobGas:s0,maxFeePerGas:o0,maxPriorityFeePerGas:c0,nonce:p0,to:d0?void 0:v0,value:b0});if(t&&Oy({request:de})&&!Y0&&!V0)try{return await Dy(p,{...de,blockNumber:d,blockTag:k})}catch(le){if(!(le instanceof zu)&&!(le instanceof $r))throw le}const be=(()=>{const le=[de,h0];return Y0&&V0?[...le,Y0,V0]:Y0?[...le,Y0]:V0?[...le,{},V0]:le})(),re=await p.request({method:"eth_call",params:be});return re==="0x"?{data:void 0}:{data:re}}catch(H0){const h0=Ly(H0),{offchainLookup:V0,offchainLookupSignature:Y0}=await Promise.resolve().then(()=>require("./ccip.cjs"));if(p.ccipRead!==!1&&(h0==null?void 0:h0.slice(0,10))===Y0&&v0)return{data:await V0(p,{data:h0,to:v0})};throw d0&&(h0==null?void 0:h0.slice(0,10))==="0x101bb98d"?new R5({factory:q}):x4(H0,{...f,account:x0,chain:p.chain})}}function Oy({request:p}){const{data:f,to:u,...v}=p;return!(!f||f.startsWith(My)||!u||Object.values(v).filter(t=>typeof t<"u").length>0)}async function Dy(p,f){var J;const{batchSize:u=1024,wait:v=0}=typeof((J=p.batch)==null?void 0:J.multicall)=="object"?p.batch.multicall:{},{blockNumber:t,blockTag:d="latest",data:k,multicallAddress:S,to:N}=f;let L=S;if(!L){if(!p.chain)throw new zu;L=h2({blockNumber:t,chain:p.chain,contract:"multicall3"})}const j=(typeof t=="bigint"?E0(t):void 0)||d,{schedule:q}=W4({id:`${p.uid}.${j}`,wait:v,shouldSplitBatch(s0){return s0.reduce((c0,{data:p0})=>c0+(p0.length-2),0)>u*2},fn:async s0=>{const o0=s0.map(v0=>({allowFailure:!0,callData:v0.data,target:v0.to})),c0=gt({abi:hs,args:[o0],functionName:"aggregate3"}),p0=await p.request({method:"eth_call",params:[{data:c0,to:L},j]});return Wn({abi:hs,args:[o0],functionName:"aggregate3",data:p0||"0x"})}}),[{returnData:O,success:_}]=await q({data:k,to:N});if(!_)throw new cr({data:O});return O==="0x"?{data:void 0}:{data:O}}function Fy(p){const{code:f,data:u}=p;return br({abi:b4(["constructor(bytes, bytes)"]),bytecode:G4,args:[f,u]})}function Uy(p){const{data:f,factory:u,factoryData:v,to:t}=p;return br({abi:b4(["constructor(address, bytes, address, bytes)"]),bytecode:Ry,args:[t,f,u,v]})}function Ly(p){var u;if(!(p instanceof f0))return;const f=p.walk();return typeof(f==null?void 0:f.data)=="object"?(u=f.data)==null?void 0:u.data:f.data}async function zt(p,f){const{abi:u,address:v,args:t,functionName:d,...k}=f,S=gt({abi:u,args:t,functionName:d});try{const{data:N}=await z0(p,wa,"call")({...k,data:S,to:v});return Wn({abi:u,args:t,functionName:d,data:N||"0x"})}catch(N){throw Ln(N,{abi:u,address:v,args:t,docsPath:"/docs/contract/readContract",functionName:d})}}async function Z4(p,f){const{abi:u,address:v,args:t,dataSuffix:d,functionName:k,...S}=f,N=S.account?Ce(S.account):p.account,L=gt({abi:u,args:t,functionName:k});try{const{data:z}=await z0(p,wa,"call")({batch:!1,data:`${L}${d?d.replace("0x",""):""}`,to:v,...S,account:N}),j=Wn({abi:u,args:t,functionName:k,data:z||"0x"}),q=u.filter(O=>"name"in O&&O.name===f.functionName);return{result:j,request:{abi:q,address:v,args:t,dataSuffix:d,functionName:k,...S,account:N}}}catch(z){throw Ln(z,{abi:u,address:v,args:t,docsPath:"/docs/contract/simulateContract",functionName:k,sender:N==null?void 0:N.address})}}const jr=new Map,qo=new Map;let zy=0;function _t(p,f,u){const v=++zy,t=()=>jr.get(p)||[],d=()=>{const z=t();jr.set(p,z.filter(j=>j.id!==v))},k=()=>{const z=t();if(!z.some(q=>q.id===v))return;const j=qo.get(p);if(z.length===1&&j){const q=j();q instanceof Promise&&q.catch(()=>{})}d()},S=t();if(jr.set(p,[...S,{id:v,fns:f}]),S&&S.length>0)return k;const N={};for(const z in f)N[z]=(...j)=>{var O,_;const q=t();if(q.length!==0)for(const J of q)(_=(O=J.fns)[z])==null||_.call(O,...j)};const L=u(N);return typeof L=="function"&&qo.set(p,L),k}async function ws(p){return new Promise(f=>setTimeout(f,p))}function T2(p,{emitOnBegin:f,initialWaitTime:u,interval:v}){let t=!0;const d=()=>t=!1;return(async()=>{let S;f&&(S=await p({unpoll:d}));const N=await(u==null?void 0:u(S))??v;await ws(N);const L=async()=>{t&&(await p({unpoll:d}),await ws(v),L())};L()})(),d}const Hy=new Map,Vy=new Map;function jy(p){const f=(t,d)=>({clear:()=>d.delete(t),get:()=>d.get(t),set:k=>d.set(t,k)}),u=f(p,Hy),v=f(p,Vy);return{clear:()=>{u.clear(),v.clear()},promise:u,response:v}}async function qy(p,{cacheKey:f,cacheTime:u=Number.POSITIVE_INFINITY}){const v=jy(f),t=v.response.get();if(t&&u>0&&new Date().getTime()-t.created.getTime()<u)return t.data;let d=v.promise.get();d||(d=p(),v.promise.set(d));try{const k=await d;return v.response.set({created:new Date,data:k}),k}finally{v.promise.clear()}}const Gy=p=>`blockNumber.${p}`;async function Ta(p,{cacheTime:f=p.cacheTime}={}){const u=await qy(()=>p.request({method:"eth_blockNumber"}),{cacheKey:Gy(p.uid),cacheTime:f});return BigInt(u)}async function hr(p,{filter:f}){const u="strict"in f&&f.strict,v=await f.request({method:"eth_getFilterChanges",params:[f.id]});if(typeof v[0]=="string")return v;const t=v.map(d=>Jt(d));return!("abi"in f)||!f.abi?t:li({abi:f.abi,logs:t,strict:u})}async function gr(p,{filter:f}){return f.request({method:"eth_uninstallFilter",params:[f.id]})}function K4(p,f){const{abi:u,address:v,args:t,batch:d=!0,eventName:k,fromBlock:S,onError:N,onLogs:L,poll:z,pollingInterval:j=p.pollingInterval,strict:q}=f;return(typeof z<"u"?z:typeof S=="bigint"?!0:!(p.transport.type==="webSocket"||p.transport.type==="ipc"||p.transport.type==="fallback"&&(p.transport.transports[0].config.type==="webSocket"||p.transport.transports[0].config.type==="ipc")))?(()=>{const s0=q??!1,o0=ke(["watchContractEvent",v,t,d,p.uid,k,j,s0,S]);return _t(o0,{onLogs:L,onError:N},c0=>{let p0;S!==void 0&&(p0=S-1n);let v0,b0=!1;const R0=T2(async()=>{var P0;if(!b0){try{v0=await z0(p,ri,"createContractEventFilter")({abi:u,address:v,args:t,eventName:k,strict:s0,fromBlock:S})}catch{}b0=!0;return}try{let x0;if(v0)x0=await z0(p,hr,"getFilterChanges")({filter:v0});else{const e0=await z0(p,Ta,"getBlockNumber")({});p0&&p0<e0?x0=await z0(p,yi,"getContractEvents")({abi:u,address:v,args:t,eventName:k,fromBlock:p0+1n,toBlock:e0,strict:s0}):x0=[],p0=e0}if(x0.length===0)return;if(d)c0.onLogs(x0);else for(const e0 of x0)c0.onLogs([e0])}catch(x0){v0&&x0 instanceof Un&&(b0=!1),(P0=c0.onError)==null||P0.call(c0,x0)}},{emitOnBegin:!0,interval:j});return async()=>{v0&&await z0(p,gr,"uninstallFilter")({filter:v0}),R0()}})})():(()=>{const s0=q??!1,o0=ke(["watchContractEvent",v,t,d,p.uid,k,j,s0]);let c0=!0,p0=()=>c0=!1;return _t(o0,{onLogs:L,onError:N},v0=>((async()=>{try{const b0=(()=>{if(p.transport.type==="fallback"){const x0=p.transport.transports.find(e0=>e0.config.type==="webSocket"||e0.config.type==="ipc");return x0?x0.value:p.transport}return p.transport})(),R0=k?ha({abi:u,eventName:k,args:t}):[],{unsubscribe:P0}=await b0.subscribe({params:["logs",{address:v,topics:R0}],onData(x0){var T0;if(!c0)return;const e0=x0.result;try{const{eventName:d0,args:m0}=di({abi:u,data:e0.data,topics:e0.topics,strict:q}),A0=Jt(e0,{args:m0,eventName:d0});v0.onLogs([A0])}catch(d0){let m0,A0;if(d0 instanceof H2||d0 instanceof ir){if(q)return;m0=d0.abiItem.name,A0=(T0=d0.abiItem.inputs)==null?void 0:T0.some(k0=>!("name"in k0&&k0.name))}const N0=Jt(e0,{args:A0?[]:{},eventName:m0});v0.onLogs([N0])}},onError(x0){var e0;(e0=v0.onError)==null||e0.call(v0,x0)}});p0=P0,c0||p0()}catch(b0){N==null||N(b0)}})(),()=>p0()))})()}function Y4(p,{docsPath:f,...u}){const v=(()=>{const t=dr(p,u);return t instanceof la?p:t})();return new jl(v,{docsPath:f,...u})}async function vi(p,{serializedTransaction:f}){return p.request({method:"eth_sendRawTransaction",params:[f]},{retryCount:0})}const qr=new ar(128);async function wr(p,f){var c0,p0,v0,b0;const{account:u=p.account,chain:v=p.chain,accessList:t,authorizationList:d,blobs:k,data:S,gas:N,gasPrice:L,maxFeePerBlobGas:z,maxFeePerGas:j,maxPriorityFeePerGas:q,nonce:O,type:_,value:J,...s0}=f;if(typeof u>"u")throw new jn({docsPath:"/docs/actions/wallet/sendTransaction"});const o0=u?Ce(u):null;try{Gn(f);const R0=await(async()=>{if(f.to)return f.to;if(f.to!==null&&d&&d.length>0)return await C4({authorization:d[0]}).catch(()=>{throw new f0("`to` is required. Could not infer from `authorizationList`.")})})();if((o0==null?void 0:o0.type)==="json-rpc"||o0===null){let P0;v!==null&&(P0=await z0(p,w2,"getChainId")({}),Qu({currentChainId:P0,chain:v}));const x0=(v0=(p0=(c0=p.chain)==null?void 0:c0.formatters)==null?void 0:p0.transactionRequest)==null?void 0:v0.format,T0=(x0||b2)({...lr(s0,{format:x0}),accessList:t,authorizationList:d,blobs:k,chainId:P0,data:S,from:o0==null?void 0:o0.address,gas:N,gasPrice:L,maxFeePerBlobGas:z,maxFeePerGas:j,maxPriorityFeePerGas:q,nonce:O,to:R0,type:_,value:J}),d0=qr.get(p.uid),m0=d0?"wallet_sendTransaction":"eth_sendTransaction";try{return await p.request({method:m0,params:[T0]},{retryCount:0})}catch(A0){if(d0===!1)throw A0;const N0=A0;if(N0.name==="InvalidInputRpcError"||N0.name==="InvalidParamsRpcError"||N0.name==="MethodNotFoundRpcError"||N0.name==="MethodNotSupportedRpcError")return await p.request({method:"wallet_sendTransaction",params:[T0]},{retryCount:0}).then(k0=>(qr.set(p.uid,!0),k0)).catch(k0=>{const I0=k0;throw I0.name==="MethodNotFoundRpcError"||I0.name==="MethodNotSupportedRpcError"?(qr.set(p.uid,!1),N0):I0});throw N0}}if((o0==null?void 0:o0.type)==="local"){const P0=await z0(p,yr,"prepareTransactionRequest")({account:o0,accessList:t,authorizationList:d,blobs:k,chain:v,data:S,gas:N,gasPrice:L,maxFeePerBlobGas:z,maxFeePerGas:j,maxPriorityFeePerGas:q,nonce:O,nonceManager:o0.nonceManager,parameters:[...I4,"sidecars"],type:_,value:J,...s0,to:R0}),x0=(b0=v==null?void 0:v.serializers)==null?void 0:b0.transaction,e0=await o0.signTransaction(P0,{serializer:x0});return await z0(p,vi,"sendRawTransaction")({serializedTransaction:e0})}throw(o0==null?void 0:o0.type)==="smart"?new ja({metaMessages:["Consider using the `sendUserOperation` Action instead."],docsPath:"/docs/actions/bundler/sendUserOperation",type:"smart"}):new ja({docsPath:"/docs/actions/wallet/sendTransaction",type:o0==null?void 0:o0.type})}catch(R0){throw R0 instanceof ja?R0:Y4(R0,{...f,account:o0,chain:f.chain||void 0})}}async function X4(p,f){const{abi:u,account:v=p.account,address:t,args:d,dataSuffix:k,functionName:S,...N}=f;if(typeof v>"u")throw new jn({docsPath:"/docs/contract/writeContract"});const L=v?Ce(v):null,z=gt({abi:u,args:d,functionName:S});try{return await z0(p,wr,"sendTransaction")({data:`${z}${k?k.replace("0x",""):""}`,to:t,account:L,...N})}catch(j){throw Ln(j,{abi:u,address:t,args:d,docsPath:"/docs/contract/writeContract",functionName:S,sender:L==null?void 0:L.address})}}function Tr({abi:p,address:f,client:u}){const v=u,[t,d]=v?"public"in v&&"wallet"in v?[v.public,v.wallet]:"public"in v?[v.public,void 0]:"wallet"in v?[void 0,v.wallet]:[v,v]:[void 0,void 0],k=t!=null,S=d!=null,N={};let L=!1,z=!1,j=!1;for(const q of p)if(q.type==="function"?q.stateMutability==="view"||q.stateMutability==="pure"?L=!0:z=!0:q.type==="event"&&(j=!0),L&&z&&j)break;return k&&(L&&(N.read=new Proxy({},{get(q,O){return(..._)=>{const{args:J,options:s0}=Oa(_);return z0(t,zt,"readContract")({abi:p,address:f,functionName:O,args:J,...s0})}}})),z&&(N.simulate=new Proxy({},{get(q,O){return(..._)=>{const{args:J,options:s0}=Oa(_);return z0(t,Z4,"simulateContract")({abi:p,address:f,functionName:O,args:J,...s0})}}})),j&&(N.createEventFilter=new Proxy({},{get(q,O){return(..._)=>{const J=p.find(c0=>c0.type==="event"&&c0.name===O),{args:s0,options:o0}=Gr(_,J);return z0(t,ri,"createContractEventFilter")({abi:p,address:f,eventName:O,args:s0,...o0})}}}),N.getEvents=new Proxy({},{get(q,O){return(..._)=>{const J=p.find(c0=>c0.type==="event"&&c0.name===O),{args:s0,options:o0}=Gr(_,J);return z0(t,yi,"getContractEvents")({abi:p,address:f,eventName:O,args:s0,...o0})}}}),N.watchEvent=new Proxy({},{get(q,O){return(..._)=>{const J=p.find(c0=>c0.type==="event"&&c0.name===O),{args:s0,options:o0}=Gr(_,J);return z0(t,K4,"watchContractEvent")({abi:p,address:f,eventName:O,args:s0,...o0})}}}))),S&&z&&(N.write=new Proxy({},{get(q,O){return(..._)=>{const{args:J,options:s0}=Oa(_);return z0(d,X4,"writeContract")({abi:p,address:f,functionName:O,args:J,...s0})}}})),(k||S)&&z&&(N.estimateGas=new Proxy({},{get(q,O){return(..._)=>{const{args:J,options:s0}=Oa(_);return z0(t??d,S4,"estimateContractGas")({abi:p,address:f,functionName:O,args:J,...s0,account:s0.account??d.account})}}})),N.address=f,N.abi=p,N}function Oa(p){const f=p.length&&Array.isArray(p[0]),u=f?p[0]:[],v=(f?p[1]:p[0])??{};return{args:u,options:v}}function Gr(p,f){let u=!1;Array.isArray(p[0])?u=!0:p.length===1?u=f.inputs.some(d=>d.indexed):p.length===2&&(u=!0);const v=u?p[0]:void 0,t=(u?p[1]:p[0])??{};return{args:v,options:t}}const Q4="0x5792579257925792579257925792579257925792579257925792579257925792",J4=E0(0,{size:32});async function Wy(p,f){const{account:u=p.account,capabilities:v,chain:t=p.chain,experimental_fallback:d,experimental_fallbackDelay:k=32,forceAtomic:S=!1,id:N,version:L="2.0.0"}=f,z=u?Ce(u):null,j=f.calls.map(q=>{const O=q,_=O.abi?gt({abi:O.abi,functionName:O.functionName,args:O.args}):O.data;return{data:O.dataSuffix&&_?tt([_,O.dataSuffix]):_,to:O.to,value:O.value?E0(O.value):void 0}});try{const q=await p.request({method:"wallet_sendCalls",params:[{atomicRequired:S,calls:j,capabilities:v,chainId:E0(t.id),from:z==null?void 0:z.address,id:N,version:L}]},{retryCount:0});return typeof q=="string"?{id:q}:q}catch(q){const O=q;if(d&&(O.name==="MethodNotFoundRpcError"||O.name==="MethodNotSupportedRpcError"||O.name==="UnknownRpcError"||O.details.toLowerCase().includes("does not exist / is not available")||O.details.toLowerCase().includes("missing or invalid. request()")||O.details.toLowerCase().includes("did not match any variant of untagged enum")||O.details.toLowerCase().includes("account upgraded to unsupported contract")||O.details.toLowerCase().includes("eip-7702 not supported")||O.details.toLowerCase().includes("unsupported wc_ method"))){if(v&&Object.values(v).some(c0=>!c0.optional)){const c0="non-optional `capabilities` are not supported on fallback to `eth_sendTransaction`.";throw new c2(new f0(c0,{details:c0}))}if(S&&j.length>1){const o0="`forceAtomic` is not supported on fallback to `eth_sendTransaction`.";throw new d2(new f0(o0,{details:o0}))}const _=[];for(const o0 of j){const c0=wr(p,{account:z,chain:t,data:o0.data,to:o0.to,value:o0.value?Ne(o0.value):void 0});_.push(c0),k>0&&await new Promise(p0=>setTimeout(p0,k))}const J=await Promise.allSettled(_);if(J.every(o0=>o0.status==="rejected"))throw J[0].reason;const s0=J.map(o0=>o0.status==="fulfilled"?o0.value:J4);return{id:tt([...s0,E0(t.id,{size:32}),Q4])}}throw Y4(q,{...f,account:z,chain:f.chain})}}async function _4(p,f){async function u(z){if(z.endsWith(Q4.slice(2))){const q=lt(Za(z,-64,-32)),O=Za(z,0,-64).slice(2).match(/.{1,64}/g),_=await Promise.all(O.map(s0=>J4.slice(2)!==s0?p.request({method:"eth_getTransactionReceipt",params:[`0x${s0}`]},{dedupe:!0}):void 0)),J=_.some(s0=>s0===null)?100:_.every(s0=>(s0==null?void 0:s0.status)==="0x1")?200:_.every(s0=>(s0==null?void 0:s0.status)==="0x0")?500:600;return{atomic:!1,chainId:mt(q),receipts:_.filter(Boolean),status:J,version:"2.0.0"}}return p.request({method:"wallet_getCallsStatus",params:[z]})}const{atomic:v=!1,chainId:t,receipts:d,version:k="2.0.0",...S}=await u(f.id),[N,L]=(()=>{const z=S.status;return z>=100&&z<200?["pending",z]:z>=200&&z<300?["success",z]:z>=300&&z<700?["failure",z]:z==="CONFIRMED"?["success",200]:z==="PENDING"?["pending",100]:[void 0,z]})();return{...S,atomic:v,chainId:t?mt(t):void 0,receipts:(d==null?void 0:d.map(z=>({...z,blockNumber:Ne(z.blockNumber),gasUsed:Ne(z.gasUsed),status:Tu[z.status]})))??[],statusCode:L,status:N,version:k}}async function Zy(p,f){const{id:u,pollingInterval:v=p.pollingInterval,status:t=({statusCode:q})=>q>=200,timeout:d=6e4}=f,k=ke(["waitForCallsStatus",p.uid,u]),{promise:S,resolve:N,reject:L}=Ti();let z;const j=_t(k,{resolve:N,reject:L},q=>{const O=T2(async()=>{const _=J=>{clearTimeout(z),O(),J(),j()};try{const J=await _4(p,{id:u});if(!t(J))return;_(()=>q.resolve(J))}catch(J){_(()=>q.reject(J))}},{interval:v,emitOnBegin:!0});return O});return z=d?setTimeout(()=>{j(),clearTimeout(z),L(new Ky({id:u}))},d):void 0,await S}class Ky extends f0{constructor({id:f}){super(`Timed out while waiting for call bundle with id "${f}" to be confirmed.`,{name:"WaitForCallsStatusTimeoutError"})}}const Ts=256;let Da=Ts,Fa;function $4(p=11){if(!Fa||Da+p>Ts*2){Fa="",Da=0;for(let f=0;f<Ts;f++)Fa+=(256+Math.random()*256|0).toString(16).substring(1)}return Fa.substring(Da,Da+++p)}function ec(p){const{batch:f,chain:u,ccipRead:v,key:t="base",name:d="Base Client",type:k="base"}=p,S=(u==null?void 0:u.blockTime)??12e3,N=Math.min(Math.max(Math.floor(S/2),500),4e3),L=p.pollingInterval??N,z=p.cacheTime??L,j=p.account?Ce(p.account):void 0,{config:q,request:O,value:_}=p.transport({chain:u,pollingInterval:L}),J={...q,..._},s0={account:j,batch:f,cacheTime:z,ccipRead:v,chain:u,key:t,name:d,pollingInterval:L,request:O,transport:J,type:k,uid:$4()};function o0(c0){return p0=>{const v0=p0(c0);for(const R0 in s0)delete v0[R0];const b0={...c0,...v0};return Object.assign(b0,{extend:o0(b0)})}}return Object.assign(s0,{extend:o0(s0)})}const Ua=new ar(8192);function Yy(p,{enabled:f=!0,id:u}){if(!f||!u)return p();if(Ua.get(u))return Ua.get(u);const v=p().finally(()=>Ua.delete(u));return Ua.set(u,v),v}function vs(p,{delay:f=100,retryCount:u=2,shouldRetry:v=()=>!0}={}){return new Promise((t,d)=>{const k=async({count:S=0}={})=>{const N=async({error:L})=>{const z=typeof f=="function"?f({count:S,error:L}):f;z&&await ws(z),k({count:S+1})};try{const L=await p();t(L)}catch(L){if(S<u&&await v({count:S,error:L}))return N({error:L});d(L)}};k()})}function Xy(p,f={}){return async(u,v={})=>{var j;const{dedupe:t=!1,methods:d,retryDelay:k=150,retryCount:S=3,uid:N}={...f,...v},{method:L}=u;if((j=d==null?void 0:d.exclude)!=null&&j.includes(L))throw new Pn(new Error("method not supported"),{method:L});if(d!=null&&d.include&&!d.include.includes(L))throw new Pn(new Error("method not supported"),{method:L});const z=t?a2(`${N}.${ke(u)}`):void 0;return Yy(()=>vs(async()=>{try{return await p(u)}catch(q){const O=q;switch(O.code){case j2.code:throw new j2(O);case q2.code:throw new q2(O);case G2.code:throw new G2(O,{method:u.method});case W2.code:throw new W2(O);case Fn.code:throw new Fn(O);case Un.code:throw new Un(O);case Z2.code:throw new Z2(O);case K2.code:throw new K2(O);case Y2.code:throw new Y2(O);case Pn.code:throw new Pn(O,{method:u.method});case u2.code:throw new u2(O);case X2.code:throw new X2(O);case e2.code:throw new e2(O);case Q2.code:throw new Q2(O);case J2.code:throw new J2(O);case _2.code:throw new _2(O);case $2.code:throw new $2(O);case ea.code:throw new ea(O);case c2.code:throw new c2(O);case ta.code:throw new ta(O);case na.code:throw new na(O);case aa.code:throw new aa(O);case ra.code:throw new ra(O);case sa.code:throw new sa(O);case d2.code:throw new d2(O);case 5e3:throw new e2(O);default:throw q instanceof f0?q:new O5(O)}}},{delay:({count:q,error:O})=>{var _;if(O&&O instanceof $n){const J=(_=O==null?void 0:O.headers)==null?void 0:_.get("Retry-After");if(J!=null&&J.match(/\d/))return Number.parseInt(J)*1e3}return~~(1<<q)*k},retryCount:S,shouldRetry:({error:q})=>Qy(q)}),{enabled:t,id:z})}}function Qy(p){return"code"in p&&typeof p.code=="number"?p.code===-1||p.code===u2.code||p.code===Fn.code:p instanceof $n&&p.status?p.status===403||p.status===408||p.status===413||p.status===429||p.status===500||p.status===502||p.status===503||p.status===504:!0}function tc({key:p,methods:f,name:u,request:v,retryCount:t=3,retryDelay:d=150,timeout:k,type:S},N){const L=$4();return{config:{key:p,methods:f,name:u,request:v,retryCount:t,retryDelay:d,timeout:k,type:S},request:Xy(v,{methods:f,retryCount:t,retryDelay:d,uid:L}),value:N}}function Jy(p,f={}){const{key:u="custom",methods:v,name:t="Custom Provider",retryDelay:d}=f;return({retryCount:k})=>tc({key:u,methods:v,name:t,request:p.request.bind(p),retryCount:f.retryCount??k,retryDelay:d,type:"custom"})}class _y extends f0{constructor(){super("No URL was provided to the Transport. Please provide a valid RPC URL to the Transport.",{docsPath:"/docs/clients/intro",name:"UrlRequiredError"})}}function $y(p,{errorInstance:f=new Error("timed out"),timeout:u,signal:v}){return new Promise((t,d)=>{(async()=>{let k;try{const S=new AbortController;u>0&&(k=setTimeout(()=>{v&&S.abort()},u)),t(await p({signal:(S==null?void 0:S.signal)||null}))}catch(S){(S==null?void 0:S.name)==="AbortError"&&d(f),d(S)}finally{clearTimeout(k)}})()})}function ef(){return{current:0,take(){return this.current++},reset(){this.current=0}}}const Go=ef();function tf(p,f={}){return{async request(u){var j;const{body:v,onRequest:t=f.onRequest,onResponse:d=f.onResponse,timeout:k=f.timeout??1e4}=u,S={...f.fetchOptions??{},...u.fetchOptions??{}},{headers:N,method:L,signal:z}=S;try{const q=await $y(async({signal:_})=>{const J={...S,body:Array.isArray(v)?ke(v.map(p0=>({jsonrpc:"2.0",id:p0.id??Go.take(),...p0}))):ke({jsonrpc:"2.0",id:v.id??Go.take(),...v}),headers:{"Content-Type":"application/json",...N},method:L||"POST",signal:z||(k>0?_:null)},s0=new Request(p,J),o0=await(t==null?void 0:t(s0,J))??{...J,url:p};return await fetch(o0.url??p,o0)},{errorInstance:new ko({body:v,url:p}),timeout:k,signal:!0});d&&await d(q);let O;if((j=q.headers.get("Content-Type"))!=null&&j.startsWith("application/json"))O=await q.json();else{O=await q.text();try{O=JSON.parse(O||"{}")}catch(_){if(q.ok)throw _;O={error:O}}}if(!q.ok)throw new $n({body:v,details:ke(O.error)||q.statusText,headers:q.headers,status:q.status,url:p});return O}catch(q){throw q instanceof $n||q instanceof ko?q:new $n({body:v,cause:q,url:p})}}}}function nf(p,f={}){const{batch:u,fetchOptions:v,key:t="http",methods:d,name:k="HTTP JSON-RPC",onFetchRequest:S,onFetchResponse:N,retryDelay:L,raw:z}=f;return({chain:j,retryCount:q,timeout:O})=>{const{batchSize:_=1e3,wait:J=0}=typeof u=="object"?u:{},s0=f.retryCount??q,o0=O??f.timeout??1e4,c0=p||(j==null?void 0:j.rpcUrls.default.http[0]);if(!c0)throw new _y;const p0=tf(c0,{fetchOptions:v,onRequest:S,onResponse:N,timeout:o0});return tc({key:t,methods:d,name:k,async request({method:v0,params:b0}){const R0={method:v0,params:b0},{schedule:P0}=W4({id:c0,wait:J,shouldSplitBatch(d0){return d0.length>_},fn:d0=>p0.request({body:d0}),sort:(d0,m0)=>d0.id-m0.id}),x0=async d0=>u?P0(d0):[await p0.request({body:d0})],[{error:e0,result:T0}]=await x0(R0);if(z)return{error:e0,result:T0};if(e0)throw new ai({body:R0,error:e0,url:c0});return T0},retryCount:s0,retryDelay:L,timeout:o0,type:"http"},{fetchOptions:v,url:c0})}}function Ai(p,f){var v,t,d,k,S,N;if(!(p instanceof f0))return!1;const u=p.walk(L=>L instanceof fs);return u instanceof fs?!!(((v=u.data)==null?void 0:v.errorName)==="ResolverNotFound"||((t=u.data)==null?void 0:t.errorName)==="ResolverWildcardNotSupported"||((d=u.data)==null?void 0:d.errorName)==="ResolverNotContract"||((k=u.data)==null?void 0:k.errorName)==="ResolverError"||((S=u.data)==null?void 0:S.errorName)==="HttpError"||(N=u.reason)!=null&&N.includes("Wildcard on non-extended resolvers is not supported")||f==="reverse"&&u.reason===Ju[50]):!1}function af(p){const{abi:f,data:u}=p,v=On(u,0,4),t=f.find(d=>d.type==="function"&&v===ma(Bt(d)));if(!t)throw new l8(v,{docsPath:"/docs/contract/decodeFunctionData"});return{functionName:t.name,args:"inputs"in t&&t.inputs&&t.inputs.length>0?ba(t.inputs,On(u,4)):void 0}}const Wr="/docs/contract/encodeErrorResult";function Wo(p){const{abi:f,errorName:u,args:v}=p;let t=f[0];if(u){const N=qn({abi:f,args:v,name:u});if(!N)throw new vo(u,{docsPath:Wr});t=N}if(t.type!=="error")throw new vo(void 0,{docsPath:Wr});const d=Bt(t),k=ma(d);let S="0x";if(v&&v.length>0){if(!t.inputs)throw new c8(t.name,{docsPath:Wr});S=tn(t.inputs,v)}return Mt([k,S])}const Zr="/docs/contract/encodeFunctionResult";function rf(p){const{abi:f,functionName:u,result:v}=p;let t=f[0];if(u){const k=qn({abi:f,name:u});if(!k)throw new o2(u,{docsPath:Zr});t=k}if(t.type!=="function")throw new o2(void 0,{docsPath:Zr});if(!t.outputs)throw new n4(t.name,{docsPath:Zr});const d=(()=>{if(t.outputs.length===0)return[];if(t.outputs.length===1)return[v];if(Array.isArray(v))return v;throw new a4(v)})();return tn(t.outputs,d)}const xi="x-batch-gateway:true";async function sf(p){const{data:f,ccipRequest:u}=p,{args:[v]}=af({abi:gs,data:f}),t=[],d=[];return await Promise.all(v.map(async(k,S)=>{try{d[S]=await u(k),t[S]=!1}catch(N){t[S]=!0,d[S]=of(N)}})),rf({abi:gs,functionName:"query",result:[t,d]})}function of(p){return p.name==="HttpRequestError"&&p.status?Wo({abi:gs,errorName:"HttpError",args:[p.status,p.shortMessage]}):Wo({abi:[_u],errorName:"Error",args:["shortMessage"in p?p.shortMessage:p.message]})}function nc(p){if(p.length!==66||p.indexOf("[")!==0||p.indexOf("]")!==65)return null;const f=`0x${p.slice(1,65)}`;return Pt(f)?f:null}function qa(p){let f=new Uint8Array(32).fill(0);if(!p)return Ie(f);const u=p.split(".");for(let v=u.length-1;v>=0;v-=1){const t=nc(u[v]),d=t?m2(t):Oe(Sn(u[v]),"bytes");f=Oe(tt([f,d]),"bytes")}return Ie(f)}function uf(p){return`[${p.slice(2)}]`}function cf(p){const f=new Uint8Array(32).fill(0);return p?nc(p)||Oe(Sn(p)):Ie(f)}function vr(p){const f=p.replace(/^\.|\.$/gm,"");if(f.length===0)return new Uint8Array(1);const u=new Uint8Array(Sn(f).byteLength+2);let v=0;const t=f.split(".");for(let d=0;d<t.length;d++){let k=Sn(t[d]);k.byteLength>255&&(k=Sn(uf(cf(t[d])))),u[v]=k.length,u.set(k,v+1),v+=k.length+1}return u.byteLength!==v+1?u.slice(0,v+1):u}async function df(p,f){const{blockNumber:u,blockTag:v,coinType:t,name:d,gatewayUrls:k,strict:S}=f,{chain:N}=p,L=(()=>{if(f.universalResolverAddress)return f.universalResolverAddress;if(!N)throw new Error("client chain not configured. universalResolverAddress is required.");return h2({blockNumber:u,chain:N,contract:"ensUniversalResolver"})})(),z=N==null?void 0:N.ensTlds;if(z&&!z.some(j=>d.endsWith(j)))return null;try{const j=gt({abi:Vo,functionName:"addr",...t!=null?{args:[qa(d),BigInt(t)]}:{args:[qa(d)]}}),q={address:L,abi:j4,functionName:"resolve",args:[Ue(vr(d)),j,k??[xi]],blockNumber:u,blockTag:v},_=await z0(p,zt,"readContract")(q);if(_[0]==="0x")return null;const J=Wn({abi:Vo,args:t!=null?[qa(d),BigInt(t)]:void 0,functionName:"addr",data:_[0]});return J==="0x"||lt(J)==="0x00"?null:J}catch(j){if(S)throw j;if(Ai(j,"resolve"))return null;throw j}}class lf extends f0{constructor({data:f}){super("Unable to extract image from metadata. The metadata may be malformed or invalid.",{metaMessages:["- Metadata must be a JSON object with at least an `image`, `image_url` or `image_data` property.","",`Provided data: ${JSON.stringify(f)}`],name:"EnsAvatarInvalidMetadataError"})}}class M2 extends f0{constructor({reason:f}){super(`ENS NFT avatar URI is invalid. ${f}`,{name:"EnsAvatarInvalidNftUriError"})}}class Ei extends f0{constructor({uri:f}){super(`Unable to resolve ENS avatar URI "${f}". The URI may be malformed, invalid, or does not respond with a valid image.`,{name:"EnsAvatarUriResolutionError"})}}class pf extends f0{constructor({namespace:f}){super(`ENS NFT avatar namespace "${f}" is not supported. Must be "erc721" or "erc1155".`,{name:"EnsAvatarUnsupportedNamespaceError"})}}const yf=/(?<protocol>https?:\/\/[^\/]*|ipfs:\/|ipns:\/|ar:\/)?(?<root>\/)?(?<subpath>ipfs\/|ipns\/)?(?<target>[\w\-.]+)(?<subtarget>\/.*)?/,ff=/^(Qm[1-9A-HJ-NP-Za-km-z]{44,}|b[A-Za-z2-7]{58,}|B[A-Z2-7]{58,}|z[1-9A-HJ-NP-Za-km-z]{48,}|F[0-9A-F]{50,})(\/(?<target>[\w\-.]+))?(?<subtarget>\/.*)?$/,mf=/^data:([a-zA-Z\-/+]*);base64,([^"].*)/,bf=/^data:([a-zA-Z\-/+]*)?(;[a-zA-Z0-9].*?)?(,)/;async function hf(p){try{const f=await fetch(p,{method:"HEAD"});if(f.status===200){const u=f.headers.get("content-type");return u==null?void 0:u.startsWith("image/")}return!1}catch(f){return typeof f=="object"&&typeof f.response<"u"||!globalThis.hasOwnProperty("Image")?!1:new Promise(u=>{const v=new Image;v.onload=()=>{u(!0)},v.onerror=()=>{u(!1)},v.src=p})}}function Zo(p,f){return p?p.endsWith("/")?p.slice(0,-1):p:f}function ac({uri:p,gatewayUrls:f}){const u=mf.test(p);if(u)return{uri:p,isOnChain:!0,isEncoded:u};const v=Zo(f==null?void 0:f.ipfs,"https://ipfs.io"),t=Zo(f==null?void 0:f.arweave,"https://arweave.net"),d=p.match(yf),{protocol:k,subpath:S,target:N,subtarget:L=""}=(d==null?void 0:d.groups)||{},z=k==="ipns:/"||S==="ipns/",j=k==="ipfs:/"||S==="ipfs/"||ff.test(p);if(p.startsWith("http")&&!z&&!j){let O=p;return f!=null&&f.arweave&&(O=p.replace(/https:\/\/arweave.net/g,f==null?void 0:f.arweave)),{uri:O,isOnChain:!1,isEncoded:!1}}if((z||j)&&N)return{uri:`${v}/${z?"ipns":"ipfs"}/${N}${L}`,isOnChain:!1,isEncoded:!1};if(k==="ar:/"&&N)return{uri:`${t}/${N}${L||""}`,isOnChain:!1,isEncoded:!1};let q=p.replace(bf,"");if(q.startsWith("<svg")&&(q=`data:image/svg+xml;base64,${btoa(q)}`),q.startsWith("data:")||q.startsWith("{"))return{uri:q,isOnChain:!0,isEncoded:!1};throw new Ei({uri:p})}function rc(p){if(typeof p!="object"||!("image"in p)&&!("image_url"in p)&&!("image_data"in p))throw new lf({data:p});return p.image||p.image_url||p.image_data}async function gf({gatewayUrls:p,uri:f}){try{const u=await fetch(f).then(t=>t.json());return await Ci({gatewayUrls:p,uri:rc(u)})}catch{throw new Ei({uri:f})}}async function Ci({gatewayUrls:p,uri:f}){const{uri:u,isOnChain:v}=ac({uri:f,gatewayUrls:p});if(v||await hf(u))return u;throw new Ei({uri:f})}function wf(p){let f=p;f.startsWith("did:nft:")&&(f=f.replace("did:nft:","").replace(/_/g,"/"));const[u,v,t]=f.split("/"),[d,k]=u.split(":"),[S,N]=v.split(":");if(!d||d.toLowerCase()!=="eip155")throw new M2({reason:"Only EIP-155 supported"});if(!k)throw new M2({reason:"Chain ID not found"});if(!N)throw new M2({reason:"Contract address not found"});if(!t)throw new M2({reason:"Token ID not found"});if(!S)throw new M2({reason:"ERC namespace not found"});return{chainID:Number.parseInt(k),namespace:S.toLowerCase(),contractAddress:N,tokenID:t}}async function Tf(p,{nft:f}){if(f.namespace==="erc721")return zt(p,{address:f.contractAddress,abi:[{name:"tokenURI",type:"function",stateMutability:"view",inputs:[{name:"tokenId",type:"uint256"}],outputs:[{name:"",type:"string"}]}],functionName:"tokenURI",args:[BigInt(f.tokenID)]});if(f.namespace==="erc1155")return zt(p,{address:f.contractAddress,abi:[{name:"uri",type:"function",stateMutability:"view",inputs:[{name:"_id",type:"uint256"}],outputs:[{name:"",type:"string"}]}],functionName:"uri",args:[BigInt(f.tokenID)]});throw new pf({namespace:f.namespace})}async function vf(p,{gatewayUrls:f,record:u}){return/eip155:/i.test(u)?Af(p,{gatewayUrls:f,record:u}):Ci({uri:u,gatewayUrls:f})}async function Af(p,{gatewayUrls:f,record:u}){const v=wf(u),t=await Tf(p,{nft:v}),{uri:d,isOnChain:k,isEncoded:S}=ac({uri:t,gatewayUrls:f});if(k&&(d.includes("data:application/json;base64,")||d.startsWith("{"))){const L=S?atob(d.replace("data:application/json;base64,","")):d,z=JSON.parse(L);return Ci({uri:rc(z),gatewayUrls:f})}let N=v.tokenID;return v.namespace==="erc1155"&&(N=N.replace("0x","").padStart(64,"0")),gf({gatewayUrls:f,uri:d.replace(/(?:0x)?{id}/,N)})}async function sc(p,f){const{blockNumber:u,blockTag:v,key:t,name:d,gatewayUrls:k,strict:S}=f,{chain:N}=p,L=(()=>{if(f.universalResolverAddress)return f.universalResolverAddress;if(!N)throw new Error("client chain not configured. universalResolverAddress is required.");return h2({blockNumber:u,chain:N,contract:"ensUniversalResolver"})})(),z=N==null?void 0:N.ensTlds;if(z&&!z.some(j=>d.endsWith(j)))return null;try{const j={address:L,abi:j4,functionName:"resolve",args:[Ue(vr(d)),gt({abi:Ho,functionName:"text",args:[qa(d),t]}),k??[xi]],blockNumber:u,blockTag:v},O=await z0(p,zt,"readContract")(j);if(O[0]==="0x")return null;const _=Wn({abi:Ho,functionName:"text",data:O[0]});return _===""?null:_}catch(j){if(S)throw j;if(Ai(j,"resolve"))return null;throw j}}async function xf(p,{blockNumber:f,blockTag:u,assetGatewayUrls:v,name:t,gatewayUrls:d,strict:k,universalResolverAddress:S}){const N=await z0(p,sc,"getEnsText")({blockNumber:f,blockTag:u,key:"avatar",name:t,universalResolverAddress:S,gatewayUrls:d,strict:k});if(!N)return null;try{return await vf(p,{record:N,gatewayUrls:v})}catch{return null}}async function Ef(p,{address:f,blockNumber:u,blockTag:v,gatewayUrls:t,strict:d,universalResolverAddress:k}){let S=k;if(!S){if(!p.chain)throw new Error("client chain not configured. universalResolverAddress is required.");S=h2({blockNumber:u,chain:p.chain,contract:"ensUniversalResolver"})}const N=`${f.toLowerCase().substring(2)}.addr.reverse`;try{const L={address:S,abi:Sy,functionName:"reverse",args:[Ue(vr(N))],blockNumber:u,blockTag:v},z=z0(p,zt,"readContract"),[j,q]=t?await z({...L,args:[...L.args,t]}):await z(L);return f.toLowerCase()!==q.toLowerCase()?null:j}catch(L){if(d)throw L;if(Ai(L,"reverse"))return null;throw L}}async function Cf(p,f){const{blockNumber:u,blockTag:v,name:t}=f,{chain:d}=p,k=(()=>{if(f.universalResolverAddress)return f.universalResolverAddress;if(!d)throw new Error("client chain not configured. universalResolverAddress is required.");return h2({blockNumber:u,chain:d,contract:"ensUniversalResolver"})})(),S=d==null?void 0:d.ensTlds;if(S&&!S.some(L=>t.endsWith(L)))throw new Error(`${t} is not a valid ENS TLD (${S==null?void 0:S.join(", ")}) for chain "${d.name}" (id: ${d.id}).`);const[N]=await z0(p,zt,"readContract")({address:k,abi:[{inputs:[{type:"bytes"}],name:"findResolver",outputs:[{type:"address"},{type:"bytes32"}],stateMutability:"view",type:"function"}],functionName:"findResolver",args:[Ue(vr(t))],blockNumber:u,blockTag:v});return N}async function ic(p,f){var s0,o0,c0;const{account:u=p.account,blockNumber:v,blockTag:t="latest",blobs:d,data:k,gas:S,gasPrice:N,maxFeePerBlobGas:L,maxFeePerGas:z,maxPriorityFeePerGas:j,to:q,value:O,..._}=f,J=u?Ce(u):void 0;try{Gn(f);const v0=(typeof v=="bigint"?E0(v):void 0)||t,b0=(c0=(o0=(s0=p.chain)==null?void 0:s0.formatters)==null?void 0:o0.transactionRequest)==null?void 0:c0.format,P0=(b0||b2)({...lr(_,{format:b0}),from:J==null?void 0:J.address,blobs:d,data:k,gas:S,gasPrice:N,maxFeePerBlobGas:L,maxFeePerGas:z,maxPriorityFeePerGas:j,to:q,value:O}),x0=await p.request({method:"eth_createAccessList",params:[P0,v0]});return{accessList:x0.accessList,gasUsed:BigInt(x0.gasUsed)}}catch(p0){throw x4(p0,{...f,account:J,chain:p.chain})}}async function Pf(p){const f=pr(p,{method:"eth_newBlockFilter"}),u=await p.request({method:"eth_newBlockFilter"});return{id:u,request:f(u),type:"block"}}async function oc(p,{address:f,args:u,event:v,events:t,fromBlock:d,strict:k,toBlock:S}={}){const N=t??(v?[v]:void 0),L=pr(p,{method:"eth_newFilter"});let z=[];N&&(z=[N.flatMap(O=>ha({abi:[O],eventName:O.name,args:u}))],v&&(z=z[0]));const j=await p.request({method:"eth_newFilter",params:[{address:f,fromBlock:typeof d=="bigint"?E0(d):d,toBlock:typeof S=="bigint"?E0(S):S,...z.length?{topics:z}:{}}]});return{abi:N,args:u,eventName:v?v.name:void 0,fromBlock:d,id:j,request:L(j),strict:!!k,toBlock:S,type:"event"}}async function uc(p){const f=pr(p,{method:"eth_newPendingTransactionFilter"}),u=await p.request({method:"eth_newPendingTransactionFilter"});return{id:u,request:f(u),type:"transaction"}}async function kf(p){const f=await p.request({method:"eth_blobBaseFee"});return BigInt(f)}async function If(p,{blockHash:f,blockNumber:u,blockTag:v="latest"}={}){const t=u!==void 0?E0(u):void 0;let d;return f?d=await p.request({method:"eth_getBlockTransactionCountByHash",params:[f]},{dedupe:!0}):d=await p.request({method:"eth_getBlockTransactionCountByNumber",params:[t||v]},{dedupe:!!t}),mt(d)}async function Ko(p,{address:f,blockNumber:u,blockTag:v="latest"}){const t=u!==void 0?E0(u):void 0,d=await p.request({method:"eth_getCode",params:[f,t||v]},{dedupe:!!t});if(d!=="0x")return d}class Bf extends f0{constructor({address:f}){super(`No EIP-712 domain found on contract "${f}".`,{metaMessages:["Ensure that:",`- The contract is deployed at the address "${f}".`,"- `eip712Domain()` function exists on the contract.","- `eip712Domain()` function matches signature to ERC-5267 specification."],name:"Eip712DomainNotFoundError"})}}async function Sf(p,f){const{address:u,factory:v,factoryData:t}=f;try{const[d,k,S,N,L,z,j]=await z0(p,zt,"readContract")({abi:Mf,address:u,functionName:"eip712Domain",factory:v,factoryData:t});return{domain:{name:k,version:S,chainId:Number(N),verifyingContract:L,salt:z},extensions:j,fields:d}}catch(d){const k=d;throw k.name==="ContractFunctionExecutionError"&&k.cause.name==="ContractFunctionZeroDataError"?new Bf({address:u}):k}}const Mf=[{inputs:[],name:"eip712Domain",outputs:[{name:"fields",type:"bytes1"},{name:"name",type:"string"},{name:"version",type:"string"},{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"},{name:"salt",type:"bytes32"},{name:"extensions",type:"uint256[]"}],stateMutability:"view",type:"function"}];function Rf(p){var f;return{baseFeePerGas:p.baseFeePerGas.map(u=>BigInt(u)),gasUsedRatio:p.gasUsedRatio,oldestBlock:BigInt(p.oldestBlock),reward:(f=p.reward)==null?void 0:f.map(u=>u.map(v=>BigInt(v)))}}async function Nf(p,{blockCount:f,blockNumber:u,blockTag:v="latest",rewardPercentiles:t}){const d=typeof u=="bigint"?E0(u):void 0,k=await p.request({method:"eth_feeHistory",params:[E0(f),d||v,t]},{dedupe:!!d});return Rf(k)}async function Of(p,{filter:f}){const u=f.strict??!1,t=(await f.request({method:"eth_getFilterLogs",params:[f.id]})).map(d=>Jt(d));return f.abi?li({abi:f.abi,logs:t,strict:u}):t}class Df extends f0{constructor({domain:f}){super(`Invalid domain "${ke(f)}".`,{metaMessages:["Must be a valid EIP-712 domain."]})}}class Ff extends f0{constructor({primaryType:f,types:u}){super(`Invalid primary type \`${f}\` must be one of \`${JSON.stringify(Object.keys(u))}\`.`,{docsPath:"/api/glossary/Errors#typeddatainvalidprimarytypeerror",metaMessages:["Check that the primary type is a key in `types`."]})}}class Uf extends f0{constructor({type:f}){super(`Struct type "${f}" is invalid.`,{metaMessages:["Struct type must not be a Solidity type."],name:"InvalidStructTypeError"})}}function Lf(p){const{domain:f={},message:u,primaryType:v}=p,t={EIP712Domain:fc({domain:f}),...p.types};yc({domain:f,message:u,primaryType:v,types:t});const d=["0x1901"];return f&&d.push(zf({domain:f,types:t})),v!=="EIP712Domain"&&d.push(cc({data:u,primaryType:v,types:t})),Oe(tt(d))}function zf({domain:p,types:f}){return cc({data:p,primaryType:"EIP712Domain",types:f})}function cc({data:p,primaryType:f,types:u}){const v=dc({data:p,primaryType:f,types:u});return Oe(v)}function dc({data:p,primaryType:f,types:u}){const v=[{type:"bytes32"}],t=[Hf({primaryType:f,types:u})];for(const d of u[f]){const[k,S]=pc({types:u,name:d.name,type:d.type,value:p[d.name]});v.push(k),t.push(S)}return tn(v,t)}function Hf({primaryType:p,types:f}){const u=Ue(Vf({primaryType:p,types:f}));return Oe(u)}function Vf({primaryType:p,types:f}){let u="";const v=lc({primaryType:p,types:f});v.delete(p);const t=[p,...Array.from(v).sort()];for(const d of t)u+=`${d}(${f[d].map(({name:k,type:S})=>`${S} ${k}`).join(",")})`;return u}function lc({primaryType:p,types:f},u=new Set){const v=p.match(/^\w*/u),t=v==null?void 0:v[0];if(u.has(t)||f[t]===void 0)return u;u.add(t);for(const d of f[t])lc({primaryType:d.type,types:f},u);return u}function pc({types:p,name:f,type:u,value:v}){if(p[u]!==void 0)return[{type:"bytes32"},Oe(dc({data:v,primaryType:u,types:p}))];if(u==="bytes")return v=`0x${(v.length%2?"0":"")+v.slice(2)}`,[{type:"bytes32"},Oe(v)];if(u==="string")return[{type:"bytes32"},Oe(Ue(v))];if(u.lastIndexOf("]")===u.length-1){const t=u.slice(0,u.lastIndexOf("[")),d=v.map(k=>pc({name:f,type:t,types:p,value:k}));return[{type:"bytes32"},Oe(tn(d.map(([k])=>k),d.map(([,k])=>k)))]}return[{type:u},v]}function jf(p){const{domain:f,message:u,primaryType:v,types:t}=p,d=(N,L)=>{const z={...L};for(const j of N){const{name:q,type:O}=j;O==="address"&&(z[q]=z[q].toLowerCase())}return z},k=t.EIP712Domain?f?d(t.EIP712Domain,f):{}:{},S=(()=>{if(v!=="EIP712Domain")return d(t[v],u)})();return ke({domain:k,message:S,primaryType:v,types:t})}function yc(p){const{domain:f,message:u,primaryType:v,types:t}=p,d=(k,S)=>{for(const N of k){const{name:L,type:z}=N,j=S[L],q=z.match(g4);if(q&&(typeof j=="number"||typeof j=="bigint")){const[J,s0,o0]=q;E0(j,{signed:s0==="int",size:Number.parseInt(o0)/8})}if(z==="address"&&typeof j=="string"&&!Me(j))throw new qe({address:j});const O=z.match(d5);if(O){const[J,s0]=O;if(s0&&we(j)!==Number.parseInt(s0))throw new y8({expectedSize:Number.parseInt(s0),givenSize:we(j)})}const _=t[z];_&&(qf(z),d(_,j))}};if(t.EIP712Domain&&f){if(typeof f!="object")throw new Df({domain:f});d(t.EIP712Domain,f)}if(v!=="EIP712Domain")if(t[v])d(t[v],u);else throw new Ff({primaryType:v,types:t})}function fc({domain:p}){return[typeof(p==null?void 0:p.name)=="string"&&{name:"name",type:"string"},(p==null?void 0:p.version)&&{name:"version",type:"string"},(typeof(p==null?void 0:p.chainId)=="number"||typeof(p==null?void 0:p.chainId)=="bigint")&&{name:"chainId",type:"uint256"},(p==null?void 0:p.verifyingContract)&&{name:"verifyingContract",type:"address"},(p==null?void 0:p.salt)&&{name:"salt",type:"bytes32"}].filter(Boolean)}function qf(p){if(p==="address"||p==="bool"||p==="string"||p.startsWith("bytes")||p.startsWith("uint")||p.startsWith("int"))throw new Uf({type:p})}const Gf=`Ethereum Signed Message:
|
|
43
43
|
`;function Wf(p){const f=typeof p=="string"?a2(p):typeof p.raw=="string"?p.raw:Ie(p.raw),u=a2(`${Gf}${we(f)}`);return tt([u,f])}function mc(p,f){return Oe(Wf(p),f)}const bc="0x6492649264926492649264926492649264926492649264926492649264926492";function Zf(p){return Za(p,-32)===bc}function Kf(p){const{address:f,data:u,signature:v,to:t="hex"}=p,d=Mt([tn([{type:"address"},{type:"bytes"},{type:"bytes"}],[f,u,v]),bc]);return t==="hex"?d:kt(d)}class Yf extends f0{constructor({value:f}){super(`Number \`${f}\` is not a valid decimal number.`,{name:"InvalidDecimalNumberError"})}}function Xf(p,f){if(!/^(-?)([0-9]*)\.?([0-9]*)$/.test(p))throw new Yf({value:p});let[u,v="0"]=p.split(".");const t=u.startsWith("-");if(t&&(u=u.slice(1)),v=v.replace(/(0+)$/,""),f===0)Math.round(+`.${v}`)===1&&(u=`${BigInt(u)+1n}`),v="";else if(v.length>f){const[d,k,S]=[v.slice(0,f-1),v.slice(f-1,f),v.slice(f)],N=Math.round(+`${k}.${S}`);N>9?v=`${BigInt(d)+BigInt(1)}0`.padStart(d.length+1,"0"):v=`${d}${N}`,v.length>f&&(v=v.slice(1),u=`${BigInt(u)+1n}`),v=v.slice(0,f)}else v=v.padEnd(f,"0");return BigInt(`${t?"-":""}${u}${v}`)}function hc(p,f="wei"){return Xf(p,Cu[f])}function Qf(p){return p.map(f=>({...f,value:BigInt(f.value)}))}function Jf(p){return{...p,balance:p.balance?BigInt(p.balance):void 0,nonce:p.nonce?mt(p.nonce):void 0,storageProof:p.storageProof?Qf(p.storageProof):void 0}}async function _f(p,{address:f,blockNumber:u,blockTag:v,storageKeys:t}){const d=v??"latest",k=u!==void 0?E0(u):void 0,S=await p.request({method:"eth_getProof",params:[f,t,k||d]});return Jf(S)}async function $f(p,{address:f,blockNumber:u,blockTag:v="latest",slot:t}){const d=u!==void 0?E0(u):void 0;return await p.request({method:"eth_getStorageAt",params:[f,t,d||v]})}async function Pi(p,{blockHash:f,blockNumber:u,blockTag:v,hash:t,index:d}){var z,j,q;const k=v||"latest",S=u!==void 0?E0(u):void 0;let N=null;if(t?N=await p.request({method:"eth_getTransactionByHash",params:[t]},{dedupe:!0}):f?N=await p.request({method:"eth_getTransactionByBlockHashAndIndex",params:[f,E0(d)]},{dedupe:!0}):N=await p.request({method:"eth_getTransactionByBlockNumberAndIndex",params:[S||k,E0(d)]},{dedupe:!!S}),!N)throw new ku({blockHash:f,blockNumber:u,blockTag:k,hash:t,index:d});return(((q=(j=(z=p.chain)==null?void 0:z.formatters)==null?void 0:j.transaction)==null?void 0:q.format)||$a)(N)}async function em(p,{hash:f,transactionReceipt:u}){const[v,t]=await Promise.all([z0(p,Ta,"getBlockNumber")({}),f?z0(p,Pi,"getTransaction")({hash:f}):void 0]),d=(u==null?void 0:u.blockNumber)||(t==null?void 0:t.blockNumber);return d?v-d+1n:0n}async function As(p,{hash:f}){var t,d,k;const u=await p.request({method:"eth_getTransactionReceipt",params:[f]},{dedupe:!0});if(!u)throw new Iu({hash:f});return(((k=(d=(t=p.chain)==null?void 0:t.formatters)==null?void 0:d.transactionReceipt)==null?void 0:k.format)||vu)(u)}async function tm(p,f){var o0;const{account:u,allowFailure:v=!0,batchSize:t,blockNumber:d,blockTag:k,multicallAddress:S,stateOverride:N}=f,L=f.contracts,z=t??(typeof((o0=p.batch)==null?void 0:o0.multicall)=="object"&&p.batch.multicall.batchSize||1024);let j=S;if(!j){if(!p.chain)throw new Error("client chain not configured. multicallAddress is required.");j=h2({blockNumber:d,chain:p.chain,contract:"multicall3"})}const q=[[]];let O=0,_=0;for(let c0=0;c0<L.length;c0++){const{abi:p0,address:v0,args:b0,functionName:R0}=L[c0];try{const P0=gt({abi:p0,args:b0,functionName:R0});_+=(P0.length-2)/2,z>0&&_>z&&q[O].length>0&&(O++,_=(P0.length-2)/2,q[O]=[]),q[O]=[...q[O],{allowFailure:!0,callData:P0,target:v0}]}catch(P0){const x0=Ln(P0,{abi:p0,address:v0,args:b0,docsPath:"/docs/contract/multicall",functionName:R0,sender:u});if(!v)throw x0;q[O]=[...q[O],{allowFailure:!0,callData:"0x",target:v0}]}}const J=await Promise.allSettled(q.map(c0=>z0(p,zt,"readContract")({abi:hs,account:u,address:j,args:[c0],blockNumber:d,blockTag:k,functionName:"aggregate3",stateOverride:N}))),s0=[];for(let c0=0;c0<J.length;c0++){const p0=J[c0];if(p0.status==="rejected"){if(!v)throw p0.reason;for(let b0=0;b0<q[c0].length;b0++)s0.push({status:"failure",error:p0.reason,result:void 0});continue}const v0=p0.value;for(let b0=0;b0<v0.length;b0++){const{returnData:R0,success:P0}=v0[b0],{callData:x0}=q[c0][b0],{abi:e0,address:T0,functionName:d0,args:m0}=L[s0.length];try{if(x0==="0x")throw new fa;if(!P0)throw new cr({data:R0});const A0=Wn({abi:e0,args:m0,data:R0,functionName:d0});s0.push(v?{result:A0,status:"success"}:A0)}catch(A0){const N0=Ln(A0,{abi:e0,address:T0,args:m0,docsPath:"/docs/contract/multicall",functionName:d0});if(!v)throw N0;s0.push({error:N0,result:void 0,status:"failure"})}}}if(s0.length!==L.length)throw new f0("multicall results mismatch");return s0}async function xs(p,f){const{blockNumber:u,blockTag:v="latest",blocks:t,returnFullTransactions:d,traceTransfers:k,validation:S}=f;try{const N=[];for(const q of t){const O=q.blockOverrides?H4(q.blockOverrides):void 0,_=q.calls.map(s0=>{const o0=s0,c0=o0.account?Ce(o0.account):void 0,p0=o0.abi?gt(o0):o0.data,v0={...o0,data:o0.dataSuffix?tt([p0||"0x",o0.dataSuffix]):p0,from:o0.from??(c0==null?void 0:c0.address)};return Gn(v0),b2(v0)}),J=q.stateOverrides?si(q.stateOverrides):void 0;N.push({blockOverrides:O,calls:_,stateOverrides:J})}const z=(typeof u=="bigint"?E0(u):void 0)||v;return(await p.request({method:"eth_simulateV1",params:[{blockStateCalls:N,returnFullTransactions:d,traceTransfers:k,validation:S},z]})).map((q,O)=>({...js(q),calls:q.calls.map((_,J)=>{var T0,d0;const{abi:s0,args:o0,functionName:c0,to:p0}=t[O].calls[J],v0=((T0=_.error)==null?void 0:T0.data)??_.returnData,b0=BigInt(_.gasUsed),R0=(d0=_.logs)==null?void 0:d0.map(m0=>Jt(m0)),P0=_.status==="0x1"?"success":"failure",x0=s0&&P0==="success"&&v0!=="0x"?Wn({abi:s0,data:v0,functionName:c0}):null,e0=(()=>{var A0;if(P0==="success")return;let m0;if(((A0=_.error)==null?void 0:A0.data)==="0x"?m0=new fa:_.error&&(m0=new cr(_.error)),!!m0)return Ln(m0,{abi:s0??[],address:p0??"0x",args:o0,functionName:c0??"<unknown>"})})();return{data:v0,gasUsed:b0,logs:R0,status:P0,...P0==="success"?{result:x0}:{error:e0}}})}))}catch(N){const L=N,z=dr(L,{});throw z instanceof la?L:z}}function gc(p,f={}){const{as:u=typeof p=="string"?"Hex":"Bytes"}=f,v=Gu(by(p));return u==="Bytes"?v:U4(v)}class nm extends Map{constructor(f){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=f}get(f){const u=super.get(f);return super.has(f)&&u!==void 0&&(this.delete(f),super.set(f,u)),u}set(f,u){if(super.set(f,u),this.maxSize&&this.size>this.maxSize){const v=this.keys().next().value;v&&this.delete(v)}return this}}const am={checksum:new nm(8192)},Kr=am.checksum,rm=/^0x[a-fA-F0-9]{40}$/;function Ar(p,f={}){const{strict:u=!0}=f;if(!rm.test(p))throw new Yo({address:p,cause:new im});if(u){if(p.toLowerCase()===p)return;if(sm(p)!==p)throw new Yo({address:p,cause:new om})}}function sm(p){if(Kr.has(p))return Kr.get(p);Ar(p,{strict:!1});const f=p.substring(2).toLowerCase(),u=gc(wy(f),{as:"Bytes"}),v=f.split("");for(let d=0;d<40;d+=2)u[d>>1]>>4>=8&&v[d]&&(v[d]=v[d].toUpperCase()),(u[d>>1]&15)>=8&&v[d+1]&&(v[d+1]=v[d+1].toUpperCase());const t=`0x${v.join("")}`;return Kr.set(p,t),t}function Es(p,f={}){const{strict:u=!0}=f??{};try{return Ar(p,{strict:u}),!0}catch{return!1}}class Yo extends fe{constructor({address:f,cause:u}){super(`Address "${f}" is invalid.`,{cause:u}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidAddressError"})}}class im extends fe{constructor(){super("Address is not a 20 byte (40 hexadecimal character) value."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidInputError"})}}class om extends fe{constructor(){super("Address does not match its checksum counterpart."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidChecksumError"})}}function Cs(p){let f=!0,u="",v=0,t="",d=!1;for(let k=0;k<p.length;k++){const S=p[k];if(["(",")",","].includes(S)&&(f=!0),S==="("&&v++,S===")"&&v--,!!f){if(v===0){if(S===" "&&["event","function","error",""].includes(t))t="";else if(t+=S,S===")"){d=!0;break}continue}if(S===" "){p[k-1]!==","&&u!==","&&u!==",("&&(u="",f=!1);continue}t+=S,u+=S}}if(!d)throw new fe("Unable to normalize signature.");return t}function Ps(p,f){const u=typeof p,v=f.type;switch(v){case"address":return Es(p,{strict:!1});case"bool":return u==="boolean";case"function":return u==="string";case"string":return u==="string";default:return v==="tuple"&&"components"in f?Object.values(f.components).every((t,d)=>Ps(Object.values(p)[d],t)):/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/.test(v)?u==="number"||u==="bigint":/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(v)?u==="string"||p instanceof Uint8Array:/[a-z]+[1-9]{0,3}(\[[0-9]{0,}\])+$/.test(v)?Array.isArray(p)&&p.every(t=>Ps(t,{...f,type:v.replace(/(\[[0-9]{0,}\])$/,"")})):!1}}function wc(p,f,u){for(const v in p){const t=p[v],d=f[v];if(t.type==="tuple"&&d.type==="tuple"&&"components"in t&&"components"in d)return wc(t.components,d.components,u[v]);const k=[t.type,d.type];if(k.includes("address")&&k.includes("bytes20")?!0:k.includes("address")&&k.includes("string")?Es(u[v],{strict:!1}):k.includes("address")&&k.includes("bytes")?Es(u[v],{strict:!1}):!1)return k}}function Tc(p,f={}){const{prepare:u=!0}=f,v=Array.isArray(p)||typeof p=="string"?Eo(p):p;return{...v,...u?{hash:Qn(v)}:{}}}function um(p,f,u){const{args:v=[],prepare:t=!0}=u??{},d=Py(f,{strict:!1}),k=p.filter(L=>d?L.type==="function"||L.type==="error"?vc(L)===wi(f,0,4):L.type==="event"?Qn(L)===f:!1:"name"in L&&L.name===f);if(k.length===0)throw new ks({name:f});if(k.length===1)return{...k[0],...t?{hash:Qn(k[0])}:{}};let S;for(const L of k){if(!("inputs"in L))continue;if(!v||v.length===0){if(!L.inputs||L.inputs.length===0)return{...L,...t?{hash:Qn(L)}:{}};continue}if(!L.inputs||L.inputs.length===0||L.inputs.length!==v.length)continue;if(v.every((j,q)=>{const O="inputs"in L&&L.inputs[q];return O?Ps(j,O):!1})){if(S&&"inputs"in S&&S.inputs){const j=wc(L.inputs,S.inputs,v);if(j)throw new dm({abiItem:L,type:j[0]},{abiItem:S,type:j[1]})}S=L}}const N=(()=>{if(S)return S;const[L,...z]=k;return{...L,overloads:z}})();if(!N)throw new ks({name:f});return{...N,...t?{hash:Qn(N)}:{}}}function vc(p){return wi(Qn(p),0,4)}function cm(p){const f=typeof p=="string"?p:Ka(p);return Cs(f)}function Qn(p){return typeof p!="string"&&"hash"in p&&p.hash?p.hash:gc(gi(cm(p)))}class dm extends fe{constructor(f,u){super("Found ambiguous types in overloaded ABI Items.",{metaMessages:[`\`${f.type}\` in \`${Cs(Ka(f.abiItem))}\`, and`,`\`${u.type}\` in \`${Cs(Ka(u.abiItem))}\``,"","These types encode differently and cannot be distinguished at runtime.","Remove one of the ambiguous items in the ABI."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiItem.AmbiguityError"})}}class ks extends fe{constructor({name:f,data:u,type:v="item"}){const t=f?` with name "${f}"`:u?` with data "${u}"`:"";super(`ABI ${v}${t} not found.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiItem.NotFoundError"})}}const lm=/^(.*)\[([0-9]*)\]$/,pm=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,Ac=/^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/;function ym({checksumAddress:p,parameters:f,values:u}){const v=[];for(let t=0;t<f.length;t++)v.push(ki({checksumAddress:p,parameter:f[t],value:u[t]}));return v}function ki({checksumAddress:p=!1,parameter:f,value:u}){const v=f,t=vm(v.type);if(t){const[d,k]=t;return mm(u,{checksumAddress:p,length:d,parameter:{...v,type:k}})}if(v.type==="tuple")return Tm(u,{checksumAddress:p,parameter:v});if(v.type==="address")return fm(u,{checksum:p});if(v.type==="bool")return hm(u);if(v.type.startsWith("uint")||v.type.startsWith("int")){const d=v.type.startsWith("int"),[,,k="256"]=Ac.exec(v.type)??[];return gm(u,{signed:d,size:Number(k)})}if(v.type.startsWith("bytes"))return bm(u,{type:v.type});if(v.type==="string")return wm(u);throw new Pc(v.type)}function Ii(p){let f=0;for(let d=0;d<p.length;d++){const{dynamic:k,encoded:S}=p[d];k?f+=32:f+=bt(S)}const u=[],v=[];let t=0;for(let d=0;d<p.length;d++){const{dynamic:k,encoded:S}=p[d];k?(u.push(Ve(f+t,{size:32})),v.push(S),t+=bt(S)):u.push(S)}return Lt(...u,...v)}function fm(p,f){const{checksum:u=!1}=f;return Ar(p,{strict:u}),{dynamic:!1,encoded:zn(p.toLowerCase())}}function mm(p,f){const{checksumAddress:u,length:v,parameter:t}=f,d=v===null;if(!Array.isArray(p))throw new xm(p);if(!d&&p.length!==v)throw new Am({expectedLength:v,givenLength:p.length,type:`${t.type}[${v}]`});let k=!1;const S=[];for(let N=0;N<p.length;N++){const L=ki({checksumAddress:u,parameter:t,value:p[N]});L.dynamic&&(k=!0),S.push(L)}if(d||k){const N=Ii(S);if(d){const L=Ve(S.length,{size:32});return{dynamic:!0,encoded:S.length>0?Lt(L,N):L}}if(k)return{dynamic:!0,encoded:N}}return{dynamic:!1,encoded:Lt(...S.map(({encoded:N})=>N))}}function bm(p,{type:f}){const[,u]=f.split("bytes"),v=bt(p);if(!u){let t=p;return v%32!==0&&(t=Hn(t,Math.ceil((p.length-2)/2/32)*32)),{dynamic:!0,encoded:Lt(zn(Ve(v,{size:32})),t)}}if(v!==Number.parseInt(u))throw new Ec({expectedSize:Number.parseInt(u),value:p});return{dynamic:!1,encoded:Hn(p)}}function hm(p){if(typeof p!="boolean")throw new fe(`Invalid boolean value: "${p}" (type: ${typeof p}). Expected: \`true\` or \`false\`.`);return{dynamic:!1,encoded:zn(F4(p))}}function gm(p,{signed:f,size:u}){if(typeof u=="number"){const v=2n**(BigInt(u)-(f?1n:0n))-1n,t=f?-v-1n:0n;if(p>v||p<t)throw new L4({max:v.toString(),min:t.toString(),signed:f,size:u/8,value:p.toString()})}return{dynamic:!1,encoded:Ve(p,{size:32,signed:f})}}function wm(p){const f=gi(p),u=Math.ceil(bt(f)/32),v=[];for(let t=0;t<u;t++)v.push(Hn(wi(f,t*32,(t+1)*32)));return{dynamic:!0,encoded:Lt(Hn(Ve(bt(f),{size:32})),...v)}}function Tm(p,f){const{checksumAddress:u,parameter:v}=f;let t=!1;const d=[];for(let k=0;k<v.components.length;k++){const S=v.components[k],N=Array.isArray(p)?k:S.name,L=ki({checksumAddress:u,parameter:S,value:p[N]});d.push(L),L.dynamic&&(t=!0)}return{dynamic:t,encoded:t?Ii(d):Lt(...d.map(({encoded:k})=>k))}}function vm(p){const f=p.match(/^(.*)\[(\d+)?\]$/);return f?[f[2]?Number(f[2]):null,f[1]]:void 0}function xc(p,f,u){const{checksumAddress:v=!1}={};if(p.length!==f.length)throw new Cc({expectedLength:p.length,givenLength:f.length});const t=ym({checksumAddress:v,parameters:p,values:f}),d=Ii(t);return d.length===0?"0x":d}function Is(p,f){if(p.length!==f.length)throw new Cc({expectedLength:p.length,givenLength:f.length});const u=[];for(let v=0;v<p.length;v++){const t=p[v],d=f[v];u.push(Is.encode(t,d))}return Lt(...u)}(function(p){function f(u,v,t=!1){if(u==="address"){const N=v;return Ar(N),zn(N.toLowerCase(),t?32:0)}if(u==="string")return gi(v);if(u==="bytes")return v;if(u==="bool")return zn(F4(v),t?32:1);const d=u.match(Ac);if(d){const[N,L,z="256"]=d,j=Number.parseInt(z)/8;return Ve(v,{size:t?32:j,signed:L==="int"})}const k=u.match(pm);if(k){const[N,L]=k;if(Number.parseInt(L)!==(v.length-2)/2)throw new Ec({expectedSize:Number.parseInt(L),value:v});return Hn(v,t?32:0)}const S=u.match(lm);if(S&&Array.isArray(v)){const[N,L]=S,z=[];for(let j=0;j<v.length;j++)z.push(f(L,v[j],!0));return z.length===0?"0x":Lt(...z)}throw new Pc(u)}p.encode=f})(Is||(Is={}));class Am extends fe{constructor({expectedLength:f,givenLength:u,type:v}){super(`Array length mismatch for type \`${v}\`. Expected: \`${f}\`. Given: \`${u}\`.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.ArrayLengthMismatchError"})}}class Ec extends fe{constructor({expectedSize:f,value:u}){super(`Size of bytes "${u}" (bytes${bt(u)}) does not match expected size (bytes${f}).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.BytesSizeMismatchError"})}}class Cc extends fe{constructor({expectedLength:f,givenLength:u}){super(["ABI encoding parameters/values length mismatch.",`Expected length (parameters): ${f}`,`Given length (values): ${u}`].join(`
|
|
44
44
|
`)),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.LengthMismatchError"})}}class xm extends fe{constructor(f){super(`Value \`${f}\` is not a valid array.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.InvalidArrayError"})}}class Pc extends fe{constructor(f){super(`Type \`${f}\` is not a valid ABI Type.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.InvalidTypeError"})}}function Em(p,f){var t;const{bytecode:u,args:v}=f;return Lt(u,(t=p.inputs)!=null&&t.length&&(v!=null&&v.length)?xc(p.inputs,v):"0x")}function Cm(p){return Tc(p)}function Pm(p,...f){const{overloads:u}=p,v=u?km([p,...u],p.name,{args:f[0]}):p,t=Im(v),d=f.length>0?xc(v.inputs,f[0]):void 0;return d?Lt(t,d):t}function Yn(p,f={}){return Tc(p,f)}function km(p,f,u){const v=um(p,f,u);if(v.type!=="function")throw new ks({name:f,type:"function"});return v}function Im(p){return vc(p)}const Bm="0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",Et="0x0000000000000000000000000000000000000000",Sm="0x6080604052348015600e575f80fd5b5061016d8061001c5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063f8b2cb4f1461002d575b5f80fd5b610047600480360381019061004291906100db565b61005d565b604051610054919061011e565b60405180910390f35b5f8173ffffffffffffffffffffffffffffffffffffffff16319050919050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100aa82610081565b9050919050565b6100ba816100a0565b81146100c4575f80fd5b50565b5f813590506100d5816100b1565b92915050565b5f602082840312156100f0576100ef61007d565b5b5f6100fd848285016100c7565b91505092915050565b5f819050919050565b61011881610106565b82525050565b5f6020820190506101315f83018461010f565b9291505056fea26469706673582212203b9fe929fe995c7cf9887f0bdba8a36dd78e8b73f149b17d2d9ad7cd09d2dc6264736f6c634300081a0033";async function Mm(p,f){const{blockNumber:u,blockTag:v,calls:t,stateOverrides:d,traceAssetChanges:k,traceTransfers:S,validation:N}=f,L=f.account?Ce(f.account):void 0;if(k&&!L)throw new f0("`account` is required when `traceAssetChanges` is true");const z=L?Em(Cm("constructor(bytes, bytes)"),{bytecode:G4,args:[Sm,Pm(Yn("function getBalance(address)"),[L.address])]}):void 0,j=k?await Promise.all(f.calls.map(async h0=>{if(!h0.data&&!h0.abi)return;const{accessList:V0}=await ic(p,{account:L.address,...h0,data:h0.abi?gt(h0):h0.data});return V0.map(({address:Y0,storageKeys:G0})=>G0.length>0?Y0:null)})).then(h0=>h0.flat().filter(Boolean)):[],q=await xs(p,{blockNumber:u,blockTag:v,blocks:[...k?[{calls:[{data:z}],stateOverrides:d},{calls:j.map((h0,V0)=>({abi:[Yn("function balanceOf(address) returns (uint256)")],functionName:"balanceOf",args:[L.address],to:h0,from:Et,nonce:V0})),stateOverrides:[{address:Et,nonce:0}]}]:[],{calls:[...t,{}].map(h0=>({...h0,from:L==null?void 0:L.address})),stateOverrides:d},...k?[{calls:[{data:z}]},{calls:j.map((h0,V0)=>({abi:[Yn("function balanceOf(address) returns (uint256)")],functionName:"balanceOf",args:[L.address],to:h0,from:Et,nonce:V0})),stateOverrides:[{address:Et,nonce:0}]},{calls:j.map((h0,V0)=>({to:h0,abi:[Yn("function decimals() returns (uint256)")],functionName:"decimals",from:Et,nonce:V0})),stateOverrides:[{address:Et,nonce:0}]},{calls:j.map((h0,V0)=>({to:h0,abi:[Yn("function tokenURI(uint256) returns (string)")],functionName:"tokenURI",args:[0n],from:Et,nonce:V0})),stateOverrides:[{address:Et,nonce:0}]},{calls:j.map((h0,V0)=>({to:h0,abi:[Yn("function symbol() returns (string)")],functionName:"symbol",from:Et,nonce:V0})),stateOverrides:[{address:Et,nonce:0}]}]:[]],traceTransfers:S,validation:N}),O=k?q[2]:q[0],[_,J,,s0,o0,c0,p0,v0]=k?q:[],{calls:b0,...R0}=O,P0=b0.slice(0,-1)??[],x0=(_==null?void 0:_.calls)??[],e0=(J==null?void 0:J.calls)??[],T0=[...x0,...e0].map(h0=>h0.status==="success"?Ne(h0.data):null),d0=(s0==null?void 0:s0.calls)??[],m0=(o0==null?void 0:o0.calls)??[],A0=[...d0,...m0].map(h0=>h0.status==="success"?Ne(h0.data):null),N0=((c0==null?void 0:c0.calls)??[]).map(h0=>h0.status==="success"?h0.result:null),k0=((v0==null?void 0:v0.calls)??[]).map(h0=>h0.status==="success"?h0.result:null),I0=((p0==null?void 0:p0.calls)??[]).map(h0=>h0.status==="success"?h0.result:null),H0=[];for(const[h0,V0]of A0.entries()){const Y0=T0[h0];if(typeof V0!="bigint"||typeof Y0!="bigint")continue;const G0=N0[h0-1],me=k0[h0-1],de=I0[h0-1],be=h0===0?{address:Bm,decimals:18,symbol:"ETH"}:{address:j[h0-1],decimals:de||G0?Number(G0??1):void 0,symbol:me??void 0};H0.some(re=>re.token.address===be.address)||H0.push({token:be,value:{pre:Y0,post:V0,diff:V0-Y0}})}return{assetChanges:H0,block:R0,results:P0}}class kc extends Xs{constructor(f,u){super(),this.finished=!1,this.destroyed=!1,Wl(f);const v=tr(u);if(this.iHash=f.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const t=this.blockLen,d=new Uint8Array(t);d.set(v.length>t?f.create().update(v).digest():v);for(let k=0;k<d.length;k++)d[k]^=54;this.iHash.update(d),this.oHash=f.create();for(let k=0;k<d.length;k++)d[k]^=106;this.oHash.update(d),s2(d)}update(f){return r2(this),this.iHash.update(f),this}digestInto(f){r2(this),It(f,this.outputLen),this.finished=!0,this.iHash.digestInto(f),this.oHash.update(f),this.oHash.digestInto(f),this.destroy()}digest(){const f=new Uint8Array(this.oHash.outputLen);return this.digestInto(f),f}_cloneInto(f){f||(f=Object.create(Object.getPrototypeOf(this),{}));const{oHash:u,iHash:v,finished:t,destroyed:d,blockLen:k,outputLen:S}=this;return f=f,f.finished=t,f.destroyed=d,f.blockLen=k,f.outputLen=S,f.oHash=u._cloneInto(f.oHash),f.iHash=v._cloneInto(f.iHash),f}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}const Ic=(p,f,u)=>new kc(p,f).update(u).digest();Ic.create=(p,f)=>new kc(p,f);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Ke=BigInt(0),je=BigInt(1),kn=BigInt(2),Rm=BigInt(3),Bc=BigInt(4),Sc=BigInt(5),Mc=BigInt(8);function ct(p,f){const u=p%f;return u>=Ke?u:f+u}function ot(p,f,u){let v=p;for(;f-- >Ke;)v*=v,v%=u;return v}function Xo(p,f){if(p===Ke)throw new Error("invert: expected non-zero number");if(f<=Ke)throw new Error("invert: expected positive modulus, got "+f);let u=ct(p,f),v=f,t=Ke,d=je;for(;u!==Ke;){const S=v/u,N=v%u,L=t-d*S;v=u,u=N,t=d,d=L}if(v!==je)throw new Error("invert: does not exist");return ct(t,f)}function Rc(p,f){const u=(p.ORDER+je)/Bc,v=p.pow(f,u);if(!p.eql(p.sqr(v),f))throw new Error("Cannot find square root");return v}function Nm(p,f){const u=(p.ORDER-Sc)/Mc,v=p.mul(f,kn),t=p.pow(v,u),d=p.mul(f,t),k=p.mul(p.mul(d,kn),t),S=p.mul(d,p.sub(k,p.ONE));if(!p.eql(p.sqr(S),f))throw new Error("Cannot find square root");return S}function Om(p){if(p<BigInt(3))throw new Error("sqrt is not defined for small field");let f=p-je,u=0;for(;f%kn===Ke;)f/=kn,u++;let v=kn;const t=xr(p);for(;Qo(t,v)===1;)if(v++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(u===1)return Rc;let d=t.pow(v,f);const k=(f+je)/kn;return function(N,L){if(N.is0(L))return L;if(Qo(N,L)!==1)throw new Error("Cannot find square root");let z=u,j=N.mul(N.ONE,d),q=N.pow(L,f),O=N.pow(L,k);for(;!N.eql(q,N.ONE);){if(N.is0(q))return N.ZERO;let _=1,J=N.sqr(q);for(;!N.eql(J,N.ONE);)if(_++,J=N.sqr(J),_===z)throw new Error("Cannot find square root");const s0=je<<BigInt(z-_-1),o0=N.pow(j,s0);z=_,j=N.sqr(o0),q=N.mul(q,j),O=N.mul(O,o0)}return O}}function Dm(p){return p%Bc===Rm?Rc:p%Mc===Sc?Nm:Om(p)}const Fm=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Um(p){const f={ORDER:"bigint",MASK:"bigint",BYTES:"number",BITS:"number"},u=Fm.reduce((v,t)=>(v[t]="function",v),f);return bi(p,u),p}function Lm(p,f,u){if(u<Ke)throw new Error("invalid exponent, negatives unsupported");if(u===Ke)return p.ONE;if(u===je)return f;let v=p.ONE,t=f;for(;u>Ke;)u&je&&(v=p.mul(v,t)),t=p.sqr(t),u>>=je;return v}function Nc(p,f,u=!1){const v=new Array(f.length).fill(u?p.ZERO:void 0),t=f.reduce((k,S,N)=>p.is0(S)?k:(v[N]=k,p.mul(k,S)),p.ONE),d=p.inv(t);return f.reduceRight((k,S,N)=>p.is0(S)?k:(v[N]=p.mul(k,v[N]),p.mul(k,S)),d),v}function Qo(p,f){const u=(p.ORDER-je)/kn,v=p.pow(f,u),t=p.eql(v,p.ONE),d=p.eql(v,p.ZERO),k=p.eql(v,p.neg(p.ONE));if(!t&&!d&&!k)throw new Error("invalid Legendre symbol result");return t?1:d?0:-1}function zm(p,f){f!==void 0&&U2(f);const u=f!==void 0?f:p.toString(2).length,v=Math.ceil(u/8);return{nBitLength:u,nByteLength:v}}function xr(p,f,u=!1,v={}){if(p<=Ke)throw new Error("invalid field: expected ORDER > 0, got "+p);let t,d;if(typeof f=="object"&&f!=null){if(v.sqrt||u)throw new Error("cannot specify opts in two arguments");const z=f;z.BITS&&(t=z.BITS),z.sqrt&&(d=z.sqrt),typeof z.isLE=="boolean"&&(u=z.isLE)}else typeof f=="number"&&(t=f),v.sqrt&&(d=v.sqrt);const{nBitLength:k,nByteLength:S}=zm(p,t);if(S>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let N;const L=Object.freeze({ORDER:p,isLE:u,BITS:k,BYTES:S,MASK:mr(k),ZERO:Ke,ONE:je,create:z=>ct(z,p),isValid:z=>{if(typeof z!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof z);return Ke<=z&&z<p},is0:z=>z===Ke,isValidNot0:z=>!L.is0(z)&&L.isValid(z),isOdd:z=>(z&je)===je,neg:z=>ct(-z,p),eql:(z,j)=>z===j,sqr:z=>ct(z*z,p),add:(z,j)=>ct(z+j,p),sub:(z,j)=>ct(z-j,p),mul:(z,j)=>ct(z*j,p),pow:(z,j)=>Lm(L,z,j),div:(z,j)=>ct(z*Xo(j,p),p),sqrN:z=>z*z,addN:(z,j)=>z+j,subN:(z,j)=>z-j,mulN:(z,j)=>z*j,inv:z=>Xo(z,p),sqrt:d||(z=>(N||(N=Dm(p)),N(L,z))),toBytes:z=>u?N4(z,S):mi(z,S),fromBytes:z=>{if(z.length!==S)throw new Error("Field.fromBytes: expected "+S+" bytes, got "+z.length);return u?R4(z):fr(z)},invertBatch:z=>Nc(L,z),cmov:(z,j,q)=>q?j:z});return Object.freeze(L)}function Oc(p){if(typeof p!="bigint")throw new Error("field order must be bigint");const f=p.toString(2).length;return Math.ceil(f/8)}function Dc(p){const f=Oc(p);return f+Math.ceil(f/2)}function Hm(p,f,u=!1){const v=p.length,t=Oc(f),d=Dc(f);if(v<16||v<d||v>1024)throw new Error("expected "+d+"-1024 bytes of input, got "+v);const k=u?R4(p):fr(p),S=ct(k,f-je)+je;return u?N4(S,t):mi(S,t)}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const l2=BigInt(0),In=BigInt(1);function R2(p,f){const u=f.negate();return p?u:f}function Vm(p,f,u){const v=k=>k.pz,t=Nc(p.Fp,u.map(v));return u.map((k,S)=>k.toAffine(t[S])).map(p.fromAffine)}function Fc(p,f){if(!Number.isSafeInteger(p)||p<=0||p>f)throw new Error("invalid window size, expected [1.."+f+"], got W="+p)}function Yr(p,f){Fc(p,f);const u=Math.ceil(f/p)+1,v=2**(p-1),t=2**p,d=mr(p),k=BigInt(p);return{windows:u,windowSize:v,mask:d,maxNumber:t,shiftBy:k}}function Jo(p,f,u){const{windowSize:v,mask:t,maxNumber:d,shiftBy:k}=u;let S=Number(p&t),N=p>>k;S>v&&(S-=d,N+=In);const L=f*v,z=L+Math.abs(S)-1,j=S===0,q=S<0,O=f%2!==0;return{nextN:N,offset:z,isZero:j,isNeg:q,isNegF:O,offsetF:L}}function jm(p,f){if(!Array.isArray(p))throw new Error("array expected");p.forEach((u,v)=>{if(!(u instanceof f))throw new Error("invalid point at index "+v)})}function qm(p,f){if(!Array.isArray(p))throw new Error("array of scalars expected");p.forEach((u,v)=>{if(!f.isValid(u))throw new Error("invalid scalar at index "+v)})}const Xr=new WeakMap,Uc=new WeakMap;function Qr(p){return Uc.get(p)||1}function _o(p){if(p!==l2)throw new Error("invalid wNAF")}function Gm(p,f){return{constTimeNegate:R2,hasPrecomputes(u){return Qr(u)!==1},unsafeLadder(u,v,t=p.ZERO){let d=u;for(;v>l2;)v&In&&(t=t.add(d)),d=d.double(),v>>=In;return t},precomputeWindow(u,v){const{windows:t,windowSize:d}=Yr(v,f),k=[];let S=u,N=S;for(let L=0;L<t;L++){N=S,k.push(N);for(let z=1;z<d;z++)N=N.add(S),k.push(N);S=N.double()}return k},wNAF(u,v,t){let d=p.ZERO,k=p.BASE;const S=Yr(u,f);for(let N=0;N<S.windows;N++){const{nextN:L,offset:z,isZero:j,isNeg:q,isNegF:O,offsetF:_}=Jo(t,N,S);t=L,j?k=k.add(R2(O,v[_])):d=d.add(R2(q,v[z]))}return _o(t),{p:d,f:k}},wNAFUnsafe(u,v,t,d=p.ZERO){const k=Yr(u,f);for(let S=0;S<k.windows&&t!==l2;S++){const{nextN:N,offset:L,isZero:z,isNeg:j}=Jo(t,S,k);if(t=N,!z){const q=v[L];d=d.add(j?q.negate():q)}}return _o(t),d},getPrecomputes(u,v,t){let d=Xr.get(v);return d||(d=this.precomputeWindow(v,u),u!==1&&(typeof t=="function"&&(d=t(d)),Xr.set(v,d))),d},wNAFCached(u,v,t){const d=Qr(u);return this.wNAF(d,this.getPrecomputes(d,u,t),v)},wNAFCachedUnsafe(u,v,t,d){const k=Qr(u);return k===1?this.unsafeLadder(u,v,d):this.wNAFUnsafe(k,this.getPrecomputes(k,u,t),v,d)},setWindowSize(u,v){Fc(v,f),Uc.set(u,v),Xr.delete(u)}}}function Wm(p,f,u,v){let t=f,d=p.ZERO,k=p.ZERO;for(;u>l2||v>l2;)u&In&&(d=d.add(t)),v&In&&(k=k.add(t)),t=t.double(),u>>=In,v>>=In;return{p1:d,p2:k}}function Zm(p,f,u,v){jm(u,p),qm(v,f);const t=u.length,d=v.length;if(t!==d)throw new Error("arrays of points and scalars must have equal length");const k=p.ZERO,S=sy(BigInt(t));let N=1;S>12?N=S-3:S>4?N=S-2:S>0&&(N=2);const L=mr(N),z=new Array(Number(L)+1).fill(k),j=Math.floor((f.BITS-1)/N)*N;let q=k;for(let O=j;O>=0;O-=N){z.fill(k);for(let J=0;J<d;J++){const s0=v[J],o0=Number(s0>>BigInt(O)&L);z[o0]=z[o0].add(u[J])}let _=k;for(let J=z.length-1,s0=k;J>0;J--)s0=s0.add(z[J]),_=_.add(s0);if(q=q.add(_),O!==0)for(let J=0;J<N;J++)q=q.double()}return q}function $o(p,f){if(f){if(f.ORDER!==p)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return Um(f),f}else return xr(p)}function Km(p,f,u={}){if(!f||typeof f!="object")throw new Error(`expected valid ${p} CURVE object`);for(const S of["p","n","h"]){const N=f[S];if(!(typeof N=="bigint"&&N>l2))throw new Error(`CURVE.${S} must be positive bigint`)}const v=$o(f.p,u.Fp),t=$o(f.n,u.Fn),k=["Gx","Gy","a","b"];for(const S of k)if(!v.isValid(f[S]))throw new Error(`CURVE.${S} must be valid field element of CURVE.Fp`);return{Fp:v,Fn:t}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function eu(p){p.lowS!==void 0&&Ya("lowS",p.lowS),p.prehash!==void 0&&Ya("prehash",p.prehash)}class Ym extends Error{constructor(f=""){super(f)}}const Kt={Err:Ym,_tlv:{encode:(p,f)=>{const{Err:u}=Kt;if(p<0||p>256)throw new u("tlv.encode: wrong tag");if(f.length&1)throw new u("tlv.encode: unpadded data");const v=f.length/2,t=Na(v);if(t.length/2&128)throw new u("tlv.encode: long form length too big");const d=v>127?Na(t.length/2|128):"";return Na(p)+d+t+f},decode(p,f){const{Err:u}=Kt;let v=0;if(p<0||p>256)throw new u("tlv.encode: wrong tag");if(f.length<2||f[v++]!==p)throw new u("tlv.decode: wrong tlv");const t=f[v++],d=!!(t&128);let k=0;if(!d)k=t;else{const N=t&127;if(!N)throw new u("tlv.decode(long): indefinite length not supported");if(N>4)throw new u("tlv.decode(long): byte length is too big");const L=f.subarray(v,v+N);if(L.length!==N)throw new u("tlv.decode: length bytes not complete");if(L[0]===0)throw new u("tlv.decode(long): zero leftmost byte");for(const z of L)k=k<<8|z;if(v+=N,k<128)throw new u("tlv.decode(long): not minimal encoding")}const S=f.subarray(v,v+k);if(S.length!==k)throw new u("tlv.decode: wrong value length");return{v:S,l:f.subarray(v+k)}}},_int:{encode(p){const{Err:f}=Kt;if(p<N2)throw new f("integer: negative integers are not allowed");let u=Na(p);if(Number.parseInt(u[0],16)&8&&(u="00"+u),u.length&1)throw new f("unexpected DER parsing assertion: unpadded hex");return u},decode(p){const{Err:f}=Kt;if(p[0]&128)throw new f("invalid signature integer: negative");if(p[0]===0&&!(p[1]&128))throw new f("invalid signature integer: unnecessary leading zero");return fr(p)}},toSig(p){const{Err:f,_int:u,_tlv:v}=Kt,t=ut("signature",p),{v:d,l:k}=v.decode(48,t);if(k.length)throw new f("invalid signature: left bytes after parsing");const{v:S,l:N}=v.decode(2,d),{v:L,l:z}=v.decode(2,N);if(z.length)throw new f("invalid signature: left bytes after parsing");return{r:u.decode(S),s:u.decode(L)}},hexFromSig(p){const{_tlv:f,_int:u}=Kt,v=f.encode(2,u.encode(p.r)),t=f.encode(2,u.encode(p.s)),d=v+t;return f.encode(48,d)}},N2=BigInt(0),O2=BigInt(1),Xm=BigInt(2),La=BigInt(3),Qm=BigInt(4);function Jm(p,f,u){function v(t){const d=p.sqr(t),k=p.mul(d,t);return p.add(p.add(k,p.mul(t,f)),u)}return v}function Lc(p,f,u){const{BYTES:v}=p;function t(d){let k;if(typeof d=="bigint")k=d;else{let S=ut("private key",d);if(f){if(!f.includes(S.length*2))throw new Error("invalid private key");const N=new Uint8Array(v);N.set(S,N.length-S.length),S=N}try{k=p.fromBytes(S)}catch{throw new Error(`invalid private key: expected ui8a of size ${v}, got ${typeof d}`)}}if(u&&(k=p.create(k)),!p.isValidNot0(k))throw new Error("invalid private key: out of range [1..N-1]");return k}return t}function _m(p,f={}){const{Fp:u,Fn:v}=Km("weierstrass",p,f),{h:t,n:d}=p;bi(f,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object",wrapPrivateKey:"boolean"});const{endo:k}=f;if(k&&(!u.is0(p.a)||typeof k.beta!="bigint"||typeof k.splitScalar!="function"))throw new Error('invalid endo: expected "beta": bigint and "splitScalar": function');function S(){if(!u.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function N(x0,e0,T0){const{x:d0,y:m0}=e0.toAffine(),A0=u.toBytes(d0);if(Ya("isCompressed",T0),T0){S();const N0=!u.isOdd(m0);return Cn(zc(N0),A0)}else return Cn(Uint8Array.of(4),A0,u.toBytes(m0))}function L(x0){It(x0);const e0=u.BYTES,T0=e0+1,d0=2*e0+1,m0=x0.length,A0=x0[0],N0=x0.subarray(1);if(m0===T0&&(A0===2||A0===3)){const k0=u.fromBytes(N0);if(!u.isValid(k0))throw new Error("bad point: is not on curve, wrong x");const I0=q(k0);let H0;try{H0=u.sqrt(I0)}catch(Y0){const G0=Y0 instanceof Error?": "+Y0.message:"";throw new Error("bad point: is not on curve, sqrt error"+G0)}S();const h0=u.isOdd(H0);return(A0&1)===1!==h0&&(H0=u.neg(H0)),{x:k0,y:H0}}else if(m0===d0&&A0===4){const k0=u.fromBytes(N0.subarray(e0*0,e0*1)),I0=u.fromBytes(N0.subarray(e0*1,e0*2));if(!O(k0,I0))throw new Error("bad point: is not on curve");return{x:k0,y:I0}}else throw new Error(`bad point: got length ${m0}, expected compressed=${T0} or uncompressed=${d0}`)}const z=f.toBytes||N,j=f.fromBytes||L,q=Jm(u,p.a,p.b);function O(x0,e0){const T0=u.sqr(e0),d0=q(x0);return u.eql(T0,d0)}if(!O(p.Gx,p.Gy))throw new Error("bad curve params: generator point");const _=u.mul(u.pow(p.a,La),Qm),J=u.mul(u.sqr(p.b),BigInt(27));if(u.is0(u.add(_,J)))throw new Error("bad curve params: a or b");function s0(x0,e0,T0=!1){if(!u.isValid(e0)||T0&&u.is0(e0))throw new Error(`bad point coordinate ${x0}`);return e0}function o0(x0){if(!(x0 instanceof b0))throw new Error("ProjectivePoint expected")}const c0=Do((x0,e0)=>{const{px:T0,py:d0,pz:m0}=x0;if(u.eql(m0,u.ONE))return{x:T0,y:d0};const A0=x0.is0();e0==null&&(e0=A0?u.ONE:u.inv(m0));const N0=u.mul(T0,e0),k0=u.mul(d0,e0),I0=u.mul(m0,e0);if(A0)return{x:u.ZERO,y:u.ZERO};if(!u.eql(I0,u.ONE))throw new Error("invZ was invalid");return{x:N0,y:k0}}),p0=Do(x0=>{if(x0.is0()){if(f.allowInfinityPoint&&!u.is0(x0.py))return;throw new Error("bad point: ZERO")}const{x:e0,y:T0}=x0.toAffine();if(!u.isValid(e0)||!u.isValid(T0))throw new Error("bad point: x or y not field elements");if(!O(e0,T0))throw new Error("bad point: equation left != right");if(!x0.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function v0(x0,e0,T0,d0,m0){return T0=new b0(u.mul(T0.px,x0),T0.py,T0.pz),e0=R2(d0,e0),T0=R2(m0,T0),e0.add(T0)}class b0{constructor(e0,T0,d0){this.px=s0("x",e0),this.py=s0("y",T0,!0),this.pz=s0("z",d0),Object.freeze(this)}static fromAffine(e0){const{x:T0,y:d0}=e0||{};if(!e0||!u.isValid(T0)||!u.isValid(d0))throw new Error("invalid affine point");if(e0 instanceof b0)throw new Error("projective point not allowed");return u.is0(T0)&&u.is0(d0)?b0.ZERO:new b0(T0,d0,u.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(e0){return Vm(b0,"pz",e0)}static fromBytes(e0){return It(e0),b0.fromHex(e0)}static fromHex(e0){const T0=b0.fromAffine(j(ut("pointHex",e0)));return T0.assertValidity(),T0}static fromPrivateKey(e0){const T0=Lc(v,f.allowedPrivateKeyLengths,f.wrapPrivateKey);return b0.BASE.multiply(T0(e0))}static msm(e0,T0){return Zm(b0,v,e0,T0)}precompute(e0=8,T0=!0){return P0.setWindowSize(this,e0),T0||this.multiply(La),this}_setWindowSize(e0){this.precompute(e0)}assertValidity(){p0(this)}hasEvenY(){const{y:e0}=this.toAffine();if(!u.isOdd)throw new Error("Field doesn't support isOdd");return!u.isOdd(e0)}equals(e0){o0(e0);const{px:T0,py:d0,pz:m0}=this,{px:A0,py:N0,pz:k0}=e0,I0=u.eql(u.mul(T0,k0),u.mul(A0,m0)),H0=u.eql(u.mul(d0,k0),u.mul(N0,m0));return I0&&H0}negate(){return new b0(this.px,u.neg(this.py),this.pz)}double(){const{a:e0,b:T0}=p,d0=u.mul(T0,La),{px:m0,py:A0,pz:N0}=this;let k0=u.ZERO,I0=u.ZERO,H0=u.ZERO,h0=u.mul(m0,m0),V0=u.mul(A0,A0),Y0=u.mul(N0,N0),G0=u.mul(m0,A0);return G0=u.add(G0,G0),H0=u.mul(m0,N0),H0=u.add(H0,H0),k0=u.mul(e0,H0),I0=u.mul(d0,Y0),I0=u.add(k0,I0),k0=u.sub(V0,I0),I0=u.add(V0,I0),I0=u.mul(k0,I0),k0=u.mul(G0,k0),H0=u.mul(d0,H0),Y0=u.mul(e0,Y0),G0=u.sub(h0,Y0),G0=u.mul(e0,G0),G0=u.add(G0,H0),H0=u.add(h0,h0),h0=u.add(H0,h0),h0=u.add(h0,Y0),h0=u.mul(h0,G0),I0=u.add(I0,h0),Y0=u.mul(A0,N0),Y0=u.add(Y0,Y0),h0=u.mul(Y0,G0),k0=u.sub(k0,h0),H0=u.mul(Y0,V0),H0=u.add(H0,H0),H0=u.add(H0,H0),new b0(k0,I0,H0)}add(e0){o0(e0);const{px:T0,py:d0,pz:m0}=this,{px:A0,py:N0,pz:k0}=e0;let I0=u.ZERO,H0=u.ZERO,h0=u.ZERO;const V0=p.a,Y0=u.mul(p.b,La);let G0=u.mul(T0,A0),me=u.mul(d0,N0),de=u.mul(m0,k0),be=u.add(T0,d0),re=u.add(A0,N0);be=u.mul(be,re),re=u.add(G0,me),be=u.sub(be,re),re=u.add(T0,m0);let le=u.add(A0,k0);return re=u.mul(re,le),le=u.add(G0,de),re=u.sub(re,le),le=u.add(d0,m0),I0=u.add(N0,k0),le=u.mul(le,I0),I0=u.add(me,de),le=u.sub(le,I0),h0=u.mul(V0,re),I0=u.mul(Y0,de),h0=u.add(I0,h0),I0=u.sub(me,h0),h0=u.add(me,h0),H0=u.mul(I0,h0),me=u.add(G0,G0),me=u.add(me,G0),de=u.mul(V0,de),re=u.mul(Y0,re),me=u.add(me,de),de=u.sub(G0,de),de=u.mul(V0,de),re=u.add(re,de),G0=u.mul(me,re),H0=u.add(H0,G0),G0=u.mul(le,re),I0=u.mul(be,I0),I0=u.sub(I0,G0),G0=u.mul(be,me),h0=u.mul(le,h0),h0=u.add(h0,G0),new b0(I0,H0,h0)}subtract(e0){return this.add(e0.negate())}is0(){return this.equals(b0.ZERO)}multiply(e0){const{endo:T0}=f;if(!v.isValidNot0(e0))throw new Error("invalid scalar: out of range");let d0,m0;const A0=N0=>P0.wNAFCached(this,N0,b0.normalizeZ);if(T0){const{k1neg:N0,k1:k0,k2neg:I0,k2:H0}=T0.splitScalar(e0),{p:h0,f:V0}=A0(k0),{p:Y0,f:G0}=A0(H0);m0=V0.add(G0),d0=v0(T0.beta,h0,Y0,N0,I0)}else{const{p:N0,f:k0}=A0(e0);d0=N0,m0=k0}return b0.normalizeZ([d0,m0])[0]}multiplyUnsafe(e0){const{endo:T0}=f,d0=this;if(!v.isValid(e0))throw new Error("invalid scalar: out of range");if(e0===N2||d0.is0())return b0.ZERO;if(e0===O2)return d0;if(P0.hasPrecomputes(this))return this.multiply(e0);if(T0){const{k1neg:m0,k1:A0,k2neg:N0,k2:k0}=T0.splitScalar(e0),{p1:I0,p2:H0}=Wm(b0,d0,A0,k0);return v0(T0.beta,I0,H0,m0,N0)}else return P0.wNAFCachedUnsafe(d0,e0)}multiplyAndAddUnsafe(e0,T0,d0){const m0=this.multiplyUnsafe(T0).add(e0.multiplyUnsafe(d0));return m0.is0()?void 0:m0}toAffine(e0){return c0(this,e0)}isTorsionFree(){const{isTorsionFree:e0}=f;return t===O2?!0:e0?e0(b0,this):P0.wNAFCachedUnsafe(this,d).is0()}clearCofactor(){const{clearCofactor:e0}=f;return t===O2?this:e0?e0(b0,this):this.multiplyUnsafe(t)}toBytes(e0=!0){return Ya("isCompressed",e0),this.assertValidity(),z(b0,this,e0)}toRawBytes(e0=!0){return this.toBytes(e0)}toHex(e0=!0){return L2(this.toBytes(e0))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}b0.BASE=new b0(p.Gx,p.Gy,u.ONE),b0.ZERO=new b0(u.ZERO,u.ONE,u.ZERO),b0.Fp=u,b0.Fn=v;const R0=v.BITS,P0=Gm(b0,f.endo?Math.ceil(R0/2):R0);return b0}function zc(p){return Uint8Array.of(p?2:3)}function $m(p,f,u={}){bi(f,{hash:"function"},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"});const v=f.randomBytes||_l,t=f.hmac||((d0,...m0)=>Ic(f.hash,d0,Cn(...m0))),{Fp:d,Fn:k}=p,{ORDER:S,BITS:N}=k;function L(d0){const m0=S>>O2;return d0>m0}function z(d0){return L(d0)?k.neg(d0):d0}function j(d0,m0){if(!k.isValidNot0(m0))throw new Error(`invalid signature ${d0}: out of range 1..CURVE.n`)}class q{constructor(m0,A0,N0){j("r",m0),j("s",A0),this.r=m0,this.s=A0,N0!=null&&(this.recovery=N0),Object.freeze(this)}static fromCompact(m0){const A0=k.BYTES,N0=ut("compactSignature",m0,A0*2);return new q(k.fromBytes(N0.subarray(0,A0)),k.fromBytes(N0.subarray(A0,A0*2)))}static fromDER(m0){const{r:A0,s:N0}=Kt.toSig(ut("DER",m0));return new q(A0,N0)}assertValidity(){}addRecoveryBit(m0){return new q(this.r,this.s,m0)}recoverPublicKey(m0){const A0=d.ORDER,{r:N0,s:k0,recovery:I0}=this;if(I0==null||![0,1,2,3].includes(I0))throw new Error("recovery id invalid");if(S*Xm<A0&&I0>1)throw new Error("recovery id is ambiguous for h>1 curve");const h0=I0===2||I0===3?N0+S:N0;if(!d.isValid(h0))throw new Error("recovery id 2 or 3 invalid");const V0=d.toBytes(h0),Y0=p.fromHex(Cn(zc((I0&1)===0),V0)),G0=k.inv(h0),me=p0(ut("msgHash",m0)),de=k.create(-me*G0),be=k.create(k0*G0),re=p.BASE.multiplyUnsafe(de).add(Y0.multiplyUnsafe(be));if(re.is0())throw new Error("point at infinify");return re.assertValidity(),re}hasHighS(){return L(this.s)}normalizeS(){return this.hasHighS()?new q(this.r,k.neg(this.s),this.recovery):this}toBytes(m0){if(m0==="compact")return Cn(k.toBytes(this.r),k.toBytes(this.s));if(m0==="der")return Ys(Kt.hexFromSig(this));throw new Error("invalid format")}toDERRawBytes(){return this.toBytes("der")}toDERHex(){return L2(this.toBytes("der"))}toCompactRawBytes(){return this.toBytes("compact")}toCompactHex(){return L2(this.toBytes("compact"))}}const O=Lc(k,u.allowedPrivateKeyLengths,u.wrapPrivateKey),_={isValidPrivateKey(d0){try{return O(d0),!0}catch{return!1}},normPrivateKeyToScalar:O,randomPrivateKey:()=>{const d0=S;return Hm(v(Dc(d0)),d0)},precompute(d0=8,m0=p.BASE){return m0.precompute(d0,!1)}};function J(d0,m0=!0){return p.fromPrivateKey(d0).toBytes(m0)}function s0(d0){if(typeof d0=="bigint")return!1;if(d0 instanceof p)return!0;const A0=ut("key",d0).length,N0=d.BYTES,k0=N0+1,I0=2*N0+1;if(!(u.allowedPrivateKeyLengths||k.BYTES===k0))return A0===k0||A0===I0}function o0(d0,m0,A0=!0){if(s0(d0)===!0)throw new Error("first arg must be private key");if(s0(m0)===!1)throw new Error("second arg must be public key");return p.fromHex(m0).multiply(O(d0)).toBytes(A0)}const c0=f.bits2int||function(d0){if(d0.length>8192)throw new Error("input is too large");const m0=fr(d0),A0=d0.length*8-N;return A0>0?m0>>BigInt(A0):m0},p0=f.bits2int_modN||function(d0){return k.create(c0(d0))},v0=mr(N);function b0(d0){return ry("num < 2^"+N,d0,N2,v0),k.toBytes(d0)}function R0(d0,m0,A0=P0){if(["recovered","canonical"].some(be=>be in A0))throw new Error("sign() legacy options not supported");const{hash:N0}=f;let{lowS:k0,prehash:I0,extraEntropy:H0}=A0;k0==null&&(k0=!0),d0=ut("msgHash",d0),eu(A0),I0&&(d0=ut("prehashed msgHash",N0(d0)));const h0=p0(d0),V0=O(m0),Y0=[b0(V0),b0(h0)];if(H0!=null&&H0!==!1){const be=H0===!0?v(d.BYTES):H0;Y0.push(ut("extraEntropy",be))}const G0=Cn(...Y0),me=h0;function de(be){const re=c0(be);if(!k.isValidNot0(re))return;const le=k.inv(re),vn=p.BASE.multiply(re).toAffine(),rn=k.create(vn.x);if(rn===N2)return;const Vt=k.create(le*k.create(me+rn*V0));if(Vt===N2)return;let v2=(vn.x===rn?0:2)|Number(vn.y&O2),sn=Vt;return k0&&L(Vt)&&(sn=z(Vt),v2^=1),new q(rn,sn,v2)}return{seed:G0,k2sig:de}}const P0={lowS:f.lowS,prehash:!1},x0={lowS:f.lowS,prehash:!1};function e0(d0,m0,A0=P0){const{seed:N0,k2sig:k0}=R0(d0,m0,A0);return iy(f.hash.outputLen,k.BYTES,t)(N0,k0)}p.BASE.precompute(8);function T0(d0,m0,A0,N0=x0){const k0=d0;m0=ut("msgHash",m0),A0=ut("publicKey",A0),eu(N0);const{lowS:I0,prehash:H0,format:h0}=N0;if("strict"in N0)throw new Error("options.strict was renamed to lowS");if(h0!==void 0&&!["compact","der","js"].includes(h0))throw new Error('format must be "compact", "der" or "js"');const V0=typeof k0=="string"||Ks(k0),Y0=!V0&&!h0&&typeof k0=="object"&&k0!==null&&typeof k0.r=="bigint"&&typeof k0.s=="bigint";if(!V0&&!Y0)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");let G0,me;try{if(Y0)if(h0===void 0||h0==="js")G0=new q(k0.r,k0.s);else throw new Error("invalid format");if(V0){try{h0!=="compact"&&(G0=q.fromDER(k0))}catch(sn){if(!(sn instanceof Kt.Err))throw sn}!G0&&h0!=="der"&&(G0=q.fromCompact(k0))}me=p.fromHex(A0)}catch{return!1}if(!G0||I0&&G0.hasHighS())return!1;H0&&(m0=f.hash(m0));const{r:de,s:be}=G0,re=p0(m0),le=k.inv(be),vn=k.create(re*le),rn=k.create(de*le),Vt=p.BASE.multiplyUnsafe(vn).add(me.multiplyUnsafe(rn));return Vt.is0()?!1:k.create(Vt.x)===de}return Object.freeze({getPublicKey:J,getSharedSecret:o0,sign:e0,verify:T0,utils:_,Point:p,Signature:q})}function e7(p){const f={a:p.a,b:p.b,p:p.Fp.ORDER,n:p.n,h:p.h,Gx:p.Gx,Gy:p.Gy},u=p.Fp,v=xr(f.n,p.nBitLength),t={Fp:u,Fn:v,allowedPrivateKeyLengths:p.allowedPrivateKeyLengths,allowInfinityPoint:p.allowInfinityPoint,endo:p.endo,wrapPrivateKey:p.wrapPrivateKey,isTorsionFree:p.isTorsionFree,clearCofactor:p.clearCofactor,fromBytes:p.fromBytes,toBytes:p.toBytes};return{CURVE:f,curveOpts:t}}function t7(p){const{CURVE:f,curveOpts:u}=e7(p),v={hash:p.hash,hmac:p.hmac,randomBytes:p.randomBytes,lowS:p.lowS,bits2int:p.bits2int,bits2int_modN:p.bits2int_modN};return{CURVE:f,curveOpts:u,ecdsaOpts:v}}function n7(p,f){return Object.assign({},f,{ProjectivePoint:f.Point,CURVE:p})}function a7(p){const{CURVE:f,curveOpts:u,ecdsaOpts:v}=t7(p),t=_m(f,u),d=$m(t,v,u);return n7(p,d)}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function r7(p,f){const u=v=>a7({...p,hash:v});return{...u(f),create:u}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Xa={p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:BigInt(1),a:BigInt(0),b:BigInt(7),Gx:BigInt("0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"),Gy:BigInt("0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")};BigInt(0);const s7=BigInt(1),Bs=BigInt(2),tu=(p,f)=>(p+f/Bs)/f;function i7(p){const f=Xa.p,u=BigInt(3),v=BigInt(6),t=BigInt(11),d=BigInt(22),k=BigInt(23),S=BigInt(44),N=BigInt(88),L=p*p*p%f,z=L*L*p%f,j=ot(z,u,f)*z%f,q=ot(j,u,f)*z%f,O=ot(q,Bs,f)*L%f,_=ot(O,t,f)*O%f,J=ot(_,d,f)*_%f,s0=ot(J,S,f)*J%f,o0=ot(s0,N,f)*s0%f,c0=ot(o0,S,f)*J%f,p0=ot(c0,u,f)*z%f,v0=ot(p0,k,f)*_%f,b0=ot(v0,v,f)*L%f,R0=ot(b0,Bs,f);if(!Ss.eql(Ss.sqr(R0),p))throw new Error("Cannot find square root");return R0}const Ss=xr(Xa.p,void 0,void 0,{sqrt:i7}),Hc=r7({...Xa,Fp:Ss,lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:p=>{const f=Xa.n,u=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),v=-s7*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),t=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),d=u,k=BigInt("0x100000000000000000000000000000000"),S=tu(d*p,f),N=tu(-v*p,f);let L=ct(p-S*u-N*t,f),z=ct(-S*v-N*d,f);const j=L>k,q=z>k;if(j&&(L=f-L),q&&(z=f-z),L>k||z>k)throw new Error("splitScalar: Endomorphism failed, k="+p);return{k1neg:j,k1:L,k2neg:q,k2:z}}}},Ru),o7=Object.freeze(Object.defineProperty({__proto__:null,secp256k1:Hc},Symbol.toStringTag,{value:"Module"}));function u7({r:p,s:f,to:u="hex",v,yParity:t}){const d=(()=>{if(t===0||t===1)return t;if(v&&(v===27n||v===28n||v>=35n))return v%2n===0n?1:0;throw new Error("Invalid `v` or `yParity` value")})(),k=`0x${new Hc.Signature(Ne(p),Ne(f)).toCompactHex()}${d===0?"1b":"1c"}`;return u==="hex"?k:kt(k)}async function Bi(p,f){var j,q,O;const{address:u,factory:v,factoryData:t,hash:d,signature:k,universalSignatureVerifierAddress:S=(O=(q=(j=p.chain)==null?void 0:j.contracts)==null?void 0:q.universalSignatureVerifier)==null?void 0:O.address,...N}=f,L=Pt(k)?k:typeof k=="object"&&"r"in k&&"s"in k?u7(k):Ie(k),z=await(async()=>!v&&!t||Zf(L)?L:Kf({address:v,data:t,signature:L}))();try{const _=S?{to:S,data:gt({abi:jo,functionName:"isValidSig",args:[u,d,z]}),...N}:{data:br({abi:jo,args:[u,d,z],bytecode:Ny}),...N},{data:J}=await z0(p,wa,"call")(_);return Cl(J??"0x0")}catch(_){try{if(ga(Wu(u),await E4({hash:d,signature:k})))return!0}catch{}if(_ instanceof A4)return!1;throw _}}async function c7(p,{address:f,message:u,factory:v,factoryData:t,signature:d,...k}){const S=mc(u);return Bi(p,{address:f,factory:v,factoryData:t,hash:S,signature:d,...k})}async function d7(p,f){const{address:u,factory:v,factoryData:t,signature:d,message:k,primaryType:S,types:N,domain:L,...z}=f,j=Lf({message:k,primaryType:S,types:N,domain:L});return Bi(p,{address:u,factory:v,factoryData:t,hash:j,signature:d,...z})}function Vc(p,{emitOnBegin:f=!1,emitMissed:u=!1,onBlockNumber:v,onError:t,poll:d,pollingInterval:k=p.pollingInterval}){const S=typeof d<"u"?d:!(p.transport.type==="webSocket"||p.transport.type==="ipc"||p.transport.type==="fallback"&&(p.transport.transports[0].config.type==="webSocket"||p.transport.transports[0].config.type==="ipc"));let N;return S?(()=>{const j=ke(["watchBlockNumber",p.uid,f,u,k]);return _t(j,{onBlockNumber:v,onError:t},q=>T2(async()=>{var O;try{const _=await z0(p,Ta,"getBlockNumber")({cacheTime:0});if(N){if(_===N)return;if(_-N>1&&u)for(let J=N+1n;J<_;J++)q.onBlockNumber(J,N),N=J}(!N||_>N)&&(q.onBlockNumber(_,N),N=_)}catch(_){(O=q.onError)==null||O.call(q,_)}},{emitOnBegin:f,interval:k}))})():(()=>{const j=ke(["watchBlockNumber",p.uid,f,u]);return _t(j,{onBlockNumber:v,onError:t},q=>{let O=!0,_=()=>O=!1;return(async()=>{try{const J=(()=>{if(p.transport.type==="fallback"){const o0=p.transport.transports.find(c0=>c0.config.type==="webSocket"||c0.config.type==="ipc");return o0?o0.value:p.transport}return p.transport})(),{unsubscribe:s0}=await J.subscribe({params:["newHeads"],onData(o0){var p0;if(!O)return;const c0=Ne((p0=o0.result)==null?void 0:p0.number);q.onBlockNumber(c0,N),N=c0},onError(o0){var c0;(c0=q.onError)==null||c0.call(q,o0)}});_=s0,O||_()}catch(J){t==null||t(J)}})(),()=>_()})})()}async function l7(p,{confirmations:f=1,hash:u,onReplaced:v,pollingInterval:t=p.pollingInterval,retryCount:d=6,retryDelay:k=({count:N})=>~~(1<<N)*200,timeout:S=18e4}){const N=ke(["waitForTransactionReceipt",p.uid,u]);let L,z,j,q=!1,O,_;const{promise:J,resolve:s0,reject:o0}=Ti(),c0=S?setTimeout(()=>{_(),O(),o0(new ql({hash:u}))},S):void 0;return O=_t(N,{onReplaced:v,resolve:s0,reject:o0},p0=>{_=z0(p,Vc,"watchBlockNumber")({emitMissed:!0,emitOnBegin:!0,poll:!0,pollingInterval:t,async onBlockNumber(v0){const b0=P0=>{clearTimeout(c0),_(),P0(),O()};let R0=v0;if(!q)try{if(j){if(f>1&&(!j.blockNumber||R0-j.blockNumber+1n<f))return;b0(()=>p0.resolve(j));return}if(L||(q=!0,await vs(async()=>{L=await z0(p,Pi,"getTransaction")({hash:u}),L.blockNumber&&(R0=L.blockNumber)},{delay:k,retryCount:d}),q=!1),j=await z0(p,As,"getTransactionReceipt")({hash:u}),f>1&&(!j.blockNumber||R0-j.blockNumber+1n<f))return;b0(()=>p0.resolve(j))}catch(P0){if(P0 instanceof ku||P0 instanceof Iu){if(!L){q=!1;return}try{z=L,q=!0;const x0=await vs(()=>z0(p,Ut,"getBlock")({blockNumber:R0,includeTransactions:!0}),{delay:k,retryCount:d,shouldRetry:({error:d0})=>d0 instanceof P4});q=!1;const e0=x0.transactions.find(({from:d0,nonce:m0})=>d0===z.from&&m0===z.nonce);if(!e0||(j=await z0(p,As,"getTransactionReceipt")({hash:e0.hash}),f>1&&(!j.blockNumber||R0-j.blockNumber+1n<f)))return;let T0="replaced";e0.to===z.to&&e0.value===z.value&&e0.input===z.input?T0="repriced":e0.from===e0.to&&e0.value===0n&&(T0="cancelled"),b0(()=>{var d0;(d0=p0.onReplaced)==null||d0.call(p0,{reason:T0,replacedTransaction:z,transaction:e0,transactionReceipt:j}),p0.resolve(j)})}catch(x0){b0(()=>p0.reject(x0))}}else b0(()=>p0.reject(P0))}}})}),J}function p7(p,{blockTag:f="latest",emitMissed:u=!1,emitOnBegin:v=!1,onBlock:t,onError:d,includeTransactions:k,poll:S,pollingInterval:N=p.pollingInterval}){const L=typeof S<"u"?S:!(p.transport.type==="webSocket"||p.transport.type==="ipc"||p.transport.type==="fallback"&&(p.transport.transports[0].config.type==="webSocket"||p.transport.transports[0].config.type==="ipc")),z=k??!1;let j;return L?(()=>{const _=ke(["watchBlocks",p.uid,f,u,v,z,N]);return _t(_,{onBlock:t,onError:d},J=>T2(async()=>{var s0;try{const o0=await z0(p,Ut,"getBlock")({blockTag:f,includeTransactions:z});if(o0.number!==null&&(j==null?void 0:j.number)!=null){if(o0.number===j.number)return;if(o0.number-j.number>1&&u)for(let c0=(j==null?void 0:j.number)+1n;c0<o0.number;c0++){const p0=await z0(p,Ut,"getBlock")({blockNumber:c0,includeTransactions:z});J.onBlock(p0,j),j=p0}}((j==null?void 0:j.number)==null||f==="pending"&&(o0==null?void 0:o0.number)==null||o0.number!==null&&o0.number>j.number)&&(J.onBlock(o0,j),j=o0)}catch(o0){(s0=J.onError)==null||s0.call(J,o0)}},{emitOnBegin:v,interval:N}))})():(()=>{let _=!0,J=!0,s0=()=>_=!1;return(async()=>{try{v&&z0(p,Ut,"getBlock")({blockTag:f,includeTransactions:z}).then(p0=>{_&&J&&(t(p0,void 0),J=!1)}).catch(d);const o0=(()=>{if(p.transport.type==="fallback"){const p0=p.transport.transports.find(v0=>v0.config.type==="webSocket"||v0.config.type==="ipc");return p0?p0.value:p.transport}return p.transport})(),{unsubscribe:c0}=await o0.subscribe({params:["newHeads"],async onData(p0){var b0;if(!_)return;const v0=await z0(p,Ut,"getBlock")({blockNumber:(b0=p0.result)==null?void 0:b0.number,includeTransactions:z}).catch(()=>{});_&&(t(v0,j),J=!1,j=v0)},onError(p0){d==null||d(p0)}});s0=c0,_||s0()}catch(o0){d==null||d(o0)}})(),()=>s0()})()}function y7(p,{address:f,args:u,batch:v=!0,event:t,events:d,fromBlock:k,onError:S,onLogs:N,poll:L,pollingInterval:z=p.pollingInterval,strict:j}){const q=typeof L<"u"?L:typeof k=="bigint"?!0:!(p.transport.type==="webSocket"||p.transport.type==="ipc"||p.transport.type==="fallback"&&(p.transport.transports[0].config.type==="webSocket"||p.transport.transports[0].config.type==="ipc")),O=j??!1;return q?(()=>{const s0=ke(["watchEvent",f,u,v,p.uid,t,z,k]);return _t(s0,{onLogs:N,onError:S},o0=>{let c0;k!==void 0&&(c0=k-1n);let p0,v0=!1;const b0=T2(async()=>{var R0;if(!v0){try{p0=await z0(p,oc,"createEventFilter")({address:f,args:u,event:t,events:d,strict:O,fromBlock:k})}catch{}v0=!0;return}try{let P0;if(p0)P0=await z0(p,hr,"getFilterChanges")({filter:p0});else{const x0=await z0(p,Ta,"getBlockNumber")({});c0&&c0!==x0?P0=await z0(p,pi,"getLogs")({address:f,args:u,event:t,events:d,fromBlock:c0+1n,toBlock:x0}):P0=[],c0=x0}if(P0.length===0)return;if(v)o0.onLogs(P0);else for(const x0 of P0)o0.onLogs([x0])}catch(P0){p0&&P0 instanceof Un&&(v0=!1),(R0=o0.onError)==null||R0.call(o0,P0)}},{emitOnBegin:!0,interval:z});return async()=>{p0&&await z0(p,gr,"uninstallFilter")({filter:p0}),b0()}})})():(()=>{let s0=!0,o0=()=>s0=!1;return(async()=>{try{const c0=(()=>{if(p.transport.type==="fallback"){const R0=p.transport.transports.find(P0=>P0.config.type==="webSocket"||P0.config.type==="ipc");return R0?R0.value:p.transport}return p.transport})(),p0=d??(t?[t]:void 0);let v0=[];p0&&(v0=[p0.flatMap(P0=>ha({abi:[P0],eventName:P0.name,args:u}))],t&&(v0=v0[0]));const{unsubscribe:b0}=await c0.subscribe({params:["logs",{address:f,topics:v0}],onData(R0){var x0;if(!s0)return;const P0=R0.result;try{const{eventName:e0,args:T0}=di({abi:p0??[],data:P0.data,topics:P0.topics,strict:O}),d0=Jt(P0,{args:T0,eventName:e0});N([d0])}catch(e0){let T0,d0;if(e0 instanceof H2||e0 instanceof ir){if(j)return;T0=e0.abiItem.name,d0=(x0=e0.abiItem.inputs)==null?void 0:x0.some(A0=>!("name"in A0&&A0.name))}const m0=Jt(P0,{args:d0?[]:{},eventName:T0});N([m0])}},onError(R0){S==null||S(R0)}});o0=b0,s0||o0()}catch(c0){S==null||S(c0)}})(),()=>o0()})()}function f7(p,{batch:f=!0,onError:u,onTransactions:v,poll:t,pollingInterval:d=p.pollingInterval}){return(typeof t<"u"?t:p.transport.type!=="webSocket"&&p.transport.type!=="ipc")?(()=>{const L=ke(["watchPendingTransactions",p.uid,f,d]);return _t(L,{onTransactions:v,onError:u},z=>{let j;const q=T2(async()=>{var O;try{if(!j)try{j=await z0(p,uc,"createPendingTransactionFilter")({});return}catch(J){throw q(),J}const _=await z0(p,hr,"getFilterChanges")({filter:j});if(_.length===0)return;if(f)z.onTransactions(_);else for(const J of _)z.onTransactions([J])}catch(_){(O=z.onError)==null||O.call(z,_)}},{emitOnBegin:!0,interval:d});return async()=>{j&&await z0(p,gr,"uninstallFilter")({filter:j}),q()}})})():(()=>{let L=!0,z=()=>L=!1;return(async()=>{try{const{unsubscribe:j}=await p.transport.subscribe({params:["newPendingTransactions"],onData(q){if(!L)return;const O=q.result;v([O])},onError(q){u==null||u(q)}});z=j,L||z()}catch(j){u==null||u(j)}})(),()=>z()})()}function m7(p){var j,q,O;const{scheme:f,statement:u,...v}=((j=p.match(b7))==null?void 0:j.groups)??{},{chainId:t,expirationTime:d,issuedAt:k,notBefore:S,requestId:N,...L}=((q=p.match(h7))==null?void 0:q.groups)??{},z=(O=p.split("Resources:")[1])==null?void 0:O.split(`
|
|
45
|
-
- `).slice(1);return{...v,...L,...t?{chainId:Number(t)}:{},...d?{expirationTime:new Date(d)}:{},...k?{issuedAt:new Date(k)}:{},...S?{notBefore:new Date(S)}:{},...N?{requestId:N}:{},...z?{resources:z}:{},...f?{scheme:f}:{},...u?{statement:u}:{}}}const b7=/^(?:(?<scheme>[a-zA-Z][a-zA-Z0-9+-.]*):\/\/)?(?<domain>[a-zA-Z0-9+-.]*(?::[0-9]{1,5})?) (?:wants you to sign in with your Ethereum account:\n)(?<address>0x[a-fA-F0-9]{40})\n\n(?:(?<statement>.*)\n\n)?/,h7=/(?:URI: (?<uri>.+))\n(?:Version: (?<version>.+))\n(?:Chain ID: (?<chainId>\d+))\n(?:Nonce: (?<nonce>[a-zA-Z0-9]+))\n(?:Issued At: (?<issuedAt>.+))(?:\nExpiration Time: (?<expirationTime>.+))?(?:\nNot Before: (?<notBefore>.+))?(?:\nRequest ID: (?<requestId>.+))?/;function g7(p){const{address:f,domain:u,message:v,nonce:t,scheme:d,time:k=new Date}=p;if(u&&v.domain!==u||t&&v.nonce!==t||d&&v.scheme!==d||v.expirationTime&&k>=v.expirationTime||v.notBefore&&k<v.notBefore)return!1;try{if(!v.address||!Me(v.address,{strict:!1})||f&&!ga(v.address,f))return!1}catch{return!1}return!0}async function w7(p,f){const{address:u,domain:v,message:t,nonce:d,scheme:k,signature:S,time:N=new Date,...L}=f,z=m7(t);if(!z.address||!g7({address:u,domain:v,message:z,nonce:d,scheme:k,time:N}))return!1;const q=mc(t);return Bi(p,{address:z.address,hash:q,signature:S,...L})}function T7(p){return{call:f=>wa(p,f),createAccessList:f=>ic(p,f),createBlockFilter:()=>Pf(p),createContractEventFilter:f=>ri(p,f),createEventFilter:f=>oc(p,f),createPendingTransactionFilter:()=>uc(p),estimateContractGas:f=>S4(p,f),estimateGas:f=>ci(p,f),getBalance:f=>B4(p,f),getBlobBaseFee:()=>kf(p),getBlock:f=>Ut(p,f),getBlockNumber:f=>Ta(p,f),getBlockTransactionCount:f=>If(p,f),getBytecode:f=>Ko(p,f),getChainId:()=>w2(p),getCode:f=>Ko(p,f),getContractEvents:f=>yi(p,f),getEip712Domain:f=>Sf(p,f),getEnsAddress:f=>df(p,f),getEnsAvatar:f=>xf(p,f),getEnsName:f=>Ef(p,f),getEnsResolver:f=>Cf(p,f),getEnsText:f=>sc(p,f),getFeeHistory:f=>Nf(p,f),estimateFeesPerGas:f=>ey(p,f),getFilterChanges:f=>hr(p,f),getFilterLogs:f=>Of(p,f),getGasPrice:()=>oi(p),getLogs:f=>pi(p,f),getProof:f=>_f(p,f),estimateMaxPriorityFeePerGas:f=>$5(p,f),getStorageAt:f=>$f(p,f),getTransaction:f=>Pi(p,f),getTransactionConfirmations:f=>em(p,f),getTransactionCount:f=>ui(p,f),getTransactionReceipt:f=>As(p,f),multicall:f=>tm(p,f),prepareTransactionRequest:f=>yr(p,f),readContract:f=>zt(p,f),sendRawTransaction:f=>vi(p,f),simulate:f=>xs(p,f),simulateBlocks:f=>xs(p,f),simulateCalls:f=>Mm(p,f),simulateContract:f=>Z4(p,f),verifyMessage:f=>c7(p,f),verifySiweMessage:f=>w7(p,f),verifyTypedData:f=>d7(p,f),uninstallFilter:f=>gr(p,f),waitForTransactionReceipt:f=>l7(p,f),watchBlocks:f=>p7(p,f),watchBlockNumber:f=>Vc(p,f),watchContractEvent:f=>K4(p,f),watchEvent:f=>y7(p,f),watchPendingTransactions:f=>f7(p,f)}}function v7(p){const{key:f="public",name:u="Public Client"}=p;return ec({...p,key:f,name:u,type:"publicClient"}).extend(T7)}async function jc(p,{chain:f}){const{id:u,name:v,nativeCurrency:t,rpcUrls:d,blockExplorers:k}=f;await p.request({method:"wallet_addEthereumChain",params:[{chainId:E0(u),chainName:v,nativeCurrency:t,rpcUrls:d.default.http,blockExplorerUrls:k?Object.values(k).map(({url:S})=>S):void 0}]},{dedupe:!0,retryCount:0})}function A7(p,f){const{abi:u,args:v,bytecode:t,...d}=f,k=br({abi:u,args:v,bytecode:t});return wr(p,{...d,...d.authorizationList?{to:null}:{},data:k})}async function x7(p){var u;return((u=p.account)==null?void 0:u.type)==="local"?[p.account.address]:(await p.request({method:"eth_accounts"},{dedupe:!0})).map(v=>pa(v))}async function E7(p,f={}){const{account:u=p.account,chainId:v}=f,t=u?Ce(u):void 0,d=v?[t==null?void 0:t.address,[E0(v)]]:[t==null?void 0:t.address],k=await p.request({method:"wallet_getCapabilities",params:d}),S={};for(const[N,L]of Object.entries(k)){S[Number(N)]={};for(let[z,j]of Object.entries(L))z==="addSubAccount"&&(z="unstable_addSubAccount"),S[Number(N)][z]=j}return typeof v=="number"?S[v]:S}async function C7(p){return await p.request({method:"wallet_getPermissions"},{dedupe:!0})}async function qc(p,f){var N;const{account:u=p.account,chainId:v,nonce:t}=f;if(!u)throw new jn({docsPath:"/docs/eip7702/prepareAuthorization"});const d=Ce(u),k=(()=>{if(f.executor)return f.executor==="self"?f.executor:Ce(f.executor)})(),S={address:f.contractAddress??f.address,chainId:v,nonce:t};return typeof S.chainId>"u"&&(S.chainId=((N=p.chain)==null?void 0:N.id)??await z0(p,w2,"getChainId")({})),typeof S.nonce>"u"&&(S.nonce=await z0(p,ui,"getTransactionCount")({address:d.address,blockTag:"pending"}),(k==="self"||k!=null&&k.address&&ga(k.address,d.address))&&(S.nonce+=1)),S}async function P7(p){return(await p.request({method:"eth_requestAccounts"},{dedupe:!0,retryCount:0})).map(u=>Wu(u))}async function k7(p,f){return p.request({method:"wallet_requestPermissions",params:[f]},{retryCount:0})}async function I7(p,f){const{id:u}=f;await p.request({method:"wallet_showCallsStatus",params:[u]})}async function B7(p,f){const{account:u=p.account}=f;if(!u)throw new jn({docsPath:"/docs/eip7702/signAuthorization"});const v=Ce(u);if(!v.signAuthorization)throw new ja({docsPath:"/docs/eip7702/signAuthorization",metaMessages:["The `signAuthorization` Action does not support JSON-RPC Accounts."],type:v.type});const t=await qc(p,f);return v.signAuthorization(t)}async function S7(p,{account:f=p.account,message:u}){if(!f)throw new jn({docsPath:"/docs/actions/wallet/signMessage"});const v=Ce(f);if(v.signMessage)return v.signMessage({message:u});const t=typeof u=="string"?a2(u):u.raw instanceof Uint8Array?Ue(u.raw):u.raw;return p.request({method:"personal_sign",params:[t,v.address]},{retryCount:0})}async function M7(p,f){var L,z,j,q;const{account:u=p.account,chain:v=p.chain,...t}=f;if(!u)throw new jn({docsPath:"/docs/actions/wallet/signTransaction"});const d=Ce(u);Gn({account:d,...f});const k=await z0(p,w2,"getChainId")({});v!==null&&Qu({currentChainId:k,chain:v});const S=(v==null?void 0:v.formatters)||((L=p.chain)==null?void 0:L.formatters),N=((z=S==null?void 0:S.transactionRequest)==null?void 0:z.format)||b2;return d.signTransaction?d.signTransaction({...t,chainId:k},{serializer:(q=(j=p.chain)==null?void 0:j.serializers)==null?void 0:q.transaction}):await p.request({method:"eth_signTransaction",params:[{...N(t),chainId:E0(k),from:d.address}]},{retryCount:0})}async function R7(p,f){const{account:u=p.account,domain:v,message:t,primaryType:d}=f;if(!u)throw new jn({docsPath:"/docs/actions/wallet/signTypedData"});const k=Ce(u),S={EIP712Domain:fc({domain:v}),...f.types};if(yc({domain:v,message:t,primaryType:d,types:S}),k.signTypedData)return k.signTypedData({domain:v,message:t,primaryType:d,types:S});const N=jf({domain:v,message:t,primaryType:d,types:S});return p.request({method:"eth_signTypedData_v4",params:[k.address,N]},{retryCount:0})}async function N7(p,{id:f}){await p.request({method:"wallet_switchEthereumChain",params:[{chainId:E0(f)}]},{retryCount:0})}async function O7(p,f){return await p.request({method:"wallet_watchAsset",params:f},{retryCount:0})}function D7(p){return{addChain:f=>jc(p,f),deployContract:f=>A7(p,f),getAddresses:()=>x7(p),getCallsStatus:f=>_4(p,f),getCapabilities:f=>E7(p,f),getChainId:()=>w2(p),getPermissions:()=>C7(p),prepareAuthorization:f=>qc(p,f),prepareTransactionRequest:f=>yr(p,f),requestAddresses:()=>P7(p),requestPermissions:f=>k7(p,f),sendCalls:f=>Wy(p,f),sendRawTransaction:f=>vi(p,f),sendTransaction:f=>wr(p,f),showCallsStatus:f=>I7(p,f),signAuthorization:f=>B7(p,f),signMessage:f=>S7(p,f),signTransaction:f=>M7(p,f),signTypedData:f=>R7(p,f),switchChain:f=>N7(p,f),waitForCallsStatus:f=>Zy(p,f),watchAsset:f=>O7(p,f),writeContract:f=>X4(p,f)}}function F7(p){const{key:f="wallet",name:u="Wallet Client",transport:v}=p;return ec({...p,key:f,name:u,transport:v,type:"walletClient"}).extend(D7)}function Qe({provider:p,chainId:f}){const u=ht[f],v=Jy(p);return F7({chain:u,transport:v})}const Gc=De({id:747474,name:"Katana",nativeCurrency:{decimals:18,name:"Ether",symbol:"ETH"},rpcUrls:{default:{http:["https://rpc.katana.network"],webSocket:["wss://rpc.katana.network"]}},blockExplorers:{default:{name:"Katana Explorer",url:"https://explorer.katanarpc.com"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:1898013}}}),Wc=De({id:129399,name:"Tatara",nativeCurrency:{decimals:18,name:"Ether",symbol:"ETH"},rpcUrls:{default:{http:["https://rpc.tatara.katanarpc.com"]}},blockExplorers:{default:{name:"Tatara Explorer",url:"https://explorer.tatara.katana.network"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:7771207}}}),U7="sui:devnet",Si="sui:testnet",L7="sui:localnet",Mi="sui:mainnet",Ri="solana:mainnet-beta",Zc="solana:testnet",Ni="solana:devnet",X={ethereum:1,base:8453,berachain:80094,binanceSmartChain:56,corn:21e6,etherlink:42793,katana:747474,morph:2818,sonic:146,swell:1923,baseSepoliaTestnet:84532,berachainBartioTestnet:80084,binanceSmartChainTestnet:97,holesky:17e3,katanaTatara:129399,morphHolesky:2810,sepolia:11155111,sonicBlazeTestnet:57054},ht={[X.ethereum]:D5,[X.base]:Kp,[X.berachain]:Xp,[X.binanceSmartChain]:Jp,[X.corn]:e8,[X.etherlink]:t8,[X.katana]:Gc,[X.morph]:F5,[X.sonic]:z5,[X.swell]:V5,[X.baseSepoliaTestnet]:Yp,[X.berachainBartioTestnet]:Qp,[X.binanceSmartChainTestnet]:_p,[X.holesky]:n8,[X.katanaTatara]:Wc,[X.morphHolesky]:U5,[X.sepolia]:L5,[X.sonicBlazeTestnet]:H5},ia=p=>[X.katana,X.katanaTatara].includes(p);function z7(p){return Object.values(X).includes(p)}async function H7({provider:p,chainId:f}){const u=Qe({provider:p,chainId:X.ethereum});await jc(u,{chain:ht[f]})}const Te={eth:"DESTINATION_BLOCKCHAIN_ETHEREUM",ethOld:"BLOCKCHAIN_ETHEREUM",base:"DESTINATION_BLOCKCHAIN_BASE",baseOld:"BLOCKCHAIN_BASE",bsc:"DESTINATION_BLOCKCHAIN_BSC",bscOld:"BLOCKCHAIN_BSC",katana:"DESTINATION_BLOCKCHAIN_KATANA",katanaOld:"BLOCKCHAIN_KATANA",sui:"DESTINATION_BLOCKCHAIN_SUI",suiOld:"BLOCKCHAIN_SUI",sonic:"DESTINATION_BLOCKCHAIN_SONIC",sonicOld:"BLOCKCHAIN_SONIC",solana:"DESTINATION_BLOCKCHAIN_SOLANA",solanaOld:"BLOCKCHAIN_SOLANA"};function Er(p){if(p===X.ethereum||p===X.holesky||p===X.sepolia)return Te.eth;if(p===X.base||p===X.baseSepoliaTestnet)return Te.base;if(p===X.binanceSmartChain||p===X.binanceSmartChainTestnet)return Te.bsc;if(p===X.katana||p===X.katanaTatara)return Te.katana;if(p===X.sonic||p===X.sonicBlazeTestnet)return Te.sonic;if(p===Si||p===Mi)return Te.sui;if(p===Ni||p===Zc||p===Ri)return Te.solana;throw new Error(`Unknown chain ID: ${p}`)}const Kc=p=>p===se.prod?X.ethereum:X.holesky,Yc=p=>p===se.prod?X.binanceSmartChain:X.binanceSmartChainTestnet,Xc=p=>p===se.prod?X.base:X.baseSepoliaTestnet,Qc=p=>p===se.prod?Mi:Si,Jc=p=>p===se.prod?X.sonic:X.sonicBlazeTestnet,_c=p=>p===se.prod?Ri:Ni;function Oi(p,f=Vn){switch(p){case Te.eth:case Te.ethOld:return Kc(f);case Te.base:case Te.baseOld:return Xc(f);case Te.bsc:case Te.bscOld:return Yc(f);case Te.katana:case Te.katanaOld:return f==="prod"?X.katana:X.katanaTatara;case Te.sui:case Te.suiOld:return Qc(f);case Te.sonic:case Te.sonicOld:return Jc(f);case Te.solana:case Te.solanaOld:return _c(f);default:return X.ethereum}}function Je(p){return typeof p=="string"?p:(u=>{var v;return!!(u&&typeof u=="object"&&"data"in u&&u.data&&typeof u.data=="object"&&"message"in u.data&&((v=u==null?void 0:u.data)!=null&&v.message)&&typeof u.data.message=="string")})(p)?p.data.message:p instanceof Error?V7(p):j7(p)}function V7(p){return p.response?p.response.data.message:p.message}function j7(p){return p&&typeof p=="object"&&"message"in p&&typeof p.message=="string"?p.message:"Unknown error"}class $c extends Error{constructor(f,u,v){const t=`Could not determine the ${f} contract address for given chain id: ${u} (env: ${v||"undefined"})`;super(t),this.token=f,this.chainId=u}}var K0=(p=>(p.LBTC="LBTC",p.BTCB="BTCB",p.BTCK="BTCK",p.cbBTC="cbBTC",p.eBTC="eBTC",p.wBTC="wBTC",p.wBTCN="wBTCN",p))(K0||{});const e6={TOKEN_SYMBOL_STLBTC:"LBTC"},t6={LBTC:{[se.prod]:{[X.ethereum]:"0x8236a87084f8b84306f72007f36f2618a5634494",[X.base]:"0xecAc9C5F704e954931349Da37F60E39f515c11c1",[X.berachain]:"0xecAc9C5F704e954931349Da37F60E39f515c11c1",[X.binanceSmartChain]:"0xecAc9C5F704e954931349Da37F60E39f515c11c1",[X.corn]:"0xecAc9C5F704e954931349Da37F60E39f515c11c1",[X.katana]:"0xecAc9C5F704e954931349Da37F60E39f515c11c1",[X.morph]:"0xecAc9C5F704e954931349Da37F60E39f515c11c1",[X.sonic]:"0xecAc9C5F704e954931349Da37F60E39f515c11c1",[X.swell]:"0xecAc9C5F704e954931349Da37F60E39f515c11c1"},[se.stage]:{[X.baseSepoliaTestnet]:"0x731eFa688F3679688cf60A3993b8658138953ED6",[X.berachainBartioTestnet]:"0xc47e4b3124597FDF8DD07843D4a7052F2eE80C30",[X.binanceSmartChainTestnet]:"0x731eFa688F3679688cf60A3993b8658138953ED6",[X.holesky]:"0xED7bfd5C1790576105Af4649817f6d35A75CD818",[X.katanaTatara]:"0x731eFa688F3679688cf60A3993b8658138953ED6",[X.sepolia]:"0xc47e4b3124597fdf8dd07843d4a7052f2ee80c30",[X.sonicBlazeTestnet]:"0x731eFa688F3679688cf60A3993b8658138953ED6"},[se.testnet]:{[X.berachainBartioTestnet]:"0xc47e4b3124597FDF8DD07843D4a7052F2eE80C30",[X.binanceSmartChainTestnet]:"0x107Fc7d90484534704dD2A9e24c7BD45DB4dD1B5",[X.holesky]:"0x38A13AB20D15ffbE5A7312d2336EF1552580a4E2",[X.sepolia]:"0xc47e4b3124597fdf8dd07843d4a7052f2ee80c30",[X.sonicBlazeTestnet]:"0x107Fc7d90484534704dD2A9e24c7BD45DB4dD1B5",[X.katanaTatara]:"0x107Fc7d90484534704dD2A9e24c7BD45DB4dD1B5"},[se.dev]:{[X.katanaTatara]:"0xc47e4b3124597FDF8DD07843D4a7052F2eE80C30"}},BTCB:{[se.prod]:{[X.binanceSmartChain]:"0x7130d2a12b9bcbfae4f2634d864a1ee1ce3ead9c"}},BTCK:{[se.prod]:{[X.katana]:"0xB0F70C0bD6FD87dbEb7C10dC692a2a6106817072",[X.katanaTatara]:void 0},[se.stage]:{[X.katana]:void 0,[X.katanaTatara]:"0x600e4006278EB11FA1691cA0FE6C5fcfC4992d58"},[se.testnet]:{[X.katana]:void 0,[X.katanaTatara]:"0x20eA7b8ABb4B583788F1DFC738C709a2d9675681"},[se.dev]:{[X.katana]:void 0,[X.katanaTatara]:"0xA74D838817f3098166d74a141b7d241efB15F42c"}},eBTC:{[se.prod]:{[X.ethereum]:"0x657e8c867d8b37dcc18fa4caead9c45eb088c642"}},wBTC:{[se.prod]:{[X.ethereum]:"0x2260fac5e5542a773aa44fbcfedf7c193bc2c599"}},wBTCN:{[se.prod]:{[X.corn]:"0xda5dDd7270381A7C2717aD10D1c0ecB19e3CDFb2"}}},Dt="https://bff.prod.lombard.finance/multi-rpc/proxy";X.ethereum+"",`${Dt}`,X.base+"",`${Dt}`,X.binanceSmartChain+"",X.corn+"",`${Dt}`,X.katana+"",`${Dt}`,X.sonic+"",`${Dt}`,X.baseSepoliaTestnet+"",`${Dt}`,X.binanceSmartChainTestnet+"",X.holesky+"",`${Dt}`,X.katanaTatara+"",`${Dt}`,X.sepolia+"",`${Dt}`,X.sonicBlazeTestnet+"",`${Dt}`;function q7(p){const{bffApiUrl:f}=Ae(p),u=`${f}/multi-rpc/proxy`;return{[X.ethereum]:`${u}/eth`,[X.base]:`${u}/base`,[X.binanceSmartChain]:"https://bsc-dataseed.bnbchain.org",[X.corn]:`${u}/corn_maizenet`,[X.katana]:`${u}/katana`,[X.sonic]:`${u}/sonic_mainnet`,[X.baseSepoliaTestnet]:`${u}/base_sepolia`,[X.binanceSmartChainTestnet]:"https://bsc-testnet-dataseed.bnbchain.org",[X.holesky]:`${u}/eth_holesky`,[X.katanaTatara]:`${u}/katana_tatara`,[X.sepolia]:`${u}/eth_sepolia`,[X.sonicBlazeTestnet]:`${u}/sonic_blaze_testnet`}}const G7=[X.ethereum,X.base,X.berachain,X.binanceSmartChain,X.corn,X.etherlink,X.katana,X.morph,X.sonic,X.swell],va=p=>G7.includes(p)?se.prod:se.stage;function Re({chainId:p,rpcUrl:f,env:u}){const v=f?{[p]:f}:void 0,t=u||va(p),k={...q7(t),...v},S=ht[p],N=nf(k[p]);return v7({chain:S,transport:N})}const W7=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"uint256",name:"dustLimit",type:"uint256"}],name:"AmountBelowDustLimit",type:"error"},{inputs:[{internalType:"uint256",name:"fee",type:"uint256"}],name:"AmountLessThanCommission",type:"error"},{inputs:[],name:"ECDSAInvalidSignature",type:"error"},{inputs:[{internalType:"uint256",name:"length",type:"uint256"}],name:"ECDSAInvalidSignatureLength",type:"error"},{inputs:[{internalType:"bytes32",name:"s",type:"bytes32"}],name:"ECDSAInvalidSignatureS",type:"error"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"allowance",type:"uint256"},{internalType:"uint256",name:"needed",type:"uint256"}],name:"ERC20InsufficientAllowance",type:"error"},{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"uint256",name:"balance",type:"uint256"},{internalType:"uint256",name:"needed",type:"uint256"}],name:"ERC20InsufficientBalance",type:"error"},{inputs:[{internalType:"address",name:"approver",type:"address"}],name:"ERC20InvalidApprover",type:"error"},{inputs:[{internalType:"address",name:"receiver",type:"address"}],name:"ERC20InvalidReceiver",type:"error"},{inputs:[{internalType:"address",name:"sender",type:"address"}],name:"ERC20InvalidSender",type:"error"},{inputs:[{internalType:"address",name:"spender",type:"address"}],name:"ERC20InvalidSpender",type:"error"},{inputs:[{internalType:"uint256",name:"deadline",type:"uint256"}],name:"ERC2612ExpiredSignature",type:"error"},{inputs:[{internalType:"address",name:"signer",type:"address"},{internalType:"address",name:"owner",type:"address"}],name:"ERC2612InvalidSigner",type:"error"},{inputs:[],name:"EnforcedPause",type:"error"},{inputs:[],name:"ExpectedPause",type:"error"},{inputs:[],name:"FeeGreaterThanAmount",type:"error"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"currentNonce",type:"uint256"}],name:"InvalidAccountNonce",type:"error"},{inputs:[],name:"InvalidDustFeeRate",type:"error"},{inputs:[],name:"InvalidInitialization",type:"error"},{inputs:[],name:"InvalidInputLength",type:"error"},{inputs:[],name:"InvalidUserSignature",type:"error"},{inputs:[],name:"KnownDestination",type:"error"},{inputs:[],name:"NotInitializing",type:"error"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"OwnableInvalidOwner",type:"error"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"OwnableUnauthorizedAccount",type:"error"},{inputs:[],name:"PayloadAlreadyUsed",type:"error"},{inputs:[],name:"ReentrancyGuardReentrantCall",type:"error"},{inputs:[],name:"ScriptPubkeyUnsupported",type:"error"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"UnauthorizedAccount",type:"error"},{inputs:[{internalType:"bytes4",name:"action",type:"bytes4"}],name:"UnexpectedAction",type:"error"},{inputs:[],name:"UnknownDestination",type:"error"},{inputs:[{internalType:"uint256",name:"fromChainId",type:"uint256"},{internalType:"address",name:"fromContract",type:"address"}],name:"UnknownOriginContract",type:"error"},{inputs:[{internalType:"uint256",name:"expiry",type:"uint256"}],name:"UserSignatureExpired",type:"error"},{inputs:[],name:"WithdrawalsDisabled",type:"error"},{inputs:[],name:"WrongChainId",type:"error"},{inputs:[],name:"ZeroAddress",type:"error"},{inputs:[],name:"ZeroAddress",type:"error"},{inputs:[],name:"ZeroAmount",type:"error"},{inputs:[],name:"ZeroChainId",type:"error"},{inputs:[],name:"ZeroContractHash",type:"error"},{inputs:[],name:"ZeroFee",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"prevVal",type:"address"},{indexed:!0,internalType:"address",name:"newVal",type:"address"}],name:"BasculeChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"prevVal",type:"address"},{indexed:!0,internalType:"address",name:"newVal",type:"address"}],name:"BridgeChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint64",name:"prevValue",type:"uint64"},{indexed:!0,internalType:"uint64",name:"newValue",type:"uint64"}],name:"BurnCommissionChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"claimer",type:"address"},{indexed:!1,internalType:"bool",name:"isClaimer",type:"bool"}],name:"ClaimerUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"prevVal",type:"address"},{indexed:!0,internalType:"address",name:"newVal",type:"address"}],name:"ConsortiumChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"oldRate",type:"uint256"},{indexed:!0,internalType:"uint256",name:"newRate",type:"uint256"}],name:"DustFeeRateChanged",type:"event"},{anonymous:!1,inputs:[],name:"EIP712DomainChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"oldFee",type:"uint256"},{indexed:!0,internalType:"uint256",name:"newFee",type:"uint256"}],name:"FeeChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"fee",type:"uint256"},{indexed:!1,internalType:"bytes",name:"userSignature",type:"bytes"}],name:"FeeCharged",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint64",name:"version",type:"uint64"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"recipient",type:"address"},{indexed:!0,internalType:"bytes32",name:"payloadHash",type:"bytes32"},{indexed:!1,internalType:"bytes",name:"payload",type:"bytes"}],name:"MintProofConsumed",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"minter",type:"address"},{indexed:!1,internalType:"bool",name:"isMinter",type:"bool"}],name:"MinterUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"string",name:"name",type:"string"},{indexed:!1,internalType:"string",name:"symbol",type:"string"}],name:"NameAndSymbolChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferStarted",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:"address",name:"account",type:"address"}],name:"Paused",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousPauser",type:"address"},{indexed:!0,internalType:"address",name:"newPauser",type:"address"}],name:"PauserRoleTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"prevValue",type:"address"},{indexed:!0,internalType:"address",name:"newValue",type:"address"}],name:"TreasuryAddressChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Unpaused",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"fromAddress",type:"address"},{indexed:!1,internalType:"bytes",name:"scriptPubKey",type:"bytes"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"UnstakeRequest",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bool",name:"",type:"bool"}],name:"WithdrawalsEnabled",type:"event"},{inputs:[],name:"Bascule",outputs:[{internalType:"contract IBascule",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"DOMAIN_SEPARATOR",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"acceptOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newClaimer",type:"address"}],name:"addClaimer",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newMinter",type:"address"}],name:"addMinter",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address[]",name:"to",type:"address[]"},{internalType:"uint256[]",name:"amount",type:"uint256[]"}],name:"batchMint",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes[]",name:"payload",type:"bytes[]"},{internalType:"bytes[]",name:"proof",type:"bytes[]"}],name:"batchMint",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes[]",name:"mintPayload",type:"bytes[]"},{internalType:"bytes[]",name:"proof",type:"bytes[]"},{internalType:"bytes[]",name:"feePayload",type:"bytes[]"},{internalType:"bytes[]",name:"userSignature",type:"bytes[]"}],name:"batchMintWithFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"burn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"burn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"scriptPubkey",type:"bytes"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"calcUnstakeRequestAmount",outputs:[{internalType:"uint256",name:"amountAfterFee",type:"uint256"},{internalType:"bool",name:"isAboveDust",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"newVal",type:"address"}],name:"changeBascule",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newBridge",type:"address"}],name:"changeBridge",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint64",name:"newValue",type:"uint64"}],name:"changeBurnCommission",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newVal",type:"address"}],name:"changeConsortium",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"newRate",type:"uint256"}],name:"changeDustFeeRate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"string",name:"name_",type:"string"},{internalType:"string",name:"symbol_",type:"string"}],name:"changeNameAndSymbol",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newValue",type:"address"}],name:"changeTreasuryAddress",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"consortium",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[],name:"eip712Domain",outputs:[{internalType:"bytes1",name:"fields",type:"bytes1"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"version",type:"string"},{internalType:"uint256",name:"chainId",type:"uint256"},{internalType:"address",name:"verifyingContract",type:"address"},{internalType:"bytes32",name:"salt",type:"bytes32"},{internalType:"uint256[]",name:"extensions",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getBurnCommission",outputs:[{internalType:"uint64",name:"",type:"uint64"}],stateMutability:"view",type:"function"},{inputs:[],name:"getDustFeeRate",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getMintFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getTreasury",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"consortium_",type:"address"},{internalType:"uint64",name:"burnCommission_",type:"uint64"},{internalType:"address",name:"owner_",type:"address"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"claimer",type:"address"}],name:"isClaimer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"minter",type:"address"}],name:"isMinter",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"mint",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"payload",type:"bytes"},{internalType:"bytes",name:"proof",type:"bytes"}],name:"mint",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"mintPayload",type:"bytes"},{internalType:"bytes",name:"proof",type:"bytes"},{internalType:"bytes",name:"feePayload",type:"bytes"},{internalType:"bytes",name:"userSignature",type:"bytes"}],name:"mintWithFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"nonces",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:"pause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"paused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"pauser",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"pendingOwner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"permit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"scriptPubkey",type:"bytes"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"redeem",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"reinitialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"oldClaimer",type:"address"}],name:"removeClaimer",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"oldMinter",type:"address"}],name:"removeMinter",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"fee",type:"uint256"}],name:"setMintFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"toggleWithdrawals",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newPauser",type:"address"}],name:"transferPauserRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"unpause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"uint256",name:"fromChain",type:"uint256"},{internalType:"address",name:"fromContract",type:"address"},{internalType:"uint256",name:"toChain",type:"uint256"},{internalType:"address",name:"toContract",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint64",name:"amount",type:"uint64"},{internalType:"bytes32",name:"uniqueActionData",type:"bytes32"}],internalType:"struct Actions.DepositBridgeAction",name:"action",type:"tuple"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"}],name:"withdraw",outputs:[],stateMutability:"nonpayable",type:"function"}],Z7=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"AccessControlBadConfirmation",type:"error"},{inputs:[{internalType:"uint48",name:"schedule",type:"uint48"}],name:"AccessControlEnforcedDefaultAdminDelay",type:"error"},{inputs:[],name:"AccessControlEnforcedDefaultAdminRules",type:"error"},{inputs:[{internalType:"address",name:"defaultAdmin",type:"address"}],name:"AccessControlInvalidDefaultAdmin",type:"error"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"bytes32",name:"neededRole",type:"bytes32"}],name:"AccessControlUnauthorizedAccount",type:"error"},{inputs:[],name:"Actions_ZeroAddress",type:"error"},{inputs:[{internalType:"uint256",name:"dustLimit",type:"uint256"}],name:"AmountBelowDustLimit",type:"error"},{inputs:[{internalType:"uint256",name:"fee",type:"uint256"}],name:"AmountLessThanCommission",type:"error"},{inputs:[],name:"ECDSAInvalidSignature",type:"error"},{inputs:[{internalType:"uint256",name:"length",type:"uint256"}],name:"ECDSAInvalidSignatureLength",type:"error"},{inputs:[{internalType:"bytes32",name:"s",type:"bytes32"}],name:"ECDSAInvalidSignatureS",type:"error"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"allowance",type:"uint256"},{internalType:"uint256",name:"needed",type:"uint256"}],name:"ERC20InsufficientAllowance",type:"error"},{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"uint256",name:"balance",type:"uint256"},{internalType:"uint256",name:"needed",type:"uint256"}],name:"ERC20InsufficientBalance",type:"error"},{inputs:[{internalType:"address",name:"approver",type:"address"}],name:"ERC20InvalidApprover",type:"error"},{inputs:[{internalType:"address",name:"receiver",type:"address"}],name:"ERC20InvalidReceiver",type:"error"},{inputs:[{internalType:"address",name:"sender",type:"address"}],name:"ERC20InvalidSender",type:"error"},{inputs:[{internalType:"address",name:"spender",type:"address"}],name:"ERC20InvalidSpender",type:"error"},{inputs:[{internalType:"uint256",name:"deadline",type:"uint256"}],name:"ERC2612ExpiredSignature",type:"error"},{inputs:[{internalType:"address",name:"signer",type:"address"},{internalType:"address",name:"owner",type:"address"}],name:"ERC2612InvalidSigner",type:"error"},{inputs:[],name:"EnforcedPause",type:"error"},{inputs:[],name:"ExpectedPause",type:"error"},{inputs:[],name:"FeeGreaterThanAmount",type:"error"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"currentNonce",type:"uint256"}],name:"InvalidAccountNonce",type:"error"},{inputs:[{internalType:"address",name:"expected",type:"address"},{internalType:"address",name:"got",type:"address"}],name:"InvalidDestinationToken",type:"error"},{inputs:[],name:"InvalidDustFeeRate",type:"error"},{inputs:[],name:"InvalidInitialization",type:"error"},{inputs:[],name:"InvalidInputLength",type:"error"},{inputs:[],name:"InvalidMintAmount",type:"error"},{inputs:[{internalType:"uint256",name:"expected",type:"uint256"},{internalType:"uint256",name:"actual",type:"uint256"}],name:"InvalidPayloadSize",type:"error"},{inputs:[],name:"InvalidUserSignature",type:"error"},{inputs:[],name:"NotInitializing",type:"error"},{inputs:[],name:"PayloadAlreadyUsed",type:"error"},{inputs:[],name:"ReentrancyGuardReentrantCall",type:"error"},{inputs:[{internalType:"uint8",name:"bits",type:"uint8"},{internalType:"uint256",name:"value",type:"uint256"}],name:"SafeCastOverflowedUintDowncast",type:"error"},{inputs:[],name:"ScriptPubkeyUnsupported",type:"error"},{inputs:[{internalType:"bytes4",name:"action",type:"bytes4"}],name:"UnexpectedAction",type:"error"},{inputs:[{internalType:"uint256",name:"expiry",type:"uint256"}],name:"UserSignatureExpired",type:"error"},{inputs:[],name:"WithdrawalsDisabled",type:"error"},{inputs:[],name:"WrongChainId",type:"error"},{inputs:[],name:"ZeroAddress",type:"error"},{inputs:[],name:"ZeroAmount",type:"error"},{inputs:[],name:"ZeroFee",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"prevVal",type:"address"},{indexed:!0,internalType:"address",name:"newVal",type:"address"}],name:"BasculeChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"payloadHash",type:"bytes32"},{indexed:!1,internalType:"bytes",name:"payload",type:"bytes"}],name:"BatchMintSkipped",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint64",name:"prevValue",type:"uint64"},{indexed:!0,internalType:"uint64",name:"newValue",type:"uint64"}],name:"BurnCommissionChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"prevVal",type:"address"},{indexed:!0,internalType:"address",name:"newVal",type:"address"}],name:"ConsortiumChanged",type:"event"},{anonymous:!1,inputs:[],name:"DefaultAdminDelayChangeCanceled",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint48",name:"newDelay",type:"uint48"},{indexed:!1,internalType:"uint48",name:"effectSchedule",type:"uint48"}],name:"DefaultAdminDelayChangeScheduled",type:"event"},{anonymous:!1,inputs:[],name:"DefaultAdminTransferCanceled",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"newAdmin",type:"address"},{indexed:!1,internalType:"uint48",name:"acceptSchedule",type:"uint48"}],name:"DefaultAdminTransferScheduled",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"oldRate",type:"uint256"},{indexed:!0,internalType:"uint256",name:"newRate",type:"uint256"}],name:"DustFeeRateChanged",type:"event"},{anonymous:!1,inputs:[],name:"EIP712DomainChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"oldFee",type:"uint256"},{indexed:!0,internalType:"uint256",name:"newFee",type:"uint256"}],name:"FeeChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"fee",type:"uint256"},{indexed:!1,internalType:"bytes",name:"userSignature",type:"bytes"}],name:"FeeCharged",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint64",name:"version",type:"uint64"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"recipient",type:"address"},{indexed:!0,internalType:"bytes32",name:"payloadHash",type:"bytes32"},{indexed:!1,internalType:"bytes",name:"payload",type:"bytes"}],name:"MintProofConsumed",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"string",name:"name",type:"string"},{indexed:!1,internalType:"string",name:"symbol",type:"string"}],name:"NameAndSymbolChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Paused",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"previousAdminRole",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"newAdminRole",type:"bytes32"}],name:"RoleAdminChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"}],name:"RoleGranted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"}],name:"RoleRevoked",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"prevValue",type:"address"},{indexed:!0,internalType:"address",name:"newValue",type:"address"}],name:"TreasuryAddressChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Unpaused",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"fromAddress",type:"address"},{indexed:!1,internalType:"bytes",name:"scriptPubKey",type:"bytes"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"UnstakeRequest",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bool",name:"",type:"bool"}],name:"WithdrawalsEnabled",type:"event"},{inputs:[],name:"Bascule",outputs:[{internalType:"contract IBascule",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"CLAIMER_ROLE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"DEFAULT_ADMIN_ROLE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"DOMAIN_SEPARATOR",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"MINTER_ROLE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"OPERATOR_ROLE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"PAUSER_ROLE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"acceptDefaultAdminTransfer",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address[]",name:"to",type:"address[]"},{internalType:"uint256[]",name:"amount",type:"uint256[]"}],name:"batchMint",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes[]",name:"payload",type:"bytes[]"},{internalType:"bytes[]",name:"proof",type:"bytes[]"}],name:"batchMintV1",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes[]",name:"mintPayload",type:"bytes[]"},{internalType:"bytes[]",name:"proof",type:"bytes[]"},{internalType:"bytes[]",name:"feePayload",type:"bytes[]"},{internalType:"bytes[]",name:"userSignature",type:"bytes[]"}],name:"batchMintV1WithFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newAdmin",type:"address"}],name:"beginDefaultAdminTransfer",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"burn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"burn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"scriptPubkey",type:"bytes"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"calcUnstakeRequestAmount",outputs:[{internalType:"uint256",name:"amountAfterFee",type:"uint256"},{internalType:"bool",name:"isAboveDust",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"cancelDefaultAdminTransfer",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newVal",type:"address"}],name:"changeBascule",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint64",name:"newValue",type:"uint64"}],name:"changeBurnCommission",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newVal",type:"address"}],name:"changeConsortium",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint48",name:"newDelay",type:"uint48"}],name:"changeDefaultAdminDelay",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"newRate",type:"uint256"}],name:"changeDustFeeRate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"string",name:"name_",type:"string"},{internalType:"string",name:"symbol_",type:"string"}],name:"changeNameAndSymbol",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newValue",type:"address"}],name:"changeTreasuryAddress",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"consortium",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[],name:"defaultAdmin",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"defaultAdminDelay",outputs:[{internalType:"uint48",name:"",type:"uint48"}],stateMutability:"view",type:"function"},{inputs:[],name:"defaultAdminDelayIncreaseWait",outputs:[{internalType:"uint48",name:"",type:"uint48"}],stateMutability:"view",type:"function"},{inputs:[],name:"eip712Domain",outputs:[{internalType:"bytes1",name:"fields",type:"bytes1"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"version",type:"string"},{internalType:"uint256",name:"chainId",type:"uint256"},{internalType:"address",name:"verifyingContract",type:"address"},{internalType:"bytes32",name:"salt",type:"bytes32"},{internalType:"uint256[]",name:"extensions",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getBurnCommission",outputs:[{internalType:"uint64",name:"",type:"uint64"}],stateMutability:"view",type:"function"},{inputs:[],name:"getDustFeeRate",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getMintFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"}],name:"getRoleAdmin",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"getTreasury",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"grantRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"hasRole",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"consortium_",type:"address"},{internalType:"uint64",name:"burnCommission_",type:"uint64"},{internalType:"address",name:"treasury",type:"address"},{internalType:"address",name:"initialOwner",type:"address"},{internalType:"uint48",name:"initialOwnerDelay",type:"uint48"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"payloadHash",type:"bytes32"}],name:"isPayloadUsed",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"mint",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"payload",type:"bytes"},{internalType:"bytes",name:"proof",type:"bytes"}],name:"mintV1",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"mintPayload",type:"bytes"},{internalType:"bytes",name:"proof",type:"bytes"},{internalType:"bytes",name:"feePayload",type:"bytes"},{internalType:"bytes",name:"userSignature",type:"bytes"}],name:"mintV1WithFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"nonces",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:"pause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"paused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"pendingDefaultAdmin",outputs:[{internalType:"address",name:"newAdmin",type:"address"},{internalType:"uint48",name:"schedule",type:"uint48"}],stateMutability:"view",type:"function"},{inputs:[],name:"pendingDefaultAdminDelay",outputs:[{internalType:"uint48",name:"newDelay",type:"uint48"},{internalType:"uint48",name:"schedule",type:"uint48"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"permit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"scriptPubkey",type:"bytes"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"redeem",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"renounceRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"revokeRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"rollbackDefaultAdminDelay",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"fee",type:"uint256"}],name:"setMintFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"toggleWithdrawals",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"unpause",outputs:[],stateMutability:"nonpayable",type:"function"}];function rt(p,f,u){var k,S;const v=u||Vn;let t;p===K0.LBTC?t=W7:p===K0.BTCK?t=Z7:t=q4;const d=(S=(k=t6[p])==null?void 0:k[v])==null?void 0:S[f];if(!d)throw new $c(p,f,v);return{abi:t,address:d,chainId:f}}const n6=async(p,f)=>{const[u,v]=await p.multicall({contracts:[{...f,functionName:"symbol"},{...f,functionName:"decimals"}]});if(u.status==="success"&&v.status==="success")return{address:f.address,abi:f.abi,symbol:String(u.result),decimals:Number(v.result)}};async function Aa(p,f,u,v){const t=rt(p,f,u);if(!t)return;const d=Re({chainId:f,rpcUrl:v});return n6(d,t)}async function a6(p,f,u){const v=Re({chainId:f,rpcUrl:u});return n6(v,{abi:q4,address:p,chainId:f})}function Cr(p,f){return q0(p).multipliedBy(q0(10).pow(f)).decimalPlaces(0,q0.ROUND_HALF_UP)}function Fe(p,f){return q0(p).dividedBy(q0(10).pow(f))}const r6="sanctioned_address",K7="api/v1/address/generate",Y7="destination address is under sanctions",nu=[K0.BTCK],X7=[K0.LBTC,K0.BTCK];async function Q7({address:p,token:f=K0.LBTC,chainId:u,signature:v,eip712Data:t,env:d,referrerCode:k,partnerId:S,captchaToken:N,signatureData:L}){const{baseApiUrl:z}=Ae(d),j=Er(u);if(!X7.includes(f))throw new Error(`Unsupported token: ${f}`);let q={};try{nu.includes(f)&&(q={token_address:rt(f,u,d).address,aux_version:1})}catch(_){if(_ instanceof Error&&_ instanceof $c&&nu.includes(f))throw new Error(`Unable to generate BTC deposit address for given token: ${f} in ${u}, reason: ${_.message}`)}const O={to_address:p,to_address_signature:v,to_chain:j,partner_id:S,nonce:0,captcha:N,referrer_code:k,eip_712_data:t,sb_signature_data:L,...q};try{const{data:_}=await ue.post(K7,O,{baseURL:z});return _.address}catch(_){const J=Je(_);if(J7(J))return r6;throw new Error(J)}}function J7(p){return p.includes(Y7)}async function s6({address:p,chainId:f,env:u,limit:v,offset:t,partnerId:d}){var z;const{baseApiUrl:k}=Ae(u),S=Er(f),N={asc:!1,limit:v,offset:t,referralId:d||"lombard"};for(const[j,q]of Object.entries(N))q===void 0&&delete N[j];const L=`api/v1/address/destination/${S}/${p}`;try{const{data:j}=await ue.get(L,{baseURL:k,params:N});return j.addresses||[]}catch(j){if(ue.isAxiosError(j)){const q=(z=j.response)==null?void 0:z.data.message;throw new Error(q)}}}async function _7({address:p,chainId:f,env:u,partnerId:v,token:t=K0.LBTC}){const d=await s6({address:p,chainId:f,env:u,partnerId:v});let k;if(![K0.LBTC,K0.BTCK].includes(t))throw new Error("Unsupported token");let S;try{if(f===X.katana||f===X.katanaTatara){const L=rt(t,f,u);t===K0.BTCK?S={token_address:L.address.toLowerCase(),aux_version:1}:S={token_address:L.address.toLowerCase()}}}catch{}const N=(d||[]).filter(L=>{var j;if(!S)return!L.deposit_metadata.token_address;let z=((j=L.deposit_metadata.token_address)==null?void 0:j.toLowerCase())===S.token_address;return S.aux_version!=null&&(z=z&&L.deposit_metadata.aux_version===S.aux_version),t===K0.LBTC&&(z=z||!L.deposit_metadata.token_address),z});if(N&&N.length>0){const L=N.reduce((z,j)=>j.created_at>z.created_at?j:z,N[0]);L.deprecated||(k=L.btc_address)}if(!k)throw new Error(`No deposit address found for ${p} on chain ${f}`);return k}async function $7(p){return await s6(p)}const i6=8,Di=q0(10).pow(i6);function nn(p){return q0(p).dividedBy(Di)}function oa(p){return q0(p).multipliedBy(Di).decimalPlaces(0,q0.ROUND_HALF_UP)}var o6=(p=>(p.NOTARIZATION_STATUS_UNSPECIFIED="NOTARIZATION_STATUS_UNSPECIFIED",p.NOTARIZATION_STATUS_PENDING="NOTARIZATION_STATUS_PENDING",p.NOTARIZATION_STATUS_SUBMITTED="NOTARIZATION_STATUS_SUBMITTED",p.NOTARIZATION_STATUS_SESSION_APPROVED="NOTARIZATION_STATUS_SESSION_APPROVED",p.NOTARIZATION_STATUS_FAILED="NOTARIZATION_STATUS_FAILED",p))(o6||{}),u6=(p=>(p.SESSION_STATE_UNSPECIFIED="SESSION_STATE_UNSPECIFIED",p.SESSION_STATE_PENDING="SESSION_STATE_PENDING",p.SESSION_STATE_COMPLETED="SESSION_STATE_COMPLETED",p.SESSION_STATE_EXPIRED="SESSION_STATE_EXPIRED",p))(u6||{});async function eb({address:p,env:f}){const{baseApiUrl:u}=Ae(f),{data:v}=await ue.get(`api/v1/address/outputs-v2/${p}`,{baseURL:u});return((v==null?void 0:v.outputs)??[]).map(tb(f))}function tb(p){return f=>({txid:f.txid,index:f.index??0,blockHeight:f.block_height?Number(f.block_height):void 0,blockTime:f.block_time?Number(f.block_time):void 0,value:nn(f.value),address:f.address,chainId:Oi(f.to_chain,p),claimedTxId:f.claim_tx,isClaimed:!!f.claim_tx,rawPayload:f.raw_payload,signature:f.proof,isRestricted:!!f.sanctioned,notarizationWaitDur:f.notarization_wait_dur?Number(f.notarization_wait_dur):void 0,payload:f.payload_hash,sessionId:f.session_id,notarizationStatus:f.notarization_status,sessionState:f.session_state,tokenAddress:f.token_address})}const nb=2e-4;async function ab({env:p,chainId:f=X.ethereum,amount:u=oa(1)}){const{baseApiUrl:v}=Ae(p),t=Er(f),{data:d}=await ue.get(`api/v1/exchange/rate/${t}`,{baseURL:v,params:{amount:u}}),k=q0(d.amount_out).toNumber(),S=q0(u).dividedBy(d.amount_out).toNumber(),N=oa(nb).toNumber();return{amountOut:k,exchangeRate:S,minAmount:N}}const rb=[K0.LBTC];async function sb({env:p}){const{baseApiUrl:f}=Ae(p),u=`${f}/api/v1/ratio`,{data:v}=await ue.get(u);return v.token_ratio.map(k=>({token:e6[k.name],tokenBTCRatio:q0(k.ratio),BTCTokenRatio:q0(k.price)})).filter(k=>rb.includes(k.token)).reduce((k,S)=>{const{token:N,...L}=S;return k[S.token]=L,k},{})}async function ib({address:p,chainId:f,env:u}){const{baseApiUrl:v}=Ae(u);try{const{data:t}=await ue.get(`${v}/api/v1/claimer/get-user-signature`,{params:{user_destination_address:p,chain_id:f}});return{expirationDate:t==null?void 0:t.expiration_date,hasSignature:t==null?void 0:t.has_signature,isDelayed:t==null?void 0:t.is_delayed}}catch(t){const d=Je(t);throw new Error(d)}}async function ob({address:p,env:f}){var R0,P0,x0,e0,T0,d0,m0,A0;const{baseApiUrl:u,bffApiUrl:v}=Ae(f);if(!v||!u)throw new Error(`Could not determine the API endpoint for the provided environment: ${f||Vn}`);const t=`${u}/api/v1/referral-system/season-1/points/${p}`,d=`${u}/api/v1/task/okx/user-task-verification?address=${p}&chain=1`,k=`${v}/sentio-api/flash-event-points/${p}`,S=ue.get(t),N=ue.get(d),L=ue.get(k),[{data:z},{data:j},{data:q}]=await Promise.all([S,N,L]),O=yn(j==null?void 0:j.points),_=yn((e0=(x0=(P0=(R0=q==null?void 0:q.flashEvent1Points)==null?void 0:R0.result)==null?void 0:P0.rows)==null?void 0:x0[0])==null?void 0:e0.points),J=yn((A0=(m0=(d0=(T0=q==null?void 0:q.flashEvent2Points)==null?void 0:T0.result)==null?void 0:d0.rows)==null?void 0:m0[0])==null?void 0:A0.totalPoints),s0=_+J,o0=yn(z.holding_points),c0=yn(z.protocol_points),p0=yn(z.referee_points)+yn(z.referrals_points),v0=o0+c0+p0+O+s0,b0=Object.entries(z.protocol_points_map||{}).reduce((N0,[k0,I0])=>(N0[k0]=yn(I0),N0),{});return{holdingPoints:o0,protocolPoints:c0,referralPoints:p0,okxPoints:O,flashEventPoints:s0,totalPoints:v0,protocolPointsBreakdown:b0}}function yn(p,f=0){return Number(p)||f}var c6=(p=>(p.Completed="Completed",p.Pending="Pending",p))(c6||{});async function ub({address:p,env:f="prod",options:u}){const{baseApiUrl:v}=Ae(f);if(!p)throw new Error("No address specified.");const t=new URL(`/api/v1/address/unstakes/${p}`,v);u!=null&&u.limit&&t.searchParams.set("limit",u.limit.toString()),u!=null&&u.offset&&t.searchParams.set("offset",u.offset.toString());const{data:{unstakes:d=[]}}=await ue.get(t.toString());return d.map(k=>cb(k,f))}function cb(p,f){const u=Bn.address.fromOutputScript(Buffer.from(p.output_script,"hex"),f==="prod"?Bn.networks.bitcoin:Bn.networks.testnet),v=p.payout_txid?"Completed":"Pending";return{txHash:p.tx_hash,chainId:Oi(p.blockchain,f),blockHeight:+p.block_height,unstakeDate:new Date(+p.block_time*1e3),fromAddress:p.from_address,toAddress:u,amount:nn(p.amount),payoutTxHash:p.payout_txid,payoutTxIndex:p.payout_index?+p.payout_index:void 0,payoutTxStatus:v,sanctioned:p.sanctioned}}async function db({userDestinationAddress:p,chainId:f,env:u}){const{baseApiUrl:v}=Ae(u);try{const{data:t}=await ue.get(`${v}/api/v1/claimer/get-user-stake-and-bake-signature`,{params:{userDestinationAddress:p,chainId:f.toString()}});return{userDestinationAddress:t.user_destination_address,signature:t.signature,expirationDate:t.expiration_date,depositAmount:t.deposit_amount,chainId:t.chain_id}}catch(t){const d=Je(t);throw new Error(`Failed to get user stake and bake signature: ${d}`)}}const lb="api/v1/referral-system/referrer/";async function pb({address:p,signature:f,eip712Data:u,referrerCode:v,env:t}){const{baseApiUrl:d}=Ae(t),k={referrer_code:v,signature:f,signature_typed_data:u};try{await ue.post(`${lb}${p}`,k,{baseURL:d});return}catch(S){const N=Je(S);throw new Error(N)}}async function yb({signature:p,typedData:f,address:u,env:v}){const{baseApiUrl:t}=Ae(v);try{const{data:d}=await ue.post(`${t}/api/v1/claimer/save-user-signature`,null,{params:{typed_data:f,signature:p,user_destination_address:u}});return d.status}catch(d){const k=Je(d);throw new Error(k)}}async function fb({signature:p,typedData:f,env:u}){const{baseApiUrl:v}=Ae(u);try{const{data:t}=await ue.post(`${v}/api/v1/claimer/save-stake-and-bake-signature`,null,{params:{typed_data:f,signature:p}});return t.status}catch(t){const d=Je(t);throw new Error(d)}}const mb=JSON.parse('[{"inputs":[{"internalType":"address","name":"aDefaultAdmin","type":"address"},{"internalType":"address","name":"aPauser","type":"address"},{"internalType":"address","name":"aDepositReporter","type":"address"},{"internalType":"address","name":"aWithdrawalValidator","type":"address"},{"internalType":"uint256","name":"aMaxDeposits","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AccessControlBadConfirmation","type":"error"},{"inputs":[{"internalType":"uint48","name":"schedule","type":"uint48"}],"name":"AccessControlEnforcedDefaultAdminDelay","type":"error"},{"inputs":[],"name":"AccessControlEnforcedDefaultAdminRules","type":"error"},{"inputs":[{"internalType":"address","name":"defaultAdmin","type":"address"}],"name":"AccessControlInvalidDefaultAdmin","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"neededRole","type":"bytes32"}],"name":"AccessControlUnauthorizedAccount","type":"error"},{"inputs":[{"internalType":"bytes32","name":"depositID","type":"bytes32"}],"name":"AlreadyReported","type":"error"},{"inputs":[{"internalType":"bytes32","name":"depositID","type":"bytes32"},{"internalType":"uint256","name":"withdrawalAmount","type":"uint256"}],"name":"AlreadyWithdrawn","type":"error"},{"inputs":[],"name":"BadDepositReport","type":"error"},{"inputs":[],"name":"EnforcedPause","type":"error"},{"inputs":[],"name":"ExpectedPause","type":"error"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"SafeCastOverflowedUintDowncast","type":"error"},{"inputs":[],"name":"SameValidationThreshold","type":"error"},{"inputs":[{"internalType":"bytes32","name":"depositID","type":"bytes32"},{"internalType":"uint256","name":"withdrawalAmount","type":"uint256"}],"name":"WithdrawalFailedValidation","type":"error"},{"anonymous":false,"inputs":[],"name":"DefaultAdminDelayChangeCanceled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint48","name":"newDelay","type":"uint48"},{"indexed":false,"internalType":"uint48","name":"effectSchedule","type":"uint48"}],"name":"DefaultAdminDelayChangeScheduled","type":"event"},{"anonymous":false,"inputs":[],"name":"DefaultAdminTransferCanceled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newAdmin","type":"address"},{"indexed":false,"internalType":"uint48","name":"acceptSchedule","type":"uint48"}],"name":"DefaultAdminTransferScheduled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"reportId","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"numDeposits","type":"uint256"}],"name":"DepositsReported","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"numDeposits","type":"uint256"}],"name":"MaxDepositsUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"previousAdminRole","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"newAdminRole","type":"bytes32"}],"name":"RoleAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleRevoked","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldThreshold","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newThreshold","type":"uint256"}],"name":"UpdateValidateThreshold","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"depositID","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"withdrawalAmount","type":"uint256"}],"name":"WithdrawalNotValidated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"depositID","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"withdrawalAmount","type":"uint256"}],"name":"WithdrawalValidated","type":"event"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DEPOSIT_REPORTER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PAUSER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"VALIDATION_GUARDIAN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"WITHDRAWAL_VALIDATOR_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"acceptDefaultAdminTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAdmin","type":"address"}],"name":"beginDefaultAdminTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"cancelDefaultAdminTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint48","name":"newDelay","type":"uint48"}],"name":"changeDefaultAdminDelay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"defaultAdmin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"defaultAdminDelay","outputs":[{"internalType":"uint48","name":"","type":"uint48"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"defaultAdminDelayIncreaseWait","outputs":[{"internalType":"uint48","name":"","type":"uint48"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"depositID","type":"bytes32"}],"name":"depositHistory","outputs":[{"internalType":"enum Bascule.DepositState","name":"status","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxDeposits","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":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pendingDefaultAdmin","outputs":[{"internalType":"address","name":"newAdmin","type":"address"},{"internalType":"uint48","name":"schedule","type":"uint48"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pendingDefaultAdminDelay","outputs":[{"internalType":"uint48","name":"newDelay","type":"uint48"},{"internalType":"uint48","name":"schedule","type":"uint48"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"reportId","type":"bytes32"},{"internalType":"bytes32[]","name":"depositIDs","type":"bytes32[]"}],"name":"reportDeposits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rollbackDefaultAdminDelay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"aMaxDeposits","type":"uint256"}],"name":"setMaxDeposits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newThreshold","type":"uint256"}],"name":"updateValidateThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"validateThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"depositID","type":"bytes32"},{"internalType":"uint256","name":"withdrawalAmount","type":"uint256"}],"name":"validateWithdrawal","outputs":[],"stateMutability":"nonpayable","type":"function"}]');var D2=(p=>(p[p.UNREPORTED=0]="UNREPORTED",p[p.REPORTED=1]="REPORTED",p[p.WITHDRAWN=2]="WITHDRAWN",p))(D2||{});async function d6({deposit:p,rawPayload:f,provider:u,chainId:v,rpcUrl:t,env:d=Vn,token:k=K0.LBTC}){const S=(p==null?void 0:p.rawPayload)||f;if(!S)throw new Error("No 'rawPayload' or 'deposit' data provided. Please provide 'rawPayload' or 'deposit' parameter.");const N=Re({chainId:v,rpcUrl:t,env:d}),L=rt(k,v,d),z=await N.readContract({abi:L.abi,address:L.address,functionName:"Bascule"});if(z===Et)return 1;let j;if(u?j=Qe({provider:u,chainId:v}):j=Re({chainId:v,rpcUrl:t}),!j)throw new Error("Could not determine the client for the contract interactions. Please provide the 'provider' and 'chainId' parameters or 'chainId' and optionally the 'rpcUrl' parameter.");try{const q=Tr({abi:mb,address:z,client:j}),O=Oe(Buffer.from(S.slice(8),"hex"));return await q.read.depositHistory([O])}catch(q){throw new Error(Je(q))}}async function bb(p){return l6({token:K0.LBTC,...p})}async function hb(p){return p6({token:K0.LBTC,...p})}async function l6({token:p,chainId:f,rpcUrl:u,env:v}){if(![K0.LBTC,K0.BTCK].includes(p))throw new Error(`Unsupported token: ${p}`);const t=v||va(f),d=Re({chainId:f,rpcUrl:u,env:t}),k=rt(p,f,t),S=await d.readContract({abi:k.abi,address:k.address,functionName:"getMintFee"});return nn(String(S))}async function p6({token:p,chainId:f,rpcUrl:u,env:v}){if(![K0.LBTC,K0.BTCK].includes(p))throw new Error(`Unsupported token: ${p}`);const t=v||va(f),d=Re({chainId:f,rpcUrl:u,env:t}),k=rt(p,f,t),S=await d.readContract({abi:k.abi,address:k.address,functionName:"getBurnCommission"});return nn(String(S))}async function gb({chainId:p,rpcUrl:f,env:u}){const v=u||va(p),t=Re({chainId:p,rpcUrl:f,env:v}),d=rt(K0.LBTC,p,v),k=await t.readContract({abi:d.abi,address:d.address,functionName:"totalSupply"});return nn(String(k))}async function y6({owner:p,chainId:f,rpcUrl:u,env:v=Vn}){const t=v||va(f),d=Re({chainId:f,rpcUrl:u}),k=rt(K0.LBTC,f,t),S=await d.readContract({abi:k.abi,address:k.address,functionName:"nonces",args:[p]});return String(S)}const wb=JSON.parse('[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"uint8","name":"_decimals","type":"uint8"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"AddressEmptyCode","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"AddressInsufficientBalance","type":"error"},{"inputs":[],"name":"FailedInnerCall","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"contract Authority","name":"newAuthority","type":"address"}],"name":"AuthorityUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"asset","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"shares","type":"uint256"}],"name":"Enter","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"address","name":"asset","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint256","name":"shares","type":"uint256"}],"name":"Exit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"authority","outputs":[{"internalType":"contract Authority","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"contract ERC20","name":"asset","type":"address"},{"internalType":"uint256","name":"assetAmount","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"shareAmount","type":"uint256"}],"name":"enter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"contract ERC20","name":"asset","type":"address"},{"internalType":"uint256","name":"assetAmount","type":"uint256"},{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"shareAmount","type":"uint256"}],"name":"exit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"hook","outputs":[{"internalType":"contract BeforeTransferHook","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"bytes[]","name":"data","type":"bytes[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"}],"name":"manage","outputs":[{"internalType":"bytes[]","name":"results","type":"bytes[]"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"manage","outputs":[{"internalType":"bytes","name":"result","type":"bytes"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC1155BatchReceived","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC1155Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC721Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract Authority","name":"newAuthority","type":"address"}],"name":"setAuthority","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_hook","type":"address"}],"name":"setBeforeTransferHook","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]'),Tb=JSON.parse('[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_vault","type":"address"},{"internalType":"address","name":"payoutAddress","type":"address"},{"internalType":"uint96","name":"startingExchangeRate","type":"uint96"},{"internalType":"address","name":"_base","type":"address"},{"internalType":"uint16","name":"allowedExchangeRateChangeUpper","type":"uint16"},{"internalType":"uint16","name":"allowedExchangeRateChangeLower","type":"uint16"},{"internalType":"uint24","name":"minimumUpdateDelayInSeconds","type":"uint24"},{"internalType":"uint16","name":"managementFee","type":"uint16"},{"internalType":"uint16","name":"performanceFee","type":"uint16"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AccountantWithRateProviders__ExchangeRateAboveHighwaterMark","type":"error"},{"inputs":[],"name":"AccountantWithRateProviders__LowerBoundTooLarge","type":"error"},{"inputs":[],"name":"AccountantWithRateProviders__ManagementFeeTooLarge","type":"error"},{"inputs":[],"name":"AccountantWithRateProviders__OnlyCallableByBoringVault","type":"error"},{"inputs":[],"name":"AccountantWithRateProviders__Paused","type":"error"},{"inputs":[],"name":"AccountantWithRateProviders__PerformanceFeeTooLarge","type":"error"},{"inputs":[],"name":"AccountantWithRateProviders__UpdateDelayTooLarge","type":"error"},{"inputs":[],"name":"AccountantWithRateProviders__UpperBoundTooSmall","type":"error"},{"inputs":[],"name":"AccountantWithRateProviders__ZeroFeesOwed","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"contract Authority","name":"newAuthority","type":"address"}],"name":"AuthorityUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint24","name":"oldDelay","type":"uint24"},{"indexed":false,"internalType":"uint24","name":"newDelay","type":"uint24"}],"name":"DelayInSecondsUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint96","name":"oldRate","type":"uint96"},{"indexed":false,"internalType":"uint96","name":"newRate","type":"uint96"},{"indexed":false,"internalType":"uint64","name":"currentTime","type":"uint64"}],"name":"ExchangeRateUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"feeAsset","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"FeesClaimed","type":"event"},{"anonymous":false,"inputs":[],"name":"HighwaterMarkReset","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint16","name":"oldBound","type":"uint16"},{"indexed":false,"internalType":"uint16","name":"newBound","type":"uint16"}],"name":"LowerBoundUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint16","name":"oldFee","type":"uint16"},{"indexed":false,"internalType":"uint16","name":"newFee","type":"uint16"}],"name":"ManagementFeeUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldPayout","type":"address"},{"indexed":false,"internalType":"address","name":"newPayout","type":"address"}],"name":"PayoutAddressUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint16","name":"oldFee","type":"uint16"},{"indexed":false,"internalType":"uint16","name":"newFee","type":"uint16"}],"name":"PerformanceFeeUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"asset","type":"address"},{"indexed":false,"internalType":"bool","name":"isPegged","type":"bool"},{"indexed":false,"internalType":"address","name":"rateProvider","type":"address"}],"name":"RateProviderUpdated","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpaused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint16","name":"oldBound","type":"uint16"},{"indexed":false,"internalType":"uint16","name":"newBound","type":"uint16"}],"name":"UpperBoundUpdated","type":"event"},{"inputs":[],"name":"accountantState","outputs":[{"internalType":"address","name":"payoutAddress","type":"address"},{"internalType":"uint96","name":"highwaterMark","type":"uint96"},{"internalType":"uint128","name":"feesOwedInBase","type":"uint128"},{"internalType":"uint128","name":"totalSharesLastUpdate","type":"uint128"},{"internalType":"uint96","name":"exchangeRate","type":"uint96"},{"internalType":"uint16","name":"allowedExchangeRateChangeUpper","type":"uint16"},{"internalType":"uint16","name":"allowedExchangeRateChangeLower","type":"uint16"},{"internalType":"uint64","name":"lastUpdateTimestamp","type":"uint64"},{"internalType":"bool","name":"isPaused","type":"bool"},{"internalType":"uint24","name":"minimumUpdateDelayInSeconds","type":"uint24"},{"internalType":"uint16","name":"managementFee","type":"uint16"},{"internalType":"uint16","name":"performanceFee","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"authority","outputs":[{"internalType":"contract Authority","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"base","outputs":[{"internalType":"contract ERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract ERC20","name":"feeAsset","type":"address"}],"name":"claimFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getRate","outputs":[{"internalType":"uint256","name":"rate","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract ERC20","name":"quote","type":"address"}],"name":"getRateInQuote","outputs":[{"internalType":"uint256","name":"rateInQuote","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract ERC20","name":"quote","type":"address"}],"name":"getRateInQuoteSafe","outputs":[{"internalType":"uint256","name":"rateInQuote","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getRateSafe","outputs":[{"internalType":"uint256","name":"rate","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract ERC20","name":"","type":"address"}],"name":"rateProviderData","outputs":[{"internalType":"bool","name":"isPeggedToBase","type":"bool"},{"internalType":"contract IRateProvider","name":"rateProvider","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"resetHighwaterMark","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract Authority","name":"newAuthority","type":"address"}],"name":"setAuthority","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract ERC20","name":"asset","type":"address"},{"internalType":"bool","name":"isPeggedToBase","type":"bool"},{"internalType":"address","name":"rateProvider","type":"address"}],"name":"setRateProviderData","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint24","name":"minimumUpdateDelayInSeconds","type":"uint24"}],"name":"updateDelay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint96","name":"newExchangeRate","type":"uint96"}],"name":"updateExchangeRate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"allowedExchangeRateChangeLower","type":"uint16"}],"name":"updateLower","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"managementFee","type":"uint16"}],"name":"updateManagementFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"payoutAddress","type":"address"}],"name":"updatePayoutAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"performanceFee","type":"uint16"}],"name":"updatePerformanceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"allowedExchangeRateChangeUpper","type":"uint16"}],"name":"updateUpper","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"vault","outputs":[{"internalType":"contract BoringVault","name":"","type":"address"}],"stateMutability":"view","type":"function"}]'),vb=[{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"contract BoringVault",name:"boringVault",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"shares",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"contract BoringVault",name:"boringVault",type:"address"},{internalType:"contract AccountantWithRateProviders",name:"accountant",type:"address"}],name:"balanceOfInAssets",outputs:[{internalType:"uint256",name:"assets",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"contract ERC20",name:"depositAsset",type:"address"},{internalType:"uint256",name:"depositAmount",type:"uint256"},{internalType:"contract BoringVault",name:"boringVault",type:"address"},{internalType:"contract TellerWithMultiAssetSupport",name:"teller",type:"address"}],name:"checkUserDeposit",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"contract ERC20",name:"depositAsset",type:"address"},{internalType:"uint256",name:"depositAmount",type:"uint256"},{internalType:"contract TellerWithMultiAssetSupport",name:"teller",type:"address"}],name:"checkUserDepositWithPermit",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract AccountantWithRateProviders",name:"accountant",type:"address"}],name:"exchangeRate",outputs:[{internalType:"uint256",name:"rate",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract TellerWithMultiAssetSupport",name:"teller",type:"address"}],name:"isTellerPaused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ERC20",name:"depositAsset",type:"address"},{internalType:"uint256",name:"depositAmount",type:"uint256"},{internalType:"contract BoringVault",name:"boringVault",type:"address"},{internalType:"contract AccountantWithRateProviders",name:"accountant",type:"address"}],name:"previewDeposit",outputs:[{internalType:"uint256",name:"shares",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract BoringVault",name:"boringVault",type:"address"},{internalType:"contract AccountantWithRateProviders",name:"accountant",type:"address"}],name:"totalAssets",outputs:[{internalType:"contract ERC20",name:"asset",type:"address"},{internalType:"uint256",name:"assets",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"contract TellerWithMultiAssetSupport",name:"teller",type:"address"}],name:"userUnlockTime",outputs:[{internalType:"uint256",name:"time",type:"uint256"}],stateMutability:"view",type:"function"}],za=JSON.parse('[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AccessControlBadConfirmation","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"neededRole","type":"bytes32"}],"name":"AccessControlUnauthorizedAccount","type":"error"},{"inputs":[],"name":"Actions_ZeroAddress","type":"error"},{"inputs":[],"name":"EnforcedPause","type":"error"},{"inputs":[],"name":"ExpectedPause","type":"error"},{"inputs":[],"name":"FeeGreaterThanMaximum","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"NoDepositorSet","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[],"name":"PayloadTooLarge","type":"error"},{"inputs":[],"name":"ReentrancyGuardReentrantCall","type":"error"},{"inputs":[],"name":"WrongChainId","type":"error"},{"inputs":[],"name":"ZeroAddress","type":"error"},{"inputs":[],"name":"ZeroAmount","type":"error"},{"inputs":[],"name":"ZeroDepositAmount","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"index","type":"uint256"},{"components":[{"internalType":"bytes","name":"permitPayload","type":"bytes"},{"internalType":"bytes","name":"depositPayload","type":"bytes"},{"internalType":"bytes","name":"mintPayload","type":"bytes"},{"internalType":"bytes","name":"proof","type":"bytes"}],"indexed":false,"internalType":"struct StakeAndBake.StakeAndBakeData","name":"data","type":"tuple"}],"name":"BatchStakeAndBakeReverted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"depositor","type":"address"}],"name":"DepositorSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"oldFee","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"newFee","type":"uint256"}],"name":"FeeChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"previousAdminRole","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"newAdminRole","type":"bytes32"}],"name":"RoleAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleRevoked","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"inputs":[],"name":"CLAIMER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"FEE_OPERATOR_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAXIMUM_FEE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PAUSER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"bytes","name":"permitPayload","type":"bytes"},{"internalType":"bytes","name":"depositPayload","type":"bytes"},{"internalType":"bytes","name":"mintPayload","type":"bytes"},{"internalType":"bytes","name":"proof","type":"bytes"}],"internalType":"struct StakeAndBake.StakeAndBakeData[]","name":"data","type":"tuple[]"}],"name":"batchStakeAndBake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getStakeAndBakeDepositor","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getStakeAndBakeFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"lbtc_","type":"address"},{"internalType":"address","name":"owner_","type":"address"},{"internalType":"address","name":"operator_","type":"address"},{"internalType":"uint256","name":"fee_","type":"uint256"},{"internalType":"address","name":"claimer_","type":"address"},{"internalType":"address","name":"pauser_","type":"address"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"callerConfirmation","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"depositor","type":"address"}],"name":"setDepositor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"fee","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"bytes","name":"permitPayload","type":"bytes"},{"internalType":"bytes","name":"depositPayload","type":"bytes"},{"internalType":"bytes","name":"mintPayload","type":"bytes"},{"internalType":"bytes","name":"proof","type":"bytes"}],"internalType":"struct StakeAndBake.StakeAndBakeData","name":"data","type":"tuple"}],"name":"stakeAndBake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"}]'),Ha=JSON.parse('[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_vault","type":"address"},{"internalType":"address","name":"_accountant","type":"address"},{"internalType":"address","name":"_weth","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"TellerWithMultiAssetSupport__AssetNotSupported","type":"error"},{"inputs":[],"name":"TellerWithMultiAssetSupport__BadDepositHash","type":"error"},{"inputs":[],"name":"TellerWithMultiAssetSupport__DualDeposit","type":"error"},{"inputs":[],"name":"TellerWithMultiAssetSupport__MinimumAssetsNotMet","type":"error"},{"inputs":[],"name":"TellerWithMultiAssetSupport__MinimumMintNotMet","type":"error"},{"inputs":[],"name":"TellerWithMultiAssetSupport__Paused","type":"error"},{"inputs":[],"name":"TellerWithMultiAssetSupport__PermitFailedAndAllowanceTooLow","type":"error"},{"inputs":[],"name":"TellerWithMultiAssetSupport__ShareLockPeriodTooLong","type":"error"},{"inputs":[],"name":"TellerWithMultiAssetSupport__SharePremiumTooLarge","type":"error"},{"inputs":[],"name":"TellerWithMultiAssetSupport__SharesAreLocked","type":"error"},{"inputs":[],"name":"TellerWithMultiAssetSupport__SharesAreUnLocked","type":"error"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"TellerWithMultiAssetSupport__TransferDenied","type":"error"},{"inputs":[],"name":"TellerWithMultiAssetSupport__ZeroAssets","type":"error"},{"inputs":[],"name":"TellerWithMultiAssetSupport__ZeroShares","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"}],"name":"AllowFrom","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"}],"name":"AllowOperator","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"}],"name":"AllowTo","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"asset","type":"address"},{"indexed":false,"internalType":"bool","name":"allowDeposits","type":"bool"},{"indexed":false,"internalType":"bool","name":"allowWithdraws","type":"bool"},{"indexed":false,"internalType":"uint16","name":"sharePremium","type":"uint16"}],"name":"AssetDataUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"contract Authority","name":"newAuthority","type":"address"}],"name":"AuthorityUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"asset","type":"address"},{"indexed":false,"internalType":"uint256","name":"depositAmount","type":"uint256"}],"name":"BulkDeposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"asset","type":"address"},{"indexed":false,"internalType":"uint256","name":"shareAmount","type":"uint256"}],"name":"BulkWithdraw","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"}],"name":"DenyFrom","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"}],"name":"DenyOperator","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"}],"name":"DenyTo","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"nonce","type":"uint256"},{"indexed":true,"internalType":"address","name":"receiver","type":"address"},{"indexed":true,"internalType":"address","name":"depositAsset","type":"address"},{"indexed":false,"internalType":"uint256","name":"depositAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"shareAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"depositTimestamp","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"shareLockPeriodAtTimeOfDeposit","type":"uint256"}],"name":"Deposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"nonce","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"depositHash","type":"bytes32"},{"indexed":true,"internalType":"address","name":"user","type":"address"}],"name":"DepositRefunded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpaused","type":"event"},{"inputs":[],"name":"accountant","outputs":[{"internalType":"contract AccountantWithRateProviders","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"allowAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"allowFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"allowOperator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"allowTo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract ERC20","name":"","type":"address"}],"name":"assetData","outputs":[{"internalType":"bool","name":"allowDeposits","type":"bool"},{"internalType":"bool","name":"allowWithdraws","type":"bool"},{"internalType":"uint16","name":"sharePremium","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"authority","outputs":[{"internalType":"contract Authority","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"beforeTransfer","outputs":[],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract ERC20","name":"depositAsset","type":"address"},{"internalType":"uint256","name":"depositAmount","type":"uint256"},{"internalType":"uint256","name":"minimumMint","type":"uint256"},{"internalType":"address","name":"to","type":"address"}],"name":"bulkDeposit","outputs":[{"internalType":"uint256","name":"shares","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract ERC20","name":"withdrawAsset","type":"address"},{"internalType":"uint256","name":"shareAmount","type":"uint256"},{"internalType":"uint256","name":"minimumAssets","type":"uint256"},{"internalType":"address","name":"to","type":"address"}],"name":"bulkWithdraw","outputs":[{"internalType":"uint256","name":"assetsOut","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"denyAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"denyFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"denyOperator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"denyTo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract ERC20","name":"depositAsset","type":"address"},{"internalType":"uint256","name":"depositAmount","type":"uint256"},{"internalType":"uint256","name":"minimumMint","type":"uint256"}],"name":"deposit","outputs":[{"internalType":"uint256","name":"shares","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"depositNonce","outputs":[{"internalType":"uint96","name":"","type":"uint96"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract ERC20","name":"depositAsset","type":"address"},{"internalType":"uint256","name":"depositAmount","type":"uint256"},{"internalType":"uint256","name":"minimumMint","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"depositWithPermit","outputs":[{"internalType":"uint256","name":"shares","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"fromDenyList","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isPaused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"nativeWrapper","outputs":[{"internalType":"contract WETH","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"operatorDenyList","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"publicDepositHistory","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"address","name":"receiver","type":"address"},{"internalType":"address","name":"depositAsset","type":"address"},{"internalType":"uint256","name":"depositAmount","type":"uint256"},{"internalType":"uint256","name":"shareAmount","type":"uint256"},{"internalType":"uint256","name":"depositTimestamp","type":"uint256"},{"internalType":"uint256","name":"shareLockUpPeriodAtTimeOfDeposit","type":"uint256"}],"name":"refundDeposit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract Authority","name":"newAuthority","type":"address"}],"name":"setAuthority","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint64","name":"_shareLockPeriod","type":"uint64"}],"name":"setShareLockPeriod","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"shareLockPeriod","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"shareUnlockTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"toDenyList","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract ERC20","name":"asset","type":"address"},{"internalType":"bool","name":"allowDeposits","type":"bool"},{"internalType":"bool","name":"allowWithdraws","type":"bool"},{"internalType":"uint16","name":"sharePremium","type":"uint16"}],"name":"updateAssetData","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"vault","outputs":[{"internalType":"contract BoringVault","name":"","type":"address"}],"stateMutability":"view","type":"function"}]'),Va=JSON.parse('[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"contract Authority","name":"_auth","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AtomicQueue__Paused","type":"error"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"AtomicQueue__RequestDeadlineExceeded","type":"error"},{"inputs":[],"name":"AtomicQueue__SafeRequestAccountantOfferMismatch","type":"error"},{"inputs":[],"name":"AtomicQueue__SafeRequestCannotCastToUint88","type":"error"},{"inputs":[{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"AtomicQueue__SafeRequestDeadlineExceeded","type":"error"},{"inputs":[],"name":"AtomicQueue__SafeRequestDiscountTooLarge","type":"error"},{"inputs":[{"internalType":"uint256","name":"offerAmount","type":"uint256"},{"internalType":"uint256","name":"offerAllowance","type":"uint256"}],"name":"AtomicQueue__SafeRequestInsufficientOfferAllowance","type":"error"},{"inputs":[{"internalType":"uint256","name":"offerAmount","type":"uint256"},{"internalType":"uint256","name":"offerBalance","type":"uint256"}],"name":"AtomicQueue__SafeRequestOfferAmountGreaterThanOfferBalance","type":"error"},{"inputs":[],"name":"AtomicQueue__SafeRequestOfferAmountZero","type":"error"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"AtomicQueue__UserNotInSolve","type":"error"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"AtomicQueue__UserRepeated","type":"error"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"AtomicQueue__ZeroOfferAmount","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"address","name":"offerToken","type":"address"},{"indexed":true,"internalType":"address","name":"wantToken","type":"address"},{"indexed":false,"internalType":"uint256","name":"offerAmountSpent","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"wantAmountReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"AtomicRequestFulfilled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"address","name":"offerToken","type":"address"},{"indexed":true,"internalType":"address","name":"wantToken","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"deadline","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"minPrice","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"AtomicRequestUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"contract Authority","name":"newAuthority","type":"address"}],"name":"AuthorityUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpaused","type":"event"},{"inputs":[],"name":"MAX_DISCOUNT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"authority","outputs":[{"internalType":"contract Authority","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"contract ERC20","name":"offer","type":"address"},{"internalType":"contract ERC20","name":"want","type":"address"}],"name":"getUserAtomicRequest","outputs":[{"components":[{"internalType":"uint64","name":"deadline","type":"uint64"},{"internalType":"uint88","name":"atomicPrice","type":"uint88"},{"internalType":"uint96","name":"offerAmount","type":"uint96"},{"internalType":"bool","name":"inSolve","type":"bool"}],"internalType":"struct AtomicQueue.AtomicRequest","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract ERC20","name":"offer","type":"address"},{"internalType":"address","name":"user","type":"address"},{"components":[{"internalType":"uint64","name":"deadline","type":"uint64"},{"internalType":"uint88","name":"atomicPrice","type":"uint88"},{"internalType":"uint96","name":"offerAmount","type":"uint96"},{"internalType":"bool","name":"inSolve","type":"bool"}],"internalType":"struct AtomicQueue.AtomicRequest","name":"userRequest","type":"tuple"}],"name":"isAtomicRequestValid","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isPaused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract ERC20","name":"offer","type":"address"},{"internalType":"contract ERC20","name":"want","type":"address"},{"components":[{"internalType":"uint64","name":"deadline","type":"uint64"},{"internalType":"uint88","name":"atomicPrice","type":"uint88"},{"internalType":"uint96","name":"offerAmount","type":"uint96"},{"internalType":"bool","name":"inSolve","type":"bool"}],"internalType":"struct AtomicQueue.AtomicRequest","name":"userRequest","type":"tuple"},{"internalType":"contract AccountantWithRateProviders","name":"accountant","type":"address"},{"internalType":"uint256","name":"discount","type":"uint256"}],"name":"safeUpdateAtomicRequest","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract Authority","name":"newAuthority","type":"address"}],"name":"setAuthority","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract ERC20","name":"offer","type":"address"},{"internalType":"contract ERC20","name":"want","type":"address"},{"internalType":"address[]","name":"users","type":"address[]"},{"internalType":"bytes","name":"runData","type":"bytes"},{"internalType":"address","name":"solver","type":"address"}],"name":"solve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract ERC20","name":"offer","type":"address"},{"internalType":"contract ERC20","name":"want","type":"address"},{"components":[{"internalType":"uint64","name":"deadline","type":"uint64"},{"internalType":"uint88","name":"atomicPrice","type":"uint88"},{"internalType":"uint96","name":"offerAmount","type":"uint96"},{"internalType":"bool","name":"inSolve","type":"bool"}],"internalType":"struct AtomicQueue.AtomicRequest","name":"userRequest","type":"tuple"}],"name":"updateAtomicRequest","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"contract ERC20","name":"","type":"address"},{"internalType":"contract ERC20","name":"","type":"address"}],"name":"userAtomicRequest","outputs":[{"internalType":"uint64","name":"deadline","type":"uint64"},{"internalType":"uint88","name":"atomicPrice","type":"uint88"},{"internalType":"uint96","name":"offerAmount","type":"uint96"},{"internalType":"bool","name":"inSolve","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract ERC20","name":"offer","type":"address"},{"internalType":"contract ERC20","name":"want","type":"address"},{"internalType":"address[]","name":"users","type":"address[]"}],"name":"viewSolveMetaData","outputs":[{"components":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint8","name":"flags","type":"uint8"},{"internalType":"uint256","name":"assetsToOffer","type":"uint256"},{"internalType":"uint256","name":"assetsForWant","type":"uint256"}],"internalType":"struct AtomicQueue.SolveMetaData[]","name":"metaData","type":"tuple[]"},{"internalType":"uint256","name":"totalAssetsForWant","type":"uint256"},{"internalType":"uint256","name":"totalAssetsToOffer","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract ERC20","name":"offer","type":"address"},{"internalType":"contract ERC20","name":"want","type":"address"},{"internalType":"address[]","name":"users","type":"address[]"}],"name":"viewVerboseSolveMetaData","outputs":[{"components":[{"internalType":"address","name":"user","type":"address"},{"internalType":"bool","name":"deadlineExceeded","type":"bool"},{"internalType":"bool","name":"zeroOfferAmount","type":"bool"},{"internalType":"bool","name":"insufficientOfferBalance","type":"bool"},{"internalType":"bool","name":"insufficientOfferAllowance","type":"bool"},{"internalType":"uint256","name":"assetsToOffer","type":"uint256"},{"internalType":"uint256","name":"assetsForWant","type":"uint256"}],"internalType":"struct AtomicQueue.VerboseSolveMetaData[]","name":"metaData","type":"tuple[]"},{"internalType":"uint256","name":"totalAssetsForWant","type":"uint256"},{"internalType":"uint256","name":"totalAssetsToOffer","type":"uint256"}],"stateMutability":"view","type":"function"}]'),Ms=[X.ethereum,X.base,X.binanceSmartChain,X.corn],Tn=p=>Ms.includes(p),f6={[X.ethereum]:"ethereum",[X.base]:"base",[X.corn]:"corn",[X.binanceSmartChain]:"bnb"},Ab={ethereum:X.ethereum,base:X.base,corn:X.corn,bnb:X.binanceSmartChain},m6=[X.ethereum,X.binanceSmartChain,X.binanceSmartChainTestnet,X.holesky],b6=p=>m6.includes(p),xb=X.ethereum,Eb="0x5401b8620E5FB570064CA9114fd1e135fd77D57c",Cb="0x28634D0c5edC67CF2450E74deA49B90a4FF93dCE",Pb="0x5232bc0F5999f8dA604c42E1748A13a170F94A1B",kb={[X.ethereum]:{abi:Ha,address:"0x4E8f5128F473C6948127f9Cbca474a6700F99bab",chainId:X.ethereum},[X.base]:{abi:Ha,address:"0x2eA43384F1A98765257bc6Cb26c7131dEbdEB9B3",chainId:X.base},[X.binanceSmartChain]:{abi:Ha,address:"0x2eA43384F1A98765257bc6Cb26c7131dEbdEB9B3",chainId:X.binanceSmartChain},[X.corn]:{abi:Ha,address:"0x2eA43384F1A98765257bc6Cb26c7131dEbdEB9B3",chainId:X.corn}},Ib={[X.ethereum]:{abi:za,address:"0xC8bbF6153D7Ba105f1399D992ebd32B0541996ef",chainId:X.ethereum},[X.binanceSmartChain]:{abi:za,address:"0xC8bbF6153D7Ba105f1399D992ebd32B0541996ef",chainId:X.binanceSmartChain},[X.holesky]:{abi:za,address:"0x4A3cD83CEbb91E0Cd31EdA2Ee0F4AebfcCFCbBb6",chainId:X.holesky},[X.binanceSmartChainTestnet]:{abi:za,address:"0x72143309A662bDB4aad5cA65Ab59eD8977D047C5",chainId:X.binanceSmartChainTestnet}},Bb={[X.ethereum]:{abi:Va,address:"0x3b4aCd8879fb60586cCd74bC2F831A4C5E7DbBf8",chainId:X.ethereum},[X.base]:{abi:Va,address:"0x3b4aCd8879fb60586cCd74bC2F831A4C5E7DbBf8",chainId:X.ethereum},[X.binanceSmartChain]:{abi:Va,address:"0x3b4aCd8879fb60586cCd74bC2F831A4C5E7DbBf8",chainId:X.ethereum},[X.corn]:{abi:Va,address:"0x3b4aCd8879fb60586cCd74bC2F831A4C5E7DbBf8",chainId:X.ethereum}};var Ge=(p=>(p.Veda="veda",p))(Ge||{});const wt={veda:{defaultChainId:xb,chains:Ms,tokens:{[K0.LBTC]:Ms,[K0.BTCB]:[X.binanceSmartChain],[K0.cbBTC]:[X.ethereum,X.base],[K0.eBTC]:[X.ethereum],[K0.wBTC]:[X.ethereum],[K0.wBTCN]:[X.corn]},stakeAndBakeChains:m6,decimals:8,vaultContract:{abi:wb,address:Eb},accountantContract:{abi:Tb,address:Cb},lensContract:{abi:vb,address:Pb},spenderContracts:Ib,tellerContracts:kb,withdrawQueueContracts:Bb,queueWithdrawDiscountPercent:"0.01",queueWithdrawDaysValid:"3"}};async function Sb({vaultKey:p=Ge.Veda,chainId:f,rpcUrl:u}){const v=wt[p];if(!v)throw new Error(`Unknown vault key: ${p}`);if(!b6(f))throw new Error(`Unsupported chain id: ${f}. Please switch to one of the supported chains: ${v.stakeAndBakeChains.join(", ")}`);const t=v.spenderContracts[f];if(!t)throw new Error("Could not retrieve the stake and bake contract.");try{const d=Re({chainId:f,rpcUrl:u}),S=await Tr({abi:t.abi,address:t.address,client:d}).read.getStakeAndBakeFee();return nn(String(S))}catch(d){const k=Je(d);throw new Error(k)}}async function Fi({account:p,spender:f,amount:u,chainId:v,provider:t,rpcUrl:d,env:k}){const S=Re({chainId:v,rpcUrl:d}),N=Qe({chainId:v,provider:t}),L=rt(K0.LBTC,v,k),z=oa(u).toNumber(),{request:j}=await S.simulateContract({address:L.address,account:p,chain:ht[v],abi:L.abi,functionName:"approve",args:[f,BigInt(z)]});return await N.writeContract(j)}function Mb(p){return p.startsWith("0x")}function Be(p){return Mb(p)?p:`0x${p}`}const h6=async(p,f,u)=>{const v=await p.estimateFeesPerGas(),t=q0(String(v.maxFeePerGas)).dividedBy(String(v.maxPriorityFeePerGas)),d=u||v.maxPriorityFeePerGas,k=u?BigInt(q0(String(d)).multipliedBy(t).toFixed(0)):v.maxFeePerGas;return{gas:await p.estimateContractGas(f),maxFeePerGas:k,maxPriorityFeePerGas:d}};async function Rb({data:p,proofSignature:f,account:u,chainId:v,provider:t,rpcUrl:d,env:k}){return g6({data:p,proofSignature:f,account:u,chainId:v,provider:t,rpcUrl:d,env:k,token:K0.LBTC})}async function g6({data:p,proofSignature:f,account:u,chainId:v,provider:t,rpcUrl:d,env:k,token:S=K0.LBTC}){if(![K0.LBTC,K0.BTCK].includes(S))throw new Error("Unsupported token");if(S===K0.BTCK&&!ia(v))throw new Error("Operation not permitted");const N=rt(S,v,k),L=await d6({chainId:v,rawPayload:p,env:k,token:S});if(L!==D2.REPORTED)switch(L){case D2.UNREPORTED:throw new Error("The deposit cannot be claimed because it is unreported or potentially still pending, please try again later.");case D2.WITHDRAWN:throw new Error("The deposit cannot be claimed because it is withdrawn already.");default:throw new Error("The deposit cannot be claimed because it is blocked by bridge security.")}const z=Re({chainId:v,rpcUrl:d,env:k}),j=Qe({chainId:v,provider:t}),q={address:N.address,account:u,chain:ht[v],abi:N.abi,functionName:S===K0.BTCK?"mintV1":"mint",args:[Be(p),Be(f)]},O=ia(v)?await h6(z,q,hc("1")):{},{request:_}=await z.simulateContract({...q,...O});return await j.writeContract(_)}async function Nb({account:p,chainId:f,provider:u}){const v=Qe({chainId:f,provider:u}),t=`destination chain id is ${f}`;return await v.signMessage({account:p,message:t})}const Ob=1e3,Db=60*Ob,Fb=60*Db,Ui=24*Fb;function w6(){return Date.now()}function T6(p){return Math.round(p/1e3)}async function Ub({fee:p,expiry:f=T6(w6()+Ui),account:u,chainId:v,provider:t,env:d}){const k=rt(K0.LBTC,v,d),S=Qe({chainId:v,provider:t}),N={account:u,domain:{name:"Lombard Staked Bitcoin",version:"1",chainId:v,verifyingContract:k.address},message:{chainId:v,fee:BigInt(q0(p).toFixed()),expiry:f},primaryType:"feeApproval",types:{EIP712Domain:[{name:"name",type:"string"},{name:"version",type:"string"},{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"}],feeApproval:[{name:"chainId",type:"uint256"},{name:"fee",type:"uint256"},{name:"expiry",type:"uint256"}]}};return{signature:await S.signTypedData(N),typedData:JSON.stringify(N,(z,j)=>typeof j=="bigint"?j.toString():j)}}async function Lb({account:p,expiry:f=T6(w6()+Ui),value:u,vaultKey:v=Ge.Veda,chainId:t,provider:d,rpcUrl:k,env:S}){const N=wt[v];if(!N)throw new Error(`Unknown vault key: ${v}`);if(!b6(t))throw new Error(`Unsupported chain id: ${t}. Please switch to one of the supported chains: ${N.stakeAndBakeChains.join(", ")}`);const L=rt(K0.LBTC,t,S),z=Qe({chainId:t,provider:d}),j=N.spenderContracts[t],q=await y6({owner:p,chainId:t,rpcUrl:k}),O={account:p,domain:{name:"Lombard Staked Bitcoin",version:"1",chainId:BigInt(t),verifyingContract:L.address},types:{EIP712Domain:[{name:"name",type:"string"},{name:"version",type:"string"},{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"}],Permit:[{name:"owner",type:"address"},{name:"spender",type:"address"},{name:"value",type:"uint256"},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"}]},primaryType:"Permit",message:{owner:p,spender:j.address,value:BigInt(q0(u).toFixed()),nonce:BigInt(q),deadline:BigInt(f)}};return{signature:await z.signTypedData(O),typedData:JSON.stringify(O,(J,s0)=>typeof s0=="bigint"?s0.toString():s0)}}async function zb({btcAddress:p,amount:f,account:u,chainId:v,provider:t,rpcUrl:d,env:k}){return v6({btcAddress:p,amount:f,account:u,chainId:v,provider:t,rpcUrl:d,env:k,token:K0.LBTC})}async function v6({btcAddress:p,amount:f,account:u,chainId:v,provider:t,rpcUrl:d,env:k,token:S=K0.LBTC}){if(![K0.LBTC,K0.BTCK].includes(S))throw new Error("Unsupported token");if(S===K0.BTCK&&!ia(v))throw new Error("Operation not permitted");const N=ll(p,k),L=oa(f).toNumber(),z=Re({chainId:v,rpcUrl:d,env:k}),j=Qe({provider:t,chainId:v}),q=rt(S,v,k),O={abi:q.abi,address:q.address,account:u,chain:ht[v],functionName:"redeem",args:[N,BigInt(L)]},_=ia(v)?await h6(z,O,hc("1")):{},{request:J}=await z.simulateContract(O);return await j.writeContract({...J,..._})}async function A6({chainId:p,rpcUrl:f,vaultKey:u=Ge.Veda}){const v=wt[u];if(!v)throw new Error(`Unknown vault key: ${u}`);if(!Tn(p))throw new Error(`Unsupported chain id: ${p}. Please switch to one of the supported chains: ${v.chains.join(", ")}`);try{const t=Re({chainId:p,rpcUrl:f}),k=await Tr({abi:v.accountantContract.abi,address:v.accountantContract.address,client:t}).read.getRate();return nn(String(k))}catch(t){const d=Je(t);throw new Error(d)}}async function Hb({chainId:p,rpcUrl:f,address:u,vaultKey:v=Ge.Veda}){const t=wt[v];if(!t)throw new Error(`Unknown vault key: ${v}`);if(!Tn(p))throw new Error(`Unsupported chain id: ${p}. Please switch to one of the supported chains: ${t.chains.join(", ")}`);try{const d=Re({chainId:p,rpcUrl:f}),S=await Tr({abi:t.lensContract.abi,address:t.lensContract.address,client:d}).read.balanceOf([u,t.vaultContract.address]),N=nn(String(S)),L=await A6({chainId:p,rpcUrl:f,vaultKey:v});return{balance:N,exchangeRate:L,balanceLbtc:N.multipliedBy(L)}}catch(d){const k=Je(d);throw new Error(k)}}q0(0);q0(1);function Pr(p){return BigInt(q0(p).toFixed())}async function Vb({amount:p,approve:f=!0,token:u=K0.LBTC,vaultKey:v=Ge.Veda,account:t,chainId:d,provider:k,rpcUrl:S,env:N}){const L=wt[v];if(!L)throw new Error(`Unknown vault key: ${v}`);if(!Tn(d))throw new Error(`Unsupported chain id: ${d}. Please switch to one of the supported chains: ${L.chains.join(", ")}`);const z=Re({chainId:d,rpcUrl:S}),j=Qe({provider:k,chainId:d}),q=await Aa(u,d,N,S);if(!q)throw new Error(`Unknown deposit token: ${u}`);const O=q0(p),_=Pr(Cr(O,q.decimals)),J=await z.readContract({address:q.address,abi:q.abi,functionName:"allowance",args:[t,L.vaultContract.address]}),s0=Fe(String(J),q.decimals),o0=await z.readContract({address:q.address,abi:q.abi,functionName:"balanceOf",args:[t]}),c0=Fe(String(o0),q.decimals);if(O.isGreaterThan(c0))throw new Error(`The deposit amount exceeds the account's balance.
|
|
45
|
+
- `).slice(1);return{...v,...L,...t?{chainId:Number(t)}:{},...d?{expirationTime:new Date(d)}:{},...k?{issuedAt:new Date(k)}:{},...S?{notBefore:new Date(S)}:{},...N?{requestId:N}:{},...z?{resources:z}:{},...f?{scheme:f}:{},...u?{statement:u}:{}}}const b7=/^(?:(?<scheme>[a-zA-Z][a-zA-Z0-9+-.]*):\/\/)?(?<domain>[a-zA-Z0-9+-.]*(?::[0-9]{1,5})?) (?:wants you to sign in with your Ethereum account:\n)(?<address>0x[a-fA-F0-9]{40})\n\n(?:(?<statement>.*)\n\n)?/,h7=/(?:URI: (?<uri>.+))\n(?:Version: (?<version>.+))\n(?:Chain ID: (?<chainId>\d+))\n(?:Nonce: (?<nonce>[a-zA-Z0-9]+))\n(?:Issued At: (?<issuedAt>.+))(?:\nExpiration Time: (?<expirationTime>.+))?(?:\nNot Before: (?<notBefore>.+))?(?:\nRequest ID: (?<requestId>.+))?/;function g7(p){const{address:f,domain:u,message:v,nonce:t,scheme:d,time:k=new Date}=p;if(u&&v.domain!==u||t&&v.nonce!==t||d&&v.scheme!==d||v.expirationTime&&k>=v.expirationTime||v.notBefore&&k<v.notBefore)return!1;try{if(!v.address||!Me(v.address,{strict:!1})||f&&!ga(v.address,f))return!1}catch{return!1}return!0}async function w7(p,f){const{address:u,domain:v,message:t,nonce:d,scheme:k,signature:S,time:N=new Date,...L}=f,z=m7(t);if(!z.address||!g7({address:u,domain:v,message:z,nonce:d,scheme:k,time:N}))return!1;const q=mc(t);return Bi(p,{address:z.address,hash:q,signature:S,...L})}function T7(p){return{call:f=>wa(p,f),createAccessList:f=>ic(p,f),createBlockFilter:()=>Pf(p),createContractEventFilter:f=>ri(p,f),createEventFilter:f=>oc(p,f),createPendingTransactionFilter:()=>uc(p),estimateContractGas:f=>S4(p,f),estimateGas:f=>ci(p,f),getBalance:f=>B4(p,f),getBlobBaseFee:()=>kf(p),getBlock:f=>Ut(p,f),getBlockNumber:f=>Ta(p,f),getBlockTransactionCount:f=>If(p,f),getBytecode:f=>Ko(p,f),getChainId:()=>w2(p),getCode:f=>Ko(p,f),getContractEvents:f=>yi(p,f),getEip712Domain:f=>Sf(p,f),getEnsAddress:f=>df(p,f),getEnsAvatar:f=>xf(p,f),getEnsName:f=>Ef(p,f),getEnsResolver:f=>Cf(p,f),getEnsText:f=>sc(p,f),getFeeHistory:f=>Nf(p,f),estimateFeesPerGas:f=>ey(p,f),getFilterChanges:f=>hr(p,f),getFilterLogs:f=>Of(p,f),getGasPrice:()=>oi(p),getLogs:f=>pi(p,f),getProof:f=>_f(p,f),estimateMaxPriorityFeePerGas:f=>$5(p,f),getStorageAt:f=>$f(p,f),getTransaction:f=>Pi(p,f),getTransactionConfirmations:f=>em(p,f),getTransactionCount:f=>ui(p,f),getTransactionReceipt:f=>As(p,f),multicall:f=>tm(p,f),prepareTransactionRequest:f=>yr(p,f),readContract:f=>zt(p,f),sendRawTransaction:f=>vi(p,f),simulate:f=>xs(p,f),simulateBlocks:f=>xs(p,f),simulateCalls:f=>Mm(p,f),simulateContract:f=>Z4(p,f),verifyMessage:f=>c7(p,f),verifySiweMessage:f=>w7(p,f),verifyTypedData:f=>d7(p,f),uninstallFilter:f=>gr(p,f),waitForTransactionReceipt:f=>l7(p,f),watchBlocks:f=>p7(p,f),watchBlockNumber:f=>Vc(p,f),watchContractEvent:f=>K4(p,f),watchEvent:f=>y7(p,f),watchPendingTransactions:f=>f7(p,f)}}function v7(p){const{key:f="public",name:u="Public Client"}=p;return ec({...p,key:f,name:u,type:"publicClient"}).extend(T7)}async function jc(p,{chain:f}){const{id:u,name:v,nativeCurrency:t,rpcUrls:d,blockExplorers:k}=f;await p.request({method:"wallet_addEthereumChain",params:[{chainId:E0(u),chainName:v,nativeCurrency:t,rpcUrls:d.default.http,blockExplorerUrls:k?Object.values(k).map(({url:S})=>S):void 0}]},{dedupe:!0,retryCount:0})}function A7(p,f){const{abi:u,args:v,bytecode:t,...d}=f,k=br({abi:u,args:v,bytecode:t});return wr(p,{...d,...d.authorizationList?{to:null}:{},data:k})}async function x7(p){var u;return((u=p.account)==null?void 0:u.type)==="local"?[p.account.address]:(await p.request({method:"eth_accounts"},{dedupe:!0})).map(v=>pa(v))}async function E7(p,f={}){const{account:u=p.account,chainId:v}=f,t=u?Ce(u):void 0,d=v?[t==null?void 0:t.address,[E0(v)]]:[t==null?void 0:t.address],k=await p.request({method:"wallet_getCapabilities",params:d}),S={};for(const[N,L]of Object.entries(k)){S[Number(N)]={};for(let[z,j]of Object.entries(L))z==="addSubAccount"&&(z="unstable_addSubAccount"),S[Number(N)][z]=j}return typeof v=="number"?S[v]:S}async function C7(p){return await p.request({method:"wallet_getPermissions"},{dedupe:!0})}async function qc(p,f){var N;const{account:u=p.account,chainId:v,nonce:t}=f;if(!u)throw new jn({docsPath:"/docs/eip7702/prepareAuthorization"});const d=Ce(u),k=(()=>{if(f.executor)return f.executor==="self"?f.executor:Ce(f.executor)})(),S={address:f.contractAddress??f.address,chainId:v,nonce:t};return typeof S.chainId>"u"&&(S.chainId=((N=p.chain)==null?void 0:N.id)??await z0(p,w2,"getChainId")({})),typeof S.nonce>"u"&&(S.nonce=await z0(p,ui,"getTransactionCount")({address:d.address,blockTag:"pending"}),(k==="self"||k!=null&&k.address&&ga(k.address,d.address))&&(S.nonce+=1)),S}async function P7(p){return(await p.request({method:"eth_requestAccounts"},{dedupe:!0,retryCount:0})).map(u=>Wu(u))}async function k7(p,f){return p.request({method:"wallet_requestPermissions",params:[f]},{retryCount:0})}async function I7(p,f){const{id:u}=f;await p.request({method:"wallet_showCallsStatus",params:[u]})}async function B7(p,f){const{account:u=p.account}=f;if(!u)throw new jn({docsPath:"/docs/eip7702/signAuthorization"});const v=Ce(u);if(!v.signAuthorization)throw new ja({docsPath:"/docs/eip7702/signAuthorization",metaMessages:["The `signAuthorization` Action does not support JSON-RPC Accounts."],type:v.type});const t=await qc(p,f);return v.signAuthorization(t)}async function S7(p,{account:f=p.account,message:u}){if(!f)throw new jn({docsPath:"/docs/actions/wallet/signMessage"});const v=Ce(f);if(v.signMessage)return v.signMessage({message:u});const t=typeof u=="string"?a2(u):u.raw instanceof Uint8Array?Ue(u.raw):u.raw;return p.request({method:"personal_sign",params:[t,v.address]},{retryCount:0})}async function M7(p,f){var L,z,j,q;const{account:u=p.account,chain:v=p.chain,...t}=f;if(!u)throw new jn({docsPath:"/docs/actions/wallet/signTransaction"});const d=Ce(u);Gn({account:d,...f});const k=await z0(p,w2,"getChainId")({});v!==null&&Qu({currentChainId:k,chain:v});const S=(v==null?void 0:v.formatters)||((L=p.chain)==null?void 0:L.formatters),N=((z=S==null?void 0:S.transactionRequest)==null?void 0:z.format)||b2;return d.signTransaction?d.signTransaction({...t,chainId:k},{serializer:(q=(j=p.chain)==null?void 0:j.serializers)==null?void 0:q.transaction}):await p.request({method:"eth_signTransaction",params:[{...N(t),chainId:E0(k),from:d.address}]},{retryCount:0})}async function R7(p,f){const{account:u=p.account,domain:v,message:t,primaryType:d}=f;if(!u)throw new jn({docsPath:"/docs/actions/wallet/signTypedData"});const k=Ce(u),S={EIP712Domain:fc({domain:v}),...f.types};if(yc({domain:v,message:t,primaryType:d,types:S}),k.signTypedData)return k.signTypedData({domain:v,message:t,primaryType:d,types:S});const N=jf({domain:v,message:t,primaryType:d,types:S});return p.request({method:"eth_signTypedData_v4",params:[k.address,N]},{retryCount:0})}async function N7(p,{id:f}){await p.request({method:"wallet_switchEthereumChain",params:[{chainId:E0(f)}]},{retryCount:0})}async function O7(p,f){return await p.request({method:"wallet_watchAsset",params:f},{retryCount:0})}function D7(p){return{addChain:f=>jc(p,f),deployContract:f=>A7(p,f),getAddresses:()=>x7(p),getCallsStatus:f=>_4(p,f),getCapabilities:f=>E7(p,f),getChainId:()=>w2(p),getPermissions:()=>C7(p),prepareAuthorization:f=>qc(p,f),prepareTransactionRequest:f=>yr(p,f),requestAddresses:()=>P7(p),requestPermissions:f=>k7(p,f),sendCalls:f=>Wy(p,f),sendRawTransaction:f=>vi(p,f),sendTransaction:f=>wr(p,f),showCallsStatus:f=>I7(p,f),signAuthorization:f=>B7(p,f),signMessage:f=>S7(p,f),signTransaction:f=>M7(p,f),signTypedData:f=>R7(p,f),switchChain:f=>N7(p,f),waitForCallsStatus:f=>Zy(p,f),watchAsset:f=>O7(p,f),writeContract:f=>X4(p,f)}}function F7(p){const{key:f="wallet",name:u="Wallet Client",transport:v}=p;return ec({...p,key:f,name:u,transport:v,type:"walletClient"}).extend(D7)}function Qe({provider:p,chainId:f}){const u=ht[f],v=Jy(p);return F7({chain:u,transport:v})}const Gc=De({id:747474,name:"Katana",nativeCurrency:{decimals:18,name:"Ether",symbol:"ETH"},rpcUrls:{default:{http:["https://rpc.katana.network"],webSocket:["wss://rpc.katana.network"]}},blockExplorers:{default:{name:"Katana Explorer",url:"https://explorer.katanarpc.com"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:1898013}}}),Wc=De({id:129399,name:"Tatara",nativeCurrency:{decimals:18,name:"Ether",symbol:"ETH"},rpcUrls:{default:{http:["https://rpc.tatara.katanarpc.com"]}},blockExplorers:{default:{name:"Tatara Explorer",url:"https://explorer.tatara.katana.network"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:7771207}}}),U7="sui:devnet",Si="sui:testnet",L7="sui:localnet",Mi="sui:mainnet",Ri="solana:mainnet-beta",Zc="solana:testnet",Ni="solana:devnet",X={ethereum:1,base:8453,berachain:80094,binanceSmartChain:56,corn:21e6,etherlink:42793,katana:747474,morph:2818,sonic:146,swell:1923,baseSepoliaTestnet:84532,berachainBartioTestnet:80084,binanceSmartChainTestnet:97,holesky:17e3,katanaTatara:129399,morphHolesky:2810,sepolia:11155111,sonicBlazeTestnet:57054},ht={[X.ethereum]:D5,[X.base]:Kp,[X.berachain]:Xp,[X.binanceSmartChain]:Jp,[X.corn]:e8,[X.etherlink]:t8,[X.katana]:Gc,[X.morph]:F5,[X.sonic]:z5,[X.swell]:V5,[X.baseSepoliaTestnet]:Yp,[X.berachainBartioTestnet]:Qp,[X.binanceSmartChainTestnet]:_p,[X.holesky]:n8,[X.katanaTatara]:Wc,[X.morphHolesky]:U5,[X.sepolia]:L5,[X.sonicBlazeTestnet]:H5},ia=p=>[X.katana,X.katanaTatara].includes(p);function z7(p){return Object.values(X).includes(p)}async function H7({provider:p,chainId:f}){const u=Qe({provider:p,chainId:X.ethereum});await jc(u,{chain:ht[f]})}const Te={eth:"DESTINATION_BLOCKCHAIN_ETHEREUM",ethOld:"BLOCKCHAIN_ETHEREUM",base:"DESTINATION_BLOCKCHAIN_BASE",baseOld:"BLOCKCHAIN_BASE",bsc:"DESTINATION_BLOCKCHAIN_BSC",bscOld:"BLOCKCHAIN_BSC",katana:"DESTINATION_BLOCKCHAIN_KATANA",katanaOld:"BLOCKCHAIN_KATANA",sui:"DESTINATION_BLOCKCHAIN_SUI",suiOld:"BLOCKCHAIN_SUI",sonic:"DESTINATION_BLOCKCHAIN_SONIC",sonicOld:"BLOCKCHAIN_SONIC",solana:"DESTINATION_BLOCKCHAIN_SOLANA",solanaOld:"BLOCKCHAIN_SOLANA"};function Er(p){if(p===X.ethereum||p===X.holesky||p===X.sepolia)return Te.eth;if(p===X.base||p===X.baseSepoliaTestnet)return Te.base;if(p===X.binanceSmartChain||p===X.binanceSmartChainTestnet)return Te.bsc;if(p===X.katana||p===X.katanaTatara)return Te.katana;if(p===X.sonic||p===X.sonicBlazeTestnet)return Te.sonic;if(p===Si||p===Mi)return Te.sui;if(p===Ni||p===Zc||p===Ri)return Te.solana;throw new Error(`Unknown chain ID: ${p}`)}const Kc=p=>p===se.prod?X.ethereum:X.holesky,Yc=p=>p===se.prod?X.binanceSmartChain:X.binanceSmartChainTestnet,Xc=p=>p===se.prod?X.base:X.baseSepoliaTestnet,Qc=p=>p===se.prod?Mi:Si,Jc=p=>p===se.prod?X.sonic:X.sonicBlazeTestnet,_c=p=>p===se.prod?Ri:Ni;function Oi(p,f=Vn){switch(p){case Te.eth:case Te.ethOld:return Kc(f);case Te.base:case Te.baseOld:return Xc(f);case Te.bsc:case Te.bscOld:return Yc(f);case Te.katana:case Te.katanaOld:return f==="prod"?X.katana:X.katanaTatara;case Te.sui:case Te.suiOld:return Qc(f);case Te.sonic:case Te.sonicOld:return Jc(f);case Te.solana:case Te.solanaOld:return _c(f);default:return X.ethereum}}function Je(p){return typeof p=="string"?p:(u=>{var v;return!!(u&&typeof u=="object"&&"data"in u&&u.data&&typeof u.data=="object"&&"message"in u.data&&((v=u==null?void 0:u.data)!=null&&v.message)&&typeof u.data.message=="string")})(p)?p.data.message:p instanceof Error?V7(p):j7(p)}function V7(p){return p.response?p.response.data.message:p.message}function j7(p){return p&&typeof p=="object"&&"message"in p&&typeof p.message=="string"?p.message:"Unknown error"}class $c extends Error{constructor(f,u,v){const t=`Could not determine the ${f} contract address for given chain id: ${u} (env: ${v||"undefined"})`;super(t),this.token=f,this.chainId=u}}var K0=(p=>(p.LBTC="LBTC",p.BTCB="BTCB",p.BTCK="BTCK",p.cbBTC="cbBTC",p.eBTC="eBTC",p.wBTC="wBTC",p.wBTCN="wBTCN",p))(K0||{});const e6={TOKEN_SYMBOL_STLBTC:"LBTC"},t6={LBTC:{[se.prod]:{[X.ethereum]:"0x8236a87084f8b84306f72007f36f2618a5634494",[X.base]:"0xecAc9C5F704e954931349Da37F60E39f515c11c1",[X.berachain]:"0xecAc9C5F704e954931349Da37F60E39f515c11c1",[X.binanceSmartChain]:"0xecAc9C5F704e954931349Da37F60E39f515c11c1",[X.corn]:"0xecAc9C5F704e954931349Da37F60E39f515c11c1",[X.katana]:"0xecAc9C5F704e954931349Da37F60E39f515c11c1",[X.morph]:"0xecAc9C5F704e954931349Da37F60E39f515c11c1",[X.sonic]:"0xecAc9C5F704e954931349Da37F60E39f515c11c1",[X.swell]:"0xecAc9C5F704e954931349Da37F60E39f515c11c1"},[se.stage]:{[X.baseSepoliaTestnet]:"0x731eFa688F3679688cf60A3993b8658138953ED6",[X.berachainBartioTestnet]:"0xc47e4b3124597FDF8DD07843D4a7052F2eE80C30",[X.binanceSmartChainTestnet]:"0x731eFa688F3679688cf60A3993b8658138953ED6",[X.holesky]:"0xED7bfd5C1790576105Af4649817f6d35A75CD818",[X.katanaTatara]:"0x731eFa688F3679688cf60A3993b8658138953ED6",[X.sepolia]:"0xc47e4b3124597fdf8dd07843d4a7052f2ee80c30",[X.sonicBlazeTestnet]:"0x731eFa688F3679688cf60A3993b8658138953ED6"},[se.testnet]:{[X.berachainBartioTestnet]:"0xc47e4b3124597FDF8DD07843D4a7052F2eE80C30",[X.binanceSmartChainTestnet]:"0x107Fc7d90484534704dD2A9e24c7BD45DB4dD1B5",[X.holesky]:"0x38A13AB20D15ffbE5A7312d2336EF1552580a4E2",[X.sepolia]:"0xc47e4b3124597fdf8dd07843d4a7052f2ee80c30",[X.sonicBlazeTestnet]:"0x107Fc7d90484534704dD2A9e24c7BD45DB4dD1B5",[X.katanaTatara]:"0x107Fc7d90484534704dD2A9e24c7BD45DB4dD1B5"},[se.dev]:{[X.sepolia]:"0xc47e4b3124597FDF8DD07843D4a7052F2eE80C30",[X.baseSepoliaTestnet]:"0xc47e4b3124597FDF8DD07843D4a7052F2eE80C30",[X.berachainBartioTestnet]:"0xc47e4b3124597FDF8DD07843D4a7052F2eE80C30",[X.binanceSmartChainTestnet]:"0xc47e4b3124597FDF8DD07843D4a7052F2eE80C30",[X.katanaTatara]:"0xc47e4b3124597FDF8DD07843D4a7052F2eE80C30"}},BTCB:{[se.prod]:{[X.binanceSmartChain]:"0x7130d2a12b9bcbfae4f2634d864a1ee1ce3ead9c"}},BTCK:{[se.prod]:{[X.katana]:"0xB0F70C0bD6FD87dbEb7C10dC692a2a6106817072",[X.katanaTatara]:void 0},[se.stage]:{[X.katana]:void 0,[X.katanaTatara]:"0x600e4006278EB11FA1691cA0FE6C5fcfC4992d58"},[se.testnet]:{[X.katana]:void 0,[X.katanaTatara]:"0x20eA7b8ABb4B583788F1DFC738C709a2d9675681"},[se.dev]:{[X.katana]:void 0,[X.katanaTatara]:"0xA74D838817f3098166d74a141b7d241efB15F42c"}},eBTC:{[se.prod]:{[X.ethereum]:"0x657e8c867d8b37dcc18fa4caead9c45eb088c642"}},wBTC:{[se.prod]:{[X.ethereum]:"0x2260fac5e5542a773aa44fbcfedf7c193bc2c599"}},wBTCN:{[se.prod]:{[X.corn]:"0xda5dDd7270381A7C2717aD10D1c0ecB19e3CDFb2"}}},Dt="https://bff.prod.lombard.finance/multi-rpc/proxy";X.ethereum+"",`${Dt}`,X.base+"",`${Dt}`,X.binanceSmartChain+"",X.corn+"",`${Dt}`,X.katana+"",`${Dt}`,X.sonic+"",`${Dt}`,X.baseSepoliaTestnet+"",`${Dt}`,X.binanceSmartChainTestnet+"",X.holesky+"",`${Dt}`,X.katanaTatara+"",`${Dt}`,X.sepolia+"",`${Dt}`,X.sonicBlazeTestnet+"",`${Dt}`;function q7(p){const{bffApiUrl:f}=Ae(p),u=`${f}/multi-rpc/proxy`;return{[X.ethereum]:`${u}/eth`,[X.base]:`${u}/base`,[X.binanceSmartChain]:"https://bsc-dataseed.bnbchain.org",[X.corn]:`${u}/corn_maizenet`,[X.katana]:`${u}/katana`,[X.sonic]:`${u}/sonic_mainnet`,[X.baseSepoliaTestnet]:`${u}/base_sepolia`,[X.binanceSmartChainTestnet]:"https://bsc-testnet-dataseed.bnbchain.org",[X.holesky]:`${u}/eth_holesky`,[X.katanaTatara]:`${u}/katana_tatara`,[X.sepolia]:`${u}/eth_sepolia`,[X.sonicBlazeTestnet]:`${u}/sonic_blaze_testnet`}}const G7=[X.ethereum,X.base,X.berachain,X.binanceSmartChain,X.corn,X.etherlink,X.katana,X.morph,X.sonic,X.swell],va=p=>G7.includes(p)?se.prod:se.stage;function Re({chainId:p,rpcUrl:f,env:u}){const v=f?{[p]:f}:void 0,t=u||va(p),k={...q7(t),...v},S=ht[p],N=nf(k[p]);return v7({chain:S,transport:N})}const W7=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"uint256",name:"dustLimit",type:"uint256"}],name:"AmountBelowDustLimit",type:"error"},{inputs:[{internalType:"uint256",name:"fee",type:"uint256"}],name:"AmountLessThanCommission",type:"error"},{inputs:[],name:"ECDSAInvalidSignature",type:"error"},{inputs:[{internalType:"uint256",name:"length",type:"uint256"}],name:"ECDSAInvalidSignatureLength",type:"error"},{inputs:[{internalType:"bytes32",name:"s",type:"bytes32"}],name:"ECDSAInvalidSignatureS",type:"error"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"allowance",type:"uint256"},{internalType:"uint256",name:"needed",type:"uint256"}],name:"ERC20InsufficientAllowance",type:"error"},{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"uint256",name:"balance",type:"uint256"},{internalType:"uint256",name:"needed",type:"uint256"}],name:"ERC20InsufficientBalance",type:"error"},{inputs:[{internalType:"address",name:"approver",type:"address"}],name:"ERC20InvalidApprover",type:"error"},{inputs:[{internalType:"address",name:"receiver",type:"address"}],name:"ERC20InvalidReceiver",type:"error"},{inputs:[{internalType:"address",name:"sender",type:"address"}],name:"ERC20InvalidSender",type:"error"},{inputs:[{internalType:"address",name:"spender",type:"address"}],name:"ERC20InvalidSpender",type:"error"},{inputs:[{internalType:"uint256",name:"deadline",type:"uint256"}],name:"ERC2612ExpiredSignature",type:"error"},{inputs:[{internalType:"address",name:"signer",type:"address"},{internalType:"address",name:"owner",type:"address"}],name:"ERC2612InvalidSigner",type:"error"},{inputs:[],name:"EnforcedPause",type:"error"},{inputs:[],name:"ExpectedPause",type:"error"},{inputs:[],name:"FeeGreaterThanAmount",type:"error"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"currentNonce",type:"uint256"}],name:"InvalidAccountNonce",type:"error"},{inputs:[],name:"InvalidDustFeeRate",type:"error"},{inputs:[],name:"InvalidInitialization",type:"error"},{inputs:[],name:"InvalidInputLength",type:"error"},{inputs:[],name:"InvalidUserSignature",type:"error"},{inputs:[],name:"KnownDestination",type:"error"},{inputs:[],name:"NotInitializing",type:"error"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"OwnableInvalidOwner",type:"error"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"OwnableUnauthorizedAccount",type:"error"},{inputs:[],name:"PayloadAlreadyUsed",type:"error"},{inputs:[],name:"ReentrancyGuardReentrantCall",type:"error"},{inputs:[],name:"ScriptPubkeyUnsupported",type:"error"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"UnauthorizedAccount",type:"error"},{inputs:[{internalType:"bytes4",name:"action",type:"bytes4"}],name:"UnexpectedAction",type:"error"},{inputs:[],name:"UnknownDestination",type:"error"},{inputs:[{internalType:"uint256",name:"fromChainId",type:"uint256"},{internalType:"address",name:"fromContract",type:"address"}],name:"UnknownOriginContract",type:"error"},{inputs:[{internalType:"uint256",name:"expiry",type:"uint256"}],name:"UserSignatureExpired",type:"error"},{inputs:[],name:"WithdrawalsDisabled",type:"error"},{inputs:[],name:"WrongChainId",type:"error"},{inputs:[],name:"ZeroAddress",type:"error"},{inputs:[],name:"ZeroAddress",type:"error"},{inputs:[],name:"ZeroAmount",type:"error"},{inputs:[],name:"ZeroChainId",type:"error"},{inputs:[],name:"ZeroContractHash",type:"error"},{inputs:[],name:"ZeroFee",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"prevVal",type:"address"},{indexed:!0,internalType:"address",name:"newVal",type:"address"}],name:"BasculeChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"prevVal",type:"address"},{indexed:!0,internalType:"address",name:"newVal",type:"address"}],name:"BridgeChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint64",name:"prevValue",type:"uint64"},{indexed:!0,internalType:"uint64",name:"newValue",type:"uint64"}],name:"BurnCommissionChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"claimer",type:"address"},{indexed:!1,internalType:"bool",name:"isClaimer",type:"bool"}],name:"ClaimerUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"prevVal",type:"address"},{indexed:!0,internalType:"address",name:"newVal",type:"address"}],name:"ConsortiumChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"oldRate",type:"uint256"},{indexed:!0,internalType:"uint256",name:"newRate",type:"uint256"}],name:"DustFeeRateChanged",type:"event"},{anonymous:!1,inputs:[],name:"EIP712DomainChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"oldFee",type:"uint256"},{indexed:!0,internalType:"uint256",name:"newFee",type:"uint256"}],name:"FeeChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"fee",type:"uint256"},{indexed:!1,internalType:"bytes",name:"userSignature",type:"bytes"}],name:"FeeCharged",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint64",name:"version",type:"uint64"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"recipient",type:"address"},{indexed:!0,internalType:"bytes32",name:"payloadHash",type:"bytes32"},{indexed:!1,internalType:"bytes",name:"payload",type:"bytes"}],name:"MintProofConsumed",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"minter",type:"address"},{indexed:!1,internalType:"bool",name:"isMinter",type:"bool"}],name:"MinterUpdated",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"string",name:"name",type:"string"},{indexed:!1,internalType:"string",name:"symbol",type:"string"}],name:"NameAndSymbolChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferStarted",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:"address",name:"account",type:"address"}],name:"Paused",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousPauser",type:"address"},{indexed:!0,internalType:"address",name:"newPauser",type:"address"}],name:"PauserRoleTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"prevValue",type:"address"},{indexed:!0,internalType:"address",name:"newValue",type:"address"}],name:"TreasuryAddressChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Unpaused",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"fromAddress",type:"address"},{indexed:!1,internalType:"bytes",name:"scriptPubKey",type:"bytes"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"UnstakeRequest",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bool",name:"",type:"bool"}],name:"WithdrawalsEnabled",type:"event"},{inputs:[],name:"Bascule",outputs:[{internalType:"contract IBascule",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"DOMAIN_SEPARATOR",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"acceptOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newClaimer",type:"address"}],name:"addClaimer",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newMinter",type:"address"}],name:"addMinter",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address[]",name:"to",type:"address[]"},{internalType:"uint256[]",name:"amount",type:"uint256[]"}],name:"batchMint",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes[]",name:"payload",type:"bytes[]"},{internalType:"bytes[]",name:"proof",type:"bytes[]"}],name:"batchMint",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes[]",name:"mintPayload",type:"bytes[]"},{internalType:"bytes[]",name:"proof",type:"bytes[]"},{internalType:"bytes[]",name:"feePayload",type:"bytes[]"},{internalType:"bytes[]",name:"userSignature",type:"bytes[]"}],name:"batchMintWithFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"burn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"burn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"scriptPubkey",type:"bytes"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"calcUnstakeRequestAmount",outputs:[{internalType:"uint256",name:"amountAfterFee",type:"uint256"},{internalType:"bool",name:"isAboveDust",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"newVal",type:"address"}],name:"changeBascule",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newBridge",type:"address"}],name:"changeBridge",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint64",name:"newValue",type:"uint64"}],name:"changeBurnCommission",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newVal",type:"address"}],name:"changeConsortium",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"newRate",type:"uint256"}],name:"changeDustFeeRate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"string",name:"name_",type:"string"},{internalType:"string",name:"symbol_",type:"string"}],name:"changeNameAndSymbol",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newValue",type:"address"}],name:"changeTreasuryAddress",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"consortium",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[],name:"eip712Domain",outputs:[{internalType:"bytes1",name:"fields",type:"bytes1"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"version",type:"string"},{internalType:"uint256",name:"chainId",type:"uint256"},{internalType:"address",name:"verifyingContract",type:"address"},{internalType:"bytes32",name:"salt",type:"bytes32"},{internalType:"uint256[]",name:"extensions",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getBurnCommission",outputs:[{internalType:"uint64",name:"",type:"uint64"}],stateMutability:"view",type:"function"},{inputs:[],name:"getDustFeeRate",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getMintFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getTreasury",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"consortium_",type:"address"},{internalType:"uint64",name:"burnCommission_",type:"uint64"},{internalType:"address",name:"owner_",type:"address"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"claimer",type:"address"}],name:"isClaimer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"minter",type:"address"}],name:"isMinter",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"mint",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"payload",type:"bytes"},{internalType:"bytes",name:"proof",type:"bytes"}],name:"mint",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"mintPayload",type:"bytes"},{internalType:"bytes",name:"proof",type:"bytes"},{internalType:"bytes",name:"feePayload",type:"bytes"},{internalType:"bytes",name:"userSignature",type:"bytes"}],name:"mintWithFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"nonces",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:"pause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"paused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"pauser",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"pendingOwner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"permit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"scriptPubkey",type:"bytes"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"redeem",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"reinitialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"oldClaimer",type:"address"}],name:"removeClaimer",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"oldMinter",type:"address"}],name:"removeMinter",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"fee",type:"uint256"}],name:"setMintFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"toggleWithdrawals",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newPauser",type:"address"}],name:"transferPauserRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"unpause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"uint256",name:"fromChain",type:"uint256"},{internalType:"address",name:"fromContract",type:"address"},{internalType:"uint256",name:"toChain",type:"uint256"},{internalType:"address",name:"toContract",type:"address"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint64",name:"amount",type:"uint64"},{internalType:"bytes32",name:"uniqueActionData",type:"bytes32"}],internalType:"struct Actions.DepositBridgeAction",name:"action",type:"tuple"},{internalType:"bytes32",name:"",type:"bytes32"},{internalType:"bytes",name:"",type:"bytes"}],name:"withdraw",outputs:[],stateMutability:"nonpayable",type:"function"}],Z7=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"AccessControlBadConfirmation",type:"error"},{inputs:[{internalType:"uint48",name:"schedule",type:"uint48"}],name:"AccessControlEnforcedDefaultAdminDelay",type:"error"},{inputs:[],name:"AccessControlEnforcedDefaultAdminRules",type:"error"},{inputs:[{internalType:"address",name:"defaultAdmin",type:"address"}],name:"AccessControlInvalidDefaultAdmin",type:"error"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"bytes32",name:"neededRole",type:"bytes32"}],name:"AccessControlUnauthorizedAccount",type:"error"},{inputs:[],name:"Actions_ZeroAddress",type:"error"},{inputs:[{internalType:"uint256",name:"dustLimit",type:"uint256"}],name:"AmountBelowDustLimit",type:"error"},{inputs:[{internalType:"uint256",name:"fee",type:"uint256"}],name:"AmountLessThanCommission",type:"error"},{inputs:[],name:"ECDSAInvalidSignature",type:"error"},{inputs:[{internalType:"uint256",name:"length",type:"uint256"}],name:"ECDSAInvalidSignatureLength",type:"error"},{inputs:[{internalType:"bytes32",name:"s",type:"bytes32"}],name:"ECDSAInvalidSignatureS",type:"error"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"allowance",type:"uint256"},{internalType:"uint256",name:"needed",type:"uint256"}],name:"ERC20InsufficientAllowance",type:"error"},{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"uint256",name:"balance",type:"uint256"},{internalType:"uint256",name:"needed",type:"uint256"}],name:"ERC20InsufficientBalance",type:"error"},{inputs:[{internalType:"address",name:"approver",type:"address"}],name:"ERC20InvalidApprover",type:"error"},{inputs:[{internalType:"address",name:"receiver",type:"address"}],name:"ERC20InvalidReceiver",type:"error"},{inputs:[{internalType:"address",name:"sender",type:"address"}],name:"ERC20InvalidSender",type:"error"},{inputs:[{internalType:"address",name:"spender",type:"address"}],name:"ERC20InvalidSpender",type:"error"},{inputs:[{internalType:"uint256",name:"deadline",type:"uint256"}],name:"ERC2612ExpiredSignature",type:"error"},{inputs:[{internalType:"address",name:"signer",type:"address"},{internalType:"address",name:"owner",type:"address"}],name:"ERC2612InvalidSigner",type:"error"},{inputs:[],name:"EnforcedPause",type:"error"},{inputs:[],name:"ExpectedPause",type:"error"},{inputs:[],name:"FeeGreaterThanAmount",type:"error"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"currentNonce",type:"uint256"}],name:"InvalidAccountNonce",type:"error"},{inputs:[{internalType:"address",name:"expected",type:"address"},{internalType:"address",name:"got",type:"address"}],name:"InvalidDestinationToken",type:"error"},{inputs:[],name:"InvalidDustFeeRate",type:"error"},{inputs:[],name:"InvalidInitialization",type:"error"},{inputs:[],name:"InvalidInputLength",type:"error"},{inputs:[],name:"InvalidMintAmount",type:"error"},{inputs:[{internalType:"uint256",name:"expected",type:"uint256"},{internalType:"uint256",name:"actual",type:"uint256"}],name:"InvalidPayloadSize",type:"error"},{inputs:[],name:"InvalidUserSignature",type:"error"},{inputs:[],name:"NotInitializing",type:"error"},{inputs:[],name:"PayloadAlreadyUsed",type:"error"},{inputs:[],name:"ReentrancyGuardReentrantCall",type:"error"},{inputs:[{internalType:"uint8",name:"bits",type:"uint8"},{internalType:"uint256",name:"value",type:"uint256"}],name:"SafeCastOverflowedUintDowncast",type:"error"},{inputs:[],name:"ScriptPubkeyUnsupported",type:"error"},{inputs:[{internalType:"bytes4",name:"action",type:"bytes4"}],name:"UnexpectedAction",type:"error"},{inputs:[{internalType:"uint256",name:"expiry",type:"uint256"}],name:"UserSignatureExpired",type:"error"},{inputs:[],name:"WithdrawalsDisabled",type:"error"},{inputs:[],name:"WrongChainId",type:"error"},{inputs:[],name:"ZeroAddress",type:"error"},{inputs:[],name:"ZeroAmount",type:"error"},{inputs:[],name:"ZeroFee",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"prevVal",type:"address"},{indexed:!0,internalType:"address",name:"newVal",type:"address"}],name:"BasculeChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"payloadHash",type:"bytes32"},{indexed:!1,internalType:"bytes",name:"payload",type:"bytes"}],name:"BatchMintSkipped",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint64",name:"prevValue",type:"uint64"},{indexed:!0,internalType:"uint64",name:"newValue",type:"uint64"}],name:"BurnCommissionChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"prevVal",type:"address"},{indexed:!0,internalType:"address",name:"newVal",type:"address"}],name:"ConsortiumChanged",type:"event"},{anonymous:!1,inputs:[],name:"DefaultAdminDelayChangeCanceled",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint48",name:"newDelay",type:"uint48"},{indexed:!1,internalType:"uint48",name:"effectSchedule",type:"uint48"}],name:"DefaultAdminDelayChangeScheduled",type:"event"},{anonymous:!1,inputs:[],name:"DefaultAdminTransferCanceled",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"newAdmin",type:"address"},{indexed:!1,internalType:"uint48",name:"acceptSchedule",type:"uint48"}],name:"DefaultAdminTransferScheduled",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"oldRate",type:"uint256"},{indexed:!0,internalType:"uint256",name:"newRate",type:"uint256"}],name:"DustFeeRateChanged",type:"event"},{anonymous:!1,inputs:[],name:"EIP712DomainChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"oldFee",type:"uint256"},{indexed:!0,internalType:"uint256",name:"newFee",type:"uint256"}],name:"FeeChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"fee",type:"uint256"},{indexed:!1,internalType:"bytes",name:"userSignature",type:"bytes"}],name:"FeeCharged",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint64",name:"version",type:"uint64"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"recipient",type:"address"},{indexed:!0,internalType:"bytes32",name:"payloadHash",type:"bytes32"},{indexed:!1,internalType:"bytes",name:"payload",type:"bytes"}],name:"MintProofConsumed",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"string",name:"name",type:"string"},{indexed:!1,internalType:"string",name:"symbol",type:"string"}],name:"NameAndSymbolChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Paused",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"previousAdminRole",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"newAdminRole",type:"bytes32"}],name:"RoleAdminChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"}],name:"RoleGranted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"}],name:"RoleRevoked",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"prevValue",type:"address"},{indexed:!0,internalType:"address",name:"newValue",type:"address"}],name:"TreasuryAddressChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Unpaused",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"fromAddress",type:"address"},{indexed:!1,internalType:"bytes",name:"scriptPubKey",type:"bytes"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"UnstakeRequest",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bool",name:"",type:"bool"}],name:"WithdrawalsEnabled",type:"event"},{inputs:[],name:"Bascule",outputs:[{internalType:"contract IBascule",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"CLAIMER_ROLE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"DEFAULT_ADMIN_ROLE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"DOMAIN_SEPARATOR",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"MINTER_ROLE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"OPERATOR_ROLE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"PAUSER_ROLE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"acceptDefaultAdminTransfer",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address[]",name:"to",type:"address[]"},{internalType:"uint256[]",name:"amount",type:"uint256[]"}],name:"batchMint",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes[]",name:"payload",type:"bytes[]"},{internalType:"bytes[]",name:"proof",type:"bytes[]"}],name:"batchMintV1",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes[]",name:"mintPayload",type:"bytes[]"},{internalType:"bytes[]",name:"proof",type:"bytes[]"},{internalType:"bytes[]",name:"feePayload",type:"bytes[]"},{internalType:"bytes[]",name:"userSignature",type:"bytes[]"}],name:"batchMintV1WithFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newAdmin",type:"address"}],name:"beginDefaultAdminTransfer",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"burn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"burn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"scriptPubkey",type:"bytes"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"calcUnstakeRequestAmount",outputs:[{internalType:"uint256",name:"amountAfterFee",type:"uint256"},{internalType:"bool",name:"isAboveDust",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"cancelDefaultAdminTransfer",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newVal",type:"address"}],name:"changeBascule",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint64",name:"newValue",type:"uint64"}],name:"changeBurnCommission",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newVal",type:"address"}],name:"changeConsortium",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint48",name:"newDelay",type:"uint48"}],name:"changeDefaultAdminDelay",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"newRate",type:"uint256"}],name:"changeDustFeeRate",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"string",name:"name_",type:"string"},{internalType:"string",name:"symbol_",type:"string"}],name:"changeNameAndSymbol",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newValue",type:"address"}],name:"changeTreasuryAddress",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"consortium",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[],name:"defaultAdmin",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"defaultAdminDelay",outputs:[{internalType:"uint48",name:"",type:"uint48"}],stateMutability:"view",type:"function"},{inputs:[],name:"defaultAdminDelayIncreaseWait",outputs:[{internalType:"uint48",name:"",type:"uint48"}],stateMutability:"view",type:"function"},{inputs:[],name:"eip712Domain",outputs:[{internalType:"bytes1",name:"fields",type:"bytes1"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"version",type:"string"},{internalType:"uint256",name:"chainId",type:"uint256"},{internalType:"address",name:"verifyingContract",type:"address"},{internalType:"bytes32",name:"salt",type:"bytes32"},{internalType:"uint256[]",name:"extensions",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[],name:"getBurnCommission",outputs:[{internalType:"uint64",name:"",type:"uint64"}],stateMutability:"view",type:"function"},{inputs:[],name:"getDustFeeRate",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getMintFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"}],name:"getRoleAdmin",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"getTreasury",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"grantRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"hasRole",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"consortium_",type:"address"},{internalType:"uint64",name:"burnCommission_",type:"uint64"},{internalType:"address",name:"treasury",type:"address"},{internalType:"address",name:"initialOwner",type:"address"},{internalType:"uint48",name:"initialOwnerDelay",type:"uint48"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"payloadHash",type:"bytes32"}],name:"isPayloadUsed",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"mint",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"payload",type:"bytes"},{internalType:"bytes",name:"proof",type:"bytes"}],name:"mintV1",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"mintPayload",type:"bytes"},{internalType:"bytes",name:"proof",type:"bytes"},{internalType:"bytes",name:"feePayload",type:"bytes"},{internalType:"bytes",name:"userSignature",type:"bytes"}],name:"mintV1WithFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"nonces",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:"pause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"paused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"pendingDefaultAdmin",outputs:[{internalType:"address",name:"newAdmin",type:"address"},{internalType:"uint48",name:"schedule",type:"uint48"}],stateMutability:"view",type:"function"},{inputs:[],name:"pendingDefaultAdminDelay",outputs:[{internalType:"uint48",name:"newDelay",type:"uint48"},{internalType:"uint48",name:"schedule",type:"uint48"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"permit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes",name:"scriptPubkey",type:"bytes"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"redeem",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"renounceRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"revokeRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"rollbackDefaultAdminDelay",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"fee",type:"uint256"}],name:"setMintFee",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"toggleWithdrawals",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"unpause",outputs:[],stateMutability:"nonpayable",type:"function"}];function rt(p,f,u){var k,S;const v=u||Vn;let t;p===K0.LBTC?t=W7:p===K0.BTCK?t=Z7:t=q4;const d=(S=(k=t6[p])==null?void 0:k[v])==null?void 0:S[f];if(!d)throw new $c(p,f,v);return{abi:t,address:d,chainId:f}}const n6=async(p,f)=>{const[u,v]=await p.multicall({contracts:[{...f,functionName:"symbol"},{...f,functionName:"decimals"}]});if(u.status==="success"&&v.status==="success")return{address:f.address,abi:f.abi,symbol:String(u.result),decimals:Number(v.result)}};async function Aa(p,f,u,v){const t=rt(p,f,u);if(!t)return;const d=Re({chainId:f,rpcUrl:v});return n6(d,t)}async function a6(p,f,u){const v=Re({chainId:f,rpcUrl:u});return n6(v,{abi:q4,address:p,chainId:f})}function Cr(p,f){return q0(p).multipliedBy(q0(10).pow(f)).decimalPlaces(0,q0.ROUND_HALF_UP)}function Fe(p,f){return q0(p).dividedBy(q0(10).pow(f))}const r6="sanctioned_address",K7="api/v1/address/generate",Y7="destination address is under sanctions",nu=[K0.BTCK],X7=[K0.LBTC,K0.BTCK];async function Q7({address:p,token:f=K0.LBTC,chainId:u,signature:v,eip712Data:t,env:d,referrerCode:k,partnerId:S,captchaToken:N,signatureData:L}){const{baseApiUrl:z}=Ae(d),j=Er(u);if(!X7.includes(f))throw new Error(`Unsupported token: ${f}`);let q={};try{nu.includes(f)&&(q={token_address:rt(f,u,d).address,aux_version:1})}catch(_){if(_ instanceof Error&&_ instanceof $c&&nu.includes(f))throw new Error(`Unable to generate BTC deposit address for given token: ${f} in ${u}, reason: ${_.message}`)}const O={to_address:p,to_address_signature:v,to_chain:j,partner_id:S,nonce:0,captcha:N,referrer_code:k,eip_712_data:t,sb_signature_data:L,...q};try{const{data:_}=await ue.post(K7,O,{baseURL:z});return _.address}catch(_){const J=Je(_);if(J7(J))return r6;throw new Error(J)}}function J7(p){return p.includes(Y7)}async function s6({address:p,chainId:f,env:u,limit:v,offset:t,partnerId:d}){var z;const{baseApiUrl:k}=Ae(u),S=Er(f),N={asc:!1,limit:v,offset:t,referralId:d||"lombard"};for(const[j,q]of Object.entries(N))q===void 0&&delete N[j];const L=`api/v1/address/destination/${S}/${p}`;try{const{data:j}=await ue.get(L,{baseURL:k,params:N});return j.addresses||[]}catch(j){if(ue.isAxiosError(j)){const q=(z=j.response)==null?void 0:z.data.message;throw new Error(q)}}}async function _7({address:p,chainId:f,env:u,partnerId:v,token:t=K0.LBTC}){const d=await s6({address:p,chainId:f,env:u,partnerId:v});let k;if(![K0.LBTC,K0.BTCK].includes(t))throw new Error("Unsupported token");let S;try{if(f===X.katana||f===X.katanaTatara){const L=rt(t,f,u);t===K0.BTCK?S={token_address:L.address.toLowerCase(),aux_version:1}:S={token_address:L.address.toLowerCase()}}}catch{}const N=(d||[]).filter(L=>{var j;if(!S)return!L.deposit_metadata.token_address;let z=((j=L.deposit_metadata.token_address)==null?void 0:j.toLowerCase())===S.token_address;return S.aux_version!=null&&(z=z&&L.deposit_metadata.aux_version===S.aux_version),t===K0.LBTC&&(z=z||!L.deposit_metadata.token_address),z});if(N&&N.length>0){const L=N.reduce((z,j)=>j.created_at>z.created_at?j:z,N[0]);L.deprecated||(k=L.btc_address)}if(!k)throw new Error(`No deposit address found for ${p} on chain ${f}`);return k}async function $7(p){return await s6(p)}const i6=8,Di=q0(10).pow(i6);function nn(p){return q0(p).dividedBy(Di)}function oa(p){return q0(p).multipliedBy(Di).decimalPlaces(0,q0.ROUND_HALF_UP)}var o6=(p=>(p.NOTARIZATION_STATUS_UNSPECIFIED="NOTARIZATION_STATUS_UNSPECIFIED",p.NOTARIZATION_STATUS_PENDING="NOTARIZATION_STATUS_PENDING",p.NOTARIZATION_STATUS_SUBMITTED="NOTARIZATION_STATUS_SUBMITTED",p.NOTARIZATION_STATUS_SESSION_APPROVED="NOTARIZATION_STATUS_SESSION_APPROVED",p.NOTARIZATION_STATUS_FAILED="NOTARIZATION_STATUS_FAILED",p))(o6||{}),u6=(p=>(p.SESSION_STATE_UNSPECIFIED="SESSION_STATE_UNSPECIFIED",p.SESSION_STATE_PENDING="SESSION_STATE_PENDING",p.SESSION_STATE_COMPLETED="SESSION_STATE_COMPLETED",p.SESSION_STATE_EXPIRED="SESSION_STATE_EXPIRED",p))(u6||{});async function eb({address:p,env:f}){const{baseApiUrl:u}=Ae(f),{data:v}=await ue.get(`api/v1/address/outputs-v2/${p}`,{baseURL:u});return((v==null?void 0:v.outputs)??[]).map(tb(f))}function tb(p){return f=>({txid:f.txid,index:f.index??0,blockHeight:f.block_height?Number(f.block_height):void 0,blockTime:f.block_time?Number(f.block_time):void 0,value:nn(f.value),address:f.address,chainId:Oi(f.to_chain,p),claimedTxId:f.claim_tx,isClaimed:!!f.claim_tx,rawPayload:f.raw_payload,signature:f.proof,isRestricted:!!f.sanctioned,notarizationWaitDur:f.notarization_wait_dur?Number(f.notarization_wait_dur):void 0,payload:f.payload_hash,sessionId:f.session_id,notarizationStatus:f.notarization_status,sessionState:f.session_state,tokenAddress:f.token_address})}const nb=2e-4;async function ab({env:p,chainId:f=X.ethereum,amount:u=oa(1)}){const{baseApiUrl:v}=Ae(p),t=Er(f),{data:d}=await ue.get(`api/v1/exchange/rate/${t}`,{baseURL:v,params:{amount:u}}),k=q0(d.amount_out).toNumber(),S=q0(u).dividedBy(d.amount_out).toNumber(),N=oa(nb).toNumber();return{amountOut:k,exchangeRate:S,minAmount:N}}const rb=[K0.LBTC];async function sb({env:p}){const{baseApiUrl:f}=Ae(p),u=`${f}/api/v1/ratio`,{data:v}=await ue.get(u);return v.token_ratio.map(k=>({token:e6[k.name],tokenBTCRatio:q0(k.ratio),BTCTokenRatio:q0(k.price)})).filter(k=>rb.includes(k.token)).reduce((k,S)=>{const{token:N,...L}=S;return k[S.token]=L,k},{})}async function ib({address:p,chainId:f,env:u}){const{baseApiUrl:v}=Ae(u);try{const{data:t}=await ue.get(`${v}/api/v1/claimer/get-user-signature`,{params:{user_destination_address:p,chain_id:f}});return{expirationDate:t==null?void 0:t.expiration_date,hasSignature:t==null?void 0:t.has_signature,isDelayed:t==null?void 0:t.is_delayed}}catch(t){const d=Je(t);throw new Error(d)}}async function ob({address:p,env:f}){var R0,P0,x0,e0,T0,d0,m0,A0;const{baseApiUrl:u,bffApiUrl:v}=Ae(f);if(!v||!u)throw new Error(`Could not determine the API endpoint for the provided environment: ${f||Vn}`);const t=`${u}/api/v1/referral-system/season-1/points/${p}`,d=`${u}/api/v1/task/okx/user-task-verification?address=${p}&chain=1`,k=`${v}/sentio-api/flash-event-points/${p}`,S=ue.get(t),N=ue.get(d),L=ue.get(k),[{data:z},{data:j},{data:q}]=await Promise.all([S,N,L]),O=yn(j==null?void 0:j.points),_=yn((e0=(x0=(P0=(R0=q==null?void 0:q.flashEvent1Points)==null?void 0:R0.result)==null?void 0:P0.rows)==null?void 0:x0[0])==null?void 0:e0.points),J=yn((A0=(m0=(d0=(T0=q==null?void 0:q.flashEvent2Points)==null?void 0:T0.result)==null?void 0:d0.rows)==null?void 0:m0[0])==null?void 0:A0.totalPoints),s0=_+J,o0=yn(z.holding_points),c0=yn(z.protocol_points),p0=yn(z.referee_points)+yn(z.referrals_points),v0=o0+c0+p0+O+s0,b0=Object.entries(z.protocol_points_map||{}).reduce((N0,[k0,I0])=>(N0[k0]=yn(I0),N0),{});return{holdingPoints:o0,protocolPoints:c0,referralPoints:p0,okxPoints:O,flashEventPoints:s0,totalPoints:v0,protocolPointsBreakdown:b0}}function yn(p,f=0){return Number(p)||f}var c6=(p=>(p.Completed="Completed",p.Pending="Pending",p))(c6||{});async function ub({address:p,env:f="prod",options:u}){const{baseApiUrl:v}=Ae(f);if(!p)throw new Error("No address specified.");const t=new URL(`/api/v1/address/unstakes/${p}`,v);u!=null&&u.limit&&t.searchParams.set("limit",u.limit.toString()),u!=null&&u.offset&&t.searchParams.set("offset",u.offset.toString());const{data:{unstakes:d=[]}}=await ue.get(t.toString());return d.map(k=>cb(k,f))}function cb(p,f){const u=Bn.address.fromOutputScript(Buffer.from(p.output_script,"hex"),f==="prod"?Bn.networks.bitcoin:Bn.networks.testnet),v=p.payout_txid?"Completed":"Pending";return{txHash:p.tx_hash,chainId:Oi(p.blockchain,f),blockHeight:+p.block_height,unstakeDate:new Date(+p.block_time*1e3),fromAddress:p.from_address,toAddress:u,amount:nn(p.amount),payoutTxHash:p.payout_txid,payoutTxIndex:p.payout_index?+p.payout_index:void 0,payoutTxStatus:v,sanctioned:p.sanctioned}}async function db({userDestinationAddress:p,chainId:f,env:u}){const{baseApiUrl:v}=Ae(u);try{const{data:t}=await ue.get(`${v}/api/v1/claimer/get-user-stake-and-bake-signature`,{params:{userDestinationAddress:p,chainId:f.toString()}});return{userDestinationAddress:t.user_destination_address,signature:t.signature,expirationDate:t.expiration_date,depositAmount:t.deposit_amount,chainId:t.chain_id}}catch(t){const d=Je(t);throw new Error(`Failed to get user stake and bake signature: ${d}`)}}const lb="api/v1/referral-system/referrer/";async function pb({address:p,signature:f,eip712Data:u,referrerCode:v,env:t}){const{baseApiUrl:d}=Ae(t),k={referrer_code:v,signature:f,signature_typed_data:u};try{await ue.post(`${lb}${p}`,k,{baseURL:d});return}catch(S){const N=Je(S);throw new Error(N)}}async function yb({signature:p,typedData:f,address:u,env:v}){const{baseApiUrl:t}=Ae(v);try{const{data:d}=await ue.post(`${t}/api/v1/claimer/save-user-signature`,null,{params:{typed_data:f,signature:p,user_destination_address:u}});return d.status}catch(d){const k=Je(d);throw new Error(k)}}async function fb({signature:p,typedData:f,env:u}){const{baseApiUrl:v}=Ae(u);try{const{data:t}=await ue.post(`${v}/api/v1/claimer/save-stake-and-bake-signature`,null,{params:{typed_data:f,signature:p}});return t.status}catch(t){const d=Je(t);throw new Error(d)}}const mb=JSON.parse('[{"inputs":[{"internalType":"address","name":"aDefaultAdmin","type":"address"},{"internalType":"address","name":"aPauser","type":"address"},{"internalType":"address","name":"aDepositReporter","type":"address"},{"internalType":"address","name":"aWithdrawalValidator","type":"address"},{"internalType":"uint256","name":"aMaxDeposits","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AccessControlBadConfirmation","type":"error"},{"inputs":[{"internalType":"uint48","name":"schedule","type":"uint48"}],"name":"AccessControlEnforcedDefaultAdminDelay","type":"error"},{"inputs":[],"name":"AccessControlEnforcedDefaultAdminRules","type":"error"},{"inputs":[{"internalType":"address","name":"defaultAdmin","type":"address"}],"name":"AccessControlInvalidDefaultAdmin","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"neededRole","type":"bytes32"}],"name":"AccessControlUnauthorizedAccount","type":"error"},{"inputs":[{"internalType":"bytes32","name":"depositID","type":"bytes32"}],"name":"AlreadyReported","type":"error"},{"inputs":[{"internalType":"bytes32","name":"depositID","type":"bytes32"},{"internalType":"uint256","name":"withdrawalAmount","type":"uint256"}],"name":"AlreadyWithdrawn","type":"error"},{"inputs":[],"name":"BadDepositReport","type":"error"},{"inputs":[],"name":"EnforcedPause","type":"error"},{"inputs":[],"name":"ExpectedPause","type":"error"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"SafeCastOverflowedUintDowncast","type":"error"},{"inputs":[],"name":"SameValidationThreshold","type":"error"},{"inputs":[{"internalType":"bytes32","name":"depositID","type":"bytes32"},{"internalType":"uint256","name":"withdrawalAmount","type":"uint256"}],"name":"WithdrawalFailedValidation","type":"error"},{"anonymous":false,"inputs":[],"name":"DefaultAdminDelayChangeCanceled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint48","name":"newDelay","type":"uint48"},{"indexed":false,"internalType":"uint48","name":"effectSchedule","type":"uint48"}],"name":"DefaultAdminDelayChangeScheduled","type":"event"},{"anonymous":false,"inputs":[],"name":"DefaultAdminTransferCanceled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newAdmin","type":"address"},{"indexed":false,"internalType":"uint48","name":"acceptSchedule","type":"uint48"}],"name":"DefaultAdminTransferScheduled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"reportId","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"numDeposits","type":"uint256"}],"name":"DepositsReported","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"numDeposits","type":"uint256"}],"name":"MaxDepositsUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"previousAdminRole","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"newAdminRole","type":"bytes32"}],"name":"RoleAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleRevoked","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldThreshold","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newThreshold","type":"uint256"}],"name":"UpdateValidateThreshold","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"depositID","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"withdrawalAmount","type":"uint256"}],"name":"WithdrawalNotValidated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"depositID","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"withdrawalAmount","type":"uint256"}],"name":"WithdrawalValidated","type":"event"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DEPOSIT_REPORTER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PAUSER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"VALIDATION_GUARDIAN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"WITHDRAWAL_VALIDATOR_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"acceptDefaultAdminTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAdmin","type":"address"}],"name":"beginDefaultAdminTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"cancelDefaultAdminTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint48","name":"newDelay","type":"uint48"}],"name":"changeDefaultAdminDelay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"defaultAdmin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"defaultAdminDelay","outputs":[{"internalType":"uint48","name":"","type":"uint48"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"defaultAdminDelayIncreaseWait","outputs":[{"internalType":"uint48","name":"","type":"uint48"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"depositID","type":"bytes32"}],"name":"depositHistory","outputs":[{"internalType":"enum Bascule.DepositState","name":"status","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxDeposits","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":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pendingDefaultAdmin","outputs":[{"internalType":"address","name":"newAdmin","type":"address"},{"internalType":"uint48","name":"schedule","type":"uint48"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pendingDefaultAdminDelay","outputs":[{"internalType":"uint48","name":"newDelay","type":"uint48"},{"internalType":"uint48","name":"schedule","type":"uint48"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"reportId","type":"bytes32"},{"internalType":"bytes32[]","name":"depositIDs","type":"bytes32[]"}],"name":"reportDeposits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rollbackDefaultAdminDelay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"aMaxDeposits","type":"uint256"}],"name":"setMaxDeposits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newThreshold","type":"uint256"}],"name":"updateValidateThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"validateThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"depositID","type":"bytes32"},{"internalType":"uint256","name":"withdrawalAmount","type":"uint256"}],"name":"validateWithdrawal","outputs":[],"stateMutability":"nonpayable","type":"function"}]');var D2=(p=>(p[p.UNREPORTED=0]="UNREPORTED",p[p.REPORTED=1]="REPORTED",p[p.WITHDRAWN=2]="WITHDRAWN",p))(D2||{});async function d6({deposit:p,rawPayload:f,provider:u,chainId:v,rpcUrl:t,env:d=Vn,token:k=K0.LBTC}){const S=(p==null?void 0:p.rawPayload)||f;if(!S)throw new Error("No 'rawPayload' or 'deposit' data provided. Please provide 'rawPayload' or 'deposit' parameter.");const N=Re({chainId:v,rpcUrl:t,env:d}),L=rt(k,v,d),z=await N.readContract({abi:L.abi,address:L.address,functionName:"Bascule"});if(z===Et)return 1;let j;if(u?j=Qe({provider:u,chainId:v}):j=Re({chainId:v,rpcUrl:t}),!j)throw new Error("Could not determine the client for the contract interactions. Please provide the 'provider' and 'chainId' parameters or 'chainId' and optionally the 'rpcUrl' parameter.");try{const q=Tr({abi:mb,address:z,client:j}),O=Oe(Buffer.from(S.slice(8),"hex"));return await q.read.depositHistory([O])}catch(q){throw new Error(Je(q))}}async function bb(p){return l6({token:K0.LBTC,...p})}async function hb(p){return p6({token:K0.LBTC,...p})}async function l6({token:p,chainId:f,rpcUrl:u,env:v}){if(![K0.LBTC,K0.BTCK].includes(p))throw new Error(`Unsupported token: ${p}`);const t=v||va(f),d=Re({chainId:f,rpcUrl:u,env:t}),k=rt(p,f,t),S=await d.readContract({abi:k.abi,address:k.address,functionName:"getMintFee"});return nn(String(S))}async function p6({token:p,chainId:f,rpcUrl:u,env:v}){if(![K0.LBTC,K0.BTCK].includes(p))throw new Error(`Unsupported token: ${p}`);const t=v||va(f),d=Re({chainId:f,rpcUrl:u,env:t}),k=rt(p,f,t),S=await d.readContract({abi:k.abi,address:k.address,functionName:"getBurnCommission"});return nn(String(S))}async function gb({chainId:p,rpcUrl:f,env:u}){const v=u||va(p),t=Re({chainId:p,rpcUrl:f,env:v}),d=rt(K0.LBTC,p,v),k=await t.readContract({abi:d.abi,address:d.address,functionName:"totalSupply"});return nn(String(k))}async function y6({owner:p,chainId:f,rpcUrl:u,env:v=Vn}){const t=v||va(f),d=Re({chainId:f,rpcUrl:u}),k=rt(K0.LBTC,f,t),S=await d.readContract({abi:k.abi,address:k.address,functionName:"nonces",args:[p]});return String(S)}const wb=JSON.parse('[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"uint8","name":"_decimals","type":"uint8"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"AddressEmptyCode","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"AddressInsufficientBalance","type":"error"},{"inputs":[],"name":"FailedInnerCall","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"contract Authority","name":"newAuthority","type":"address"}],"name":"AuthorityUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"asset","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"shares","type":"uint256"}],"name":"Enter","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"address","name":"asset","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint256","name":"shares","type":"uint256"}],"name":"Exit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"authority","outputs":[{"internalType":"contract Authority","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"contract ERC20","name":"asset","type":"address"},{"internalType":"uint256","name":"assetAmount","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"shareAmount","type":"uint256"}],"name":"enter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"contract ERC20","name":"asset","type":"address"},{"internalType":"uint256","name":"assetAmount","type":"uint256"},{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"shareAmount","type":"uint256"}],"name":"exit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"hook","outputs":[{"internalType":"contract BeforeTransferHook","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"bytes[]","name":"data","type":"bytes[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"}],"name":"manage","outputs":[{"internalType":"bytes[]","name":"results","type":"bytes[]"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"manage","outputs":[{"internalType":"bytes","name":"result","type":"bytes"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC1155BatchReceived","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC1155Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC721Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract Authority","name":"newAuthority","type":"address"}],"name":"setAuthority","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_hook","type":"address"}],"name":"setBeforeTransferHook","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]'),Tb=JSON.parse('[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_vault","type":"address"},{"internalType":"address","name":"payoutAddress","type":"address"},{"internalType":"uint96","name":"startingExchangeRate","type":"uint96"},{"internalType":"address","name":"_base","type":"address"},{"internalType":"uint16","name":"allowedExchangeRateChangeUpper","type":"uint16"},{"internalType":"uint16","name":"allowedExchangeRateChangeLower","type":"uint16"},{"internalType":"uint24","name":"minimumUpdateDelayInSeconds","type":"uint24"},{"internalType":"uint16","name":"managementFee","type":"uint16"},{"internalType":"uint16","name":"performanceFee","type":"uint16"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AccountantWithRateProviders__ExchangeRateAboveHighwaterMark","type":"error"},{"inputs":[],"name":"AccountantWithRateProviders__LowerBoundTooLarge","type":"error"},{"inputs":[],"name":"AccountantWithRateProviders__ManagementFeeTooLarge","type":"error"},{"inputs":[],"name":"AccountantWithRateProviders__OnlyCallableByBoringVault","type":"error"},{"inputs":[],"name":"AccountantWithRateProviders__Paused","type":"error"},{"inputs":[],"name":"AccountantWithRateProviders__PerformanceFeeTooLarge","type":"error"},{"inputs":[],"name":"AccountantWithRateProviders__UpdateDelayTooLarge","type":"error"},{"inputs":[],"name":"AccountantWithRateProviders__UpperBoundTooSmall","type":"error"},{"inputs":[],"name":"AccountantWithRateProviders__ZeroFeesOwed","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"contract Authority","name":"newAuthority","type":"address"}],"name":"AuthorityUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint24","name":"oldDelay","type":"uint24"},{"indexed":false,"internalType":"uint24","name":"newDelay","type":"uint24"}],"name":"DelayInSecondsUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint96","name":"oldRate","type":"uint96"},{"indexed":false,"internalType":"uint96","name":"newRate","type":"uint96"},{"indexed":false,"internalType":"uint64","name":"currentTime","type":"uint64"}],"name":"ExchangeRateUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"feeAsset","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"FeesClaimed","type":"event"},{"anonymous":false,"inputs":[],"name":"HighwaterMarkReset","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint16","name":"oldBound","type":"uint16"},{"indexed":false,"internalType":"uint16","name":"newBound","type":"uint16"}],"name":"LowerBoundUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint16","name":"oldFee","type":"uint16"},{"indexed":false,"internalType":"uint16","name":"newFee","type":"uint16"}],"name":"ManagementFeeUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldPayout","type":"address"},{"indexed":false,"internalType":"address","name":"newPayout","type":"address"}],"name":"PayoutAddressUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint16","name":"oldFee","type":"uint16"},{"indexed":false,"internalType":"uint16","name":"newFee","type":"uint16"}],"name":"PerformanceFeeUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"asset","type":"address"},{"indexed":false,"internalType":"bool","name":"isPegged","type":"bool"},{"indexed":false,"internalType":"address","name":"rateProvider","type":"address"}],"name":"RateProviderUpdated","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpaused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint16","name":"oldBound","type":"uint16"},{"indexed":false,"internalType":"uint16","name":"newBound","type":"uint16"}],"name":"UpperBoundUpdated","type":"event"},{"inputs":[],"name":"accountantState","outputs":[{"internalType":"address","name":"payoutAddress","type":"address"},{"internalType":"uint96","name":"highwaterMark","type":"uint96"},{"internalType":"uint128","name":"feesOwedInBase","type":"uint128"},{"internalType":"uint128","name":"totalSharesLastUpdate","type":"uint128"},{"internalType":"uint96","name":"exchangeRate","type":"uint96"},{"internalType":"uint16","name":"allowedExchangeRateChangeUpper","type":"uint16"},{"internalType":"uint16","name":"allowedExchangeRateChangeLower","type":"uint16"},{"internalType":"uint64","name":"lastUpdateTimestamp","type":"uint64"},{"internalType":"bool","name":"isPaused","type":"bool"},{"internalType":"uint24","name":"minimumUpdateDelayInSeconds","type":"uint24"},{"internalType":"uint16","name":"managementFee","type":"uint16"},{"internalType":"uint16","name":"performanceFee","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"authority","outputs":[{"internalType":"contract Authority","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"base","outputs":[{"internalType":"contract ERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract ERC20","name":"feeAsset","type":"address"}],"name":"claimFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getRate","outputs":[{"internalType":"uint256","name":"rate","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract ERC20","name":"quote","type":"address"}],"name":"getRateInQuote","outputs":[{"internalType":"uint256","name":"rateInQuote","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract ERC20","name":"quote","type":"address"}],"name":"getRateInQuoteSafe","outputs":[{"internalType":"uint256","name":"rateInQuote","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getRateSafe","outputs":[{"internalType":"uint256","name":"rate","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract ERC20","name":"","type":"address"}],"name":"rateProviderData","outputs":[{"internalType":"bool","name":"isPeggedToBase","type":"bool"},{"internalType":"contract IRateProvider","name":"rateProvider","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"resetHighwaterMark","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract Authority","name":"newAuthority","type":"address"}],"name":"setAuthority","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract ERC20","name":"asset","type":"address"},{"internalType":"bool","name":"isPeggedToBase","type":"bool"},{"internalType":"address","name":"rateProvider","type":"address"}],"name":"setRateProviderData","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint24","name":"minimumUpdateDelayInSeconds","type":"uint24"}],"name":"updateDelay","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint96","name":"newExchangeRate","type":"uint96"}],"name":"updateExchangeRate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"allowedExchangeRateChangeLower","type":"uint16"}],"name":"updateLower","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"managementFee","type":"uint16"}],"name":"updateManagementFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"payoutAddress","type":"address"}],"name":"updatePayoutAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"performanceFee","type":"uint16"}],"name":"updatePerformanceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"allowedExchangeRateChangeUpper","type":"uint16"}],"name":"updateUpper","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"vault","outputs":[{"internalType":"contract BoringVault","name":"","type":"address"}],"stateMutability":"view","type":"function"}]'),vb=[{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"contract BoringVault",name:"boringVault",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"shares",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"contract BoringVault",name:"boringVault",type:"address"},{internalType:"contract AccountantWithRateProviders",name:"accountant",type:"address"}],name:"balanceOfInAssets",outputs:[{internalType:"uint256",name:"assets",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"contract ERC20",name:"depositAsset",type:"address"},{internalType:"uint256",name:"depositAmount",type:"uint256"},{internalType:"contract BoringVault",name:"boringVault",type:"address"},{internalType:"contract TellerWithMultiAssetSupport",name:"teller",type:"address"}],name:"checkUserDeposit",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"contract ERC20",name:"depositAsset",type:"address"},{internalType:"uint256",name:"depositAmount",type:"uint256"},{internalType:"contract TellerWithMultiAssetSupport",name:"teller",type:"address"}],name:"checkUserDepositWithPermit",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract AccountantWithRateProviders",name:"accountant",type:"address"}],name:"exchangeRate",outputs:[{internalType:"uint256",name:"rate",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract TellerWithMultiAssetSupport",name:"teller",type:"address"}],name:"isTellerPaused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract ERC20",name:"depositAsset",type:"address"},{internalType:"uint256",name:"depositAmount",type:"uint256"},{internalType:"contract BoringVault",name:"boringVault",type:"address"},{internalType:"contract AccountantWithRateProviders",name:"accountant",type:"address"}],name:"previewDeposit",outputs:[{internalType:"uint256",name:"shares",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract BoringVault",name:"boringVault",type:"address"},{internalType:"contract AccountantWithRateProviders",name:"accountant",type:"address"}],name:"totalAssets",outputs:[{internalType:"contract ERC20",name:"asset",type:"address"},{internalType:"uint256",name:"assets",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"contract TellerWithMultiAssetSupport",name:"teller",type:"address"}],name:"userUnlockTime",outputs:[{internalType:"uint256",name:"time",type:"uint256"}],stateMutability:"view",type:"function"}],za=JSON.parse('[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AccessControlBadConfirmation","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"neededRole","type":"bytes32"}],"name":"AccessControlUnauthorizedAccount","type":"error"},{"inputs":[],"name":"Actions_ZeroAddress","type":"error"},{"inputs":[],"name":"EnforcedPause","type":"error"},{"inputs":[],"name":"ExpectedPause","type":"error"},{"inputs":[],"name":"FeeGreaterThanMaximum","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"NoDepositorSet","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[],"name":"PayloadTooLarge","type":"error"},{"inputs":[],"name":"ReentrancyGuardReentrantCall","type":"error"},{"inputs":[],"name":"WrongChainId","type":"error"},{"inputs":[],"name":"ZeroAddress","type":"error"},{"inputs":[],"name":"ZeroAmount","type":"error"},{"inputs":[],"name":"ZeroDepositAmount","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"index","type":"uint256"},{"components":[{"internalType":"bytes","name":"permitPayload","type":"bytes"},{"internalType":"bytes","name":"depositPayload","type":"bytes"},{"internalType":"bytes","name":"mintPayload","type":"bytes"},{"internalType":"bytes","name":"proof","type":"bytes"}],"indexed":false,"internalType":"struct StakeAndBake.StakeAndBakeData","name":"data","type":"tuple"}],"name":"BatchStakeAndBakeReverted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"depositor","type":"address"}],"name":"DepositorSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"oldFee","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"newFee","type":"uint256"}],"name":"FeeChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"previousAdminRole","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"newAdminRole","type":"bytes32"}],"name":"RoleAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleRevoked","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"inputs":[],"name":"CLAIMER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"FEE_OPERATOR_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAXIMUM_FEE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PAUSER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"bytes","name":"permitPayload","type":"bytes"},{"internalType":"bytes","name":"depositPayload","type":"bytes"},{"internalType":"bytes","name":"mintPayload","type":"bytes"},{"internalType":"bytes","name":"proof","type":"bytes"}],"internalType":"struct StakeAndBake.StakeAndBakeData[]","name":"data","type":"tuple[]"}],"name":"batchStakeAndBake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getStakeAndBakeDepositor","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getStakeAndBakeFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"lbtc_","type":"address"},{"internalType":"address","name":"owner_","type":"address"},{"internalType":"address","name":"operator_","type":"address"},{"internalType":"uint256","name":"fee_","type":"uint256"},{"internalType":"address","name":"claimer_","type":"address"},{"internalType":"address","name":"pauser_","type":"address"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"callerConfirmation","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"depositor","type":"address"}],"name":"setDepositor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"fee","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"bytes","name":"permitPayload","type":"bytes"},{"internalType":"bytes","name":"depositPayload","type":"bytes"},{"internalType":"bytes","name":"mintPayload","type":"bytes"},{"internalType":"bytes","name":"proof","type":"bytes"}],"internalType":"struct StakeAndBake.StakeAndBakeData","name":"data","type":"tuple"}],"name":"stakeAndBake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"}]'),Ha=JSON.parse('[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_vault","type":"address"},{"internalType":"address","name":"_accountant","type":"address"},{"internalType":"address","name":"_weth","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"TellerWithMultiAssetSupport__AssetNotSupported","type":"error"},{"inputs":[],"name":"TellerWithMultiAssetSupport__BadDepositHash","type":"error"},{"inputs":[],"name":"TellerWithMultiAssetSupport__DualDeposit","type":"error"},{"inputs":[],"name":"TellerWithMultiAssetSupport__MinimumAssetsNotMet","type":"error"},{"inputs":[],"name":"TellerWithMultiAssetSupport__MinimumMintNotMet","type":"error"},{"inputs":[],"name":"TellerWithMultiAssetSupport__Paused","type":"error"},{"inputs":[],"name":"TellerWithMultiAssetSupport__PermitFailedAndAllowanceTooLow","type":"error"},{"inputs":[],"name":"TellerWithMultiAssetSupport__ShareLockPeriodTooLong","type":"error"},{"inputs":[],"name":"TellerWithMultiAssetSupport__SharePremiumTooLarge","type":"error"},{"inputs":[],"name":"TellerWithMultiAssetSupport__SharesAreLocked","type":"error"},{"inputs":[],"name":"TellerWithMultiAssetSupport__SharesAreUnLocked","type":"error"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"TellerWithMultiAssetSupport__TransferDenied","type":"error"},{"inputs":[],"name":"TellerWithMultiAssetSupport__ZeroAssets","type":"error"},{"inputs":[],"name":"TellerWithMultiAssetSupport__ZeroShares","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"}],"name":"AllowFrom","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"}],"name":"AllowOperator","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"}],"name":"AllowTo","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"asset","type":"address"},{"indexed":false,"internalType":"bool","name":"allowDeposits","type":"bool"},{"indexed":false,"internalType":"bool","name":"allowWithdraws","type":"bool"},{"indexed":false,"internalType":"uint16","name":"sharePremium","type":"uint16"}],"name":"AssetDataUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"contract Authority","name":"newAuthority","type":"address"}],"name":"AuthorityUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"asset","type":"address"},{"indexed":false,"internalType":"uint256","name":"depositAmount","type":"uint256"}],"name":"BulkDeposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"asset","type":"address"},{"indexed":false,"internalType":"uint256","name":"shareAmount","type":"uint256"}],"name":"BulkWithdraw","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"}],"name":"DenyFrom","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"}],"name":"DenyOperator","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"}],"name":"DenyTo","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"nonce","type":"uint256"},{"indexed":true,"internalType":"address","name":"receiver","type":"address"},{"indexed":true,"internalType":"address","name":"depositAsset","type":"address"},{"indexed":false,"internalType":"uint256","name":"depositAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"shareAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"depositTimestamp","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"shareLockPeriodAtTimeOfDeposit","type":"uint256"}],"name":"Deposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"nonce","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"depositHash","type":"bytes32"},{"indexed":true,"internalType":"address","name":"user","type":"address"}],"name":"DepositRefunded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpaused","type":"event"},{"inputs":[],"name":"accountant","outputs":[{"internalType":"contract AccountantWithRateProviders","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"allowAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"allowFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"allowOperator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"allowTo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract ERC20","name":"","type":"address"}],"name":"assetData","outputs":[{"internalType":"bool","name":"allowDeposits","type":"bool"},{"internalType":"bool","name":"allowWithdraws","type":"bool"},{"internalType":"uint16","name":"sharePremium","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"authority","outputs":[{"internalType":"contract Authority","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"beforeTransfer","outputs":[],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract ERC20","name":"depositAsset","type":"address"},{"internalType":"uint256","name":"depositAmount","type":"uint256"},{"internalType":"uint256","name":"minimumMint","type":"uint256"},{"internalType":"address","name":"to","type":"address"}],"name":"bulkDeposit","outputs":[{"internalType":"uint256","name":"shares","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract ERC20","name":"withdrawAsset","type":"address"},{"internalType":"uint256","name":"shareAmount","type":"uint256"},{"internalType":"uint256","name":"minimumAssets","type":"uint256"},{"internalType":"address","name":"to","type":"address"}],"name":"bulkWithdraw","outputs":[{"internalType":"uint256","name":"assetsOut","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"denyAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"denyFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"denyOperator","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"denyTo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract ERC20","name":"depositAsset","type":"address"},{"internalType":"uint256","name":"depositAmount","type":"uint256"},{"internalType":"uint256","name":"minimumMint","type":"uint256"}],"name":"deposit","outputs":[{"internalType":"uint256","name":"shares","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"depositNonce","outputs":[{"internalType":"uint96","name":"","type":"uint96"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract ERC20","name":"depositAsset","type":"address"},{"internalType":"uint256","name":"depositAmount","type":"uint256"},{"internalType":"uint256","name":"minimumMint","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"depositWithPermit","outputs":[{"internalType":"uint256","name":"shares","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"fromDenyList","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isPaused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"nativeWrapper","outputs":[{"internalType":"contract WETH","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"operatorDenyList","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"publicDepositHistory","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"address","name":"receiver","type":"address"},{"internalType":"address","name":"depositAsset","type":"address"},{"internalType":"uint256","name":"depositAmount","type":"uint256"},{"internalType":"uint256","name":"shareAmount","type":"uint256"},{"internalType":"uint256","name":"depositTimestamp","type":"uint256"},{"internalType":"uint256","name":"shareLockUpPeriodAtTimeOfDeposit","type":"uint256"}],"name":"refundDeposit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract Authority","name":"newAuthority","type":"address"}],"name":"setAuthority","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint64","name":"_shareLockPeriod","type":"uint64"}],"name":"setShareLockPeriod","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"shareLockPeriod","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"shareUnlockTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"toDenyList","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract ERC20","name":"asset","type":"address"},{"internalType":"bool","name":"allowDeposits","type":"bool"},{"internalType":"bool","name":"allowWithdraws","type":"bool"},{"internalType":"uint16","name":"sharePremium","type":"uint16"}],"name":"updateAssetData","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"vault","outputs":[{"internalType":"contract BoringVault","name":"","type":"address"}],"stateMutability":"view","type":"function"}]'),Va=JSON.parse('[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"contract Authority","name":"_auth","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AtomicQueue__Paused","type":"error"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"AtomicQueue__RequestDeadlineExceeded","type":"error"},{"inputs":[],"name":"AtomicQueue__SafeRequestAccountantOfferMismatch","type":"error"},{"inputs":[],"name":"AtomicQueue__SafeRequestCannotCastToUint88","type":"error"},{"inputs":[{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"AtomicQueue__SafeRequestDeadlineExceeded","type":"error"},{"inputs":[],"name":"AtomicQueue__SafeRequestDiscountTooLarge","type":"error"},{"inputs":[{"internalType":"uint256","name":"offerAmount","type":"uint256"},{"internalType":"uint256","name":"offerAllowance","type":"uint256"}],"name":"AtomicQueue__SafeRequestInsufficientOfferAllowance","type":"error"},{"inputs":[{"internalType":"uint256","name":"offerAmount","type":"uint256"},{"internalType":"uint256","name":"offerBalance","type":"uint256"}],"name":"AtomicQueue__SafeRequestOfferAmountGreaterThanOfferBalance","type":"error"},{"inputs":[],"name":"AtomicQueue__SafeRequestOfferAmountZero","type":"error"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"AtomicQueue__UserNotInSolve","type":"error"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"AtomicQueue__UserRepeated","type":"error"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"AtomicQueue__ZeroOfferAmount","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"address","name":"offerToken","type":"address"},{"indexed":true,"internalType":"address","name":"wantToken","type":"address"},{"indexed":false,"internalType":"uint256","name":"offerAmountSpent","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"wantAmountReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"AtomicRequestFulfilled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"address","name":"offerToken","type":"address"},{"indexed":true,"internalType":"address","name":"wantToken","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"deadline","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"minPrice","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"AtomicRequestUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"contract Authority","name":"newAuthority","type":"address"}],"name":"AuthorityUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpaused","type":"event"},{"inputs":[],"name":"MAX_DISCOUNT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"authority","outputs":[{"internalType":"contract Authority","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"contract ERC20","name":"offer","type":"address"},{"internalType":"contract ERC20","name":"want","type":"address"}],"name":"getUserAtomicRequest","outputs":[{"components":[{"internalType":"uint64","name":"deadline","type":"uint64"},{"internalType":"uint88","name":"atomicPrice","type":"uint88"},{"internalType":"uint96","name":"offerAmount","type":"uint96"},{"internalType":"bool","name":"inSolve","type":"bool"}],"internalType":"struct AtomicQueue.AtomicRequest","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract ERC20","name":"offer","type":"address"},{"internalType":"address","name":"user","type":"address"},{"components":[{"internalType":"uint64","name":"deadline","type":"uint64"},{"internalType":"uint88","name":"atomicPrice","type":"uint88"},{"internalType":"uint96","name":"offerAmount","type":"uint96"},{"internalType":"bool","name":"inSolve","type":"bool"}],"internalType":"struct AtomicQueue.AtomicRequest","name":"userRequest","type":"tuple"}],"name":"isAtomicRequestValid","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isPaused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract ERC20","name":"offer","type":"address"},{"internalType":"contract ERC20","name":"want","type":"address"},{"components":[{"internalType":"uint64","name":"deadline","type":"uint64"},{"internalType":"uint88","name":"atomicPrice","type":"uint88"},{"internalType":"uint96","name":"offerAmount","type":"uint96"},{"internalType":"bool","name":"inSolve","type":"bool"}],"internalType":"struct AtomicQueue.AtomicRequest","name":"userRequest","type":"tuple"},{"internalType":"contract AccountantWithRateProviders","name":"accountant","type":"address"},{"internalType":"uint256","name":"discount","type":"uint256"}],"name":"safeUpdateAtomicRequest","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract Authority","name":"newAuthority","type":"address"}],"name":"setAuthority","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract ERC20","name":"offer","type":"address"},{"internalType":"contract ERC20","name":"want","type":"address"},{"internalType":"address[]","name":"users","type":"address[]"},{"internalType":"bytes","name":"runData","type":"bytes"},{"internalType":"address","name":"solver","type":"address"}],"name":"solve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract ERC20","name":"offer","type":"address"},{"internalType":"contract ERC20","name":"want","type":"address"},{"components":[{"internalType":"uint64","name":"deadline","type":"uint64"},{"internalType":"uint88","name":"atomicPrice","type":"uint88"},{"internalType":"uint96","name":"offerAmount","type":"uint96"},{"internalType":"bool","name":"inSolve","type":"bool"}],"internalType":"struct AtomicQueue.AtomicRequest","name":"userRequest","type":"tuple"}],"name":"updateAtomicRequest","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"contract ERC20","name":"","type":"address"},{"internalType":"contract ERC20","name":"","type":"address"}],"name":"userAtomicRequest","outputs":[{"internalType":"uint64","name":"deadline","type":"uint64"},{"internalType":"uint88","name":"atomicPrice","type":"uint88"},{"internalType":"uint96","name":"offerAmount","type":"uint96"},{"internalType":"bool","name":"inSolve","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract ERC20","name":"offer","type":"address"},{"internalType":"contract ERC20","name":"want","type":"address"},{"internalType":"address[]","name":"users","type":"address[]"}],"name":"viewSolveMetaData","outputs":[{"components":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint8","name":"flags","type":"uint8"},{"internalType":"uint256","name":"assetsToOffer","type":"uint256"},{"internalType":"uint256","name":"assetsForWant","type":"uint256"}],"internalType":"struct AtomicQueue.SolveMetaData[]","name":"metaData","type":"tuple[]"},{"internalType":"uint256","name":"totalAssetsForWant","type":"uint256"},{"internalType":"uint256","name":"totalAssetsToOffer","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract ERC20","name":"offer","type":"address"},{"internalType":"contract ERC20","name":"want","type":"address"},{"internalType":"address[]","name":"users","type":"address[]"}],"name":"viewVerboseSolveMetaData","outputs":[{"components":[{"internalType":"address","name":"user","type":"address"},{"internalType":"bool","name":"deadlineExceeded","type":"bool"},{"internalType":"bool","name":"zeroOfferAmount","type":"bool"},{"internalType":"bool","name":"insufficientOfferBalance","type":"bool"},{"internalType":"bool","name":"insufficientOfferAllowance","type":"bool"},{"internalType":"uint256","name":"assetsToOffer","type":"uint256"},{"internalType":"uint256","name":"assetsForWant","type":"uint256"}],"internalType":"struct AtomicQueue.VerboseSolveMetaData[]","name":"metaData","type":"tuple[]"},{"internalType":"uint256","name":"totalAssetsForWant","type":"uint256"},{"internalType":"uint256","name":"totalAssetsToOffer","type":"uint256"}],"stateMutability":"view","type":"function"}]'),Ms=[X.ethereum,X.base,X.binanceSmartChain,X.corn],Tn=p=>Ms.includes(p),f6={[X.ethereum]:"ethereum",[X.base]:"base",[X.corn]:"corn",[X.binanceSmartChain]:"bnb"},Ab={ethereum:X.ethereum,base:X.base,corn:X.corn,bnb:X.binanceSmartChain},m6=[X.ethereum,X.binanceSmartChain,X.binanceSmartChainTestnet,X.holesky],b6=p=>m6.includes(p),xb=X.ethereum,Eb="0x5401b8620E5FB570064CA9114fd1e135fd77D57c",Cb="0x28634D0c5edC67CF2450E74deA49B90a4FF93dCE",Pb="0x5232bc0F5999f8dA604c42E1748A13a170F94A1B",kb={[X.ethereum]:{abi:Ha,address:"0x4E8f5128F473C6948127f9Cbca474a6700F99bab",chainId:X.ethereum},[X.base]:{abi:Ha,address:"0x2eA43384F1A98765257bc6Cb26c7131dEbdEB9B3",chainId:X.base},[X.binanceSmartChain]:{abi:Ha,address:"0x2eA43384F1A98765257bc6Cb26c7131dEbdEB9B3",chainId:X.binanceSmartChain},[X.corn]:{abi:Ha,address:"0x2eA43384F1A98765257bc6Cb26c7131dEbdEB9B3",chainId:X.corn}},Ib={[X.ethereum]:{abi:za,address:"0xC8bbF6153D7Ba105f1399D992ebd32B0541996ef",chainId:X.ethereum},[X.binanceSmartChain]:{abi:za,address:"0xC8bbF6153D7Ba105f1399D992ebd32B0541996ef",chainId:X.binanceSmartChain},[X.holesky]:{abi:za,address:"0x4A3cD83CEbb91E0Cd31EdA2Ee0F4AebfcCFCbBb6",chainId:X.holesky},[X.binanceSmartChainTestnet]:{abi:za,address:"0x72143309A662bDB4aad5cA65Ab59eD8977D047C5",chainId:X.binanceSmartChainTestnet}},Bb={[X.ethereum]:{abi:Va,address:"0x3b4aCd8879fb60586cCd74bC2F831A4C5E7DbBf8",chainId:X.ethereum},[X.base]:{abi:Va,address:"0x3b4aCd8879fb60586cCd74bC2F831A4C5E7DbBf8",chainId:X.ethereum},[X.binanceSmartChain]:{abi:Va,address:"0x3b4aCd8879fb60586cCd74bC2F831A4C5E7DbBf8",chainId:X.ethereum},[X.corn]:{abi:Va,address:"0x3b4aCd8879fb60586cCd74bC2F831A4C5E7DbBf8",chainId:X.ethereum}};var Ge=(p=>(p.Veda="veda",p))(Ge||{});const wt={veda:{defaultChainId:xb,chains:Ms,tokens:{[K0.LBTC]:Ms,[K0.BTCB]:[X.binanceSmartChain],[K0.cbBTC]:[X.ethereum,X.base],[K0.eBTC]:[X.ethereum],[K0.wBTC]:[X.ethereum],[K0.wBTCN]:[X.corn]},stakeAndBakeChains:m6,decimals:8,vaultContract:{abi:wb,address:Eb},accountantContract:{abi:Tb,address:Cb},lensContract:{abi:vb,address:Pb},spenderContracts:Ib,tellerContracts:kb,withdrawQueueContracts:Bb,queueWithdrawDiscountPercent:"0.01",queueWithdrawDaysValid:"3"}};async function Sb({vaultKey:p=Ge.Veda,chainId:f,rpcUrl:u}){const v=wt[p];if(!v)throw new Error(`Unknown vault key: ${p}`);if(!b6(f))throw new Error(`Unsupported chain id: ${f}. Please switch to one of the supported chains: ${v.stakeAndBakeChains.join(", ")}`);const t=v.spenderContracts[f];if(!t)throw new Error("Could not retrieve the stake and bake contract.");try{const d=Re({chainId:f,rpcUrl:u}),S=await Tr({abi:t.abi,address:t.address,client:d}).read.getStakeAndBakeFee();return nn(String(S))}catch(d){const k=Je(d);throw new Error(k)}}async function Fi({account:p,spender:f,amount:u,chainId:v,provider:t,rpcUrl:d,env:k}){const S=Re({chainId:v,rpcUrl:d}),N=Qe({chainId:v,provider:t}),L=rt(K0.LBTC,v,k),z=oa(u).toNumber(),{request:j}=await S.simulateContract({address:L.address,account:p,chain:ht[v],abi:L.abi,functionName:"approve",args:[f,BigInt(z)]});return await N.writeContract(j)}function Mb(p){return p.startsWith("0x")}function Be(p){return Mb(p)?p:`0x${p}`}const h6=async(p,f,u)=>{const v=await p.estimateFeesPerGas(),t=q0(String(v.maxFeePerGas)).dividedBy(String(v.maxPriorityFeePerGas)),d=u||v.maxPriorityFeePerGas,k=u?BigInt(q0(String(d)).multipliedBy(t).toFixed(0)):v.maxFeePerGas;return{gas:await p.estimateContractGas(f),maxFeePerGas:k,maxPriorityFeePerGas:d}};async function Rb({data:p,proofSignature:f,account:u,chainId:v,provider:t,rpcUrl:d,env:k}){return g6({data:p,proofSignature:f,account:u,chainId:v,provider:t,rpcUrl:d,env:k,token:K0.LBTC})}async function g6({data:p,proofSignature:f,account:u,chainId:v,provider:t,rpcUrl:d,env:k,token:S=K0.LBTC}){if(![K0.LBTC,K0.BTCK].includes(S))throw new Error("Unsupported token");if(S===K0.BTCK&&!ia(v))throw new Error("Operation not permitted");const N=rt(S,v,k),L=await d6({chainId:v,rawPayload:p,env:k,token:S});if(L!==D2.REPORTED)switch(L){case D2.UNREPORTED:throw new Error("The deposit cannot be claimed because it is unreported or potentially still pending, please try again later.");case D2.WITHDRAWN:throw new Error("The deposit cannot be claimed because it is withdrawn already.");default:throw new Error("The deposit cannot be claimed because it is blocked by bridge security.")}const z=Re({chainId:v,rpcUrl:d,env:k}),j=Qe({chainId:v,provider:t}),q={address:N.address,account:u,chain:ht[v],abi:N.abi,functionName:S===K0.BTCK?"mintV1":"mint",args:[Be(p),Be(f)]},O=ia(v)?await h6(z,q,hc("1")):{},{request:_}=await z.simulateContract({...q,...O});return await j.writeContract(_)}async function Nb({account:p,chainId:f,provider:u}){const v=Qe({chainId:f,provider:u}),t=`destination chain id is ${f}`;return await v.signMessage({account:p,message:t})}const Ob=1e3,Db=60*Ob,Fb=60*Db,Ui=24*Fb;function w6(){return Date.now()}function T6(p){return Math.round(p/1e3)}async function Ub({fee:p,expiry:f=T6(w6()+Ui),account:u,chainId:v,provider:t,env:d}){const k=rt(K0.LBTC,v,d),S=Qe({chainId:v,provider:t}),N={account:u,domain:{name:"Lombard Staked Bitcoin",version:"1",chainId:v,verifyingContract:k.address},message:{chainId:v,fee:BigInt(q0(p).toFixed()),expiry:f},primaryType:"feeApproval",types:{EIP712Domain:[{name:"name",type:"string"},{name:"version",type:"string"},{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"}],feeApproval:[{name:"chainId",type:"uint256"},{name:"fee",type:"uint256"},{name:"expiry",type:"uint256"}]}};return{signature:await S.signTypedData(N),typedData:JSON.stringify(N,(z,j)=>typeof j=="bigint"?j.toString():j)}}async function Lb({account:p,expiry:f=T6(w6()+Ui),value:u,vaultKey:v=Ge.Veda,chainId:t,provider:d,rpcUrl:k,env:S}){const N=wt[v];if(!N)throw new Error(`Unknown vault key: ${v}`);if(!b6(t))throw new Error(`Unsupported chain id: ${t}. Please switch to one of the supported chains: ${N.stakeAndBakeChains.join(", ")}`);const L=rt(K0.LBTC,t,S),z=Qe({chainId:t,provider:d}),j=N.spenderContracts[t],q=await y6({owner:p,chainId:t,rpcUrl:k}),O={account:p,domain:{name:"Lombard Staked Bitcoin",version:"1",chainId:BigInt(t),verifyingContract:L.address},types:{EIP712Domain:[{name:"name",type:"string"},{name:"version",type:"string"},{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"}],Permit:[{name:"owner",type:"address"},{name:"spender",type:"address"},{name:"value",type:"uint256"},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"}]},primaryType:"Permit",message:{owner:p,spender:j.address,value:BigInt(q0(u).toFixed()),nonce:BigInt(q),deadline:BigInt(f)}};return{signature:await z.signTypedData(O),typedData:JSON.stringify(O,(J,s0)=>typeof s0=="bigint"?s0.toString():s0)}}async function zb({btcAddress:p,amount:f,account:u,chainId:v,provider:t,rpcUrl:d,env:k}){return v6({btcAddress:p,amount:f,account:u,chainId:v,provider:t,rpcUrl:d,env:k,token:K0.LBTC})}async function v6({btcAddress:p,amount:f,account:u,chainId:v,provider:t,rpcUrl:d,env:k,token:S=K0.LBTC}){if(![K0.LBTC,K0.BTCK].includes(S))throw new Error("Unsupported token");if(S===K0.BTCK&&!ia(v))throw new Error("Operation not permitted");const N=ll(p,k),L=oa(f).toNumber(),z=Re({chainId:v,rpcUrl:d,env:k}),j=Qe({provider:t,chainId:v}),q=rt(S,v,k),O={abi:q.abi,address:q.address,account:u,chain:ht[v],functionName:"redeem",args:[N,BigInt(L)]},_=ia(v)?await h6(z,O,hc("1")):{},{request:J}=await z.simulateContract(O);return await j.writeContract({...J,..._})}async function A6({chainId:p,rpcUrl:f,vaultKey:u=Ge.Veda}){const v=wt[u];if(!v)throw new Error(`Unknown vault key: ${u}`);if(!Tn(p))throw new Error(`Unsupported chain id: ${p}. Please switch to one of the supported chains: ${v.chains.join(", ")}`);try{const t=Re({chainId:p,rpcUrl:f}),k=await Tr({abi:v.accountantContract.abi,address:v.accountantContract.address,client:t}).read.getRate();return nn(String(k))}catch(t){const d=Je(t);throw new Error(d)}}async function Hb({chainId:p,rpcUrl:f,address:u,vaultKey:v=Ge.Veda}){const t=wt[v];if(!t)throw new Error(`Unknown vault key: ${v}`);if(!Tn(p))throw new Error(`Unsupported chain id: ${p}. Please switch to one of the supported chains: ${t.chains.join(", ")}`);try{const d=Re({chainId:p,rpcUrl:f}),S=await Tr({abi:t.lensContract.abi,address:t.lensContract.address,client:d}).read.balanceOf([u,t.vaultContract.address]),N=nn(String(S)),L=await A6({chainId:p,rpcUrl:f,vaultKey:v});return{balance:N,exchangeRate:L,balanceLbtc:N.multipliedBy(L)}}catch(d){const k=Je(d);throw new Error(k)}}q0(0);q0(1);function Pr(p){return BigInt(q0(p).toFixed())}async function Vb({amount:p,approve:f=!0,token:u=K0.LBTC,vaultKey:v=Ge.Veda,account:t,chainId:d,provider:k,rpcUrl:S,env:N}){const L=wt[v];if(!L)throw new Error(`Unknown vault key: ${v}`);if(!Tn(d))throw new Error(`Unsupported chain id: ${d}. Please switch to one of the supported chains: ${L.chains.join(", ")}`);const z=Re({chainId:d,rpcUrl:S}),j=Qe({provider:k,chainId:d}),q=await Aa(u,d,N,S);if(!q)throw new Error(`Unknown deposit token: ${u}`);const O=q0(p),_=Pr(Cr(O,q.decimals)),J=await z.readContract({address:q.address,abi:q.abi,functionName:"allowance",args:[t,L.vaultContract.address]}),s0=Fe(String(J),q.decimals),o0=await z.readContract({address:q.address,abi:q.abi,functionName:"balanceOf",args:[t]}),c0=Fe(String(o0),q.decimals);if(O.isGreaterThan(c0))throw new Error(`The deposit amount exceeds the account's balance.
|
|
46
46
|
Deposit amount: ${O.toFixed()}
|
|
47
47
|
Balance: ${c0.toFixed()}`);if(O.isGreaterThan(s0)){const b0=`The deposit amount exceeds allowance.
|
|
48
48
|
Deposit amount: ${O.toFixed()}
|
|
@@ -52,7 +52,7 @@ Withdraw amount: ${O.toFixed()}
|
|
|
52
52
|
Balance: ${s0.toFixed()}`);if(O.isGreaterThan(c0)){const P0=`The withdraw amount exceeds allowance.
|
|
53
53
|
Withdraw amount: ${O.toFixed()}
|
|
54
54
|
Allowance: ${c0.toFixed()}`;if(!f)throw new Error(P0);try{console.info(`Trying to approve ${_}`);const{request:x0}=await z.simulateContract({account:t,chain:ht[d],address:L.vaultContract.address,abi:L.vaultContract.abi,functionName:"approve",args:[L.withdrawQueueContracts[d].address,_]}),e0=await j.writeContract(x0);console.info(`Approve tx hash: ${e0}`),console.info(`Approved ${_} for ${L.vaultContract.address}`)}catch(x0){const e0=Je(x0);throw new Error(`Could not approve ${_} for ${L.vaultContract.address}.
|
|
55
|
-
Reason: ${e0}`)}}const p0=q0(Date.now()).dividedBy(1e3).plus(q0(L.queueWithdrawDaysValid).multipliedBy(Ui/1e3)).decimalPlaces(0,q0.ROUND_DOWN),v0=q0(L.queueWithdrawDiscountPercent).multipliedBy(1e4),{request:b0}=await z.simulateContract({account:t,chain:ht[d],address:L.withdrawQueueContracts[d].address,abi:L.withdrawQueueContracts[d].abi,functionName:"safeUpdateAtomicRequest",args:[L.vaultContract.address,q.address,[p0.toFixed(0),0n,_,!1],L.accountantContract.address,v0.toFixed(0)]});return await j.writeContract(b0)}async function Wb({token:p=K0.LBTC,vaultKey:f=Ge.Veda,account:u,chainId:v,provider:t,rpcUrl:d,env:k}){const S=wt[f];if(!S)throw new Error(`Unknown vault key: ${f}`);if(!Tn(v))throw new Error(`Unsupported chain id: ${v}. Please switch to one of the supported chains: ${S.chains.join(", ")}`);const N=Re({chainId:v,rpcUrl:d}),L=Qe({provider:t,chainId:v}),z=await Aa(p,v,k,d);if(!z)throw new Error(`Unknown withdraw token: ${p}`);const{request:j}=await N.simulateContract({account:u,chain:ht[v],address:S.withdrawQueueContracts[v].address,abi:S.withdrawQueueContracts[v].abi,functionName:"updateAtomicRequest",args:[S.vaultContract.address,z.address,[0,0,0,!1]]});return await L.writeContract(j)}const Zb="https://api.sevenseas.capital/withdrawRequests/{network}/{vault}/{account}?historical=true";async function Kb({account:p,chainId:f,vaultKey:u=Ge.Veda,rpcUrl:v}){const t=wt[u];if(!t)throw new Error(`Unknown vault key: ${u}`);if(!Tn(f))throw new Error(`Unsupported chain id: ${f}. Please switch to one of the supported chains: ${t.chains.join(", ")}`);const d=f6[f],k=Zb.replace("{network}",d).replace("{vault}",t.vaultContract.address).replace("{account}",p),{data:S}=await ue.get(k),N=Li([...S.Response.cancelled_requests.map(J=>Be(J.wantToken)),...S.Response.expired_requests.map(J=>Be(J.wantToken)),...S.Response.fulfilled_requests.map(J=>Be(J.Request.wantToken)),...S.Response.open_requests.map(J=>Be(J.wantToken))]),L={};for(const J of N){const s0=await a6(J,f,v);s0?L[J]={address:s0.address,decimals:s0.decimals,symbol:s0.symbol}:L[J]=void 0}const z=S.Response.cancelled_requests.map(J=>{const s0=L[Be(J.wantToken)];return{amount:void 0,blockNumber:J.blockNumber,deadline:J.deadline,shareAmount:Fe(J.amount,t.decimals),timestamp:J.timestamp,txHash:Be(J.transactionHash),token:s0}}),j=S.Response.expired_requests.map(J=>{const s0=L[Be(J.wantToken)];return{amount:void 0,blockNumber:J.blockNumber,deadline:J.deadline,shareAmount:Fe(J.amount,t.decimals),timestamp:J.timestamp,txHash:Be(J.transactionHash),token:s0}}),q=S.Response.fulfilled_requests.map(J=>{const s0=L[Be(J.Request.wantToken)];return{amount:Fe(J.Fulfillment.wantAmountReceived,(s0==null?void 0:s0.decimals)||0),blockNumber:J.Request.blockNumber,deadline:J.Request.deadline,shareAmount:Fe(J.Fulfillment.offerAmountSpent,t.decimals),timestamp:J.Request.timestamp,txHash:Be(J.Request.transactionHash),token:s0,fulfilledBlockNumber:J.Fulfillment.blockNumber,fulfilledTimestamp:J.Fulfillment.timestamp,fulfilledTxHash:Be(J.Fulfillment.transactionHash),minPrice:Fe(J.Request.minPrice,(s0==null?void 0:s0.decimals)||0)}}),O=S.Response.open_requests.map(J=>{const s0=L[Be(J.wantToken)];return{amount:void 0,blockNumber:J.blockNumber,deadline:J.deadline,shareAmount:Fe(J.amount,t.decimals),timestamp:J.timestamp,txHash:Be(J.transactionHash),token:s0,minPrice:Fe(J.minPrice,(s0==null?void 0:s0.decimals)||0)}});return{cancelled:Jn(z,J=>J.timestamp,"desc"),expired:Jn(j,J=>J.timestamp,"desc"),fulfilled:Jn(q,J=>J.fulfilledTimestamp||J.timestamp,"desc"),open:Jn(O,J=>J.timestamp,"desc")}}const Yb="https://api.veda.tech/points/user/{account}";async function Xb({account:p,vaultKey:f=Ge.Veda}){const u=wt[f];if(!u)throw new Error(`Unknown vault key: ${f}`);const v=Yb.replace("{account}",p),{data:t}=await ue.get(v,{headers:{"Access-Control-Allow-Origin":"*","Content-Type":"application/json"}}),d={},k=Object.entries(t.Response);for(const[N,L]of k){if(N==="userTotalVedaPointsSum")continue;const z=Object.entries(L.vaults).find(([j])=>j===u.vaultContract.address);if(z){const[,j]=z,q=Number.isNaN(j.totalPoints)?0:j.totalPoints;d[N]=q}}let S=0;for(const N of Object.values(d))S+=N;return{totalPoints:S,pointsBreakdown:d}}async function Qb({vaultKey:p=Ge.Veda,env:f}){if(!wt[p])throw new Error(`Unknown vault key: ${p}`);const{bffApiUrl:v}=Ae(f);if(!v)throw new Error(`Could not determine API endpoint for provided environment: ${f}`);const t=`${v}/dune-api/query/vault-tvl`,{data:d}=await ue.get(t);return{btcBalance:q0(d.net_btc_balance),btcPrice:q0(d.price),tvl:q0(d.vault_tvl)}}async function Jb({aggregationPeriod:p=7,chainId:f=X.ethereum,vaultKey:u=Ge.Veda}){const t=(await $b({aggregationPeriod:p,chainId:f,vaultKey:u})).Response.map(d=>{const k=Object.entries(d.chain_allocation).map(([N,L])=>[au[N],q0(L)]).reduce((N,L)=>{const[z,j]=L;return N[z]=j,N},{}),S=d.real_apy_breakdown.map(N=>({allocations:q0(N.allocation),apy:q0(N.apy),chainId:au[N.chain],protocol:N.protocol}));return{apy:q0(d.apy),allocations:k,breakdown:S,timestamp:new Date(d.timestamp)}});return Jn(t,d=>d.timestamp.getTime(),"desc")}const _b={[X.ethereum]:"ethereum",[X.base]:"base",[X.binanceSmartChain]:"bnb",[X.corn]:"corn"},au={ethereum:X.ethereum,base:X.base,bnb:X.binanceSmartChain,corn:X.corn};async function $b({aggregationPeriod:p=7,chainId:f,vaultKey:u=Ge.Veda}){const v=wt[u];if(!v)throw new Error(`Unknown vault key: ${u}`);if(!Tn(f))throw new Error(`Unsupported chain id: ${f}. Please switch to one of the supported chains: ${v.chains.join(", ")}`);const t=_b[f];if(t!=="ethereum")throw new Error(`Unsupported network ${t}. Please switch to 'ethereum'.`);const d=`https://api.sevenseas.capital/performance/${t}/${v.vaultContract.address}?historical=true&aggregation_period=${p}`,{data:k}=await ue.get(d);return k}var bn=(p=>(p.BABY="BABY",p))(bn||{});function xa(p){return p==="BABY"}const e3="/api/v1/distribution/account/{address}/fee";async function x6({address:p,rewardToken:f,env:u}){if(!xa(f))throw new Error(`Unknown reward token: ${bn}`);const{baseApiUrl:v}=Ae(u),{data:t}=await ue.get(e3.replace("{address}",p),{baseURL:v});return q0(t.fee)}const t3="/api/v1/distribution/account/{from}/withdrawals/{to}/signing-data";async function E6({from:p,to:f,amount:u,fee:v,rewardToken:t,variant:d="json",env:k}){if(!xa(t))throw new Error(`Unknown reward token: ${bn}`);const{baseApiUrl:S}=Ae(k),{data:N}=await ue.get(t3.replace("{from}",p).replace("{to}",f),{baseURL:S,params:{amount:q0(u).toFixed(),fee:q0(v).toFixed(),plain:d==="plain-text"}});return N.data}const n3="/api/v1/distribution/account/{address}/withdrawals";var C6=(p=>(p.Unspecified="WITHDRAWAL_STATUS_UNSPECIFIED",p.Pending="WITHDRAWAL_STATUS_PENDING",p.Sent="WITHDRAWAL_STATUS_SENT",p.Confirmed="WITHDRAWAL_STATUS_CONFIRMED",p))(C6||{});async function a3({address:p,env:f}){var d;const{baseApiUrl:u}=Ae(f),{data:v}=await ue.get(n3.replace("{address}",p),{baseURL:u});return((d=v==null?void 0:v.withdrawals)==null?void 0:d.map(P6))||[]}function P6(p){return{amount:q0(p.amount),rewardToken:bn.BABY,fee:q0(p.fee),to:p.to,signature:Be(p.signature),status:p.status,txHash:p.tx_hash,timestamp:new Date(p.created_at)}}const r3="/api/v1/distribution/account/{from}/withdrawals/{to}";async function s3({account:p,rewardToken:f,amount:u,to:v,signingDataVariant:t,chainId:d,provider:k,env:S}){if(!xa(f))throw new Error(`Unknown reward token: ${bn}`);const N=Qe({chainId:d,provider:k}),L=await x6({address:p,rewardToken:f,env:S}),z=await E6({from:p,to:v,amount:u,fee:L,rewardToken:f,variant:t,env:S}),j=await N.signMessage({account:p,message:z}),q={amount:q0(u).toFixed(),fee:q0(L).toFixed(),signature:j,plain:t==="plain-text"},{baseApiUrl:O}=Ae(S),{data:_}=await ue.post(r3.replace("{from}",p).replace("{to}",v),q,{baseURL:O});return P6(_.withdrawal)}var k6=(p=>(p.Undefined="BLOCKCHAIN_TYPE_UNDEFINED",p.Evm="BLOCKCHAIN_TYPE_EVM",p.Sui="BLOCKCHAIN_TYPE_SUI",p.Solana="BLOCKCHAIN_TYPE_SOLANA",p.Cosmos="BLOCKCHAIN_TYPE_COSMOS",p))(k6||{});const i3="/api/v1/distribution/account/{address}";async function o3({address:p,rewardToken:f=bn.BABY,env:u}){if(!xa(f))throw new Error(`Unknown reward token: ${bn}`);const{baseApiUrl:v}=Ae(u),{data:t}=await ue.get(i3.replace("{address}",p),{baseURL:v});return{address:p,availableBalance:q0(t.account.available_balance),lockedBalance:q0(t.account.locked_balance),pendingBalance:q0(t.account.pending_balance),rewardToken:f,timestamp:new Date(t.account.created_at)}}const u3={[X.baseSepoliaTestnet]:"0x731eFa688F3679688cf60A3993b8658138953ED6",[X.berachainBartioTestnet]:"0xc47e4b3124597FDF8DD07843D4a7052F2eE80C30",[X.binanceSmartChainTestnet]:"0x731eFa688F3679688cf60A3993b8658138953ED6",[X.holesky]:"0xED7bfd5C1790576105Af4649817f6d35A75CD818",[X.katanaTatara]:"0x731eFa688F3679688cf60A3993b8658138953ED6",[X.sepolia]:"0xc47e4b3124597fdf8dd07843d4a7052f2ee80c30",[X.sonicBlazeTestnet]:"0x731eFa688F3679688cf60A3993b8658138953ED6"},c3={[X.berachainBartioTestnet]:"0xc47e4b3124597FDF8DD07843D4a7052F2eE80C30",[X.binanceSmartChainTestnet]:"0x107Fc7d90484534704dD2A9e24c7BD45DB4dD1B5",[X.holesky]:"0x38A13AB20D15ffbE5A7312d2336EF1552580a4E2",[X.katanaTatara]:"0x107Fc7d90484534704dD2A9e24c7BD45DB4dD1B5",[X.sepolia]:"0xc47e4b3124597fdf8dd07843d4a7052f2ee80c30",[X.sonicBlazeTestnet]:"0x107Fc7d90484534704dD2A9e24c7BD45DB4dD1B5"},d3={[X.ethereum]:"0x8236a87084f8b84306f72007f36f2618a5634494",[X.base]:"0xecAc9C5F704e954931349Da37F60E39f515c11c1",[X.berachain]:"0xecAc9C5F704e954931349Da37F60E39f515c11c1",[X.binanceSmartChain]:"0xecAc9C5F704e954931349Da37F60E39f515c11c1",[X.corn]:"0xecAc9C5F704e954931349Da37F60E39f515c11c1",[X.etherlink]:"0xecAc9C5F704e954931349Da37F60E39f515c11c1",[X.katana]:"0xecAc9C5F704e954931349Da37F60E39f515c11c1",[X.morph]:"0xecAc9C5F704e954931349Da37F60E39f515c11c1",[X.sonic]:"0xecAc9C5F704e954931349Da37F60E39f515c11c1",[X.swell]:"0xecAc9C5F704e954931349Da37F60E39f515c11c1"};function l3(p=Vn){switch(p){case se.testnet:return c3;case se.dev:case se.stage:return u3;case se.prod:return d3}}async function p3(p){const f=p==null?void 0:p.env,u=p==null?void 0:p.partnerId,{bffApiUrl:v}=Ae(f);if(!v)throw new Error(`Could not determine API endpoint for provided environment: ${f}`);const{data:t}=await ue.get(`${v}/dune-api/query/getLBTCStats?partnerId=${u||""}`),{data:d}=await ue.get(`${v}/dune-api/query/lbtc-holders?partnerId=${u||""}`),{data:k}=await ue.get(`${v}/dune-api/query/getTotalLBTCUsers?partnerId=${u||""}`);let S;try{const{data:L}=await ue.get(`${v}/lombard-sdk/staking-stats?partnerId=${u||""}`);S=L.apr}catch{}return{price:q0(t[0].price),supply:q0(t[0].supply),tvl:q0(t[0].tvl),holders:q0(d),historicalHolders:q0(k),apr:S?q0(S):void 0}}async function y3({account:p,partnerId:f,env:u}){const{baseApiUrl:v}=Ae(u),t=`${v}/api/v1/rewards/${p}?partnerId=${f||""}`,{data:d}=await ue.get(t);return{type:d.type,totalLbtcBalance:d.total_lbtc_balance,totalRewards:d.total_rewards,totalRewardsCost:d.total_rewards_cost}}const an=JSON.parse('[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AdapterNotConfirmed","type":"error"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"AddressEmptyCode","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"AddressInsufficientBalance","type":"error"},{"inputs":[{"internalType":"uint256","name":"commission","type":"uint256"}],"name":"AmountLessThanCommission","type":"error"},{"inputs":[],"name":"AmountTooSmallToPayRelativeFee","type":"error"},{"inputs":[],"name":"BadCommission","type":"error"},{"inputs":[],"name":"BadConfiguration","type":"error"},{"inputs":[],"name":"Bridge_ZeroAddress","type":"error"},{"inputs":[],"name":"Bridge_ZeroAmount","type":"error"},{"inputs":[],"name":"ConsortiumNotConfirmed","type":"error"},{"inputs":[],"name":"FailedInnerCall","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"KnownDestination","type":"error"},{"inputs":[],"name":"MalformedRateLimit","type":"error"},{"inputs":[],"name":"MathOverflowedMulDiv","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[],"name":"NotValidDestination","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"OwnableInvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"OwnableUnauthorizedAccount","type":"error"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"PayloadAlreadyUsed","type":"error"},{"inputs":[],"name":"PayloadTooLarge","type":"error"},{"inputs":[],"name":"RateLimitExceeded","type":"error"},{"inputs":[],"name":"ReentrancyGuardReentrantCall","type":"error"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"SafeERC20FailedOperation","type":"error"},{"inputs":[{"internalType":"bytes4","name":"action","type":"bytes4"}],"name":"UnexpectedAction","type":"error"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"UnknownAdapter","type":"error"},{"inputs":[],"name":"UnknownDestination","type":"error"},{"inputs":[{"internalType":"bytes32","name":"fromChain","type":"bytes32"},{"internalType":"bytes32","name":"fromContract","type":"bytes32"}],"name":"UnknownOriginContract","type":"error"},{"inputs":[],"name":"WrongChainId","type":"error"},{"inputs":[],"name":"ZeroAddress","type":"error"},{"inputs":[],"name":"ZeroAmount","type":"error"},{"inputs":[],"name":"ZeroChainId","type":"error"},{"inputs":[],"name":"ZeroContractHash","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"previousAdapter","type":"address"},{"indexed":false,"internalType":"contract IAdapter","name":"newAdapter","type":"address"}],"name":"AdapterChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"chain","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"contractAddress","type":"bytes32"}],"name":"BridgeDestinationAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"chain","type":"bytes32"}],"name":"BridgeDestinationRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"contract INotaryConsortium","name":"prevVal","type":"address"},{"indexed":true,"internalType":"contract INotaryConsortium","name":"newVal","type":"address"}],"name":"ConsortiumChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"newValue","type":"uint64"},{"indexed":true,"internalType":"bytes32","name":"chain","type":"bytes32"}],"name":"DepositAbsoluteCommissionChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint16","name":"newValue","type":"uint16"},{"indexed":true,"internalType":"bytes32","name":"chain","type":"bytes32"}],"name":"DepositRelativeCommissionChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"fromAddress","type":"address"},{"indexed":true,"internalType":"bytes32","name":"toAddress","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"payloadHash","type":"bytes32"},{"indexed":false,"internalType":"bytes","name":"payload","type":"bytes"}],"name":"DepositToBridge","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferStarted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"recipient","type":"address"},{"indexed":true,"internalType":"bytes32","name":"payloadHash","type":"bytes32"}],"name":"PayloadNotarized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"recipient","type":"address"},{"indexed":true,"internalType":"bytes32","name":"payloadHash","type":"bytes32"},{"indexed":true,"internalType":"address","name":"adapter","type":"address"}],"name":"PayloadReceived","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"chainId","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"limit","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"window","type":"uint256"}],"name":"RateLimitsChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"previousTreasury","type":"address"},{"indexed":false,"internalType":"address","name":"newTreasury","type":"address"}],"name":"TreasuryChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"recipient","type":"address"},{"indexed":true,"internalType":"bytes32","name":"payloadHash","type":"bytes32"},{"indexed":false,"internalType":"bytes","name":"payload","type":"bytes"},{"indexed":false,"internalType":"uint64","name":"amount","type":"uint64"}],"name":"WithdrawFromBridge","type":"event"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"toChain","type":"bytes32"},{"internalType":"bytes32","name":"toContract","type":"bytes32"},{"internalType":"uint16","name":"relCommission","type":"uint16"},{"internalType":"uint64","name":"absCommission","type":"uint64"},{"internalType":"contract IAdapter","name":"adapter","type":"address"},{"internalType":"bool","name":"requireConsortium","type":"bool"}],"name":"addDestination","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"payload","type":"bytes"},{"internalType":"bytes","name":"proof","type":"bytes"}],"name":"authNotary","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"chain","type":"bytes32"},{"internalType":"contract IAdapter","name":"newAdapter","type":"address"}],"name":"changeAdapter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract INotaryConsortium","name":"newVal","type":"address"}],"name":"changeConsortium","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint64","name":"newValue","type":"uint64"},{"internalType":"bytes32","name":"chain","type":"bytes32"}],"name":"changeDepositAbsoluteCommission","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"newValue","type":"uint16"},{"internalType":"bytes32","name":"chain","type":"bytes32"}],"name":"changeDepositRelativeCommission","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"consortium","outputs":[{"internalType":"contract INotaryConsortium","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"toChain","type":"bytes32"},{"internalType":"bytes32","name":"toAddress","type":"bytes32"},{"internalType":"uint64","name":"amount","type":"uint64"}],"name":"deposit","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"toChain","type":"bytes32"}],"name":"getAdapter","outputs":[{"internalType":"contract IAdapter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"toChain","type":"bytes32"},{"internalType":"bytes32","name":"toAddress","type":"bytes32"},{"internalType":"uint64","name":"amount","type":"uint64"}],"name":"getAdapterFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"toChain","type":"bytes32"}],"name":"getDepositAbsoluteCommission","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"toChain","type":"bytes32"}],"name":"getDepositRelativeCommission","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"toChain","type":"bytes32"}],"name":"getDestination","outputs":[{"components":[{"internalType":"bytes32","name":"bridgeContract","type":"bytes32"},{"internalType":"uint16","name":"relativeCommission","type":"uint16"},{"internalType":"uint64","name":"absoluteCommission","type":"uint64"},{"internalType":"contract IAdapter","name":"adapter","type":"address"},{"internalType":"bool","name":"requireConsortium","type":"bool"}],"internalType":"struct Bridge.DestinationConfig","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTreasury","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract ILBTC","name":"lbtc_","type":"address"},{"internalType":"address","name":"treasury_","type":"address"},{"internalType":"address","name":"owner_","type":"address"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"lbtc","outputs":[{"internalType":"contract ILBTC","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pendingOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"fromChain","type":"bytes32"},{"internalType":"bytes","name":"payload","type":"bytes"}],"name":"receivePayload","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"toChain","type":"bytes32"}],"name":"removeDestination","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"bytes32","name":"chainId","type":"bytes32"},{"internalType":"uint256","name":"limit","type":"uint256"},{"internalType":"uint256","name":"window","type":"uint256"}],"internalType":"struct RateLimits.Config[]","name":"depositRateLimits","type":"tuple[]"},{"components":[{"internalType":"bytes32","name":"chainId","type":"bytes32"},{"internalType":"uint256","name":"limit","type":"uint256"},{"internalType":"uint256","name":"window","type":"uint256"}],"internalType":"struct RateLimits.Config[]","name":"withdrawRateLimits","type":"tuple[]"}],"name":"setRateLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"payload","type":"bytes"}],"name":"withdraw","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"nonpayable","type":"function"}]'),Ft=JSON.parse('[{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_lzEndpoint","type":"address"},{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"AddressEmptyCode","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"AddressInsufficientBalance","type":"error"},{"inputs":[],"name":"FailedInnerCall","type":"error"},{"inputs":[],"name":"InvalidDelegate","type":"error"},{"inputs":[],"name":"InvalidEndpointCall","type":"error"},{"inputs":[],"name":"InvalidLocalDecimals","type":"error"},{"inputs":[{"internalType":"bytes","name":"options","type":"bytes"}],"name":"InvalidOptions","type":"error"},{"inputs":[],"name":"LzTokenUnavailable","type":"error"},{"inputs":[],"name":"MalformedRateLimit","type":"error"},{"inputs":[{"internalType":"uint32","name":"eid","type":"uint32"}],"name":"NoPeer","type":"error"},{"inputs":[{"internalType":"uint256","name":"msgValue","type":"uint256"}],"name":"NotEnoughNative","type":"error"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"OnlyEndpoint","type":"error"},{"inputs":[{"internalType":"uint32","name":"eid","type":"uint32"},{"internalType":"bytes32","name":"sender","type":"bytes32"}],"name":"OnlyPeer","type":"error"},{"inputs":[],"name":"OnlySelf","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"OwnableInvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"OwnableUnauthorizedAccount","type":"error"},{"inputs":[],"name":"RateLimitExceeded","type":"error"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"SafeERC20FailedOperation","type":"error"},{"inputs":[{"internalType":"bytes","name":"result","type":"bytes"}],"name":"SimulationResult","type":"error"},{"inputs":[{"internalType":"uint256","name":"amountLD","type":"uint256"},{"internalType":"uint256","name":"minAmountLD","type":"uint256"}],"name":"SlippageExceeded","type":"error"},{"anonymous":false,"inputs":[{"components":[{"internalType":"uint32","name":"eid","type":"uint32"},{"internalType":"uint16","name":"msgType","type":"uint16"},{"internalType":"bytes","name":"options","type":"bytes"}],"indexed":false,"internalType":"struct EnforcedOptionParam[]","name":"_enforcedOptions","type":"tuple[]"}],"name":"EnforcedOptionSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"inspector","type":"address"}],"name":"MsgInspectorSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"guid","type":"bytes32"},{"indexed":false,"internalType":"uint32","name":"srcEid","type":"uint32"},{"indexed":true,"internalType":"address","name":"toAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"amountReceivedLD","type":"uint256"}],"name":"OFTReceived","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"guid","type":"bytes32"},{"indexed":false,"internalType":"uint32","name":"dstEid","type":"uint32"},{"indexed":true,"internalType":"address","name":"fromAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"amountSentLD","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountReceivedLD","type":"uint256"}],"name":"OFTSent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint32","name":"eid","type":"uint32"},{"indexed":false,"internalType":"bytes32","name":"peer","type":"bytes32"}],"name":"PeerSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"preCrimeAddress","type":"address"}],"name":"PreCrimeSet","type":"event"},{"anonymous":false,"inputs":[{"components":[{"internalType":"bytes32","name":"chainId","type":"bytes32"},{"internalType":"uint256","name":"limit","type":"uint256"},{"internalType":"uint256","name":"window","type":"uint256"}],"indexed":false,"internalType":"struct RateLimits.Config[]","name":"rateLimitConfigs","type":"tuple[]"},{"indexed":false,"internalType":"enum EfficientRateLimiter.RateLimitDirection","name":"direction","type":"uint8"}],"name":"RateLimitsChanged","type":"event"},{"inputs":[],"name":"SEND","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SEND_AND_CALL","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"srcEid","type":"uint32"},{"internalType":"bytes32","name":"sender","type":"bytes32"},{"internalType":"uint64","name":"nonce","type":"uint64"}],"internalType":"struct Origin","name":"origin","type":"tuple"}],"name":"allowInitializePath","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"approvalRequired","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint32","name":"_eid","type":"uint32"},{"internalType":"uint16","name":"_msgType","type":"uint16"},{"internalType":"bytes","name":"_extraOptions","type":"bytes"}],"name":"combineOptions","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimalConversionRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"empty","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"endpoint","outputs":[{"internalType":"contract ILayerZeroEndpointV2","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"eid","type":"uint32"},{"internalType":"uint16","name":"msgType","type":"uint16"}],"name":"enforcedOptions","outputs":[{"internalType":"bytes","name":"enforcedOption","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"_srcEid","type":"uint32"}],"name":"getAmountCanBeReceived","outputs":[{"internalType":"uint256","name":"currentAmountInFlight","type":"uint256"},{"internalType":"uint256","name":"amountCanBeReceived","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"_dstEid","type":"uint32"}],"name":"getAmountCanBeSent","outputs":[{"internalType":"uint256","name":"currentAmountInFlight","type":"uint256"},{"internalType":"uint256","name":"amountCanBeSent","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"srcEid","type":"uint32"}],"name":"inboundRateLimits","outputs":[{"internalType":"uint256","name":"amountInFlight","type":"uint256"},{"internalType":"uint256","name":"lastUpdated","type":"uint256"},{"internalType":"uint256","name":"limit","type":"uint256"},{"internalType":"uint256","name":"window","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"srcEid","type":"uint32"},{"internalType":"bytes32","name":"sender","type":"bytes32"},{"internalType":"uint64","name":"nonce","type":"uint64"}],"internalType":"struct Origin","name":"","type":"tuple"},{"internalType":"bytes","name":"","type":"bytes"},{"internalType":"address","name":"_sender","type":"address"}],"name":"isComposeMsgSender","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"_eid","type":"uint32"},{"internalType":"bytes32","name":"_peer","type":"bytes32"}],"name":"isPeer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"srcEid","type":"uint32"},{"internalType":"bytes32","name":"sender","type":"bytes32"},{"internalType":"uint64","name":"nonce","type":"uint64"}],"internalType":"struct Origin","name":"_origin","type":"tuple"},{"internalType":"bytes32","name":"_guid","type":"bytes32"},{"internalType":"bytes","name":"_message","type":"bytes"},{"internalType":"address","name":"_executor","type":"address"},{"internalType":"bytes","name":"_extraData","type":"bytes"}],"name":"lzReceive","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"components":[{"components":[{"internalType":"uint32","name":"srcEid","type":"uint32"},{"internalType":"bytes32","name":"sender","type":"bytes32"},{"internalType":"uint64","name":"nonce","type":"uint64"}],"internalType":"struct Origin","name":"origin","type":"tuple"},{"internalType":"uint32","name":"dstEid","type":"uint32"},{"internalType":"address","name":"receiver","type":"address"},{"internalType":"bytes32","name":"guid","type":"bytes32"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"address","name":"executor","type":"address"},{"internalType":"bytes","name":"message","type":"bytes"},{"internalType":"bytes","name":"extraData","type":"bytes"}],"internalType":"struct InboundPacket[]","name":"_packets","type":"tuple[]"}],"name":"lzReceiveAndRevert","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"srcEid","type":"uint32"},{"internalType":"bytes32","name":"sender","type":"bytes32"},{"internalType":"uint64","name":"nonce","type":"uint64"}],"internalType":"struct Origin","name":"_origin","type":"tuple"},{"internalType":"bytes32","name":"_guid","type":"bytes32"},{"internalType":"bytes","name":"_message","type":"bytes"},{"internalType":"address","name":"_executor","type":"address"},{"internalType":"bytes","name":"_extraData","type":"bytes"}],"name":"lzReceiveSimulate","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"msgInspector","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"","type":"uint32"},{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"nextNonce","outputs":[{"internalType":"uint64","name":"nonce","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"oApp","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"oAppVersion","outputs":[{"internalType":"uint64","name":"senderVersion","type":"uint64"},{"internalType":"uint64","name":"receiverVersion","type":"uint64"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"oftVersion","outputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"},{"internalType":"uint64","name":"version","type":"uint64"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint32","name":"dstEid","type":"uint32"}],"name":"outboundRateLimits","outputs":[{"internalType":"uint256","name":"amountInFlight","type":"uint256"},{"internalType":"uint256","name":"lastUpdated","type":"uint256"},{"internalType":"uint256","name":"limit","type":"uint256"},{"internalType":"uint256","name":"window","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"eid","type":"uint32"}],"name":"peers","outputs":[{"internalType":"bytes32","name":"peer","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"preCrime","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"dstEid","type":"uint32"},{"internalType":"bytes32","name":"to","type":"bytes32"},{"internalType":"uint256","name":"amountLD","type":"uint256"},{"internalType":"uint256","name":"minAmountLD","type":"uint256"},{"internalType":"bytes","name":"extraOptions","type":"bytes"},{"internalType":"bytes","name":"composeMsg","type":"bytes"},{"internalType":"bytes","name":"oftCmd","type":"bytes"}],"internalType":"struct SendParam","name":"_sendParam","type":"tuple"}],"name":"quoteOFT","outputs":[{"components":[{"internalType":"uint256","name":"minAmountLD","type":"uint256"},{"internalType":"uint256","name":"maxAmountLD","type":"uint256"}],"internalType":"struct OFTLimit","name":"oftLimit","type":"tuple"},{"components":[{"internalType":"int256","name":"feeAmountLD","type":"int256"},{"internalType":"string","name":"description","type":"string"}],"internalType":"struct OFTFeeDetail[]","name":"oftFeeDetails","type":"tuple[]"},{"components":[{"internalType":"uint256","name":"amountSentLD","type":"uint256"},{"internalType":"uint256","name":"amountReceivedLD","type":"uint256"}],"internalType":"struct OFTReceipt","name":"oftReceipt","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"dstEid","type":"uint32"},{"internalType":"bytes32","name":"to","type":"bytes32"},{"internalType":"uint256","name":"amountLD","type":"uint256"},{"internalType":"uint256","name":"minAmountLD","type":"uint256"},{"internalType":"bytes","name":"extraOptions","type":"bytes"},{"internalType":"bytes","name":"composeMsg","type":"bytes"},{"internalType":"bytes","name":"oftCmd","type":"bytes"}],"internalType":"struct SendParam","name":"_sendParam","type":"tuple"},{"internalType":"bool","name":"_payInLzToken","type":"bool"}],"name":"quoteSend","outputs":[{"components":[{"internalType":"uint256","name":"nativeFee","type":"uint256"},{"internalType":"uint256","name":"lzTokenFee","type":"uint256"}],"internalType":"struct MessagingFee","name":"msgFee","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"dstEid","type":"uint32"},{"internalType":"bytes32","name":"to","type":"bytes32"},{"internalType":"uint256","name":"amountLD","type":"uint256"},{"internalType":"uint256","name":"minAmountLD","type":"uint256"},{"internalType":"bytes","name":"extraOptions","type":"bytes"},{"internalType":"bytes","name":"composeMsg","type":"bytes"},{"internalType":"bytes","name":"oftCmd","type":"bytes"}],"internalType":"struct SendParam","name":"_sendParam","type":"tuple"},{"components":[{"internalType":"uint256","name":"nativeFee","type":"uint256"},{"internalType":"uint256","name":"lzTokenFee","type":"uint256"}],"internalType":"struct MessagingFee","name":"_fee","type":"tuple"},{"internalType":"address","name":"_refundAddress","type":"address"}],"name":"send","outputs":[{"components":[{"internalType":"bytes32","name":"guid","type":"bytes32"},{"internalType":"uint64","name":"nonce","type":"uint64"},{"components":[{"internalType":"uint256","name":"nativeFee","type":"uint256"},{"internalType":"uint256","name":"lzTokenFee","type":"uint256"}],"internalType":"struct MessagingFee","name":"fee","type":"tuple"}],"internalType":"struct MessagingReceipt","name":"msgReceipt","type":"tuple"},{"components":[{"internalType":"uint256","name":"amountSentLD","type":"uint256"},{"internalType":"uint256","name":"amountReceivedLD","type":"uint256"}],"internalType":"struct OFTReceipt","name":"oftReceipt","type":"tuple"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"_delegate","type":"address"}],"name":"setDelegate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"eid","type":"uint32"},{"internalType":"uint16","name":"msgType","type":"uint16"},{"internalType":"bytes","name":"options","type":"bytes"}],"internalType":"struct EnforcedOptionParam[]","name":"_enforcedOptions","type":"tuple[]"}],"name":"setEnforcedOptions","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_msgInspector","type":"address"}],"name":"setMsgInspector","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"_eid","type":"uint32"},{"internalType":"bytes32","name":"_peer","type":"bytes32"}],"name":"setPeer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_preCrime","type":"address"}],"name":"setPreCrime","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"bytes32","name":"chainId","type":"bytes32"},{"internalType":"uint256","name":"limit","type":"uint256"},{"internalType":"uint256","name":"window","type":"uint256"}],"internalType":"struct RateLimits.Config[]","name":"_rateLimitConfigs","type":"tuple[]"},{"internalType":"enum EfficientRateLimiter.RateLimitDirection","name":"direction","type":"uint8"}],"name":"setRateLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sharedDecimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]'),Qa=q0(1e-6);var Yt=(p=>(p.CCIP="CCIP",p.OFT="OFT",p))(Yt||{});const ru={CCIP:"https://ccip.chain.link/tx/{txHash}",OFT:"https://layerzeroscan.com/tx/{txHash}"},I6=[X.ethereum,X.base,X.binanceSmartChain,X.katana,X.sonic,X.baseSepoliaTestnet,X.holesky,X.katanaTatara,X.sepolia],B6=[X.ethereum,X.berachain,X.corn,X.etherlink,X.swell,X.berachainBartioTestnet,X.sepolia],f3=Li([...I6,...B6]),m3=9e4,b3=2e5,h3=[X.berachain,X.etherlink,X.berachainBartioTestnet],ie=([p,f])=>`[from:${p}, to: ${f}]`,g3={routes:[ie([X.ethereum,X.base]),ie([X.ethereum,X.binanceSmartChain]),ie([X.ethereum,X.sonic]),ie([X.ethereum,X.katana])],type:"CCIP",contract:{address:"0xa869817b48b25eee986bdf4be04062e6fd2c418b",abi:an,chainId:X.ethereum}},w3={routes:[ie([X.base,X.ethereum]),ie([X.base,X.binanceSmartChain]),ie([X.base,X.katana])],type:"CCIP",contract:{address:"0xa869817b48b25eee986bdf4be04062e6fd2c418b",abi:an,chainId:X.base}},T3={routes:[ie([X.binanceSmartChain,X.ethereum]),ie([X.binanceSmartChain,X.base]),ie([X.binanceSmartChain,X.katana])],type:"CCIP",contract:{address:"0xa869817b48b25eee986bdf4be04062e6fd2c418b",abi:an,chainId:X.binanceSmartChain}},v3={routes:[ie([X.katana,X.ethereum]),ie([X.katana,X.base]),ie([X.katana,X.binanceSmartChain]),ie([X.katana,X.sonic])],type:"CCIP",contract:{address:"0xA869817b48b25EeE986bdF4bE04062e6fd2C418B",abi:an,chainId:X.katana}},A3={routes:[ie([X.sonic,X.ethereum]),ie([X.sonic,X.katana])],type:"CCIP",contract:{address:"0xa869817b48b25eee986bdf4be04062e6fd2c418b",abi:an,chainId:X.sonic}},x3={routes:[ie([X.baseSepoliaTestnet,X.holesky])],type:"CCIP",contract:{address:"0x38247C4c846D549CAAd2C6c0b6fec0c402b77a0F",abi:an,chainId:X.baseSepoliaTestnet}},E3={routes:[ie([X.holesky,X.baseSepoliaTestnet])],type:"CCIP",contract:{address:"0x38247C4c846D549CAAd2C6c0b6fec0c402b77a0F",abi:an,chainId:X.holesky}},C3={routes:[ie([X.katanaTatara,X.sepolia])],type:"CCIP",contract:{address:"0x38247C4c846D549CAAd2C6c0b6fec0c402b77a0F",abi:an,chainId:X.katanaTatara}},P3={routes:[ie([X.sepolia,X.katanaTatara])],type:"CCIP",contract:{address:"0x38247C4c846D549CAAd2C6c0b6fec0c402b77a0F",abi:an,chainId:X.sepolia}},k3=[g3,w3,T3,v3,A3,x3,E3,C3,P3].reduce((p,f)=>{if(f.type!=="CCIP")return p;const u=f.routes.map(v=>[v,{type:"CCIP",contract:f.contract}]);return p.concat(u)},[]),I3=[[ie([X.ethereum,X.berachain]),{type:"OFT",contract:{address:"0x1290A6b480f7eF14925229fdB66f5680aD8F44AD",abi:Ft,chainId:X.ethereum}}],[ie([X.ethereum,X.corn]),{type:"OFT",contract:{address:"0x6bc15d7930839ec18a57f6f7df72ae1b439d077f",abi:Ft,chainId:X.ethereum}}],[ie([X.ethereum,X.etherlink]),{type:"OFT",contract:{address:"0x3a7647c1323144a16e7D0D71A581E3FE5BD95299",abi:Ft,chainId:X.ethereum}}],[ie([X.ethereum,X.swell]),{type:"OFT",contract:{address:"0x37E92d760a15231e652a2C502182a6b44c7510c0",abi:Ft,chainId:X.ethereum}}],[ie([X.berachain,X.ethereum]),{type:"OFT",contract:{address:"0x630e12D53D4E041b8C5451aD035Ea841E08391d7",abi:Ft,chainId:X.berachain}}],[ie([X.corn,X.ethereum]),{type:"OFT",contract:{address:"0xfc7B20D9B59A8A466f4fC3d34aA69a7D98e71d7A",abi:Ft,chainId:X.corn}}],[ie([X.etherlink,X.ethereum]),{type:"OFT",contract:{address:"0xC832183d4d5fc5831daaC892a93dBBfd798034E3",abi:Ft,chainId:X.etherlink}}],[ie([X.swell,X.ethereum]),{type:"OFT",contract:{address:"0x7B3784AD646C10A8Ddf42b47a4f4bd9aFD351E54",abi:Ft,chainId:X.swell}}],[ie([X.berachainBartioTestnet,X.sepolia]),{type:"OFT",contract:{address:"0x1977013acaf27856ac8048C42EE2ed0134d53895",abi:Ft,chainId:X.berachainBartioTestnet}}],[ie([X.sepolia,X.berachainBartioTestnet]),{type:"OFT",contract:{address:"0xe3748bF0Ec0A76767539eE28610B3367e35fe2C2",abi:Ft,chainId:X.sepolia}}]],B3=new Map([...k3,...I3]),kr=(p,f)=>B3.get(ie([p,f]));async function S6({to:p,amount:f,approve:u,recipient:v,account:t,chainId:d,provider:k,env:S,rpcUrl:N}){const L=q0(f),z=v||t,j=kr(d,p);if(!j||j.type!==Yt.CCIP)throw new Error(`Unsupported bridge from ${d} to ${p}. Please switch to the supported chains: ${I6.join(", ")}`);const q=j.contract,O=await Aa(K0.LBTC,d,S,N);if(!O)throw new Error("Could not retrieve LBTC contract info.");const _=Re({chainId:d,rpcUrl:N}),J=Qe({provider:k,chainId:d}),s0=Pr(Cr(L,O.decimals));if(L.isLessThan(Qa))throw new Error(`The amount is smaller than the minimum amount allowed: ${Qa.toFixed()}`);const o0=await _.readContract({address:O.address,abi:O.abi,functionName:"balanceOf",args:[t]}),c0=Fe(String(o0),O.decimals);if(L.isGreaterThan(c0))throw new Error(`The amount exceeds the account's balance.
|
|
55
|
+
Reason: ${e0}`)}}const p0=q0(Date.now()).dividedBy(1e3).plus(q0(L.queueWithdrawDaysValid).multipliedBy(Ui/1e3)).decimalPlaces(0,q0.ROUND_DOWN),v0=q0(L.queueWithdrawDiscountPercent).multipliedBy(1e4),{request:b0}=await z.simulateContract({account:t,chain:ht[d],address:L.withdrawQueueContracts[d].address,abi:L.withdrawQueueContracts[d].abi,functionName:"safeUpdateAtomicRequest",args:[L.vaultContract.address,q.address,[p0.toFixed(0),0n,_,!1],L.accountantContract.address,v0.toFixed(0)]});return await j.writeContract(b0)}async function Wb({token:p=K0.LBTC,vaultKey:f=Ge.Veda,account:u,chainId:v,provider:t,rpcUrl:d,env:k}){const S=wt[f];if(!S)throw new Error(`Unknown vault key: ${f}`);if(!Tn(v))throw new Error(`Unsupported chain id: ${v}. Please switch to one of the supported chains: ${S.chains.join(", ")}`);const N=Re({chainId:v,rpcUrl:d}),L=Qe({provider:t,chainId:v}),z=await Aa(p,v,k,d);if(!z)throw new Error(`Unknown withdraw token: ${p}`);const{request:j}=await N.simulateContract({account:u,chain:ht[v],address:S.withdrawQueueContracts[v].address,abi:S.withdrawQueueContracts[v].abi,functionName:"updateAtomicRequest",args:[S.vaultContract.address,z.address,[0,0,0,!1]]});return await L.writeContract(j)}const Zb="https://api.sevenseas.capital/withdrawRequests/{network}/{vault}/{account}?historical=true";async function Kb({account:p,chainId:f,vaultKey:u=Ge.Veda,rpcUrl:v}){const t=wt[u];if(!t)throw new Error(`Unknown vault key: ${u}`);if(!Tn(f))throw new Error(`Unsupported chain id: ${f}. Please switch to one of the supported chains: ${t.chains.join(", ")}`);const d=f6[f],k=Zb.replace("{network}",d).replace("{vault}",t.vaultContract.address).replace("{account}",p),{data:S}=await ue.get(k),N=Li([...S.Response.cancelled_requests.map(J=>Be(J.wantToken)),...S.Response.expired_requests.map(J=>Be(J.wantToken)),...S.Response.fulfilled_requests.map(J=>Be(J.Request.wantToken)),...S.Response.open_requests.map(J=>Be(J.wantToken))]),L={};for(const J of N){const s0=await a6(J,f,v);s0?L[J]={address:s0.address,decimals:s0.decimals,symbol:s0.symbol}:L[J]=void 0}const z=S.Response.cancelled_requests.map(J=>{const s0=L[Be(J.wantToken)];return{amount:void 0,blockNumber:J.blockNumber,deadline:J.deadline,shareAmount:Fe(J.amount,t.decimals),timestamp:J.timestamp,txHash:Be(J.transactionHash),token:s0}}),j=S.Response.expired_requests.map(J=>{const s0=L[Be(J.wantToken)];return{amount:void 0,blockNumber:J.blockNumber,deadline:J.deadline,shareAmount:Fe(J.amount,t.decimals),timestamp:J.timestamp,txHash:Be(J.transactionHash),token:s0}}),q=S.Response.fulfilled_requests.map(J=>{const s0=L[Be(J.Request.wantToken)];return{amount:Fe(J.Fulfillment.wantAmountReceived,(s0==null?void 0:s0.decimals)||0),blockNumber:J.Request.blockNumber,deadline:J.Request.deadline,shareAmount:Fe(J.Fulfillment.offerAmountSpent,t.decimals),timestamp:J.Request.timestamp,txHash:Be(J.Request.transactionHash),token:s0,fulfilledBlockNumber:J.Fulfillment.blockNumber,fulfilledTimestamp:J.Fulfillment.timestamp,fulfilledTxHash:Be(J.Fulfillment.transactionHash),minPrice:Fe(J.Request.minPrice,(s0==null?void 0:s0.decimals)||0)}}),O=S.Response.open_requests.map(J=>{const s0=L[Be(J.wantToken)];return{amount:void 0,blockNumber:J.blockNumber,deadline:J.deadline,shareAmount:Fe(J.amount,t.decimals),timestamp:J.timestamp,txHash:Be(J.transactionHash),token:s0,minPrice:Fe(J.minPrice,(s0==null?void 0:s0.decimals)||0)}});return{cancelled:Jn(z,J=>J.timestamp,"desc"),expired:Jn(j,J=>J.timestamp,"desc"),fulfilled:Jn(q,J=>J.fulfilledTimestamp||J.timestamp,"desc"),open:Jn(O,J=>J.timestamp,"desc")}}const Yb="https://api.veda.tech/points/user/{account}";async function Xb({account:p,vaultKey:f=Ge.Veda}){const u=wt[f];if(!u)throw new Error(`Unknown vault key: ${f}`);const v=Yb.replace("{account}",p),{data:t}=await ue.get(v,{headers:{"Access-Control-Allow-Origin":"*","Content-Type":"application/json"}}),d={},k=Object.entries(t.Response);for(const[N,L]of k){if(N==="userTotalVedaPointsSum")continue;const z=Object.entries(L.vaults).find(([j])=>j===u.vaultContract.address);if(z){const[,j]=z,q=Number.isNaN(j.totalPoints)?0:j.totalPoints;d[N]=q}}let S=0;for(const N of Object.values(d))S+=N;return{totalPoints:S,pointsBreakdown:d}}async function Qb({vaultKey:p=Ge.Veda,env:f}){if(!wt[p])throw new Error(`Unknown vault key: ${p}`);const{bffApiUrl:v}=Ae(f);if(!v)throw new Error(`Could not determine API endpoint for provided environment: ${f}`);const t=`${v}/dune-api/query/vault-tvl`,{data:d}=await ue.get(t);return{btcBalance:q0(d.net_btc_balance),btcPrice:q0(d.price),tvl:q0(d.vault_tvl)}}async function Jb({aggregationPeriod:p=7,chainId:f=X.ethereum,vaultKey:u=Ge.Veda}){const t=(await $b({aggregationPeriod:p,chainId:f,vaultKey:u})).Response.map(d=>{const k=Object.entries(d.chain_allocation).map(([N,L])=>[au[N],q0(L)]).reduce((N,L)=>{const[z,j]=L;return N[z]=j,N},{}),S=d.real_apy_breakdown.map(N=>({allocations:q0(N.allocation),apy:q0(N.apy),chainId:au[N.chain],protocol:N.protocol}));return{apy:q0(d.apy),allocations:k,breakdown:S,timestamp:new Date(d.timestamp)}});return Jn(t,d=>d.timestamp.getTime(),"desc")}const _b={[X.ethereum]:"ethereum",[X.base]:"base",[X.binanceSmartChain]:"bnb",[X.corn]:"corn"},au={ethereum:X.ethereum,base:X.base,bnb:X.binanceSmartChain,corn:X.corn};async function $b({aggregationPeriod:p=7,chainId:f,vaultKey:u=Ge.Veda}){const v=wt[u];if(!v)throw new Error(`Unknown vault key: ${u}`);if(!Tn(f))throw new Error(`Unsupported chain id: ${f}. Please switch to one of the supported chains: ${v.chains.join(", ")}`);const t=_b[f];if(t!=="ethereum")throw new Error(`Unsupported network ${t}. Please switch to 'ethereum'.`);const d=`https://api.sevenseas.capital/performance/${t}/${v.vaultContract.address}?historical=true&aggregation_period=${p}`,{data:k}=await ue.get(d);return k}var bn=(p=>(p.BABY="BABY",p))(bn||{});function xa(p){return p==="BABY"}const e3="/api/v1/distribution/account/{address}/fee";async function x6({address:p,rewardToken:f,env:u}){if(!xa(f))throw new Error(`Unknown reward token: ${bn}`);const{baseApiUrl:v}=Ae(u),{data:t}=await ue.get(e3.replace("{address}",p),{baseURL:v});return q0(t.fee)}const t3="/api/v1/distribution/account/{from}/withdrawals/{to}/signing-data";async function E6({from:p,to:f,amount:u,fee:v,rewardToken:t,variant:d="json",env:k}){if(!xa(t))throw new Error(`Unknown reward token: ${bn}`);const{baseApiUrl:S}=Ae(k),{data:N}=await ue.get(t3.replace("{from}",p).replace("{to}",f),{baseURL:S,params:{amount:q0(u).toFixed(),fee:q0(v).toFixed(),plain:d==="plain-text"}});return N.data}const n3="/api/v1/distribution/account/{address}/withdrawals";var C6=(p=>(p.Unspecified="WITHDRAWAL_STATUS_UNSPECIFIED",p.Pending="WITHDRAWAL_STATUS_PENDING",p.Sent="WITHDRAWAL_STATUS_SENT",p.Confirmed="WITHDRAWAL_STATUS_CONFIRMED",p))(C6||{});async function a3({address:p,env:f}){var d;const{baseApiUrl:u}=Ae(f),{data:v}=await ue.get(n3.replace("{address}",p),{baseURL:u});return((d=v==null?void 0:v.withdrawals)==null?void 0:d.map(P6))||[]}function P6(p){return{amount:q0(p.amount),rewardToken:bn.BABY,fee:q0(p.fee),to:p.to,signature:Be(p.signature),status:p.status,txHash:p.tx_hash,timestamp:new Date(p.created_at)}}const r3="/api/v1/distribution/account/{from}/withdrawals/{to}";async function s3({account:p,rewardToken:f,amount:u,to:v,signingDataVariant:t,chainId:d,provider:k,env:S}){if(!xa(f))throw new Error(`Unknown reward token: ${bn}`);const N=Qe({chainId:d,provider:k}),L=await x6({address:p,rewardToken:f,env:S}),z=await E6({from:p,to:v,amount:u,fee:L,rewardToken:f,variant:t,env:S}),j=await N.signMessage({account:p,message:z}),q={amount:q0(u).toFixed(),fee:q0(L).toFixed(),signature:j,plain:t==="plain-text"},{baseApiUrl:O}=Ae(S),{data:_}=await ue.post(r3.replace("{from}",p).replace("{to}",v),q,{baseURL:O});return P6(_.withdrawal)}var k6=(p=>(p.Undefined="BLOCKCHAIN_TYPE_UNDEFINED",p.Evm="BLOCKCHAIN_TYPE_EVM",p.Sui="BLOCKCHAIN_TYPE_SUI",p.Solana="BLOCKCHAIN_TYPE_SOLANA",p.Cosmos="BLOCKCHAIN_TYPE_COSMOS",p))(k6||{});const i3="/api/v1/distribution/account/{address}";async function o3({address:p,rewardToken:f=bn.BABY,env:u}){if(!xa(f))throw new Error(`Unknown reward token: ${bn}`);const{baseApiUrl:v}=Ae(u),{data:t}=await ue.get(i3.replace("{address}",p),{baseURL:v});return{address:p,availableBalance:q0(t.account.available_balance),lockedBalance:q0(t.account.locked_balance),pendingBalance:q0(t.account.pending_balance),rewardToken:f,timestamp:new Date(t.account.created_at)}}const u3={[X.baseSepoliaTestnet]:"0x731eFa688F3679688cf60A3993b8658138953ED6",[X.berachainBartioTestnet]:"0xc47e4b3124597FDF8DD07843D4a7052F2eE80C30",[X.binanceSmartChainTestnet]:"0x731eFa688F3679688cf60A3993b8658138953ED6",[X.holesky]:"0xED7bfd5C1790576105Af4649817f6d35A75CD818",[X.katanaTatara]:"0x731eFa688F3679688cf60A3993b8658138953ED6",[X.sepolia]:"0xc47e4b3124597fdf8dd07843d4a7052f2ee80c30",[X.sonicBlazeTestnet]:"0x731eFa688F3679688cf60A3993b8658138953ED6"},c3={[X.berachainBartioTestnet]:"0xc47e4b3124597FDF8DD07843D4a7052F2eE80C30",[X.binanceSmartChainTestnet]:"0x107Fc7d90484534704dD2A9e24c7BD45DB4dD1B5",[X.holesky]:"0x38A13AB20D15ffbE5A7312d2336EF1552580a4E2",[X.katanaTatara]:"0x107Fc7d90484534704dD2A9e24c7BD45DB4dD1B5",[X.sepolia]:"0xc47e4b3124597fdf8dd07843d4a7052f2ee80c30",[X.sonicBlazeTestnet]:"0x107Fc7d90484534704dD2A9e24c7BD45DB4dD1B5"},d3={[X.ethereum]:"0x8236a87084f8b84306f72007f36f2618a5634494",[X.base]:"0xecAc9C5F704e954931349Da37F60E39f515c11c1",[X.berachain]:"0xecAc9C5F704e954931349Da37F60E39f515c11c1",[X.binanceSmartChain]:"0xecAc9C5F704e954931349Da37F60E39f515c11c1",[X.corn]:"0xecAc9C5F704e954931349Da37F60E39f515c11c1",[X.etherlink]:"0xecAc9C5F704e954931349Da37F60E39f515c11c1",[X.katana]:"0xecAc9C5F704e954931349Da37F60E39f515c11c1",[X.morph]:"0xecAc9C5F704e954931349Da37F60E39f515c11c1",[X.sonic]:"0xecAc9C5F704e954931349Da37F60E39f515c11c1",[X.swell]:"0xecAc9C5F704e954931349Da37F60E39f515c11c1"};function l3(p=Vn){switch(p){case se.testnet:return c3;case se.dev:case se.stage:return u3;case se.prod:return d3}}async function p3(p){const f=p==null?void 0:p.env,u=p==null?void 0:p.partnerId,{bffApiUrl:v}=Ae(f);if(!v)throw new Error(`Could not determine API endpoint for provided environment: ${f}`);const{data:t}=await ue.get(`${v}/dune-api/query/getLBTCStats?partnerId=${u||""}`),{data:d}=await ue.get(`${v}/dune-api/query/lbtc-holders?partnerId=${u||""}`),{data:k}=await ue.get(`${v}/dune-api/query/getTotalLBTCUsers?partnerId=${u||""}`);let S;try{const{data:L}=await ue.get(`${v}/lombard-sdk/staking-stats?partnerId=${u||""}`);S=L.apr}catch{}return{price:q0(t[0].price),supply:q0(t[0].supply),tvl:q0(t[0].tvl),holders:q0(d),historicalHolders:q0(k),apr:S?q0(S):void 0}}async function y3({account:p,env:f}){const{baseApiUrl:u}=Ae(f),v=`${u}/api/v1/rewards/${p}`,{data:t}=await ue.get(v);return{type:t.type,totalLbtcBalance:t.total_lbtc_balance,totalRewards:t.total_rewards,totalRewardsCost:t.total_rewards_cost}}const an=JSON.parse('[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AdapterNotConfirmed","type":"error"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"AddressEmptyCode","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"AddressInsufficientBalance","type":"error"},{"inputs":[{"internalType":"uint256","name":"commission","type":"uint256"}],"name":"AmountLessThanCommission","type":"error"},{"inputs":[],"name":"AmountTooSmallToPayRelativeFee","type":"error"},{"inputs":[],"name":"BadCommission","type":"error"},{"inputs":[],"name":"BadConfiguration","type":"error"},{"inputs":[],"name":"Bridge_ZeroAddress","type":"error"},{"inputs":[],"name":"Bridge_ZeroAmount","type":"error"},{"inputs":[],"name":"ConsortiumNotConfirmed","type":"error"},{"inputs":[],"name":"FailedInnerCall","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[],"name":"KnownDestination","type":"error"},{"inputs":[],"name":"MalformedRateLimit","type":"error"},{"inputs":[],"name":"MathOverflowedMulDiv","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[],"name":"NotValidDestination","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"OwnableInvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"OwnableUnauthorizedAccount","type":"error"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"PayloadAlreadyUsed","type":"error"},{"inputs":[],"name":"PayloadTooLarge","type":"error"},{"inputs":[],"name":"RateLimitExceeded","type":"error"},{"inputs":[],"name":"ReentrancyGuardReentrantCall","type":"error"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"SafeERC20FailedOperation","type":"error"},{"inputs":[{"internalType":"bytes4","name":"action","type":"bytes4"}],"name":"UnexpectedAction","type":"error"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"UnknownAdapter","type":"error"},{"inputs":[],"name":"UnknownDestination","type":"error"},{"inputs":[{"internalType":"bytes32","name":"fromChain","type":"bytes32"},{"internalType":"bytes32","name":"fromContract","type":"bytes32"}],"name":"UnknownOriginContract","type":"error"},{"inputs":[],"name":"WrongChainId","type":"error"},{"inputs":[],"name":"ZeroAddress","type":"error"},{"inputs":[],"name":"ZeroAmount","type":"error"},{"inputs":[],"name":"ZeroChainId","type":"error"},{"inputs":[],"name":"ZeroContractHash","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"previousAdapter","type":"address"},{"indexed":false,"internalType":"contract IAdapter","name":"newAdapter","type":"address"}],"name":"AdapterChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"chain","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"contractAddress","type":"bytes32"}],"name":"BridgeDestinationAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"chain","type":"bytes32"}],"name":"BridgeDestinationRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"contract INotaryConsortium","name":"prevVal","type":"address"},{"indexed":true,"internalType":"contract INotaryConsortium","name":"newVal","type":"address"}],"name":"ConsortiumChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"newValue","type":"uint64"},{"indexed":true,"internalType":"bytes32","name":"chain","type":"bytes32"}],"name":"DepositAbsoluteCommissionChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint16","name":"newValue","type":"uint16"},{"indexed":true,"internalType":"bytes32","name":"chain","type":"bytes32"}],"name":"DepositRelativeCommissionChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"fromAddress","type":"address"},{"indexed":true,"internalType":"bytes32","name":"toAddress","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"payloadHash","type":"bytes32"},{"indexed":false,"internalType":"bytes","name":"payload","type":"bytes"}],"name":"DepositToBridge","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferStarted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"recipient","type":"address"},{"indexed":true,"internalType":"bytes32","name":"payloadHash","type":"bytes32"}],"name":"PayloadNotarized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"recipient","type":"address"},{"indexed":true,"internalType":"bytes32","name":"payloadHash","type":"bytes32"},{"indexed":true,"internalType":"address","name":"adapter","type":"address"}],"name":"PayloadReceived","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"chainId","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"limit","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"window","type":"uint256"}],"name":"RateLimitsChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"previousTreasury","type":"address"},{"indexed":false,"internalType":"address","name":"newTreasury","type":"address"}],"name":"TreasuryChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"recipient","type":"address"},{"indexed":true,"internalType":"bytes32","name":"payloadHash","type":"bytes32"},{"indexed":false,"internalType":"bytes","name":"payload","type":"bytes"},{"indexed":false,"internalType":"uint64","name":"amount","type":"uint64"}],"name":"WithdrawFromBridge","type":"event"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"toChain","type":"bytes32"},{"internalType":"bytes32","name":"toContract","type":"bytes32"},{"internalType":"uint16","name":"relCommission","type":"uint16"},{"internalType":"uint64","name":"absCommission","type":"uint64"},{"internalType":"contract IAdapter","name":"adapter","type":"address"},{"internalType":"bool","name":"requireConsortium","type":"bool"}],"name":"addDestination","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"payload","type":"bytes"},{"internalType":"bytes","name":"proof","type":"bytes"}],"name":"authNotary","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"chain","type":"bytes32"},{"internalType":"contract IAdapter","name":"newAdapter","type":"address"}],"name":"changeAdapter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract INotaryConsortium","name":"newVal","type":"address"}],"name":"changeConsortium","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint64","name":"newValue","type":"uint64"},{"internalType":"bytes32","name":"chain","type":"bytes32"}],"name":"changeDepositAbsoluteCommission","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"newValue","type":"uint16"},{"internalType":"bytes32","name":"chain","type":"bytes32"}],"name":"changeDepositRelativeCommission","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"consortium","outputs":[{"internalType":"contract INotaryConsortium","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"toChain","type":"bytes32"},{"internalType":"bytes32","name":"toAddress","type":"bytes32"},{"internalType":"uint64","name":"amount","type":"uint64"}],"name":"deposit","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"toChain","type":"bytes32"}],"name":"getAdapter","outputs":[{"internalType":"contract IAdapter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"toChain","type":"bytes32"},{"internalType":"bytes32","name":"toAddress","type":"bytes32"},{"internalType":"uint64","name":"amount","type":"uint64"}],"name":"getAdapterFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"toChain","type":"bytes32"}],"name":"getDepositAbsoluteCommission","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"toChain","type":"bytes32"}],"name":"getDepositRelativeCommission","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"toChain","type":"bytes32"}],"name":"getDestination","outputs":[{"components":[{"internalType":"bytes32","name":"bridgeContract","type":"bytes32"},{"internalType":"uint16","name":"relativeCommission","type":"uint16"},{"internalType":"uint64","name":"absoluteCommission","type":"uint64"},{"internalType":"contract IAdapter","name":"adapter","type":"address"},{"internalType":"bool","name":"requireConsortium","type":"bool"}],"internalType":"struct Bridge.DestinationConfig","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTreasury","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract ILBTC","name":"lbtc_","type":"address"},{"internalType":"address","name":"treasury_","type":"address"},{"internalType":"address","name":"owner_","type":"address"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"lbtc","outputs":[{"internalType":"contract ILBTC","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pendingOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"fromChain","type":"bytes32"},{"internalType":"bytes","name":"payload","type":"bytes"}],"name":"receivePayload","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"toChain","type":"bytes32"}],"name":"removeDestination","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"bytes32","name":"chainId","type":"bytes32"},{"internalType":"uint256","name":"limit","type":"uint256"},{"internalType":"uint256","name":"window","type":"uint256"}],"internalType":"struct RateLimits.Config[]","name":"depositRateLimits","type":"tuple[]"},{"components":[{"internalType":"bytes32","name":"chainId","type":"bytes32"},{"internalType":"uint256","name":"limit","type":"uint256"},{"internalType":"uint256","name":"window","type":"uint256"}],"internalType":"struct RateLimits.Config[]","name":"withdrawRateLimits","type":"tuple[]"}],"name":"setRateLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"payload","type":"bytes"}],"name":"withdraw","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"nonpayable","type":"function"}]'),Ft=JSON.parse('[{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_lzEndpoint","type":"address"},{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"AddressEmptyCode","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"AddressInsufficientBalance","type":"error"},{"inputs":[],"name":"FailedInnerCall","type":"error"},{"inputs":[],"name":"InvalidDelegate","type":"error"},{"inputs":[],"name":"InvalidEndpointCall","type":"error"},{"inputs":[],"name":"InvalidLocalDecimals","type":"error"},{"inputs":[{"internalType":"bytes","name":"options","type":"bytes"}],"name":"InvalidOptions","type":"error"},{"inputs":[],"name":"LzTokenUnavailable","type":"error"},{"inputs":[],"name":"MalformedRateLimit","type":"error"},{"inputs":[{"internalType":"uint32","name":"eid","type":"uint32"}],"name":"NoPeer","type":"error"},{"inputs":[{"internalType":"uint256","name":"msgValue","type":"uint256"}],"name":"NotEnoughNative","type":"error"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"OnlyEndpoint","type":"error"},{"inputs":[{"internalType":"uint32","name":"eid","type":"uint32"},{"internalType":"bytes32","name":"sender","type":"bytes32"}],"name":"OnlyPeer","type":"error"},{"inputs":[],"name":"OnlySelf","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"OwnableInvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"OwnableUnauthorizedAccount","type":"error"},{"inputs":[],"name":"RateLimitExceeded","type":"error"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"SafeERC20FailedOperation","type":"error"},{"inputs":[{"internalType":"bytes","name":"result","type":"bytes"}],"name":"SimulationResult","type":"error"},{"inputs":[{"internalType":"uint256","name":"amountLD","type":"uint256"},{"internalType":"uint256","name":"minAmountLD","type":"uint256"}],"name":"SlippageExceeded","type":"error"},{"anonymous":false,"inputs":[{"components":[{"internalType":"uint32","name":"eid","type":"uint32"},{"internalType":"uint16","name":"msgType","type":"uint16"},{"internalType":"bytes","name":"options","type":"bytes"}],"indexed":false,"internalType":"struct EnforcedOptionParam[]","name":"_enforcedOptions","type":"tuple[]"}],"name":"EnforcedOptionSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"inspector","type":"address"}],"name":"MsgInspectorSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"guid","type":"bytes32"},{"indexed":false,"internalType":"uint32","name":"srcEid","type":"uint32"},{"indexed":true,"internalType":"address","name":"toAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"amountReceivedLD","type":"uint256"}],"name":"OFTReceived","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"guid","type":"bytes32"},{"indexed":false,"internalType":"uint32","name":"dstEid","type":"uint32"},{"indexed":true,"internalType":"address","name":"fromAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"amountSentLD","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountReceivedLD","type":"uint256"}],"name":"OFTSent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint32","name":"eid","type":"uint32"},{"indexed":false,"internalType":"bytes32","name":"peer","type":"bytes32"}],"name":"PeerSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"preCrimeAddress","type":"address"}],"name":"PreCrimeSet","type":"event"},{"anonymous":false,"inputs":[{"components":[{"internalType":"bytes32","name":"chainId","type":"bytes32"},{"internalType":"uint256","name":"limit","type":"uint256"},{"internalType":"uint256","name":"window","type":"uint256"}],"indexed":false,"internalType":"struct RateLimits.Config[]","name":"rateLimitConfigs","type":"tuple[]"},{"indexed":false,"internalType":"enum EfficientRateLimiter.RateLimitDirection","name":"direction","type":"uint8"}],"name":"RateLimitsChanged","type":"event"},{"inputs":[],"name":"SEND","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SEND_AND_CALL","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"srcEid","type":"uint32"},{"internalType":"bytes32","name":"sender","type":"bytes32"},{"internalType":"uint64","name":"nonce","type":"uint64"}],"internalType":"struct Origin","name":"origin","type":"tuple"}],"name":"allowInitializePath","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"approvalRequired","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint32","name":"_eid","type":"uint32"},{"internalType":"uint16","name":"_msgType","type":"uint16"},{"internalType":"bytes","name":"_extraOptions","type":"bytes"}],"name":"combineOptions","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimalConversionRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"empty","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"endpoint","outputs":[{"internalType":"contract ILayerZeroEndpointV2","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"eid","type":"uint32"},{"internalType":"uint16","name":"msgType","type":"uint16"}],"name":"enforcedOptions","outputs":[{"internalType":"bytes","name":"enforcedOption","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"_srcEid","type":"uint32"}],"name":"getAmountCanBeReceived","outputs":[{"internalType":"uint256","name":"currentAmountInFlight","type":"uint256"},{"internalType":"uint256","name":"amountCanBeReceived","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"_dstEid","type":"uint32"}],"name":"getAmountCanBeSent","outputs":[{"internalType":"uint256","name":"currentAmountInFlight","type":"uint256"},{"internalType":"uint256","name":"amountCanBeSent","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"srcEid","type":"uint32"}],"name":"inboundRateLimits","outputs":[{"internalType":"uint256","name":"amountInFlight","type":"uint256"},{"internalType":"uint256","name":"lastUpdated","type":"uint256"},{"internalType":"uint256","name":"limit","type":"uint256"},{"internalType":"uint256","name":"window","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"srcEid","type":"uint32"},{"internalType":"bytes32","name":"sender","type":"bytes32"},{"internalType":"uint64","name":"nonce","type":"uint64"}],"internalType":"struct Origin","name":"","type":"tuple"},{"internalType":"bytes","name":"","type":"bytes"},{"internalType":"address","name":"_sender","type":"address"}],"name":"isComposeMsgSender","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"_eid","type":"uint32"},{"internalType":"bytes32","name":"_peer","type":"bytes32"}],"name":"isPeer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"srcEid","type":"uint32"},{"internalType":"bytes32","name":"sender","type":"bytes32"},{"internalType":"uint64","name":"nonce","type":"uint64"}],"internalType":"struct Origin","name":"_origin","type":"tuple"},{"internalType":"bytes32","name":"_guid","type":"bytes32"},{"internalType":"bytes","name":"_message","type":"bytes"},{"internalType":"address","name":"_executor","type":"address"},{"internalType":"bytes","name":"_extraData","type":"bytes"}],"name":"lzReceive","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"components":[{"components":[{"internalType":"uint32","name":"srcEid","type":"uint32"},{"internalType":"bytes32","name":"sender","type":"bytes32"},{"internalType":"uint64","name":"nonce","type":"uint64"}],"internalType":"struct Origin","name":"origin","type":"tuple"},{"internalType":"uint32","name":"dstEid","type":"uint32"},{"internalType":"address","name":"receiver","type":"address"},{"internalType":"bytes32","name":"guid","type":"bytes32"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"address","name":"executor","type":"address"},{"internalType":"bytes","name":"message","type":"bytes"},{"internalType":"bytes","name":"extraData","type":"bytes"}],"internalType":"struct InboundPacket[]","name":"_packets","type":"tuple[]"}],"name":"lzReceiveAndRevert","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"srcEid","type":"uint32"},{"internalType":"bytes32","name":"sender","type":"bytes32"},{"internalType":"uint64","name":"nonce","type":"uint64"}],"internalType":"struct Origin","name":"_origin","type":"tuple"},{"internalType":"bytes32","name":"_guid","type":"bytes32"},{"internalType":"bytes","name":"_message","type":"bytes"},{"internalType":"address","name":"_executor","type":"address"},{"internalType":"bytes","name":"_extraData","type":"bytes"}],"name":"lzReceiveSimulate","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"msgInspector","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"","type":"uint32"},{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"nextNonce","outputs":[{"internalType":"uint64","name":"nonce","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"oApp","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"oAppVersion","outputs":[{"internalType":"uint64","name":"senderVersion","type":"uint64"},{"internalType":"uint64","name":"receiverVersion","type":"uint64"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"oftVersion","outputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"},{"internalType":"uint64","name":"version","type":"uint64"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint32","name":"dstEid","type":"uint32"}],"name":"outboundRateLimits","outputs":[{"internalType":"uint256","name":"amountInFlight","type":"uint256"},{"internalType":"uint256","name":"lastUpdated","type":"uint256"},{"internalType":"uint256","name":"limit","type":"uint256"},{"internalType":"uint256","name":"window","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"eid","type":"uint32"}],"name":"peers","outputs":[{"internalType":"bytes32","name":"peer","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"preCrime","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"dstEid","type":"uint32"},{"internalType":"bytes32","name":"to","type":"bytes32"},{"internalType":"uint256","name":"amountLD","type":"uint256"},{"internalType":"uint256","name":"minAmountLD","type":"uint256"},{"internalType":"bytes","name":"extraOptions","type":"bytes"},{"internalType":"bytes","name":"composeMsg","type":"bytes"},{"internalType":"bytes","name":"oftCmd","type":"bytes"}],"internalType":"struct SendParam","name":"_sendParam","type":"tuple"}],"name":"quoteOFT","outputs":[{"components":[{"internalType":"uint256","name":"minAmountLD","type":"uint256"},{"internalType":"uint256","name":"maxAmountLD","type":"uint256"}],"internalType":"struct OFTLimit","name":"oftLimit","type":"tuple"},{"components":[{"internalType":"int256","name":"feeAmountLD","type":"int256"},{"internalType":"string","name":"description","type":"string"}],"internalType":"struct OFTFeeDetail[]","name":"oftFeeDetails","type":"tuple[]"},{"components":[{"internalType":"uint256","name":"amountSentLD","type":"uint256"},{"internalType":"uint256","name":"amountReceivedLD","type":"uint256"}],"internalType":"struct OFTReceipt","name":"oftReceipt","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"dstEid","type":"uint32"},{"internalType":"bytes32","name":"to","type":"bytes32"},{"internalType":"uint256","name":"amountLD","type":"uint256"},{"internalType":"uint256","name":"minAmountLD","type":"uint256"},{"internalType":"bytes","name":"extraOptions","type":"bytes"},{"internalType":"bytes","name":"composeMsg","type":"bytes"},{"internalType":"bytes","name":"oftCmd","type":"bytes"}],"internalType":"struct SendParam","name":"_sendParam","type":"tuple"},{"internalType":"bool","name":"_payInLzToken","type":"bool"}],"name":"quoteSend","outputs":[{"components":[{"internalType":"uint256","name":"nativeFee","type":"uint256"},{"internalType":"uint256","name":"lzTokenFee","type":"uint256"}],"internalType":"struct MessagingFee","name":"msgFee","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"dstEid","type":"uint32"},{"internalType":"bytes32","name":"to","type":"bytes32"},{"internalType":"uint256","name":"amountLD","type":"uint256"},{"internalType":"uint256","name":"minAmountLD","type":"uint256"},{"internalType":"bytes","name":"extraOptions","type":"bytes"},{"internalType":"bytes","name":"composeMsg","type":"bytes"},{"internalType":"bytes","name":"oftCmd","type":"bytes"}],"internalType":"struct SendParam","name":"_sendParam","type":"tuple"},{"components":[{"internalType":"uint256","name":"nativeFee","type":"uint256"},{"internalType":"uint256","name":"lzTokenFee","type":"uint256"}],"internalType":"struct MessagingFee","name":"_fee","type":"tuple"},{"internalType":"address","name":"_refundAddress","type":"address"}],"name":"send","outputs":[{"components":[{"internalType":"bytes32","name":"guid","type":"bytes32"},{"internalType":"uint64","name":"nonce","type":"uint64"},{"components":[{"internalType":"uint256","name":"nativeFee","type":"uint256"},{"internalType":"uint256","name":"lzTokenFee","type":"uint256"}],"internalType":"struct MessagingFee","name":"fee","type":"tuple"}],"internalType":"struct MessagingReceipt","name":"msgReceipt","type":"tuple"},{"components":[{"internalType":"uint256","name":"amountSentLD","type":"uint256"},{"internalType":"uint256","name":"amountReceivedLD","type":"uint256"}],"internalType":"struct OFTReceipt","name":"oftReceipt","type":"tuple"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"_delegate","type":"address"}],"name":"setDelegate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"eid","type":"uint32"},{"internalType":"uint16","name":"msgType","type":"uint16"},{"internalType":"bytes","name":"options","type":"bytes"}],"internalType":"struct EnforcedOptionParam[]","name":"_enforcedOptions","type":"tuple[]"}],"name":"setEnforcedOptions","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_msgInspector","type":"address"}],"name":"setMsgInspector","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"_eid","type":"uint32"},{"internalType":"bytes32","name":"_peer","type":"bytes32"}],"name":"setPeer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_preCrime","type":"address"}],"name":"setPreCrime","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"bytes32","name":"chainId","type":"bytes32"},{"internalType":"uint256","name":"limit","type":"uint256"},{"internalType":"uint256","name":"window","type":"uint256"}],"internalType":"struct RateLimits.Config[]","name":"_rateLimitConfigs","type":"tuple[]"},{"internalType":"enum EfficientRateLimiter.RateLimitDirection","name":"direction","type":"uint8"}],"name":"setRateLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sharedDecimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]'),Qa=q0(1e-6);var Yt=(p=>(p.CCIP="CCIP",p.OFT="OFT",p))(Yt||{});const ru={CCIP:"https://ccip.chain.link/tx/{txHash}",OFT:"https://layerzeroscan.com/tx/{txHash}"},I6=[X.ethereum,X.base,X.binanceSmartChain,X.katana,X.sonic,X.baseSepoliaTestnet,X.holesky,X.katanaTatara,X.sepolia],B6=[X.ethereum,X.berachain,X.corn,X.etherlink,X.swell,X.berachainBartioTestnet,X.sepolia],f3=Li([...I6,...B6]),m3=9e4,b3=2e5,h3=[X.berachain,X.etherlink,X.berachainBartioTestnet],ie=([p,f])=>`[from:${p}, to: ${f}]`,g3={routes:[ie([X.ethereum,X.base]),ie([X.ethereum,X.binanceSmartChain]),ie([X.ethereum,X.sonic]),ie([X.ethereum,X.katana])],type:"CCIP",contract:{address:"0xa869817b48b25eee986bdf4be04062e6fd2c418b",abi:an,chainId:X.ethereum}},w3={routes:[ie([X.base,X.ethereum]),ie([X.base,X.binanceSmartChain]),ie([X.base,X.katana])],type:"CCIP",contract:{address:"0xa869817b48b25eee986bdf4be04062e6fd2c418b",abi:an,chainId:X.base}},T3={routes:[ie([X.binanceSmartChain,X.ethereum]),ie([X.binanceSmartChain,X.base]),ie([X.binanceSmartChain,X.katana])],type:"CCIP",contract:{address:"0xa869817b48b25eee986bdf4be04062e6fd2c418b",abi:an,chainId:X.binanceSmartChain}},v3={routes:[ie([X.katana,X.ethereum]),ie([X.katana,X.base]),ie([X.katana,X.binanceSmartChain]),ie([X.katana,X.sonic])],type:"CCIP",contract:{address:"0xA869817b48b25EeE986bdF4bE04062e6fd2C418B",abi:an,chainId:X.katana}},A3={routes:[ie([X.sonic,X.ethereum]),ie([X.sonic,X.katana])],type:"CCIP",contract:{address:"0xa869817b48b25eee986bdf4be04062e6fd2c418b",abi:an,chainId:X.sonic}},x3={routes:[ie([X.baseSepoliaTestnet,X.holesky])],type:"CCIP",contract:{address:"0x38247C4c846D549CAAd2C6c0b6fec0c402b77a0F",abi:an,chainId:X.baseSepoliaTestnet}},E3={routes:[ie([X.holesky,X.baseSepoliaTestnet])],type:"CCIP",contract:{address:"0x38247C4c846D549CAAd2C6c0b6fec0c402b77a0F",abi:an,chainId:X.holesky}},C3={routes:[ie([X.katanaTatara,X.sepolia])],type:"CCIP",contract:{address:"0x38247C4c846D549CAAd2C6c0b6fec0c402b77a0F",abi:an,chainId:X.katanaTatara}},P3={routes:[ie([X.sepolia,X.katanaTatara])],type:"CCIP",contract:{address:"0x38247C4c846D549CAAd2C6c0b6fec0c402b77a0F",abi:an,chainId:X.sepolia}},k3=[g3,w3,T3,v3,A3,x3,E3,C3,P3].reduce((p,f)=>{if(f.type!=="CCIP")return p;const u=f.routes.map(v=>[v,{type:"CCIP",contract:f.contract}]);return p.concat(u)},[]),I3=[[ie([X.ethereum,X.berachain]),{type:"OFT",contract:{address:"0x1290A6b480f7eF14925229fdB66f5680aD8F44AD",abi:Ft,chainId:X.ethereum}}],[ie([X.ethereum,X.corn]),{type:"OFT",contract:{address:"0x6bc15d7930839ec18a57f6f7df72ae1b439d077f",abi:Ft,chainId:X.ethereum}}],[ie([X.ethereum,X.etherlink]),{type:"OFT",contract:{address:"0x3a7647c1323144a16e7D0D71A581E3FE5BD95299",abi:Ft,chainId:X.ethereum}}],[ie([X.ethereum,X.swell]),{type:"OFT",contract:{address:"0x37E92d760a15231e652a2C502182a6b44c7510c0",abi:Ft,chainId:X.ethereum}}],[ie([X.berachain,X.ethereum]),{type:"OFT",contract:{address:"0x630e12D53D4E041b8C5451aD035Ea841E08391d7",abi:Ft,chainId:X.berachain}}],[ie([X.corn,X.ethereum]),{type:"OFT",contract:{address:"0xfc7B20D9B59A8A466f4fC3d34aA69a7D98e71d7A",abi:Ft,chainId:X.corn}}],[ie([X.etherlink,X.ethereum]),{type:"OFT",contract:{address:"0xC832183d4d5fc5831daaC892a93dBBfd798034E3",abi:Ft,chainId:X.etherlink}}],[ie([X.swell,X.ethereum]),{type:"OFT",contract:{address:"0x7B3784AD646C10A8Ddf42b47a4f4bd9aFD351E54",abi:Ft,chainId:X.swell}}],[ie([X.berachainBartioTestnet,X.sepolia]),{type:"OFT",contract:{address:"0x1977013acaf27856ac8048C42EE2ed0134d53895",abi:Ft,chainId:X.berachainBartioTestnet}}],[ie([X.sepolia,X.berachainBartioTestnet]),{type:"OFT",contract:{address:"0xe3748bF0Ec0A76767539eE28610B3367e35fe2C2",abi:Ft,chainId:X.sepolia}}]],B3=new Map([...k3,...I3]),kr=(p,f)=>B3.get(ie([p,f]));async function S6({to:p,amount:f,approve:u,recipient:v,account:t,chainId:d,provider:k,env:S,rpcUrl:N}){const L=q0(f),z=v||t,j=kr(d,p);if(!j||j.type!==Yt.CCIP)throw new Error(`Unsupported bridge from ${d} to ${p}. Please switch to the supported chains: ${I6.join(", ")}`);const q=j.contract,O=await Aa(K0.LBTC,d,S,N);if(!O)throw new Error("Could not retrieve LBTC contract info.");const _=Re({chainId:d,rpcUrl:N}),J=Qe({provider:k,chainId:d}),s0=Pr(Cr(L,O.decimals));if(L.isLessThan(Qa))throw new Error(`The amount is smaller than the minimum amount allowed: ${Qa.toFixed()}`);const o0=await _.readContract({address:O.address,abi:O.abi,functionName:"balanceOf",args:[t]}),c0=Fe(String(o0),O.decimals);if(L.isGreaterThan(c0))throw new Error(`The amount exceeds the account's balance.
|
|
56
56
|
Amount: ${L.toFixed()}
|
|
57
57
|
Balance: ${c0.toFixed()}`);const p0=await _.readContract({address:O.address,abi:O.abi,functionName:"allowance",args:[t,q.address]}),v0=Fe(String(p0),O.decimals);if(L.isGreaterThan(v0)){const e0=`The amount exceeds allowance.
|
|
58
58
|
Amount: ${L.toFixed()}
|