@boostxyz/cli 1.1.0-alpha.34
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/LICENSE +674 -0
- package/README.md +162 -0
- package/dist/cli.cjs +27 -0
- package/dist/cli.js +99 -0
- package/dist/commands/deploy.cjs +1 -0
- package/dist/commands/deploy.js +10141 -0
- package/dist/commands/seed.cjs +2 -0
- package/dist/commands/seed.js +947 -0
- package/dist/index.cjs +1 -0
- package/dist/index.js +9 -0
- package/dist/utils-D0bdHF2y.js +64 -0
- package/dist/utils-DX4pZJ98.cjs +3 -0
- package/package.json +56 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f0=require("node:fs/promises"),b0=require("node:path"),u=require("@boostxyz/sdk"),M=require("/home/runner/work/boost-protocol/boost-protocol/node_modules/.pnpm/viem@2.21.16_bufferutil@4.0.8_typescript@5.6.2_utf-8-validate@6.0.4_zod@3.23.8/node_modules/viem/_esm/actions/index.js"),p=require("/home/runner/work/boost-protocol/boost-protocol/node_modules/.pnpm/viem@2.21.16_bufferutil@4.0.8_typescript@5.6.2_utf-8-validate@6.0.4_zod@3.23.8/node_modules/viem/_esm/index.js"),F=require("/home/runner/work/boost-protocol/boost-protocol/node_modules/.pnpm/viem@2.21.16_bufferutil@4.0.8_typescript@5.6.2_utf-8-validate@6.0.4_zod@3.23.8/node_modules/viem/_esm/utils/index.js"),u0=require("/home/runner/work/boost-protocol/boost-protocol/node_modules/.pnpm/viem@2.21.16_bufferutil@4.0.8_typescript@5.6.2_utf-8-validate@6.0.4_zod@3.23.8/node_modules/viem/_esm/accounts/index.js"),l0=require("/home/runner/work/boost-protocol/boost-protocol/node_modules/.pnpm/@wagmi+core@2.13.8_@tanstack+query-core@5.32.0_@types+react@18.3.0_immer@10.0.2_react@18.3.0__rf4knvbttxkigkqzlfrm4rcvsi/node_modules/@wagmi/core/dist/esm/exports/index.js"),c=require("/home/runner/work/boost-protocol/boost-protocol/node_modules/.pnpm/zod@3.23.8/node_modules/zod/lib/index.mjs"),p0=require("../utils-DX4pZJ98.cjs");function I(a){const t=a.state.current,e=a.state.connections.get(t),n=e==null?void 0:e.accounts,r=n==null?void 0:n[0],o=a.chains.find(f=>f.id===(e==null?void 0:e.chainId)),i=a.state.status;switch(i){case"connected":return{address:r,addresses:n,chain:o,chainId:e==null?void 0:e.chainId,connector:e==null?void 0:e.connector,isConnected:!0,isConnecting:!1,isDisconnected:!1,isReconnecting:!1,status:i};case"reconnecting":return{address:r,addresses:n,chain:o,chainId:e==null?void 0:e.chainId,connector:e==null?void 0:e.connector,isConnected:!!r,isConnecting:!1,isDisconnected:!1,isReconnecting:!0,status:i};case"connecting":return{address:r,addresses:n,chain:o,chainId:e==null?void 0:e.chainId,connector:e==null?void 0:e.connector,isConnected:!1,isConnecting:!0,isDisconnected:!1,isReconnecting:!1,status:i};case"disconnected":return{address:void 0,addresses:void 0,chain:void 0,chainId:void 0,connector:void 0,isConnected:!1,isConnecting:!1,isDisconnected:!0,isReconnecting:!1,status:i}}}function R(a){return a.state.chainId}function B(a,t,e){const n=a[t.name];if(typeof n=="function")return n;const r=a[e];return typeof r=="function"?r:o=>t(a,o)}const m0="2.13.8",y0=()=>`@wagmi/core@${m0}`;var V=function(a,t,e,n){if(e==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?a!==t||!n:!t.has(a))throw new TypeError("Cannot read private member from an object whose class did not declare it");return e==="m"?n:e==="a"?n.call(a):n?n.value:t.get(a)},A,$;class C extends Error{get docsBaseUrl(){return"https://wagmi.sh/core"}get version(){return y0()}constructor(t,e={}){var n;super(),A.add(this),Object.defineProperty(this,"details",{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,"metaMessages",{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,"name",{enumerable:!0,configurable:!0,writable:!0,value:"WagmiCoreError"});const r=e.cause instanceof C?e.cause.details:(n=e.cause)!=null&&n.message?e.cause.message:e.details,o=e.cause instanceof C&&e.cause.docsPath||e.docsPath;this.message=[t||"An error occurred.","",...e.metaMessages?[...e.metaMessages,""]:[],...o?[`Docs: ${this.docsBaseUrl}${o}.html${e.docsSlug?`#${e.docsSlug}`:""}`]:[],...r?[`Details: ${r}`]:[],`Version: ${this.version}`].join(`
|
|
2
|
+
`),e.cause&&(this.cause=e.cause),this.details=r,this.docsPath=o,this.metaMessages=e.metaMessages,this.shortMessage=t}walk(t){return V(this,A,"m",$).call(this,this,t)}}A=new WeakSet,$=function a(t,e){return e!=null&&e(t)?t:t.cause?V(this,A,"m",a).call(this,t.cause,e):t};class h0 extends C{constructor(){super("Connector not connected."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"ConnectorNotConnectedError"})}}class g0 extends C{constructor({address:t,connector:e}){super(`Account "${t}" not found for connector "${e.name}".`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"ConnectorAccountNotFoundError"})}}class w0 extends C{constructor({connectionChainId:t,connectorChainId:e}){super(`The current chain of the connector (id: ${e}) does not match the connection's chain (id: ${t}).`,{metaMessages:[`Current Chain ID: ${e}`,`Expected Chain ID: ${t}`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"ConnectorChainMismatchError"})}}class v0 extends C{constructor({connector:t}){super(`Connector "${t.name}" unavailable while reconnecting.`,{details:["During the reconnection step, the only connector methods guaranteed to be available are: `id`, `name`, `type`, `uuid`.","All other methods are not guaranteed to be available until reconnection completes and connectors are fully restored.","This error commonly occurs for connectors that asynchronously inject after reconnection has already started."].join(" ")}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"ConnectorUnavailableReconnectingError"})}}async function k(a,t={}){let e;if(t.connector){const{connector:s}=t;if(a.state.status==="reconnecting"&&!s.getAccounts&&!s.getChainId)throw new v0({connector:s});const[g,S]=await Promise.all([s.getAccounts(),s.getChainId()]);e={accounts:g,chainId:S,connector:s}}else e=a.state.connections.get(a.state.current);if(!e)throw new h0;const n=t.chainId??e.chainId,r=await e.connector.getChainId();if(r!==e.chainId)throw new w0({connectionChainId:e.chainId,connectorChainId:r});const o=e.connector;if(o.getClient)return o.getClient({chainId:n});const i=F.parseAccount(t.account??e.accounts[0]);if(i.address=F.getAddress(i.address),t.account&&!e.accounts.some(s=>s.toLowerCase()===i.address.toLowerCase()))throw new g0({address:i.address,connector:o});const f=a.chains.find(s=>s.id===n),h=await e.connector.getProvider({chainId:n});return p.createClient({account:i,chain:f,name:"Connector Client",transport:s=>p.custom(h)({...s,retryCount:0})})}async function E(a,t){const{abi:e,chainId:n,connector:r,...o}=t;let i;t.account?i=t.account:i=(await k(a,{chainId:n,connector:r})).account;const f=a.getClient({chainId:n}),h=B(f,M.simulateContract,"simulateContract"),{result:s,request:g}=await h({...o,abi:e,account:i});return{chainId:f.chain.id,result:s,request:{__mode:"prepared",...g,chainId:n}}}function P(a){return a.address!==void 0&&typeof a.address=="object"?(t,e)=>{var n;const r=R(t),o=I(t),i=(e==null?void 0:e.chainId)??o.chainId??r;return E(t,{...e,...a.functionName?{functionName:a.functionName}:{},address:(n=a.address)==null?void 0:n[i],abi:a.abi})}:(t,e)=>E(t,{...e,...a.address?{address:a.address}:{},...a.functionName?{functionName:a.functionName}:{},abi:a.abi})}function _(a,t){const{chainId:e,...n}=t,r=a.getClient({chainId:e});return B(r,M.readContract,"readContract")(n)}function q(a){return a.address!==void 0&&typeof a.address=="object"?(t,e)=>{var n;const r=R(t),o=I(t),i=(e==null?void 0:e.chainId)??o.chainId??r;return _(t,{...e,...a.functionName?{functionName:a.functionName}:{},address:(n=a.address)==null?void 0:n[i],abi:a.abi})}:(t,e)=>_(t,{...e,...a.address?{address:a.address}:{},...a.functionName?{functionName:a.functionName}:{},abi:a.abi})}async function L(a,t){const{account:e,chainId:n,connector:r,__mode:o,...i}=t;let f;typeof e=="object"&&e.type==="local"?f=a.getClient({chainId:n}):f=await k(a,{account:e,chainId:n,connector:r});const{connector:h}=I(a);let s;if(o==="prepared"||h!=null&&h.supportsSimulation)s=i;else{const{request:g}=await E(a,{...i,account:e,chainId:n});s=g}return await B(f,M.writeContract,"writeContract")({...s,...e?{account:e}:{},chain:n?{id:n}:null})}function j(a){return a.address!==void 0&&typeof a.address=="object"?(t,e)=>{var n;const r=R(t),o=I(t);let i;return e.chainId?i=e.chainId:e.account&&e.account===o.address||e.account===void 0?i=o.chainId:i=r,L(t,{...e,...a.functionName?{functionName:a.functionName}:{},address:i?(n=a.address)==null?void 0:n[i]:void 0,abi:a.abi})}:(t,e)=>L(t,{...e,...a.address?{address:a.address}:{},...a.functionName?{functionName:a.functionName}:{},abi:a.abi})}const y=[{type:"error",inputs:[],name:"AllowanceOverflow"},{type:"error",inputs:[],name:"AllowanceUnderflow"},{type:"error",inputs:[],name:"InsufficientAllowance"},{type:"error",inputs:[],name:"InsufficientBalance"},{type:"error",inputs:[],name:"InvalidPermit"},{type:"error",inputs:[],name:"PermitExpired"},{type:"error",inputs:[],name:"TotalSupplyOverflow"},{type:"event",anonymous:!1,inputs:[{name:"owner",internalType:"address",type:"address",indexed:!0},{name:"spender",internalType:"address",type:"address",indexed:!0},{name:"amount",internalType:"uint256",type:"uint256",indexed:!1}],name:"Approval"},{type:"event",anonymous:!1,inputs:[{name:"from",internalType:"address",type:"address",indexed:!0},{name:"to",internalType:"address",type:"address",indexed:!0},{name:"amount",internalType:"uint256",type:"uint256",indexed:!1}],name:"Transfer"},{type:"function",inputs:[],name:"DOMAIN_SEPARATOR",outputs:[{name:"result",internalType:"bytes32",type:"bytes32"}],stateMutability:"view"},{type:"function",inputs:[{name:"owner",internalType:"address",type:"address"},{name:"spender",internalType:"address",type:"address"}],name:"allowance",outputs:[{name:"result",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"spender",internalType:"address",type:"address"},{name:"amount",internalType:"uint256",type:"uint256"}],name:"approve",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"owner",internalType:"address",type:"address"}],name:"balanceOf",outputs:[{name:"result",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"decimals",outputs:[{name:"",internalType:"uint8",type:"uint8"}],stateMutability:"view"},{type:"function",inputs:[{name:"to",internalType:"address",type:"address"},{name:"amount",internalType:"uint256",type:"uint256"}],name:"mint",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"to",internalType:"address",type:"address"},{name:"amount",internalType:"uint256",type:"uint256"}],name:"mintPayable",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"name",outputs:[{name:"",internalType:"string",type:"string"}],stateMutability:"pure"},{type:"function",inputs:[{name:"owner",internalType:"address",type:"address"}],name:"nonces",outputs:[{name:"result",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"owner",internalType:"address",type:"address"},{name:"spender",internalType:"address",type:"address"},{name:"value",internalType:"uint256",type:"uint256"},{name:"deadline",internalType:"uint256",type:"uint256"},{name:"v",internalType:"uint8",type:"uint8"},{name:"r",internalType:"bytes32",type:"bytes32"},{name:"s",internalType:"bytes32",type:"bytes32"}],name:"permit",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[],name:"symbol",outputs:[{name:"",internalType:"string",type:"string"}],stateMutability:"pure"},{type:"function",inputs:[],name:"totalSupply",outputs:[{name:"result",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"to",internalType:"address",type:"address"},{name:"amount",internalType:"uint256",type:"uint256"}],name:"transfer",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"from",internalType:"address",type:"address"},{name:"to",internalType:"address",type:"address"},{name:"amount",internalType:"uint256",type:"uint256"}],name:"transferFrom",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"nonpayable"}],C0=q({abi:y,functionName:"allowance"}),A0=q({abi:y,functionName:"balanceOf"}),I0=j({abi:y,functionName:"approve"}),S0=j({abi:y,functionName:"mint"}),z0=j({abi:y,functionName:"mintPayable"}),T0=P({abi:y,functionName:"approve"}),x0=P({abi:y,functionName:"mint"}),E0=P({abi:y,functionName:"mintPayable"}),M0="0x6080604052348015600e575f80fd5b50610e138061001c5f395ff3fe6080604052600436106100dc575f3560e01c806340c10f191161007e57806395d89b411161005857806395d89b41146102bc578063a9059cbb146102e6578063d505accf14610322578063dd62ed3e1461034a576100dc565b806340c10f191461021c57806370a08231146102445780637ecebe0014610280576100dc565b806318160ddd116100ba57806318160ddd1461016257806323b872dd1461018c578063313ce567146101c85780633644e515146101f2576100dc565b806306fdde03146100e0578063095ea7b31461010a57806317d304b014610146575b5f80fd5b3480156100eb575f80fd5b506100f4610386565b60405161010191906109bf565b60405180910390f35b348015610115575f80fd5b50610130600480360381019061012b9190610a70565b6103c3565b60405161013d9190610ac8565b60405180910390f35b610160600480360381019061015b9190610a70565b610413565b005b34801561016d575f80fd5b50610176610470565b6040516101839190610af0565b60405180910390f35b348015610197575f80fd5b506101b260048036038101906101ad9190610b09565b610481565b6040516101bf9190610ac8565b60405180910390f35b3480156101d3575f80fd5b506101dc610552565b6040516101e99190610b74565b60405180910390f35b3480156101fd575f80fd5b5061020661055a565b6040516102139190610ba5565b60405180910390f35b348015610227575f80fd5b50610242600480360381019061023d9190610a70565b6105ea565b005b34801561024f575f80fd5b5061026a60048036038101906102659190610bbe565b6105f8565b6040516102779190610af0565b60405180910390f35b34801561028b575f80fd5b506102a660048036038101906102a19190610bbe565b610611565b6040516102b39190610af0565b60405180910390f35b3480156102c7575f80fd5b506102d061062a565b6040516102dd91906109bf565b60405180910390f35b3480156102f1575f80fd5b5061030c60048036038101906103079190610a70565b610667565b6040516103199190610ac8565b60405180910390f35b34801561032d575f80fd5b5061034860048036038101906103439190610c3d565b6106f5565b005b348015610355575f80fd5b50610370600480360381019061036b9190610cda565b610891565b60405161037d9190610af0565b60405180910390f35b60606040518060400160405280600a81526020017f4d6f636b20455243323000000000000000000000000000000000000000000000815250905090565b5f82602052637f5e9f20600c52335f52816034600c2055815f52602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560205fa36001905092915050565b6064816104209190610d45565b341015610462576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161045990610dbf565b60405180910390fd5b61046c82826108af565b5050565b5f6805345cdf77eb68f44c54905090565b5f61048d848484610941565b8360601b33602052637f5e9f208117600c526034600c20805460018101156104ca57808511156104c4576313be252b5f526004601cfd5b84810382555b6387a211a28317600c526020600c208054808711156104f05763f4d678b85f526004601cfd5b8681038255875f526020600c2087815401815587602052600c5160601c8660601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a3505050505050610547848484610946565b600190509392505050565b5f6012905090565b5f8061056461094b565b90505f801b810361058157610577610386565b8051906020012090505b6040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81528160208201527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a081209250505090565b6105f482826108af565b5050565b5f6387a211a2600c52815f526020600c20549050919050565b5f6338377508600c52815f526020600c20549050919050565b60606040518060400160405280600481526020017f4d4f434b00000000000000000000000000000000000000000000000000000000815250905090565b5f610673338484610941565b6387a211a2600c52335f526020600c2080548084111561069a5763f4d678b85f526004601cfd5b8381038255845f526020600c2084815401815584602052600c5160601c337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a35050506106eb338484610946565b6001905092915050565b5f6106fe61094b565b90505f801b810361071b57610711610386565b8051906020012090505b8442111561073057631a15a3cc5f526004601cfd5b6040518860601b60601c98508760601b60601c975065383775081901600e52885f526020600c2080547f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83528360208401527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604084015246606084015230608084015260a08320602e527f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a60208401528960408401528860608401528060808401528760a084015260c08320604e526042602c205f528660ff16602052856040528460605260208060805f60015afa8b3d51146108385763ddafbaef5f526004601cfd5b80820183558a637f5e9f2060a01b17604052896034602c20558a8c7f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602060608801a3836040525f606052505050505050505050505050565b5f81602052637f5e9f20600c52825f526034600c2054905092915050565b6108ba5f8383610941565b6805345cdf77eb68f44c54818101818110156108dd5763e5cfe9575f526004601cfd5b806805345cdf77eb68f44c556387a211a2600c52835f526020600c2083815401815583602052600c5160601c5f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602080a350505061093d5f8383610946565b5050565b505050565b505050565b5f90565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6109918261094f565b61099b8185610959565b93506109ab818560208601610969565b6109b481610977565b840191505092915050565b5f6020820190508181035f8301526109d78184610987565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610a0c826109e3565b9050919050565b610a1c81610a02565b8114610a26575f80fd5b50565b5f81359050610a3781610a13565b92915050565b5f819050919050565b610a4f81610a3d565b8114610a59575f80fd5b50565b5f81359050610a6a81610a46565b92915050565b5f8060408385031215610a8657610a856109df565b5b5f610a9385828601610a29565b9250506020610aa485828601610a5c565b9150509250929050565b5f8115159050919050565b610ac281610aae565b82525050565b5f602082019050610adb5f830184610ab9565b92915050565b610aea81610a3d565b82525050565b5f602082019050610b035f830184610ae1565b92915050565b5f805f60608486031215610b2057610b1f6109df565b5b5f610b2d86828701610a29565b9350506020610b3e86828701610a29565b9250506040610b4f86828701610a5c565b9150509250925092565b5f60ff82169050919050565b610b6e81610b59565b82525050565b5f602082019050610b875f830184610b65565b92915050565b5f819050919050565b610b9f81610b8d565b82525050565b5f602082019050610bb85f830184610b96565b92915050565b5f60208284031215610bd357610bd26109df565b5b5f610be084828501610a29565b91505092915050565b610bf281610b59565b8114610bfc575f80fd5b50565b5f81359050610c0d81610be9565b92915050565b610c1c81610b8d565b8114610c26575f80fd5b50565b5f81359050610c3781610c13565b92915050565b5f805f805f805f60e0888a031215610c5857610c576109df565b5b5f610c658a828b01610a29565b9750506020610c768a828b01610a29565b9650506040610c878a828b01610a5c565b9550506060610c988a828b01610a5c565b9450506080610ca98a828b01610bff565b93505060a0610cba8a828b01610c29565b92505060c0610ccb8a828b01610c29565b91505092959891949750929550565b5f8060408385031215610cf057610cef6109df565b5b5f610cfd85828601610a29565b9250506020610d0e85828601610a29565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f610d4f82610a3d565b9150610d5a83610a3d565b925082610d6a57610d69610d18565b5b828204905092915050565b7f4d6f636b45524332303a2067696d6d65206d6f7265206d6f6e657921000000005f82015250565b5f610da9601c83610959565b9150610db482610d75565b602082019050919050565b5f6020820190508181035f830152610dd681610d9d565b905091905056fea2646970667358221220a588f9f821e157f856641e8171dc78ec959e3c73080238aa8696355fc5d4a5d064736f6c634300081a0033";class U extends u.Deployable{async balanceOf(t,e){return await A0(this._config,{address:this.assertValidAddress(),args:[t],...e})}async allowance(t,e,n){return await C0(this._config,{address:this.assertValidAddress(),args:[t,e],...n})}async approve(t,e,n){return await this.awaitResult(this.approveRaw(t,e,n))}async approveRaw(t,e,n){const{request:r,result:o}=await T0(this._config,{address:this.assertValidAddress(),args:[t,e],...this.optionallyAttachAccount(),...n});return{hash:await I0(this._config,r),result:o}}async mint(t,e,n){return await this.awaitResult(this.mintRaw(t,e,n))}async mintRaw(t,e,n){const{request:r,result:o}=await x0(this._config,{address:this.assertValidAddress(),args:[t,e],...this.optionallyAttachAccount(),...n});return{hash:await S0(this._config,r),result:o}}async mintPayable(t,e,n){return await this.awaitResult(this.mintPayableRaw(t,e,n))}async mintPayableRaw(t,e,n){const{request:r,result:o}=await E0(this._config,{address:this.assertValidAddress(),args:[t,e],...this.optionallyAttachAccount(),...n});return{hash:await z0(this._config,r),result:o}}buildParameters(t={},e){const[,n]=this.validateDeploymentConfig(t,e);return{abi:y,bytecode:M0,...this.optionallyAttachAccount(n.account)}}}const R0=[{account:"0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266",key:"0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80"},{account:"0x70997970C51812dc3A010C7d01b50e0d17dc79C8",key:"0x59c6995e998f97a5a0044966f0945389dc9e86dae88c7a8412f4603b6b78690d"},{account:"0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC",key:"0x5de4111afa1a4b94908f83103eb1f1706367c2e68ca870fc3fb9a804cdab365a"},{account:"0x90F79bf6EB2c4f870365E785982E1f101E93b906",key:"0x7c852118294e51e653712a81e05800f419141751be58f605c371e15141b007a6"},{account:"0x15d34AAf54267DB7D7c367839AAf71A00a2C6A65",key:"0x47e179ec197488593b187f80a00eb0da91f1b9d0b13f8733639f19c30a34926a"},{account:"0x9965507D1a55bcC2695C58ba16FB37d819B0A4dc",key:"0x8b3a350cf5c34c9194ca85829a2df0ec3153be0318b5e2d3348e872092edffba"},{account:"0x70997970C51812dc3A010C7d01b50e0d17dc79C8",key:"0x59c6995e998f97a5a0044966f0945389dc9e86dae88c7a8412f4603b6b78690d"},{account:"0x70997970C51812dc3A010C7d01b50e0d17dc79C8",key:"0x59c6995e998f97a5a0044966f0945389dc9e86dae88c7a8412f4603b6b78690d"},{account:"0x70997970C51812dc3A010C7d01b50e0d17dc79C8",key:"0x59c6995e998f97a5a0044966f0945389dc9e86dae88c7a8412f4603b6b78690d"},{account:"0x70997970C51812dc3A010C7d01b50e0d17dc79C8",key:"0x59c6995e998f97a5a0044966f0945389dc9e86dae88c7a8412f4603b6b78690d"}].map(a=>({...a,privateKey:u0.privateKeyToAccount(a.key)})),B0="test test test test test test test test test test test junk",P0=async function(t,e){const n=e.privateKey,r=e.mnemonic??B0,o=e.chain||"anvil",[{config:i,account:f},h]=p0.getDeployableOptions({chain:o,rpcUrl:e.rpcUrl,privateKey:n,mnemonic:r}),s=h.id;if(t.at(0)==="generate")return i0({account:f==null?void 0:f.address,chainId:s});if(t.at(0)==="erc20"){let l=new U({config:i,account:f},{});return await l.deploy(),{erc20:l.assertValidAddress()}}const g=u.BOOST_REGISTRY_ADDRESSES[s];if(!g)throw new Error(`Unable to select a deployed BoostRegistry with chain ID ${s}`);const S=new u.BoostRegistry({config:i,account:f,address:g}),z=u.BOOST_CORE_ADDRESSES[s];if(!z)throw new Error(`Unable to select a deployed BoostCore with chain ID ${s}`);const m=new u.BoostCore({config:i,account:f,address:z});if(!t.length)throw new Error("No seed provided");const r0=await Promise.all(t.map(j0));let T,N;const O=[];for(const l of r0){let w;if(typeof l.budget=="string"&&p.isAddress(l.budget))w=m.ManagedBudget(l.budget);else if(l0.deepEqual(N,l.budget)&&T)w=T;else{const b={...l.budget,authorized:[...l.budget.authorized,z],roles:[...l.budget.roles,u.Roles.MANAGER]};w=await S.initialize(crypto.randomUUID(),m.ManagedBudget(b)),T=w,N=l.budget}const o0=l.incentives.map(async b=>{let v=0n;switch(b.type){case"AllowListIncentive":return m.AllowListIncentive(b);case"ERC20Incentive":return b.strategy===u.StrategyType.RAFFLE&&(v+=b.reward),b.strategy===u.StrategyType.POOL&&(v+=b.reward*b.limit),b.shouldMintAndAllocate&&await x(w,v,b.asset,{config:i,account:f}),m.ERC20Incentive(b);case"ERC20VariableCriteriaIncentive":return v+=b.limit,b.shouldMintAndAllocate&&await x(w,v,b.asset,{config:i,account:f}),m.ERC20VariableCriteriaIncentive(b);case"ERC20VariableIncentive":return v+=b.limit,b.shouldMintAndAllocate&&await x(w,v,b.asset,{config:i,account:f}),m.ERC20VariableIncentive(b)}}),s0=await Promise.all(o0),d0=await m.createBoost({protocolFee:l.protocolFee,maxParticipants:l.maxParticipants,budget:w,action:m.EventAction(l.action),validator:m.SignerValidator(l.validator),allowList:await O0(l,{core:m}),incentives:s0});O.push(d0.id.toString())}return{boostIds:O}};async function x(a,t,e,n){if(e&&t){let r=new U(n,e);await F0(n,r,a,p.parseEther(t.toString()))}}async function j0(a){const t=await f0.readFile(b0.normalize(a),{encoding:"utf8"});return c0.parse(JSON.parse(t))}const D0=c.z.custom(p.isHex,"invalid Hex payload"),d=c.z.string().transform((a,t)=>(/^0x[a-fA-F0-9]{40}$/.test(a)||t.addIssue({code:c.z.ZodIssueCode.custom,message:`Invalid Address ${a}`}),a)).pipe(c.z.custom(p.isAddress,"invalid eth address")),N0=c.z.coerce.number().min(1).max(2).transform(BigInt).pipe(c.z.custom()),H=c.z.object({type:c.z.literal("ManagedBudget"),owner:d,authorized:c.z.array(d),roles:c.z.array(N0)}).refine(a=>a.authorized.length===a.roles.length,"length mismatch authorized and roles"),D=c.z.custom().pipe(c.z.string().regex(/^(event|function) .*/,{message:"signature must start with `event` or function`"}).transform(a=>{if(a.startsWith("event"))return p.pad(p.toFunctionSelector(a));if(a.startsWith("function"))return p.toEventSelector(a);throw new Error("unreachable")})),W=c.z.object({signatureType:c.z.nativeEnum(u.SignatureType),signature:D,fieldIndex:c.z.number().nonnegative(),targetContract:d,chainid:c.z.number().nonnegative()}),K=c.z.object({filterType:c.z.nativeEnum(u.FilterType),fieldType:c.z.nativeEnum(u.PrimitiveType),fieldIndex:c.z.number().nonnegative(),filterData:D0}),Q=c.z.object({signature:D,signatureType:c.z.nativeEnum(u.SignatureType),actionType:c.z.number().optional(),targetContract:d,chainid:c.z.number().nonnegative(),actionParameter:K}),G=c.z.object({type:c.z.literal("EventAction"),actionClaimant:W,actionSteps:c.z.array(Q).max(4)}),J=c.z.object({type:c.z.literal("SignerValidator"),signers:c.z.array(d),validatorCaller:d}),Z=c.z.object({type:c.z.literal("SimpleDenyList"),owner:d,denied:c.z.array(d)}),Y=c.z.object({type:c.z.literal("SimpleAllowList"),owner:d,allowed:c.z.array(d)}),X=c.z.object({type:c.z.literal("AllowListIncentive"),allowList:d,limit:c.z.coerce.bigint()}),e0=c.z.object({type:c.z.literal("ERC20Incentive"),asset:d,shouldMintAndAllocate:c.z.boolean().optional().default(!1),strategy:c.z.nativeEnum(u.StrategyType),reward:c.z.coerce.bigint(),limit:c.z.coerce.bigint(),manager:d.optional()}),t0=c.z.object({type:c.z.literal("ERC20VariableIncentive"),asset:d,shouldMintAndAllocate:c.z.boolean().optional().default(!1),reward:c.z.coerce.bigint(),limit:c.z.coerce.bigint(),manager:d}),a0=c.z.object({criteriaType:c.z.nativeEnum(u.SignatureType),signature:D,fieldIndex:c.z.number().nonnegative(),targetContract:d}),n0=c.z.object({type:c.z.literal("ERC20VariableCriteriaIncentive"),asset:d,shouldMintAndAllocate:c.z.boolean().optional().default(!1),reward:c.z.coerce.bigint(),limit:c.z.coerce.bigint(),manager:d.optional(),criteria:a0}),c0=c.z.object({protocolFee:c.z.coerce.bigint(),maxParticipants:c.z.coerce.bigint(),budget:c.z.union([d,H]),action:c.z.union([d,G]),validator:c.z.union([d,J]),allowList:c.z.union([d,Z,Y]),incentives:c.z.array(c.z.union([X,e0,n0,t0]))});async function O0({allowList:a},{core:t}){if(typeof a=="string"&&p.isAddress(a))return await u.allowListFromAddress({config:t._config,account:t._account},a);switch(a.type){case"SimpleAllowList":return t.SimpleAllowList(a);case"SimpleDenyList":return t.SimpleDenyList(a);default:throw new Error("unusupported AllowList: "+a)}}async function F0(a,t,e,n=p.parseEther("110")){return await t.mint(a.account.address,n),await t.approve(e.assertValidAddress(),n),await e.allocate({amount:n,asset:t.assertValidAddress(),target:a.account.address}),{budget:e,erc20:t}}function i0({asset:a="0xf3B2d0E4f2d8F453DBCc278b10e88b20d7f19f8D",account:t=R0[0].account,chainId:e}){return{protocolFee:0n,maxParticipants:10n,budget:{type:"ManagedBudget",owner:t,authorized:[t],roles:[u.Roles.MANAGER]},action:{type:"EventAction",actionClaimant:{signatureType:u.SignatureType.FUNC,signature:"function mint(address to, uint256 amount)",fieldIndex:0,targetContract:p.zeroAddress,chainid:e},actionSteps:[{signature:"event Minted(address to, uint256 amount)",signatureType:u.SignatureType.FUNC,actionType:0,targetContract:p.zeroAddress,chainid:e,actionParameter:{filterType:u.FilterType.EQUAL,fieldType:u.PrimitiveType.ADDRESS,fieldIndex:0,filterData:t}}]},validator:{type:"SignerValidator",signers:[t],validatorCaller:t},allowList:{type:"SimpleDenyList",owner:t,denied:[]},incentives:[{type:"ERC20Incentive",asset:a,shouldMintAndAllocate:!1,strategy:0,reward:1n,limit:1n,manager:t}]}}exports.ActionClaimantSchema=W;exports.ActionStepCriteriaSchema=K;exports.ActionStepSchema=Q;exports.AllowListIncentiveSchema=X;exports.BoostSeedConfigSchema=c0;exports.ERC20IncentiveSchema=e0;exports.ERC20VariableCriteriaIncentiveSchema=n0;exports.ERC20VariableIncentiveSchema=t0;exports.EventActionSchema=G;exports.IncentiveCriteriaSchema=a0;exports.ManagedBudgetSchema=H;exports.SignerValidatorSchema=J;exports.SimpleAllowListSchema=Y;exports.SimpleDenyListSchema=Z;exports.makeSeed=i0;exports.seed=P0;
|