@boostxyz/sdk 7.8.0 → 8.0.0-canary.1
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/Actions/Action.cjs +1 -1
- package/dist/Actions/Action.js +1 -1
- package/dist/Actions/EventAction.cjs +1 -1
- package/dist/Actions/EventAction.cjs.map +1 -1
- package/dist/Actions/EventAction.d.ts +4 -4
- package/dist/Actions/EventAction.js +97 -97
- package/dist/Actions/EventAction.js.map +1 -1
- package/dist/{AllowList-BJ9HQGFs.cjs → AllowList-BacG3oLt.cjs} +2 -2
- package/dist/{AllowList-BJ9HQGFs.cjs.map → AllowList-BacG3oLt.cjs.map} +1 -1
- package/dist/{AllowList-DiU7g4Hs.js → AllowList-NPDlllP6.js} +28 -28
- package/dist/{AllowList-DiU7g4Hs.js.map → AllowList-NPDlllP6.js.map} +1 -1
- package/dist/AllowLists/AllowList.cjs +1 -1
- package/dist/AllowLists/AllowList.js +3 -3
- package/dist/AllowLists/SimpleAllowList.cjs +1 -1
- package/dist/AllowLists/SimpleAllowList.js +8 -8
- package/dist/AllowLists/SimpleDenyList.cjs +1 -1
- package/dist/AllowLists/SimpleDenyList.js +3 -3
- package/dist/Auth/PassthroughAuth.cjs +1 -1
- package/dist/Auth/PassthroughAuth.js +1 -1
- package/dist/BoostCore.cjs +2 -2
- package/dist/BoostCore.cjs.map +1 -1
- package/dist/BoostCore.d.ts +106 -23
- package/dist/BoostCore.d.ts.map +1 -1
- package/dist/BoostCore.js +518 -451
- package/dist/BoostCore.js.map +1 -1
- package/dist/BoostRegistry.cjs +1 -1
- package/dist/BoostRegistry.js +46 -46
- package/dist/{Budget-YIhV65cc.js → Budget-Dq0K1LVM.js} +36 -36
- package/dist/{Budget-YIhV65cc.js.map → Budget-Dq0K1LVM.js.map} +1 -1
- package/dist/{Budget-D_zhh1rh.cjs → Budget-Gk2p5v0g.cjs} +2 -2
- package/dist/{Budget-D_zhh1rh.cjs.map → Budget-Gk2p5v0g.cjs.map} +1 -1
- package/dist/Budgets/Budget.cjs +1 -1
- package/dist/Budgets/Budget.js +2 -2
- package/dist/Budgets/ManagedBudget.cjs +1 -1
- package/dist/Budgets/ManagedBudget.js +24 -24
- package/dist/Deployable/Contract.cjs +1 -1
- package/dist/Deployable/Contract.cjs.map +1 -1
- package/dist/Deployable/Contract.d.ts +8 -0
- package/dist/Deployable/Contract.d.ts.map +1 -1
- package/dist/Deployable/Contract.js +14 -4
- package/dist/Deployable/Contract.js.map +1 -1
- package/dist/Deployable/Deployable.cjs +1 -1
- package/dist/Deployable/Deployable.cjs.map +1 -1
- package/dist/Deployable/Deployable.d.ts +7 -0
- package/dist/Deployable/Deployable.d.ts.map +1 -1
- package/dist/Deployable/Deployable.js +13 -4
- package/dist/Deployable/Deployable.js.map +1 -1
- package/dist/Deployable/DeployableTarget.cjs +1 -1
- package/dist/Deployable/DeployableTarget.js +7 -7
- package/dist/Deployable/DeployableTargetWithRBAC.cjs +1 -1
- package/dist/Deployable/DeployableTargetWithRBAC.js +16 -16
- package/dist/{Incentive-CeoEla-t.js → Incentive-DupDIsTS.js} +23 -23
- package/dist/{Incentive-CeoEla-t.js.map → Incentive-DupDIsTS.js.map} +1 -1
- package/dist/{Incentive-CrnbYN_a.cjs → Incentive-YiX6zKm1.cjs} +2 -2
- package/dist/{Incentive-CrnbYN_a.cjs.map → Incentive-YiX6zKm1.cjs.map} +1 -1
- package/dist/Incentives/AllowListIncentive.cjs +1 -1
- package/dist/Incentives/AllowListIncentive.js +17 -17
- package/dist/Incentives/CGDAIncentive.cjs +1 -1
- package/dist/Incentives/CGDAIncentive.js +38 -38
- package/dist/Incentives/ERC20Incentive.cjs +1 -1
- package/dist/Incentives/ERC20Incentive.js +13 -13
- package/dist/Incentives/ERC20PeggedVariableCriteriaIncentive.cjs +1 -1
- package/dist/Incentives/ERC20PeggedVariableCriteriaIncentive.cjs.map +1 -1
- package/dist/Incentives/ERC20PeggedVariableCriteriaIncentive.d.ts +6 -6
- package/dist/Incentives/ERC20PeggedVariableCriteriaIncentive.js +22 -22
- package/dist/Incentives/ERC20PeggedVariableCriteriaIncentive.js.map +1 -1
- package/dist/Incentives/ERC20PeggedVariableCriteriaIncentiveV2.cjs +1 -1
- package/dist/Incentives/ERC20PeggedVariableCriteriaIncentiveV2.cjs.map +1 -1
- package/dist/Incentives/ERC20PeggedVariableCriteriaIncentiveV2.d.ts +6 -6
- package/dist/Incentives/ERC20PeggedVariableCriteriaIncentiveV2.js +91 -91
- package/dist/Incentives/ERC20PeggedVariableCriteriaIncentiveV2.js.map +1 -1
- package/dist/Incentives/ERC20VariableCriteriaIncentive.cjs +1 -1
- package/dist/Incentives/ERC20VariableCriteriaIncentive.cjs.map +1 -1
- package/dist/Incentives/ERC20VariableCriteriaIncentive.d.ts +6 -6
- package/dist/Incentives/ERC20VariableCriteriaIncentive.js +9 -9
- package/dist/Incentives/ERC20VariableCriteriaIncentive.js.map +1 -1
- package/dist/Incentives/ERC20VariableCriteriaIncentiveV2.cjs +1 -1
- package/dist/Incentives/ERC20VariableCriteriaIncentiveV2.cjs.map +1 -1
- package/dist/Incentives/ERC20VariableCriteriaIncentiveV2.d.ts +6 -6
- package/dist/Incentives/ERC20VariableCriteriaIncentiveV2.js +9 -9
- package/dist/Incentives/ERC20VariableCriteriaIncentiveV2.js.map +1 -1
- package/dist/Incentives/ERC20VariableIncentive.cjs +1 -1
- package/dist/Incentives/ERC20VariableIncentive.js +12 -12
- package/dist/Incentives/Incentive.cjs +1 -1
- package/dist/Incentives/Incentive.js +2 -2
- package/dist/Incentives/PointsIncentive.cjs +1 -1
- package/dist/Incentives/PointsIncentive.js +10 -10
- package/dist/{SimpleDenyList-7-VTqfsH.cjs → SimpleDenyList-DMdld3JN.cjs} +2 -2
- package/dist/{SimpleDenyList-7-VTqfsH.cjs.map → SimpleDenyList-DMdld3JN.cjs.map} +1 -1
- package/dist/{SimpleDenyList-Dr03aOeP.js → SimpleDenyList-DyKqIWYL.js} +14 -14
- package/dist/{SimpleDenyList-Dr03aOeP.js.map → SimpleDenyList-DyKqIWYL.js.map} +1 -1
- package/dist/{Validator-rYW7PMwW.cjs → Validator-BwPDBcxh.cjs} +2 -2
- package/dist/{Validator-rYW7PMwW.cjs.map → Validator-BwPDBcxh.cjs.map} +1 -1
- package/dist/{Validator-DgvB9wge.js → Validator-vn0kQ3Wu.js} +9 -9
- package/dist/{Validator-DgvB9wge.js.map → Validator-vn0kQ3Wu.js.map} +1 -1
- package/dist/Validators/LimitedSignerValidator.cjs +1 -1
- package/dist/Validators/LimitedSignerValidator.js +17 -17
- package/dist/Validators/SignerValidator.cjs +1 -1
- package/dist/Validators/SignerValidator.js +3 -3
- package/dist/Validators/Validator.cjs +1 -1
- package/dist/Validators/Validator.js +2 -2
- package/dist/deployments-DimWVnA4.cjs +2 -0
- package/dist/deployments-DimWVnA4.cjs.map +1 -0
- package/dist/deployments-Dw5Suk_D.js +158 -0
- package/dist/deployments-Dw5Suk_D.js.map +1 -0
- package/dist/deployments.json +115 -153
- package/dist/generated-BzLYuFx3.cjs +3 -0
- package/dist/generated-BzLYuFx3.cjs.map +1 -0
- package/dist/{generated-B6mEIx8i.js → generated-D6oDILUw.js} +250 -193
- package/dist/generated-D6oDILUw.js.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.js +16 -16
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js.map +1 -1
- package/package.json +1 -1
- package/src/BoostCore.test.ts +34 -23
- package/src/BoostCore.ts +124 -26
- package/src/Deployable/Contract.ts +11 -0
- package/src/Deployable/Deployable.ts +10 -0
- package/src/utils.ts +0 -1
- package/dist/deployments-BjBgk03b.cjs +0 -2
- package/dist/deployments-BjBgk03b.cjs.map +0 -1
- package/dist/deployments-CHQ30INq.js +0 -194
- package/dist/deployments-CHQ30INq.js.map +0 -1
- package/dist/generated-B6mEIx8i.js.map +0 -1
- package/dist/generated-dd4FN0Fo.cjs +0 -3
- package/dist/generated-dd4FN0Fo.cjs.map +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const a=require("./generated-dd4FN0Fo.cjs"),r=require("./componentInterfaces-BZ3fSNkT.cjs"),u=require("@wagmi/core"),A=require("./errors.cjs"),h=require("viem"),p=require("./deployments-BjBgk03b.cjs"),g=require("./Deployable/DeployableTargetWithRBAC.cjs"),I=require("./utils.cjs"),s=require("./SimpleDenyList-7-VTqfsH.cjs"),m=require("./AllowLists/SimpleAllowList.cjs"),D="0x6080604052348015600e575f80fd5b5060156019565b607c565b63409feecd198054600181161560365763f92ee8a95f526004601cfd5b6001600160401b03808260011c146077578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b612127806100895f395ff3fe608060405260043610610229575f3560e01c8063859aa08911610131578063e89079fa116100ac578063f04e283e1161007c578063fdee627a11610062578063fdee627a14610620578063fe9fbb8014610634578063fee81cf414610653575f80fd5b8063f04e283e146105fa578063f2fde38b1461060d575f80fd5b8063e89079fa14610587578063ec87621c146105a6578063ef05bda9146105ba578063ef4550bf146105d9575f80fd5b8063be4994f811610101578063dcc21361116100e7578063dcc2136114610526578063e3f756de14610545578063e611205f14610568575f80fd5b8063be4994f8146104e8578063cbb7de5114610507575f80fd5b8063859aa089146104535780638da5cb5b14610472578063937d599c146104aa57806399927eec146104c9575f80fd5b80632de94807116101c1578063514e62fc11610191578063715018a611610177578063715018a61461041857806375b238fc146104205780637e973e8214610434575f80fd5b8063514e62fc146103db57806354d1f13d14610410575f80fd5b80632de948071461034b5780634359d28a1461038a578063439fab91146103a95780634a4ee7b1146103c8575f80fd5b80631cd64df4116101fc5780631cd64df4146102b557806325692962146102ea57806328d6183b146102f25780632c297c181461032c575f80fd5b806301ffc9a71461022d578063096f199f14610261578063183a4f6e1461028d5780631c10893f146102a2575b5f80fd5b348015610238575f80fd5b5061024c610247366004611725565b610684565b60405190151581526020015b60405180910390f35b34801561026c575f80fd5b5061028061027b36600461176b565b6106df565b60405161025891906117b0565b6102a061029b36600461176b565b610785565b005b6102a06102b03660046117e3565b610792565b3480156102c0575f80fd5b5061024c6102cf3660046117e3565b638b78c6d8600c9081525f9290925260209091205481161490565b6102a06107a8565b3480156102fd575f80fd5b506040517f2a6b3c38000000000000000000000000000000000000000000000000000000008152602001610258565b348015610337575f80fd5b506102a0610346366004611852565b6107f5565b348015610356575f80fd5b5061037c610365366004611891565b638b78c6d8600c9081525f91909152602090205490565b604051908152602001610258565b348015610395575f80fd5b506102a06103a43660046118ed565b6108ea565b3480156103b4575f80fd5b506102a06103c3366004611852565b6109e4565b6102a06103d63660046117e3565b610ab7565b3480156103e6575f80fd5b5061024c6103f53660046117e3565b638b78c6d8600c9081525f9290925260209091205416151590565b6102a0610ac9565b6102a0610b02565b34801561042b575f80fd5b5061037c600281565b34801561043f575f80fd5b506102a061044e366004611852565b610b15565b34801561045e575f80fd5b506102a061046d366004611959565b610bfe565b34801561047d575f80fd5b50638b78c6d8195460405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610258565b3480156104b5575f80fd5b5061024c6104c4366004611852565b610ca0565b3480156104d4575f80fd5b5061024c6104e3366004611852565b610d15565b3480156104f3575f80fd5b506102a06105023660046118ed565b610d7f565b348015610512575f80fd5b506102a0610521366004611959565b610e1d565b348015610531575f80fd5b506102a06105403660046118ed565b610ebd565b348015610550575f80fd5b5061024c61055f36600461198c565b60019392505050565b348015610573575f80fd5b5061028061058236600461176b565b610f5b565b348015610592575f80fd5b506102a06105a1366004611852565b610f69565b3480156105b1575f80fd5b5061037c600181565b3480156105c5575f80fd5b506102a06105d4366004611852565b6110bc565b3480156105e4575f80fd5b506105ed6111bc565b60405161025891906119dd565b6102a0610608366004611891565b611290565b6102a061061b366004611891565b6112ca565b34801561062b575f80fd5b506105ed6112f0565b34801561063f575f80fd5b5061024c61064e366004611891565b6113ba565b34801561065e575f80fd5b5061037c61066d366004611891565b63389a75e1600c9081525f91909152602090205490565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f2a6b3c380000000000000000000000000000000000000000000000000000000014806106d957506106d982611419565b92915050565b600181815481106106ee575f80fd5b905f5260205f20015f91509050805461070690611a5e565b80601f016020809104026020016040519081016040528092919081815260200182805461073290611a5e565b801561077d5780601f106107545761010080835404028352916020019161077d565b820191905f5260205f20905b81548152906001019060200180831161076057829003601f168201915b505050505081565b61078f338261146e565b50565b61079a611479565b6107a48282611493565b5050565b5f6202a30067ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b6107fe336113ba565b610834576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61083e8282610ca0565b156108aa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f44656e796c69737420494420616c72656164792065786973747300000000000060448201526064015b60405180910390fd5b6001805480820182555f919091527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6016108e5828483611b27565b505050565b60026108f58161149f565b83821461092e576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b848110156109dc575f84848381811061094b5761094b611be1565b90506020020160208101906109609190611c0e565b90508015156001036109a25761099d87878481811061098157610981611be1565b90506020020160208101906109969190611891565b6001611493565b6109d3565b6109d38787848181106109b7576109b7611be1565b90506020020160208101906109cc9190611891565b600161146e565b50600101610930565b505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011328054600382558015610a355760018160011c14303b10610a2c5763f92ee8a95f526004601cfd5b818160ff1b1b91505b505f8080610a4585870187611d5e565b925092509250610a54836114d0565b8151610a66905f90602085019061164f565b508051610a7a90600190602084019061164f565b5050505080156108e5576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a1505050565b610abf611479565b6107a4828261146e565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b610b0a611479565b610b135f611518565b565b610b1e336113ba565b610b54576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b5e8282610d15565b15610bc5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f416c6c6f776c69737420494420616c726561647920657869737473000000000060448201526064016108a1565b5f80546001810182559080527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563016108e5828483611b27565b610c07336113ba565b610c3d576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c4860015f6116a3565b5f5b818110156108e5576001838383818110610c6657610c66611be1565b9050602002810190610c789190611dd4565b82546001810184555f938452602090932090920191610c979183611b27565b50600101610c4a565b5f805b600154811015610d0c578383604051610cbd929190611e35565b604051809103902060018281548110610cd857610cd8611be1565b905f5260205f2001604051610ced9190611e44565b604051809103902003610d045760019150506106d9565b600101610ca3565b505f9392505050565b5f805b5f54811015610d0c578383604051610d31929190611e35565b60405180910390205f8281548110610d4b57610d4b611be1565b905f5260205f2001604051610d609190611e44565b604051809103902003610d775760019150506106d9565b600101610d18565b6002610d8a8161149f565b838214610dc3576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b848110156109dc57610e15868683818110610de257610de2611be1565b9050602002016020810190610df79190611891565b858584818110610e0957610e09611be1565b90506020020135611493565b600101610dc5565b610e26336113ba565b610e5c576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610e665f806116a3565b5f5b818110156108e5575f838383818110610e8357610e83611be1565b9050602002810190610e959190611dd4565b82546001810184555f938452602090932090920191610eb49183611b27565b50600101610e68565b6002610ec88161149f565b838214610f01576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b848110156109dc57610f53868683818110610f2057610f20611be1565b9050602002016020810190610f359190611891565b858584818110610f4757610f47611be1565b9050602002013561146e565b600101610f03565b5f81815481106106ee575f80fd5b610f72336113ba565b610fa8576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b5f54811015611085578282604051610fc3929190611e35565b60405180910390205f8281548110610fdd57610fdd611be1565b905f5260205f2001604051610ff29190611e44565b60405180910390200361107d575f805461100e90600190611ed3565b8154811061101e5761101e611be1565b905f5260205f20015f828154811061103857611038611be1565b905f5260205f2001908161104c9190611f0b565b505f80548061105d5761105d611fe3565b600190038181905f5260205f20015f61107691906116be565b9055505050565b600101610faa565b5081816040517f8cf9845e0000000000000000000000000000000000000000000000000000000081526004016108a1929190612010565b6110c5336113ba565b6110fb576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b600154811015611085578282604051611117929190611e35565b60405180910390206001828154811061113257611132611be1565b905f5260205f20016040516111479190611e44565b6040518091039020036111b45760018054611163908290611ed3565b8154811061117357611173611be1565b905f5260205f20016001828154811061118e5761118e611be1565b905f5260205f200190816111a29190611f0b565b50600180548061105d5761105d611fe3565b6001016110fd565b60606001805480602002602001604051908101604052809291908181526020015f905b82821015611287578382905f5260205f200180546111fc90611a5e565b80601f016020809104026020016040519081016040528092919081815260200182805461122890611a5e565b80156112735780601f1061124a57610100808354040283529160200191611273565b820191905f5260205f20905b81548152906001019060200180831161125657829003601f168201915b5050505050815260200190600101906111df565b50505050905090565b611298611479565b63389a75e1600c52805f526020600c2080544211156112be57636f5e88185f526004601cfd5b5f905561078f81611518565b6112d2611479565b8060601b6112e757637448fbae5f526004601cfd5b61078f81611518565b60605f805480602002602001604051908101604052809291908181526020015f905b82821015611287578382905f5260205f2001805461132f90611a5e565b80601f016020809104026020016040519081016040528092919081815260200182805461135b90611a5e565b80156113a65780601f1061137d576101008083540402835291602001916113a6565b820191905f5260205f20905b81548152906001019060200180831161138957829003601f168201915b505050505081526020019060010190611312565b5f8173ffffffffffffffffffffffffffffffffffffffff166113df638b78c6d8195490565b73ffffffffffffffffffffffffffffffffffffffff1614806106d95750638b78c6d8600c9081525f839052602090205460031615156106d9565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167fe2089f790000000000000000000000000000000000000000000000000000000014806106d957506106d982611562565b6107a482825f6115f8565b638b78c6d819543314610b13576382b429005f526004601cfd5b6107a4828260016115f8565b638b78c6d81954331461078f57638b78c6d8600c52335f52806020600c20541661078f576382b429005f526004601cfd5b73ffffffffffffffffffffffffffffffffffffffff16638b78c6d819819055805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b638b78c6d819805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f6ab67a0d0000000000000000000000000000000000000000000000000000000014806106d957507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316146106d9565b638b78c6d8600c52825f526020600c20805483811783611619575080841681185b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a3505050505050565b828054828255905f5260205f20908101928215611693579160200282015b828111156116935782518290611683908261203e565b509160200191906001019061166d565b5061169f9291506116f5565b5090565b5080545f8255905f5260205f209081019061078f91906116f5565b5080546116ca90611a5e565b5f825580601f106116d9575050565b601f0160209004905f5260205f209081019061078f9190611711565b8082111561169f575f61170882826116be565b506001016116f5565b5b8082111561169f575f8155600101611712565b5f60208284031215611735575f80fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611764575f80fd5b9392505050565b5f6020828403121561177b575f80fd5b5035919050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6117646020830184611782565b73ffffffffffffffffffffffffffffffffffffffff8116811461078f575f80fd5b5f80604083850312156117f4575f80fd5b82356117ff816117c2565b946020939093013593505050565b5f8083601f84011261181d575f80fd5b50813567ffffffffffffffff811115611834575f80fd5b60208301915083602082850101111561184b575f80fd5b9250929050565b5f8060208385031215611863575f80fd5b823567ffffffffffffffff811115611879575f80fd5b6118858582860161180d565b90969095509350505050565b5f602082840312156118a1575f80fd5b8135611764816117c2565b5f8083601f8401126118bc575f80fd5b50813567ffffffffffffffff8111156118d3575f80fd5b6020830191508360208260051b850101111561184b575f80fd5b5f805f8060408587031215611900575f80fd5b843567ffffffffffffffff811115611916575f80fd5b611922878288016118ac565b909550935050602085013567ffffffffffffffff811115611941575f80fd5b61194d878288016118ac565b95989497509550505050565b5f806020838503121561196a575f80fd5b823567ffffffffffffffff811115611980575f80fd5b611885858286016118ac565b5f805f6040848603121561199e575f80fd5b83356119a9816117c2565b9250602084013567ffffffffffffffff8111156119c4575f80fd5b6119d08682870161180d565b9497909650939450505050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015611a52577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452611a3d858351611782565b94506020938401939190910190600101611a03565b50929695505050505050565b600181811c90821680611a7257607f821691505b602082108103611aa9577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b601f8211156108e557805f5260205f20601f840160051c81016020851015611b015750805b601f840160051c820191505b81811015611b20575f8155600101611b0d565b5050505050565b67ffffffffffffffff831115611b3f57611b3f611aaf565b611b5383611b4d8354611a5e565b83611adc565b5f601f841160018114611b84575f8515611b6d5750838201355b5f19600387901b1c1916600186901b178355611b20565b5f83815260208120601f198716915b82811015611bb35786850135825560209485019460019092019101611b93565b5086821015611bcf575f1960f88860031b161c19848701351681555b505060018560011b0183555050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f60208284031215611c1e575f80fd5b81358015158114611764575f80fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611c5657611c56611aaf565b604052919050565b5f82601f830112611c6d575f80fd5b813567ffffffffffffffff811115611c8757611c87611aaf565b8060051b611c9760208201611c2d565b91825260208185018101929081019086841115611cb2575f80fd5b6020860192505b83831015611d5457823567ffffffffffffffff811115611cd7575f80fd5b8601603f81018813611ce7575f80fd5b602081013567ffffffffffffffff811115611d0457611d04611aaf565b611d176020601f19601f84011601611c2d565b8181526040838301018a1015611d2b575f80fd5b816040840160208301375f60208383010152808552505050602082019150602083019250611cb9565b9695505050505050565b5f805f60608486031215611d70575f80fd5b8335611d7b816117c2565b9250602084013567ffffffffffffffff811115611d96575f80fd5b611da286828701611c5e565b925050604084013567ffffffffffffffff811115611dbe575f80fd5b611dca86828701611c5e565b9150509250925092565b5f8083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611e07575f80fd5b83018035915067ffffffffffffffff821115611e21575f80fd5b60200191503681900382131561184b575f80fd5b818382375f9101908152919050565b5f808354611e5181611a5e565b600182168015611e685760018114611e9b57611ec8565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083168652811515820286019350611ec8565b865f5260205f205f5b83811015611ec057815488820152600190910190602001611ea4565b505081860193505b509195945050505050565b818103818111156106d9577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b818103611f16575050565b611f208254611a5e565b67ffffffffffffffff811115611f3857611f38611aaf565b611f4c81611f468454611a5e565b84611adc565b5f601f821160018114611f80575f8315611f665750848201545b600184901b5f19600386901b1c198216175b855550611b20565b5f8581526020808220868352908220601f198616925b83811015611fb65782860154825560019586019590910190602001611f96565b5085831015611fd357818501545f19600388901b60f8161c191681555b5050505050600190811b01905550565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffd5b60208152816020820152818360408301375f818301604090810191909152601f909201601f19160101919050565b815167ffffffffffffffff81111561205857612058611aaf565b61206681611f468454611a5e565b6020601f821160018114612096575f8315611f66575081850151600184901b5f19600386901b1c19821617611f78565b5f84815260208120601f198516915b828110156120c557878501518255602094850194600190920191016120a5565b50848210156120e257868401515f19600387901b60f8161c191681555b50505050600190811b0190555056fea26469706673582212206100a11e4e0b5bdd589ed060e5af18faef222dc9a5fb78d50ce02911e161f36664736f6c634300081a0033",o={BASE_URL:"/",DEV:!1,MODE:"production",PROD:!0,SSR:!1,VITE_BOOST_MAINNET_SIGNER_EOA:"0xCBD0C302040bC803B4B2EDaF21Be0e49Deff5480",VITE_BOOST_TESTNET_SIGNER_EOA:"0xd63167e9db11B108940b2E8236581F961f33f396"},n=class n extends g.DeployableTargetWithRBAC{constructor(){super(...arguments),this.abi=a.M}async owner(f){return await a.R4(this._config,{...this.optionallyAttachAccount(),...f,address:this.assertValidAddress(),args:[]})}isAllowed(f,b){throw new Error("isAllowed() not available for OffchainAccessList, implementation should be done offchain")}async getAllowlistIds(f){return await a.v4(this._config,{address:this.assertValidAddress(),args:[],...this.optionallyAttachAccount(),...f})}async getDenylistIds(f){return await a.w4(this._config,{address:this.assertValidAddress(),args:[],...this.optionallyAttachAccount(),...f})}async setAllowlistIds(f,b){return await this.awaitResult(this.setAllowlistIdsRaw(f,b))}async setAllowlistIdsRaw(f,b){const{request:d,result:e}=await a.lq(this._config,{address:this.assertValidAddress(),args:[f],...this.optionallyAttachAccount(),...b});return{hash:await a.U4(this._config,d),result:e}}async setDenylistIds(f,b){return await this.awaitResult(this.setDenylistIdsRaw(f,b))}async setDenylistIdsRaw(f,b){const{request:d,result:e}=await a.dq(this._config,{address:this.assertValidAddress(),args:[f],...this.optionallyAttachAccount(),...b});return{hash:await a.j4(this._config,d),result:e}}async addAllowlistId(f,b){return await this.awaitResult(this.addAllowlistIdRaw(f,b))}async addAllowlistIdRaw(f,b){const{request:d,result:e}=await a.J4(this._config,{address:this.assertValidAddress(),args:[f],...this.optionallyAttachAccount(),...b});return{hash:await a.z4(this._config,d),result:e}}async addDenylistId(f,b){return await this.awaitResult(this.addDenylistIdRaw(f,b))}async addDenylistIdRaw(f,b){const{request:d,result:e}=await a.K4(this._config,{address:this.assertValidAddress(),args:[f],...this.optionallyAttachAccount(),...b});return{hash:await a.B4(this._config,d),result:e}}async removeAllowlistId(f,b){return await this.awaitResult(this.removeAllowlistIdRaw(f,b))}async removeAllowlistIdRaw(f,b){const{request:d,result:e}=await a.aq(this._config,{address:this.assertValidAddress(),args:[f],...this.optionallyAttachAccount(),...b});return{hash:await a.P4(this._config,d),result:e}}async removeDenylistId(f,b){return await this.awaitResult(this.removeDenylistIdRaw(f,b))}async removeDenylistIdRaw(f,b){const{request:d,result:e}=await a.iq(this._config,{address:this.assertValidAddress(),args:[f],...this.optionallyAttachAccount(),...b});return{hash:await a.k4(this._config,d),result:e}}async hasAllowlistId(f,b){return await a.A4(this._config,{address:this.assertValidAddress(),args:[f],...this.optionallyAttachAccount(),...b})}async hasDenylistId(f,b){return await a.I4(this._config,{address:this.assertValidAddress(),args:[f],...this.optionallyAttachAccount(),...b})}buildParameters(f,b){var c;const[d,e]=this.validateDeploymentConfig(f,b);if(!d.owner||d.owner===h.zeroAddress){const w=e.account?e.account.address:e.config?u.getAccount(e.config).address:(c=this._account)==null?void 0:c.address;if(w)d.owner=w;else throw new A.DeployableUnknownOwnerProvidedError}return{abi:a.M,bytecode:D,args:[y(d)],...this.optionallyAttachAccount(e.account)}}};n.bases={...o!=null&&o.VITE_OFFCHAIN_ACCESS_LIST_BASE?{31337:void 0}:{},...p.OffchainAccessList},n.registryType=I.RegistryType.ALLOW_LIST;let i=n;function y({owner:t,allowlistIds:f,denylistIds:b}){return h.encodeAbiParameters([{type:"address",name:"owner"},{type:"string[]",name:"allowlistIds"},{type:"string[]",name:"denylistIds"}],[t,f,b])}const R=a.P;class _ extends s.SimpleDenyList{buildParameters(f,b){const[d,e]=this.validateDeploymentConfig({},b);return{abi:R,bytecode:s.bytecode,args:[s.prepareSimpleDenyListPayload({owner:h.zeroAddress,denied:[]})],...this.optionallyAttachAccount(e.account)}}}const l={[r.ASimpleAllowList]:m.SimpleAllowList,[r.ASimpleDenyList]:s.SimpleDenyList,[r.AOffchainAccessList]:i};async function L(t,f,b){const d=await u.readContract(t.config,{abi:a.k,functionName:"getComponentInterface",address:f,...b}),e=l[d];if(!e)throw new A.InvalidComponentInterfaceError(Object.keys(l),d);return new e(t,f)}exports.AllowListByComponentInterface=l;exports.OffchainAccessList=i;exports.OpenAllowList=_;exports.allowListFromAddress=L;exports.prepareOffchainAccessListPayload=y;
|
|
2
|
-
//# sourceMappingURL=AllowList-
|
|
1
|
+
"use strict";const a=require("./generated-BzLYuFx3.cjs"),r=require("./componentInterfaces-BZ3fSNkT.cjs"),w=require("@wagmi/core"),A=require("./errors.cjs"),h=require("viem"),p=require("./deployments-DimWVnA4.cjs"),g=require("./Deployable/DeployableTargetWithRBAC.cjs"),I=require("./utils.cjs"),s=require("./SimpleDenyList-DMdld3JN.cjs"),m=require("./AllowLists/SimpleAllowList.cjs"),R="0x6080604052348015600e575f80fd5b5060156019565b607c565b63409feecd198054600181161560365763f92ee8a95f526004601cfd5b6001600160401b03808260011c146077578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b612127806100895f395ff3fe608060405260043610610229575f3560e01c8063859aa08911610131578063e89079fa116100ac578063f04e283e1161007c578063fdee627a11610062578063fdee627a14610620578063fe9fbb8014610634578063fee81cf414610653575f80fd5b8063f04e283e146105fa578063f2fde38b1461060d575f80fd5b8063e89079fa14610587578063ec87621c146105a6578063ef05bda9146105ba578063ef4550bf146105d9575f80fd5b8063be4994f811610101578063dcc21361116100e7578063dcc2136114610526578063e3f756de14610545578063e611205f14610568575f80fd5b8063be4994f8146104e8578063cbb7de5114610507575f80fd5b8063859aa089146104535780638da5cb5b14610472578063937d599c146104aa57806399927eec146104c9575f80fd5b80632de94807116101c1578063514e62fc11610191578063715018a611610177578063715018a61461041857806375b238fc146104205780637e973e8214610434575f80fd5b8063514e62fc146103db57806354d1f13d14610410575f80fd5b80632de948071461034b5780634359d28a1461038a578063439fab91146103a95780634a4ee7b1146103c8575f80fd5b80631cd64df4116101fc5780631cd64df4146102b557806325692962146102ea57806328d6183b146102f25780632c297c181461032c575f80fd5b806301ffc9a71461022d578063096f199f14610261578063183a4f6e1461028d5780631c10893f146102a2575b5f80fd5b348015610238575f80fd5b5061024c610247366004611725565b610684565b60405190151581526020015b60405180910390f35b34801561026c575f80fd5b5061028061027b36600461176b565b6106df565b60405161025891906117b0565b6102a061029b36600461176b565b610785565b005b6102a06102b03660046117e3565b610792565b3480156102c0575f80fd5b5061024c6102cf3660046117e3565b638b78c6d8600c9081525f9290925260209091205481161490565b6102a06107a8565b3480156102fd575f80fd5b506040517f2a6b3c38000000000000000000000000000000000000000000000000000000008152602001610258565b348015610337575f80fd5b506102a0610346366004611852565b6107f5565b348015610356575f80fd5b5061037c610365366004611891565b638b78c6d8600c9081525f91909152602090205490565b604051908152602001610258565b348015610395575f80fd5b506102a06103a43660046118ed565b6108ea565b3480156103b4575f80fd5b506102a06103c3366004611852565b6109e4565b6102a06103d63660046117e3565b610ab7565b3480156103e6575f80fd5b5061024c6103f53660046117e3565b638b78c6d8600c9081525f9290925260209091205416151590565b6102a0610ac9565b6102a0610b02565b34801561042b575f80fd5b5061037c600281565b34801561043f575f80fd5b506102a061044e366004611852565b610b15565b34801561045e575f80fd5b506102a061046d366004611959565b610bfe565b34801561047d575f80fd5b50638b78c6d8195460405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610258565b3480156104b5575f80fd5b5061024c6104c4366004611852565b610ca0565b3480156104d4575f80fd5b5061024c6104e3366004611852565b610d15565b3480156104f3575f80fd5b506102a06105023660046118ed565b610d7f565b348015610512575f80fd5b506102a0610521366004611959565b610e1d565b348015610531575f80fd5b506102a06105403660046118ed565b610ebd565b348015610550575f80fd5b5061024c61055f36600461198c565b60019392505050565b348015610573575f80fd5b5061028061058236600461176b565b610f5b565b348015610592575f80fd5b506102a06105a1366004611852565b610f69565b3480156105b1575f80fd5b5061037c600181565b3480156105c5575f80fd5b506102a06105d4366004611852565b6110bc565b3480156105e4575f80fd5b506105ed6111bc565b60405161025891906119dd565b6102a0610608366004611891565b611290565b6102a061061b366004611891565b6112ca565b34801561062b575f80fd5b506105ed6112f0565b34801561063f575f80fd5b5061024c61064e366004611891565b6113ba565b34801561065e575f80fd5b5061037c61066d366004611891565b63389a75e1600c9081525f91909152602090205490565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f2a6b3c380000000000000000000000000000000000000000000000000000000014806106d957506106d982611419565b92915050565b600181815481106106ee575f80fd5b905f5260205f20015f91509050805461070690611a5e565b80601f016020809104026020016040519081016040528092919081815260200182805461073290611a5e565b801561077d5780601f106107545761010080835404028352916020019161077d565b820191905f5260205f20905b81548152906001019060200180831161076057829003601f168201915b505050505081565b61078f338261146e565b50565b61079a611479565b6107a48282611493565b5050565b5f6202a30067ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b6107fe336113ba565b610834576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61083e8282610ca0565b156108aa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f44656e796c69737420494420616c72656164792065786973747300000000000060448201526064015b60405180910390fd5b6001805480820182555f919091527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6016108e5828483611b27565b505050565b60026108f58161149f565b83821461092e576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b848110156109dc575f84848381811061094b5761094b611be1565b90506020020160208101906109609190611c0e565b90508015156001036109a25761099d87878481811061098157610981611be1565b90506020020160208101906109969190611891565b6001611493565b6109d3565b6109d38787848181106109b7576109b7611be1565b90506020020160208101906109cc9190611891565b600161146e565b50600101610930565b505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011328054600382558015610a355760018160011c14303b10610a2c5763f92ee8a95f526004601cfd5b818160ff1b1b91505b505f8080610a4585870187611d5e565b925092509250610a54836114d0565b8151610a66905f90602085019061164f565b508051610a7a90600190602084019061164f565b5050505080156108e5576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a1505050565b610abf611479565b6107a4828261146e565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b610b0a611479565b610b135f611518565b565b610b1e336113ba565b610b54576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b5e8282610d15565b15610bc5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f416c6c6f776c69737420494420616c726561647920657869737473000000000060448201526064016108a1565b5f80546001810182559080527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563016108e5828483611b27565b610c07336113ba565b610c3d576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c4860015f6116a3565b5f5b818110156108e5576001838383818110610c6657610c66611be1565b9050602002810190610c789190611dd4565b82546001810184555f938452602090932090920191610c979183611b27565b50600101610c4a565b5f805b600154811015610d0c578383604051610cbd929190611e35565b604051809103902060018281548110610cd857610cd8611be1565b905f5260205f2001604051610ced9190611e44565b604051809103902003610d045760019150506106d9565b600101610ca3565b505f9392505050565b5f805b5f54811015610d0c578383604051610d31929190611e35565b60405180910390205f8281548110610d4b57610d4b611be1565b905f5260205f2001604051610d609190611e44565b604051809103902003610d775760019150506106d9565b600101610d18565b6002610d8a8161149f565b838214610dc3576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b848110156109dc57610e15868683818110610de257610de2611be1565b9050602002016020810190610df79190611891565b858584818110610e0957610e09611be1565b90506020020135611493565b600101610dc5565b610e26336113ba565b610e5c576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610e665f806116a3565b5f5b818110156108e5575f838383818110610e8357610e83611be1565b9050602002810190610e959190611dd4565b82546001810184555f938452602090932090920191610eb49183611b27565b50600101610e68565b6002610ec88161149f565b838214610f01576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b848110156109dc57610f53868683818110610f2057610f20611be1565b9050602002016020810190610f359190611891565b858584818110610f4757610f47611be1565b9050602002013561146e565b600101610f03565b5f81815481106106ee575f80fd5b610f72336113ba565b610fa8576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b5f54811015611085578282604051610fc3929190611e35565b60405180910390205f8281548110610fdd57610fdd611be1565b905f5260205f2001604051610ff29190611e44565b60405180910390200361107d575f805461100e90600190611ed3565b8154811061101e5761101e611be1565b905f5260205f20015f828154811061103857611038611be1565b905f5260205f2001908161104c9190611f0b565b505f80548061105d5761105d611fe3565b600190038181905f5260205f20015f61107691906116be565b9055505050565b600101610faa565b5081816040517f8cf9845e0000000000000000000000000000000000000000000000000000000081526004016108a1929190612010565b6110c5336113ba565b6110fb576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b600154811015611085578282604051611117929190611e35565b60405180910390206001828154811061113257611132611be1565b905f5260205f20016040516111479190611e44565b6040518091039020036111b45760018054611163908290611ed3565b8154811061117357611173611be1565b905f5260205f20016001828154811061118e5761118e611be1565b905f5260205f200190816111a29190611f0b565b50600180548061105d5761105d611fe3565b6001016110fd565b60606001805480602002602001604051908101604052809291908181526020015f905b82821015611287578382905f5260205f200180546111fc90611a5e565b80601f016020809104026020016040519081016040528092919081815260200182805461122890611a5e565b80156112735780601f1061124a57610100808354040283529160200191611273565b820191905f5260205f20905b81548152906001019060200180831161125657829003601f168201915b5050505050815260200190600101906111df565b50505050905090565b611298611479565b63389a75e1600c52805f526020600c2080544211156112be57636f5e88185f526004601cfd5b5f905561078f81611518565b6112d2611479565b8060601b6112e757637448fbae5f526004601cfd5b61078f81611518565b60605f805480602002602001604051908101604052809291908181526020015f905b82821015611287578382905f5260205f2001805461132f90611a5e565b80601f016020809104026020016040519081016040528092919081815260200182805461135b90611a5e565b80156113a65780601f1061137d576101008083540402835291602001916113a6565b820191905f5260205f20905b81548152906001019060200180831161138957829003601f168201915b505050505081526020019060010190611312565b5f8173ffffffffffffffffffffffffffffffffffffffff166113df638b78c6d8195490565b73ffffffffffffffffffffffffffffffffffffffff1614806106d95750638b78c6d8600c9081525f839052602090205460031615156106d9565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167fe2089f790000000000000000000000000000000000000000000000000000000014806106d957506106d982611562565b6107a482825f6115f8565b638b78c6d819543314610b13576382b429005f526004601cfd5b6107a4828260016115f8565b638b78c6d81954331461078f57638b78c6d8600c52335f52806020600c20541661078f576382b429005f526004601cfd5b73ffffffffffffffffffffffffffffffffffffffff16638b78c6d819819055805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b638b78c6d819805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f6ab67a0d0000000000000000000000000000000000000000000000000000000014806106d957507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316146106d9565b638b78c6d8600c52825f526020600c20805483811783611619575080841681185b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a3505050505050565b828054828255905f5260205f20908101928215611693579160200282015b828111156116935782518290611683908261203e565b509160200191906001019061166d565b5061169f9291506116f5565b5090565b5080545f8255905f5260205f209081019061078f91906116f5565b5080546116ca90611a5e565b5f825580601f106116d9575050565b601f0160209004905f5260205f209081019061078f9190611711565b8082111561169f575f61170882826116be565b506001016116f5565b5b8082111561169f575f8155600101611712565b5f60208284031215611735575f80fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611764575f80fd5b9392505050565b5f6020828403121561177b575f80fd5b5035919050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6117646020830184611782565b73ffffffffffffffffffffffffffffffffffffffff8116811461078f575f80fd5b5f80604083850312156117f4575f80fd5b82356117ff816117c2565b946020939093013593505050565b5f8083601f84011261181d575f80fd5b50813567ffffffffffffffff811115611834575f80fd5b60208301915083602082850101111561184b575f80fd5b9250929050565b5f8060208385031215611863575f80fd5b823567ffffffffffffffff811115611879575f80fd5b6118858582860161180d565b90969095509350505050565b5f602082840312156118a1575f80fd5b8135611764816117c2565b5f8083601f8401126118bc575f80fd5b50813567ffffffffffffffff8111156118d3575f80fd5b6020830191508360208260051b850101111561184b575f80fd5b5f805f8060408587031215611900575f80fd5b843567ffffffffffffffff811115611916575f80fd5b611922878288016118ac565b909550935050602085013567ffffffffffffffff811115611941575f80fd5b61194d878288016118ac565b95989497509550505050565b5f806020838503121561196a575f80fd5b823567ffffffffffffffff811115611980575f80fd5b611885858286016118ac565b5f805f6040848603121561199e575f80fd5b83356119a9816117c2565b9250602084013567ffffffffffffffff8111156119c4575f80fd5b6119d08682870161180d565b9497909650939450505050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015611a52577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452611a3d858351611782565b94506020938401939190910190600101611a03565b50929695505050505050565b600181811c90821680611a7257607f821691505b602082108103611aa9577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b601f8211156108e557805f5260205f20601f840160051c81016020851015611b015750805b601f840160051c820191505b81811015611b20575f8155600101611b0d565b5050505050565b67ffffffffffffffff831115611b3f57611b3f611aaf565b611b5383611b4d8354611a5e565b83611adc565b5f601f841160018114611b84575f8515611b6d5750838201355b5f19600387901b1c1916600186901b178355611b20565b5f83815260208120601f198716915b82811015611bb35786850135825560209485019460019092019101611b93565b5086821015611bcf575f1960f88860031b161c19848701351681555b505060018560011b0183555050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f60208284031215611c1e575f80fd5b81358015158114611764575f80fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611c5657611c56611aaf565b604052919050565b5f82601f830112611c6d575f80fd5b813567ffffffffffffffff811115611c8757611c87611aaf565b8060051b611c9760208201611c2d565b91825260208185018101929081019086841115611cb2575f80fd5b6020860192505b83831015611d5457823567ffffffffffffffff811115611cd7575f80fd5b8601603f81018813611ce7575f80fd5b602081013567ffffffffffffffff811115611d0457611d04611aaf565b611d176020601f19601f84011601611c2d565b8181526040838301018a1015611d2b575f80fd5b816040840160208301375f60208383010152808552505050602082019150602083019250611cb9565b9695505050505050565b5f805f60608486031215611d70575f80fd5b8335611d7b816117c2565b9250602084013567ffffffffffffffff811115611d96575f80fd5b611da286828701611c5e565b925050604084013567ffffffffffffffff811115611dbe575f80fd5b611dca86828701611c5e565b9150509250925092565b5f8083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611e07575f80fd5b83018035915067ffffffffffffffff821115611e21575f80fd5b60200191503681900382131561184b575f80fd5b818382375f9101908152919050565b5f808354611e5181611a5e565b600182168015611e685760018114611e9b57611ec8565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083168652811515820286019350611ec8565b865f5260205f205f5b83811015611ec057815488820152600190910190602001611ea4565b505081860193505b509195945050505050565b818103818111156106d9577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b818103611f16575050565b611f208254611a5e565b67ffffffffffffffff811115611f3857611f38611aaf565b611f4c81611f468454611a5e565b84611adc565b5f601f821160018114611f80575f8315611f665750848201545b600184901b5f19600386901b1c198216175b855550611b20565b5f8581526020808220868352908220601f198616925b83811015611fb65782860154825560019586019590910190602001611f96565b5085831015611fd357818501545f19600388901b60f8161c191681555b5050505050600190811b01905550565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffd5b60208152816020820152818360408301375f818301604090810191909152601f909201601f19160101919050565b815167ffffffffffffffff81111561205857612058611aaf565b61206681611f468454611a5e565b6020601f821160018114612096575f8315611f66575081850151600184901b5f19600386901b1c19821617611f78565b5f84815260208120601f198516915b828110156120c557878501518255602094850194600190920191016120a5565b50848210156120e257868401515f19600387901b60f8161c191681555b50505050600190811b0190555056fea2646970667358221220d48533f46ace671d98fdf56917341f0f952e8e90be14ad403bdcaa880953d80864736f6c634300081a0033",o={BASE_URL:"/",DEV:!1,MODE:"production",PROD:!0,SSR:!1,VITE_BOOST_MAINNET_SIGNER_EOA:"0xCBD0C302040bC803B4B2EDaF21Be0e49Deff5480",VITE_BOOST_TESTNET_SIGNER_EOA:"0xd63167e9db11B108940b2E8236581F961f33f396"},n=class n extends g.DeployableTargetWithRBAC{constructor(){super(...arguments),this.abi=a.R}async owner(f){return await a.S4(this._config,{...this.optionallyAttachAccount(),...f,address:this.assertValidAddress(),args:[]})}isAllowed(f,b){throw new Error("isAllowed() not available for OffchainAccessList, implementation should be done offchain")}async getAllowlistIds(f){return await a.C4(this._config,{address:this.assertValidAddress(),args:[],...this.optionallyAttachAccount(),...f})}async getDenylistIds(f){return await a.V4(this._config,{address:this.assertValidAddress(),args:[],...this.optionallyAttachAccount(),...f})}async setAllowlistIds(f,b){return await this.awaitResult(this.setAllowlistIdsRaw(f,b))}async setAllowlistIdsRaw(f,b){const{request:d,result:e}=await a.Aq(this._config,{address:this.assertValidAddress(),args:[f],...this.optionallyAttachAccount(),...b});return{hash:await a.nq(this._config,d),result:e}}async setDenylistIds(f,b){return await this.awaitResult(this.setDenylistIdsRaw(f,b))}async setDenylistIdsRaw(f,b){const{request:d,result:e}=await a.Iq(this._config,{address:this.assertValidAddress(),args:[f],...this.optionallyAttachAccount(),...b});return{hash:await a.iq(this._config,d),result:e}}async addAllowlistId(f,b){return await this.awaitResult(this.addAllowlistIdRaw(f,b))}async addAllowlistIdRaw(f,b){const{request:d,result:e}=await a.oq(this._config,{address:this.assertValidAddress(),args:[f],...this.optionallyAttachAccount(),...b});return{hash:await a.q4(this._config,d),result:e}}async addDenylistId(f,b){return await this.awaitResult(this.addDenylistIdRaw(f,b))}async addDenylistIdRaw(f,b){const{request:d,result:e}=await a.pq(this._config,{address:this.assertValidAddress(),args:[f],...this.optionallyAttachAccount(),...b});return{hash:await a.W4(this._config,d),result:e}}async removeAllowlistId(f,b){return await this.awaitResult(this.removeAllowlistIdRaw(f,b))}async removeAllowlistIdRaw(f,b){const{request:d,result:e}=await a.mq(this._config,{address:this.assertValidAddress(),args:[f],...this.optionallyAttachAccount(),...b});return{hash:await a.Q4(this._config,d),result:e}}async removeDenylistId(f,b){return await this.awaitResult(this.removeDenylistIdRaw(f,b))}async removeDenylistIdRaw(f,b){const{request:d,result:e}=await a.bq(this._config,{address:this.assertValidAddress(),args:[f],...this.optionallyAttachAccount(),...b});return{hash:await a.J4(this._config,d),result:e}}async hasAllowlistId(f,b){return await a.B4(this._config,{address:this.assertValidAddress(),args:[f],...this.optionallyAttachAccount(),...b})}async hasDenylistId(f,b){return await a.x4(this._config,{address:this.assertValidAddress(),args:[f],...this.optionallyAttachAccount(),...b})}buildParameters(f,b){var c;const[d,e]=this.validateDeploymentConfig(f,b);if(!d.owner||d.owner===h.zeroAddress){const u=e.account?e.account.address:e.config?w.getAccount(e.config).address:(c=this._account)==null?void 0:c.address;if(u)d.owner=u;else throw new A.DeployableUnknownOwnerProvidedError}return{abi:a.R,bytecode:R,args:[y(d)],...this.optionallyAttachAccount(e.account)}}};n.bases={...o!=null&&o.VITE_OFFCHAIN_ACCESS_LIST_BASE?{31337:void 0}:{},...p.OffchainAccessList},n.registryType=I.RegistryType.ALLOW_LIST;let i=n;function y({owner:t,allowlistIds:f,denylistIds:b}){return h.encodeAbiParameters([{type:"address",name:"owner"},{type:"string[]",name:"allowlistIds"},{type:"string[]",name:"denylistIds"}],[t,f,b])}const D=a.P;class _ extends s.SimpleDenyList{buildParameters(f,b){const[d,e]=this.validateDeploymentConfig({},b);return{abi:D,bytecode:s.bytecode,args:[s.prepareSimpleDenyListPayload({owner:h.zeroAddress,denied:[]})],...this.optionallyAttachAccount(e.account)}}}const l={[r.ASimpleAllowList]:m.SimpleAllowList,[r.ASimpleDenyList]:s.SimpleDenyList,[r.AOffchainAccessList]:i};async function q(t,f,b){const d=await w.readContract(t.config,{abi:a.k,functionName:"getComponentInterface",address:f,...b}),e=l[d];if(!e)throw new A.InvalidComponentInterfaceError(Object.keys(l),d);return new e(t,f)}exports.AllowListByComponentInterface=l;exports.OffchainAccessList=i;exports.OpenAllowList=_;exports.allowListFromAddress=q;exports.prepareOffchainAccessListPayload=y;
|
|
2
|
+
//# sourceMappingURL=AllowList-BacG3oLt.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AllowList-BJ9HQGFs.cjs","sources":["../src/AllowLists/OffchainAccessList.ts","../src/AllowLists/OpenAllowList.ts","../src/AllowLists/AllowList.ts"],"sourcesContent":["import {\n offchainAccessListAbi,\n readOffchainAccessListGetAllowListIds,\n readOffchainAccessListGetDenyListIds,\n readOffchainAccessListHasAllowListId,\n readOffchainAccessListHasDenyListId,\n readOffchainAccessListOwner,\n simulateOffchainAccessListAddAllowListId,\n simulateOffchainAccessListAddDenyListId,\n simulateOffchainAccessListRemoveAllowListId,\n simulateOffchainAccessListRemoveDenyListId,\n simulateOffchainAccessListSetAllowListIds,\n simulateOffchainAccessListSetDenyListIds,\n writeOffchainAccessListAddAllowListId,\n writeOffchainAccessListAddDenyListId,\n writeOffchainAccessListRemoveAllowListId,\n writeOffchainAccessListRemoveDenyListId,\n writeOffchainAccessListSetAllowListIds,\n writeOffchainAccessListSetDenyListIds,\n} from '@boostxyz/evm';\nimport { bytecode } from '@boostxyz/evm/artifacts/contracts/allowlists/OffchainAccessList.sol/OffchainAccessList.json';\nimport { getAccount } from '@wagmi/core';\nimport {\n type Address,\n type ContractEventName,\n type Hex,\n encodeAbiParameters,\n zeroAddress,\n} from 'viem';\nimport { OffchainAccessList as OffchainAccessListBases } from '../../dist/deployments.json';\nimport type {\n DeployableOptions,\n GenericDeployableParams,\n} from '../Deployable/Deployable';\nimport { DeployableTargetWithRBAC } from '../Deployable/DeployableTargetWithRBAC';\nimport { DeployableUnknownOwnerProvidedError } from '../errors';\nimport {\n type GenericLog,\n type ReadParams,\n RegistryType,\n type WriteParams,\n} from '../utils';\n\nexport { offchainAccessListAbi };\n\n/**\n * Object representation of a {@link OffchainAccessList} initialization payload.\n *\n * @export\n * @interface OffchainAccessListPayload\n * @typedef {OffchainAccessListPayload}\n */\nexport interface OffchainAccessListPayload {\n /**\n * The access list's owner\n *\n * @type {Address}\n */\n owner: Address;\n /**\n * List of off-chain allowlist IDs.\n *\n * @type {string[]}\n */\n allowlistIds: string[];\n /**\n * List of off-chain denylist IDs.\n *\n * @type {string[]}\n */\n denylistIds: string[];\n}\n\n/**\n * A generic `viem.Log` event with support for `OffchainAccessList` event types.\n *\n * @export\n * @typedef {OffchainAccessListLog}\n * @template {ContractEventName<typeof offchainAccessListAbi>} [event=ContractEventName<\n * typeof offchainAccessListAbi\n * >]\n */\nexport type OffchainAccessListLog<\n event extends ContractEventName<\n typeof offchainAccessListAbi\n > = ContractEventName<typeof offchainAccessListAbi>,\n> = GenericLog<typeof offchainAccessListAbi, event>;\n\n/**\n * An AllowList that links on-chain boosts to off-chain access lists stored in a database.\n * This implementation always allows everyone (returns true) but stores references to off-chain allowlist and denylist IDs.\n *\n * @export\n * @class OffchainAccessList\n * @typedef {OffchainAccessList}\n * @extends {DeployableTargetWithRBAC<OffchainAccessListPayload>}\n */\nexport class OffchainAccessList extends DeployableTargetWithRBAC<\n OffchainAccessListPayload,\n typeof offchainAccessListAbi\n> {\n public override readonly abi = offchainAccessListAbi;\n /**\n * @inheritdoc\n *\n * @public\n * @static\n * @type {Record<number, Address>}\n */\n public static override bases: Record<number, Address> = {\n ...(import.meta.env?.VITE_OFFCHAIN_ACCESS_LIST_BASE\n ? { 31337: import.meta.env.VITE_OFFCHAIN_ACCESS_LIST_BASE }\n : {}),\n ...(OffchainAccessListBases as Record<number, Address>),\n };\n /**\n * @inheritdoc\n *\n * @public\n * @static\n * @type {RegistryType}\n */\n public static override registryType: RegistryType = RegistryType.ALLOW_LIST;\n\n /**\n * Retrieves the owner\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<Address>} - The address of the owner\n */\n public async owner(params?: ReadParams): Promise<Address> {\n return await readOffchainAccessListOwner(this._config, {\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n address: this.assertValidAddress(),\n args: [],\n });\n }\n\n /**\n * Check if a user is authorized based on off-chain allowlists/denylists\n *\n * @public\n * @async\n * @param {Address} address - The address of the user\n * @param {?ReadParams} [params]\n * @returns {Promise<boolean>} - True if the user is allowed\n */\n public isAllowed(_address: Address, _params?: ReadParams) {\n // TODO: check address against offchain allowlist/denylist using api calls\n throw new Error(\n 'isAllowed() not available for OffchainAccessList, implementation should be done offchain',\n );\n }\n\n /**\n * Get all allowlist IDs\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<string[]>} - Array of allowlist IDs\n */\n public async getAllowlistIds(params?: ReadParams) {\n return await readOffchainAccessListGetAllowListIds(this._config, {\n address: this.assertValidAddress(),\n args: [],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * Get all denylist IDs\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<string[]>} - Array of denylist IDs\n */\n public async getDenylistIds(params?: ReadParams) {\n return await readOffchainAccessListGetDenyListIds(this._config, {\n address: this.assertValidAddress(),\n args: [],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * Set allowlist IDs, replacing all existing ones. This function can only be called by authorized users.\n *\n * @public\n * @async\n * @param {string[]} ids - The new allowlist IDs\n * @param {?WriteParams} [params]\n * @returns {Promise<void>}\n */\n public async setAllowlistIds(ids: string[], params?: WriteParams) {\n return await this.awaitResult(this.setAllowlistIdsRaw(ids, params));\n }\n\n /**\n * Set allowlist IDs, replacing all existing ones. This function can only be called by authorized users.\n *\n * @public\n * @async\n * @param {string[]} ids - The new allowlist IDs\n * @param {?WriteParams} [params]\n * @returns {Promise<{ hash: `0x${string}`; result: void; }>}\n */\n public async setAllowlistIdsRaw(ids: string[], params?: WriteParams) {\n const { request, result } = await simulateOffchainAccessListSetAllowListIds(\n this._config,\n {\n address: this.assertValidAddress(),\n args: [ids],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n },\n );\n const hash = await writeOffchainAccessListSetAllowListIds(\n this._config,\n request,\n );\n return { hash, result };\n }\n\n /**\n * Set denylist IDs, replacing all existing ones. This function can only be called by authorized users.\n *\n * @public\n * @async\n * @param {string[]} ids - The new denylist IDs\n * @param {?WriteParams} [params]\n * @returns {Promise<void>}\n */\n public async setDenylistIds(ids: string[], params?: WriteParams) {\n return await this.awaitResult(this.setDenylistIdsRaw(ids, params));\n }\n\n /**\n * Set denylist IDs, replacing all existing ones. This function can only be called by authorized users.\n *\n * @public\n * @async\n * @param {string[]} ids - The new denylist IDs\n * @param {?WriteParams} [params]\n * @returns {Promise<{ hash: `0x${string}`; result: void; }>}\n */\n public async setDenylistIdsRaw(ids: string[], params?: WriteParams) {\n const { request, result } = await simulateOffchainAccessListSetDenyListIds(\n this._config,\n {\n address: this.assertValidAddress(),\n args: [ids],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n },\n );\n const hash = await writeOffchainAccessListSetDenyListIds(\n this._config,\n request,\n );\n return { hash, result };\n }\n\n /**\n * Add a single allowlist ID. This function can only be called by authorized users.\n *\n * @public\n * @async\n * @param {string} id - The allowlist ID to add\n * @param {?WriteParams} [params]\n * @returns {Promise<void>}\n */\n public async addAllowlistId(id: string, params?: WriteParams) {\n return await this.awaitResult(this.addAllowlistIdRaw(id, params));\n }\n\n /**\n * Add a single allowlist ID. This function can only be called by authorized users.\n *\n * @public\n * @async\n * @param {string} id - The allowlist ID to add\n * @param {?WriteParams} [params]\n * @returns {Promise<{ hash: `0x${string}`; result: void; }>}\n */\n public async addAllowlistIdRaw(id: string, params?: WriteParams) {\n const { request, result } = await simulateOffchainAccessListAddAllowListId(\n this._config,\n {\n address: this.assertValidAddress(),\n args: [id],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n },\n );\n const hash = await writeOffchainAccessListAddAllowListId(\n this._config,\n request,\n );\n return { hash, result };\n }\n\n /**\n * Add a single denylist ID. This function can only be called by authorized users.\n *\n * @public\n * @async\n * @param {string} id - The denylist ID to add\n * @param {?WriteParams} [params]\n * @returns {Promise<void>}\n */\n public async addDenylistId(id: string, params?: WriteParams) {\n return await this.awaitResult(this.addDenylistIdRaw(id, params));\n }\n\n /**\n * Add a single denylist ID. This function can only be called by authorized users.\n *\n * @public\n * @async\n * @param {string} id - The denylist ID to add\n * @param {?WriteParams} [params]\n * @returns {Promise<{ hash: `0x${string}`; result: void; }>}\n */\n public async addDenylistIdRaw(id: string, params?: WriteParams) {\n const { request, result } = await simulateOffchainAccessListAddDenyListId(\n this._config,\n {\n address: this.assertValidAddress(),\n args: [id],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n },\n );\n const hash = await writeOffchainAccessListAddDenyListId(\n this._config,\n request,\n );\n return { hash, result };\n }\n\n /**\n * Remove a single allowlist ID. This function can only be called by authorized users.\n *\n * @public\n * @async\n * @param {string} id - The allowlist ID to remove\n * @param {?WriteParams} [params]\n * @returns {Promise<void>}\n */\n public async removeAllowlistId(id: string, params?: WriteParams) {\n return await this.awaitResult(this.removeAllowlistIdRaw(id, params));\n }\n\n /**\n * Remove a single allowlist ID. This function can only be called by authorized users.\n *\n * @public\n * @async\n * @param {string} id - The allowlist ID to remove\n * @param {?WriteParams} [params]\n * @returns {Promise<{ hash: `0x${string}`; result: void; }>}\n */\n public async removeAllowlistIdRaw(id: string, params?: WriteParams) {\n const { request, result } =\n await simulateOffchainAccessListRemoveAllowListId(this._config, {\n address: this.assertValidAddress(),\n args: [id],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n const hash = await writeOffchainAccessListRemoveAllowListId(\n this._config,\n request,\n );\n return { hash, result };\n }\n\n /**\n * Remove a single denylist ID. This function can only be called by authorized users.\n *\n * @public\n * @async\n * @param {string} id - The denylist ID to remove\n * @param {?WriteParams} [params]\n * @returns {Promise<void>}\n */\n public async removeDenylistId(id: string, params?: WriteParams) {\n return await this.awaitResult(this.removeDenylistIdRaw(id, params));\n }\n\n /**\n * Remove a single denylist ID. This function can only be called by authorized users.\n *\n * @public\n * @async\n * @param {string} id - The denylist ID to remove\n * @param {?WriteParams} [params]\n * @returns {Promise<{ hash: `0x${string}`; result: void; }>}\n */\n public async removeDenylistIdRaw(id: string, params?: WriteParams) {\n const { request, result } =\n await simulateOffchainAccessListRemoveDenyListId(this._config, {\n address: this.assertValidAddress(),\n args: [id],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n const hash = await writeOffchainAccessListRemoveDenyListId(\n this._config,\n request,\n );\n return { hash, result };\n }\n\n /**\n * Check if an allowlist ID exists\n *\n * @public\n * @async\n * @param {string} id - The allowlist ID to check\n * @param {?ReadParams} [params]\n * @returns {Promise<boolean>} - True if the ID exists\n */\n public async hasAllowlistId(\n id: string,\n params?: ReadParams,\n ): Promise<boolean> {\n return await readOffchainAccessListHasAllowListId(this._config, {\n address: this.assertValidAddress(),\n args: [id],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * Check if a denylist ID exists\n *\n * @public\n * @async\n * @param {string} id - The denylist ID to check\n * @param {?ReadParams} [params]\n * @returns {Promise<boolean>} - True if the ID exists\n */\n public async hasDenylistId(\n id: string,\n params?: ReadParams,\n ): Promise<boolean> {\n return await readOffchainAccessListHasDenyListId(this._config, {\n address: this.assertValidAddress(),\n args: [id],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * @inheritdoc\n *\n * @public\n * @param {?OffchainAccessListPayload} [_payload]\n * @param {?DeployableOptions} [_options]\n * @returns {GenericDeployableParams}\n */\n public override buildParameters(\n _payload?: OffchainAccessListPayload,\n _options?: DeployableOptions,\n ): GenericDeployableParams {\n const [payload, options] = this.validateDeploymentConfig(\n _payload,\n _options,\n );\n if (!payload.owner || payload.owner === zeroAddress) {\n const owner = options.account\n ? options.account.address\n : options.config\n ? getAccount(options.config).address\n : this._account?.address;\n if (owner) {\n payload.owner = owner;\n } else {\n throw new DeployableUnknownOwnerProvidedError();\n }\n }\n return {\n abi: offchainAccessListAbi,\n bytecode: bytecode as Hex,\n args: [prepareOffchainAccessListPayload(payload)],\n ...this.optionallyAttachAccount(options.account),\n };\n }\n}\n\n/**\n * Given a {@link OffchainAccessListPayload}, properly encode the initialization payload.\n *\n * @param {OffchainAccessListPayload} param0\n * @param {Address} param0.owner - The access list's owner\n * @param {string[]} param0.allowlistIds - List of off-chain allowlist IDs\n * @param {string[]} param0.denylistIds - List of off-chain denylist IDs\n * @returns {Hex}\n */\nexport function prepareOffchainAccessListPayload({\n owner,\n allowlistIds,\n denylistIds,\n}: OffchainAccessListPayload) {\n return encodeAbiParameters(\n [\n { type: 'address', name: 'owner' },\n { type: 'string[]', name: 'allowlistIds' },\n { type: 'string[]', name: 'denylistIds' },\n ],\n [owner, allowlistIds, denylistIds],\n );\n}\n","import { simpleDenyListAbi } from '@boostxyz/evm';\nimport { bytecode } from '@boostxyz/evm/artifacts/contracts/allowlists/SimpleDenyList.sol/SimpleDenyList.json';\nimport { type Hex, zeroAddress } from 'viem';\nimport type {\n DeployableOptions,\n GenericDeployableParams,\n} from '../Deployable/Deployable';\nimport {\n SimpleDenyList,\n type SimpleDenyListPayload,\n prepareSimpleDenyListPayload,\n} from './SimpleDenyList';\n\nexport const openAllowListAbi = simpleDenyListAbi;\n\n/**\n * A simple AllowList, extending {@link DenyList}, that is ownerless and allows anyone to claim.\n *\n * @export\n * @class OpenAllowList\n * @typedef {OpenAllowList}\n * @extends {DeployableTarget<OpenAllowListPayload>}\n */\nexport class OpenAllowList extends SimpleDenyList<undefined> {\n /**\n * @inheritdoc\n *\n * @public\n * @param {?SimpleDenyListPayload} [_payload]\n * @param {?DeployableOptions} [_options]\n * @returns {GenericDeployableParams}\n */\n public override buildParameters(\n _payload?: SimpleDenyListPayload,\n _options?: DeployableOptions,\n ): GenericDeployableParams {\n const [_, options] = this.validateDeploymentConfig({}, _options);\n return {\n abi: openAllowListAbi,\n bytecode: bytecode as Hex,\n args: [prepareSimpleDenyListPayload({ owner: zeroAddress, denied: [] })],\n ...this.optionallyAttachAccount(options.account),\n };\n }\n}\n","import { aAllowListAbi } from '@boostxyz/evm';\nimport {\n AOffchainAccessList,\n ASimpleAllowList,\n ASimpleDenyList,\n} from '@boostxyz/evm/deploys/componentInterfaces.json';\nimport { readContract } from '@wagmi/core';\nimport type { Address, Hex } from 'viem';\nimport type { DeployableOptions } from '../Deployable/Deployable';\nimport { InvalidComponentInterfaceError } from '../errors';\nimport type { ReadParams } from '../utils';\nimport { OffchainAccessList } from './OffchainAccessList';\nimport { OpenAllowList } from './OpenAllowList';\nimport { SimpleAllowList } from './SimpleAllowList';\nimport { SimpleDenyList } from './SimpleDenyList';\n\nexport { OffchainAccessList, OpenAllowList, SimpleAllowList, SimpleDenyList };\n\n/**\n * A union type representing all valid protocol AllowList implementations\n *\n * @export\n * @typedef {AllowList}\n */\nexport type AllowList =\n | OffchainAccessList\n | OpenAllowList\n | SimpleAllowList\n | SimpleDenyList;\n\n/**\n * A map of AllowList component interfaces to their constructors.\n *\n * @type {{ \"0x1392d798\": SimpleAllowList; \"0x3d30a22c\": SimpleDenyList; \"0x2a6b3c38\": OffchainAccessList; }}\n */\nexport const AllowListByComponentInterface = {\n [ASimpleAllowList as Hex]: SimpleAllowList,\n [ASimpleDenyList as Hex]: SimpleDenyList,\n [AOffchainAccessList as Hex]: OffchainAccessList,\n};\n\n/**\n * A function that will read a contract's component interface using `getComponentInterface` and return the correct instantiated instance.\n * This function will never return an instance of {@link OpenAllowList} because it has the same component interface as {@link SimpleDenyList}\n *\n * @export\n * @async\n * @param {DeployableOptions} options\n * @param {Address} address\n * @returns {Promise<SimpleAllowList | SimpleDenyList>}\n * @throws {@link InvalidComponentInterfaceError}\n */\nexport async function allowListFromAddress(\n options: DeployableOptions,\n address: Address,\n params?: ReadParams,\n) {\n const interfaceId = (await readContract(options.config, {\n abi: aAllowListAbi,\n functionName: 'getComponentInterface',\n address,\n ...params,\n })) as keyof typeof AllowListByComponentInterface;\n const Ctor = AllowListByComponentInterface[interfaceId];\n if (!Ctor) {\n throw new InvalidComponentInterfaceError(\n Object.keys(AllowListByComponentInterface) as Hex[],\n interfaceId as Hex,\n );\n }\n return new Ctor(options, address) as\n | SimpleDenyList\n | SimpleAllowList\n | OffchainAccessList;\n}\n"],"names":["_OffchainAccessList","DeployableTargetWithRBAC","offchainAccessListAbi","params","readOffchainAccessListOwner","_address","_params","readOffchainAccessListGetAllowListIds","readOffchainAccessListGetDenyListIds","ids","request","result","simulateOffchainAccessListSetAllowListIds","writeOffchainAccessListSetAllowListIds","simulateOffchainAccessListSetDenyListIds","writeOffchainAccessListSetDenyListIds","id","simulateOffchainAccessListAddAllowListId","writeOffchainAccessListAddAllowListId","simulateOffchainAccessListAddDenyListId","writeOffchainAccessListAddDenyListId","simulateOffchainAccessListRemoveAllowListId","writeOffchainAccessListRemoveAllowListId","simulateOffchainAccessListRemoveDenyListId","writeOffchainAccessListRemoveDenyListId","readOffchainAccessListHasAllowListId","readOffchainAccessListHasDenyListId","_payload","_options","payload","options","zeroAddress","owner","getAccount","_a","DeployableUnknownOwnerProvidedError","bytecode","prepareOffchainAccessListPayload","__vite_import_meta_env__","OffchainAccessListBases","RegistryType","OffchainAccessList","allowlistIds","denylistIds","encodeAbiParameters","openAllowListAbi","simpleDenyListAbi","OpenAllowList","SimpleDenyList","_","prepareSimpleDenyListPayload","AllowListByComponentInterface","ASimpleAllowList","SimpleAllowList","ASimpleDenyList","AOffchainAccessList","allowListFromAddress","address","interfaceId","readContract","aAllowListAbi","Ctor","InvalidComponentInterfaceError"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AllowList-BacG3oLt.cjs","sources":["../src/AllowLists/OffchainAccessList.ts","../src/AllowLists/OpenAllowList.ts","../src/AllowLists/AllowList.ts"],"sourcesContent":["import {\n offchainAccessListAbi,\n readOffchainAccessListGetAllowListIds,\n readOffchainAccessListGetDenyListIds,\n readOffchainAccessListHasAllowListId,\n readOffchainAccessListHasDenyListId,\n readOffchainAccessListOwner,\n simulateOffchainAccessListAddAllowListId,\n simulateOffchainAccessListAddDenyListId,\n simulateOffchainAccessListRemoveAllowListId,\n simulateOffchainAccessListRemoveDenyListId,\n simulateOffchainAccessListSetAllowListIds,\n simulateOffchainAccessListSetDenyListIds,\n writeOffchainAccessListAddAllowListId,\n writeOffchainAccessListAddDenyListId,\n writeOffchainAccessListRemoveAllowListId,\n writeOffchainAccessListRemoveDenyListId,\n writeOffchainAccessListSetAllowListIds,\n writeOffchainAccessListSetDenyListIds,\n} from '@boostxyz/evm';\nimport { bytecode } from '@boostxyz/evm/artifacts/contracts/allowlists/OffchainAccessList.sol/OffchainAccessList.json';\nimport { getAccount } from '@wagmi/core';\nimport {\n type Address,\n type ContractEventName,\n type Hex,\n encodeAbiParameters,\n zeroAddress,\n} from 'viem';\nimport { OffchainAccessList as OffchainAccessListBases } from '../../dist/deployments.json';\nimport type {\n DeployableOptions,\n GenericDeployableParams,\n} from '../Deployable/Deployable';\nimport { DeployableTargetWithRBAC } from '../Deployable/DeployableTargetWithRBAC';\nimport { DeployableUnknownOwnerProvidedError } from '../errors';\nimport {\n type GenericLog,\n type ReadParams,\n RegistryType,\n type WriteParams,\n} from '../utils';\n\nexport { offchainAccessListAbi };\n\n/**\n * Object representation of a {@link OffchainAccessList} initialization payload.\n *\n * @export\n * @interface OffchainAccessListPayload\n * @typedef {OffchainAccessListPayload}\n */\nexport interface OffchainAccessListPayload {\n /**\n * The access list's owner\n *\n * @type {Address}\n */\n owner: Address;\n /**\n * List of off-chain allowlist IDs.\n *\n * @type {string[]}\n */\n allowlistIds: string[];\n /**\n * List of off-chain denylist IDs.\n *\n * @type {string[]}\n */\n denylistIds: string[];\n}\n\n/**\n * A generic `viem.Log` event with support for `OffchainAccessList` event types.\n *\n * @export\n * @typedef {OffchainAccessListLog}\n * @template {ContractEventName<typeof offchainAccessListAbi>} [event=ContractEventName<\n * typeof offchainAccessListAbi\n * >]\n */\nexport type OffchainAccessListLog<\n event extends ContractEventName<\n typeof offchainAccessListAbi\n > = ContractEventName<typeof offchainAccessListAbi>,\n> = GenericLog<typeof offchainAccessListAbi, event>;\n\n/**\n * An AllowList that links on-chain boosts to off-chain access lists stored in a database.\n * This implementation always allows everyone (returns true) but stores references to off-chain allowlist and denylist IDs.\n *\n * @export\n * @class OffchainAccessList\n * @typedef {OffchainAccessList}\n * @extends {DeployableTargetWithRBAC<OffchainAccessListPayload>}\n */\nexport class OffchainAccessList extends DeployableTargetWithRBAC<\n OffchainAccessListPayload,\n typeof offchainAccessListAbi\n> {\n public override readonly abi = offchainAccessListAbi;\n /**\n * @inheritdoc\n *\n * @public\n * @static\n * @type {Record<number, Address>}\n */\n public static override bases: Record<number, Address> = {\n ...(import.meta.env?.VITE_OFFCHAIN_ACCESS_LIST_BASE\n ? { 31337: import.meta.env.VITE_OFFCHAIN_ACCESS_LIST_BASE }\n : {}),\n ...(OffchainAccessListBases as Record<number, Address>),\n };\n /**\n * @inheritdoc\n *\n * @public\n * @static\n * @type {RegistryType}\n */\n public static override registryType: RegistryType = RegistryType.ALLOW_LIST;\n\n /**\n * Retrieves the owner\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<Address>} - The address of the owner\n */\n public async owner(params?: ReadParams): Promise<Address> {\n return await readOffchainAccessListOwner(this._config, {\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n address: this.assertValidAddress(),\n args: [],\n });\n }\n\n /**\n * Check if a user is authorized based on off-chain allowlists/denylists\n *\n * @public\n * @async\n * @param {Address} address - The address of the user\n * @param {?ReadParams} [params]\n * @returns {Promise<boolean>} - True if the user is allowed\n */\n public isAllowed(_address: Address, _params?: ReadParams) {\n // TODO: check address against offchain allowlist/denylist using api calls\n throw new Error(\n 'isAllowed() not available for OffchainAccessList, implementation should be done offchain',\n );\n }\n\n /**\n * Get all allowlist IDs\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<string[]>} - Array of allowlist IDs\n */\n public async getAllowlistIds(params?: ReadParams) {\n return await readOffchainAccessListGetAllowListIds(this._config, {\n address: this.assertValidAddress(),\n args: [],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * Get all denylist IDs\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<string[]>} - Array of denylist IDs\n */\n public async getDenylistIds(params?: ReadParams) {\n return await readOffchainAccessListGetDenyListIds(this._config, {\n address: this.assertValidAddress(),\n args: [],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * Set allowlist IDs, replacing all existing ones. This function can only be called by authorized users.\n *\n * @public\n * @async\n * @param {string[]} ids - The new allowlist IDs\n * @param {?WriteParams} [params]\n * @returns {Promise<void>}\n */\n public async setAllowlistIds(ids: string[], params?: WriteParams) {\n return await this.awaitResult(this.setAllowlistIdsRaw(ids, params));\n }\n\n /**\n * Set allowlist IDs, replacing all existing ones. This function can only be called by authorized users.\n *\n * @public\n * @async\n * @param {string[]} ids - The new allowlist IDs\n * @param {?WriteParams} [params]\n * @returns {Promise<{ hash: `0x${string}`; result: void; }>}\n */\n public async setAllowlistIdsRaw(ids: string[], params?: WriteParams) {\n const { request, result } = await simulateOffchainAccessListSetAllowListIds(\n this._config,\n {\n address: this.assertValidAddress(),\n args: [ids],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n },\n );\n const hash = await writeOffchainAccessListSetAllowListIds(\n this._config,\n request,\n );\n return { hash, result };\n }\n\n /**\n * Set denylist IDs, replacing all existing ones. This function can only be called by authorized users.\n *\n * @public\n * @async\n * @param {string[]} ids - The new denylist IDs\n * @param {?WriteParams} [params]\n * @returns {Promise<void>}\n */\n public async setDenylistIds(ids: string[], params?: WriteParams) {\n return await this.awaitResult(this.setDenylistIdsRaw(ids, params));\n }\n\n /**\n * Set denylist IDs, replacing all existing ones. This function can only be called by authorized users.\n *\n * @public\n * @async\n * @param {string[]} ids - The new denylist IDs\n * @param {?WriteParams} [params]\n * @returns {Promise<{ hash: `0x${string}`; result: void; }>}\n */\n public async setDenylistIdsRaw(ids: string[], params?: WriteParams) {\n const { request, result } = await simulateOffchainAccessListSetDenyListIds(\n this._config,\n {\n address: this.assertValidAddress(),\n args: [ids],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n },\n );\n const hash = await writeOffchainAccessListSetDenyListIds(\n this._config,\n request,\n );\n return { hash, result };\n }\n\n /**\n * Add a single allowlist ID. This function can only be called by authorized users.\n *\n * @public\n * @async\n * @param {string} id - The allowlist ID to add\n * @param {?WriteParams} [params]\n * @returns {Promise<void>}\n */\n public async addAllowlistId(id: string, params?: WriteParams) {\n return await this.awaitResult(this.addAllowlistIdRaw(id, params));\n }\n\n /**\n * Add a single allowlist ID. This function can only be called by authorized users.\n *\n * @public\n * @async\n * @param {string} id - The allowlist ID to add\n * @param {?WriteParams} [params]\n * @returns {Promise<{ hash: `0x${string}`; result: void; }>}\n */\n public async addAllowlistIdRaw(id: string, params?: WriteParams) {\n const { request, result } = await simulateOffchainAccessListAddAllowListId(\n this._config,\n {\n address: this.assertValidAddress(),\n args: [id],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n },\n );\n const hash = await writeOffchainAccessListAddAllowListId(\n this._config,\n request,\n );\n return { hash, result };\n }\n\n /**\n * Add a single denylist ID. This function can only be called by authorized users.\n *\n * @public\n * @async\n * @param {string} id - The denylist ID to add\n * @param {?WriteParams} [params]\n * @returns {Promise<void>}\n */\n public async addDenylistId(id: string, params?: WriteParams) {\n return await this.awaitResult(this.addDenylistIdRaw(id, params));\n }\n\n /**\n * Add a single denylist ID. This function can only be called by authorized users.\n *\n * @public\n * @async\n * @param {string} id - The denylist ID to add\n * @param {?WriteParams} [params]\n * @returns {Promise<{ hash: `0x${string}`; result: void; }>}\n */\n public async addDenylistIdRaw(id: string, params?: WriteParams) {\n const { request, result } = await simulateOffchainAccessListAddDenyListId(\n this._config,\n {\n address: this.assertValidAddress(),\n args: [id],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n },\n );\n const hash = await writeOffchainAccessListAddDenyListId(\n this._config,\n request,\n );\n return { hash, result };\n }\n\n /**\n * Remove a single allowlist ID. This function can only be called by authorized users.\n *\n * @public\n * @async\n * @param {string} id - The allowlist ID to remove\n * @param {?WriteParams} [params]\n * @returns {Promise<void>}\n */\n public async removeAllowlistId(id: string, params?: WriteParams) {\n return await this.awaitResult(this.removeAllowlistIdRaw(id, params));\n }\n\n /**\n * Remove a single allowlist ID. This function can only be called by authorized users.\n *\n * @public\n * @async\n * @param {string} id - The allowlist ID to remove\n * @param {?WriteParams} [params]\n * @returns {Promise<{ hash: `0x${string}`; result: void; }>}\n */\n public async removeAllowlistIdRaw(id: string, params?: WriteParams) {\n const { request, result } =\n await simulateOffchainAccessListRemoveAllowListId(this._config, {\n address: this.assertValidAddress(),\n args: [id],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n const hash = await writeOffchainAccessListRemoveAllowListId(\n this._config,\n request,\n );\n return { hash, result };\n }\n\n /**\n * Remove a single denylist ID. This function can only be called by authorized users.\n *\n * @public\n * @async\n * @param {string} id - The denylist ID to remove\n * @param {?WriteParams} [params]\n * @returns {Promise<void>}\n */\n public async removeDenylistId(id: string, params?: WriteParams) {\n return await this.awaitResult(this.removeDenylistIdRaw(id, params));\n }\n\n /**\n * Remove a single denylist ID. This function can only be called by authorized users.\n *\n * @public\n * @async\n * @param {string} id - The denylist ID to remove\n * @param {?WriteParams} [params]\n * @returns {Promise<{ hash: `0x${string}`; result: void; }>}\n */\n public async removeDenylistIdRaw(id: string, params?: WriteParams) {\n const { request, result } =\n await simulateOffchainAccessListRemoveDenyListId(this._config, {\n address: this.assertValidAddress(),\n args: [id],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n const hash = await writeOffchainAccessListRemoveDenyListId(\n this._config,\n request,\n );\n return { hash, result };\n }\n\n /**\n * Check if an allowlist ID exists\n *\n * @public\n * @async\n * @param {string} id - The allowlist ID to check\n * @param {?ReadParams} [params]\n * @returns {Promise<boolean>} - True if the ID exists\n */\n public async hasAllowlistId(\n id: string,\n params?: ReadParams,\n ): Promise<boolean> {\n return await readOffchainAccessListHasAllowListId(this._config, {\n address: this.assertValidAddress(),\n args: [id],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * Check if a denylist ID exists\n *\n * @public\n * @async\n * @param {string} id - The denylist ID to check\n * @param {?ReadParams} [params]\n * @returns {Promise<boolean>} - True if the ID exists\n */\n public async hasDenylistId(\n id: string,\n params?: ReadParams,\n ): Promise<boolean> {\n return await readOffchainAccessListHasDenyListId(this._config, {\n address: this.assertValidAddress(),\n args: [id],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * @inheritdoc\n *\n * @public\n * @param {?OffchainAccessListPayload} [_payload]\n * @param {?DeployableOptions} [_options]\n * @returns {GenericDeployableParams}\n */\n public override buildParameters(\n _payload?: OffchainAccessListPayload,\n _options?: DeployableOptions,\n ): GenericDeployableParams {\n const [payload, options] = this.validateDeploymentConfig(\n _payload,\n _options,\n );\n if (!payload.owner || payload.owner === zeroAddress) {\n const owner = options.account\n ? options.account.address\n : options.config\n ? getAccount(options.config).address\n : this._account?.address;\n if (owner) {\n payload.owner = owner;\n } else {\n throw new DeployableUnknownOwnerProvidedError();\n }\n }\n return {\n abi: offchainAccessListAbi,\n bytecode: bytecode as Hex,\n args: [prepareOffchainAccessListPayload(payload)],\n ...this.optionallyAttachAccount(options.account),\n };\n }\n}\n\n/**\n * Given a {@link OffchainAccessListPayload}, properly encode the initialization payload.\n *\n * @param {OffchainAccessListPayload} param0\n * @param {Address} param0.owner - The access list's owner\n * @param {string[]} param0.allowlistIds - List of off-chain allowlist IDs\n * @param {string[]} param0.denylistIds - List of off-chain denylist IDs\n * @returns {Hex}\n */\nexport function prepareOffchainAccessListPayload({\n owner,\n allowlistIds,\n denylistIds,\n}: OffchainAccessListPayload) {\n return encodeAbiParameters(\n [\n { type: 'address', name: 'owner' },\n { type: 'string[]', name: 'allowlistIds' },\n { type: 'string[]', name: 'denylistIds' },\n ],\n [owner, allowlistIds, denylistIds],\n );\n}\n","import { simpleDenyListAbi } from '@boostxyz/evm';\nimport { bytecode } from '@boostxyz/evm/artifacts/contracts/allowlists/SimpleDenyList.sol/SimpleDenyList.json';\nimport { type Hex, zeroAddress } from 'viem';\nimport type {\n DeployableOptions,\n GenericDeployableParams,\n} from '../Deployable/Deployable';\nimport {\n SimpleDenyList,\n type SimpleDenyListPayload,\n prepareSimpleDenyListPayload,\n} from './SimpleDenyList';\n\nexport const openAllowListAbi = simpleDenyListAbi;\n\n/**\n * A simple AllowList, extending {@link DenyList}, that is ownerless and allows anyone to claim.\n *\n * @export\n * @class OpenAllowList\n * @typedef {OpenAllowList}\n * @extends {DeployableTarget<OpenAllowListPayload>}\n */\nexport class OpenAllowList extends SimpleDenyList<undefined> {\n /**\n * @inheritdoc\n *\n * @public\n * @param {?SimpleDenyListPayload} [_payload]\n * @param {?DeployableOptions} [_options]\n * @returns {GenericDeployableParams}\n */\n public override buildParameters(\n _payload?: SimpleDenyListPayload,\n _options?: DeployableOptions,\n ): GenericDeployableParams {\n const [_, options] = this.validateDeploymentConfig({}, _options);\n return {\n abi: openAllowListAbi,\n bytecode: bytecode as Hex,\n args: [prepareSimpleDenyListPayload({ owner: zeroAddress, denied: [] })],\n ...this.optionallyAttachAccount(options.account),\n };\n }\n}\n","import { aAllowListAbi } from '@boostxyz/evm';\nimport {\n AOffchainAccessList,\n ASimpleAllowList,\n ASimpleDenyList,\n} from '@boostxyz/evm/deploys/componentInterfaces.json';\nimport { readContract } from '@wagmi/core';\nimport type { Address, Hex } from 'viem';\nimport type { DeployableOptions } from '../Deployable/Deployable';\nimport { InvalidComponentInterfaceError } from '../errors';\nimport type { ReadParams } from '../utils';\nimport { OffchainAccessList } from './OffchainAccessList';\nimport { OpenAllowList } from './OpenAllowList';\nimport { SimpleAllowList } from './SimpleAllowList';\nimport { SimpleDenyList } from './SimpleDenyList';\n\nexport { OffchainAccessList, OpenAllowList, SimpleAllowList, SimpleDenyList };\n\n/**\n * A union type representing all valid protocol AllowList implementations\n *\n * @export\n * @typedef {AllowList}\n */\nexport type AllowList =\n | OffchainAccessList\n | OpenAllowList\n | SimpleAllowList\n | SimpleDenyList;\n\n/**\n * A map of AllowList component interfaces to their constructors.\n *\n * @type {{ \"0x1392d798\": SimpleAllowList; \"0x3d30a22c\": SimpleDenyList; \"0x2a6b3c38\": OffchainAccessList; }}\n */\nexport const AllowListByComponentInterface = {\n [ASimpleAllowList as Hex]: SimpleAllowList,\n [ASimpleDenyList as Hex]: SimpleDenyList,\n [AOffchainAccessList as Hex]: OffchainAccessList,\n};\n\n/**\n * A function that will read a contract's component interface using `getComponentInterface` and return the correct instantiated instance.\n * This function will never return an instance of {@link OpenAllowList} because it has the same component interface as {@link SimpleDenyList}\n *\n * @export\n * @async\n * @param {DeployableOptions} options\n * @param {Address} address\n * @returns {Promise<SimpleAllowList | SimpleDenyList>}\n * @throws {@link InvalidComponentInterfaceError}\n */\nexport async function allowListFromAddress(\n options: DeployableOptions,\n address: Address,\n params?: ReadParams,\n) {\n const interfaceId = (await readContract(options.config, {\n abi: aAllowListAbi,\n functionName: 'getComponentInterface',\n address,\n ...params,\n })) as keyof typeof AllowListByComponentInterface;\n const Ctor = AllowListByComponentInterface[interfaceId];\n if (!Ctor) {\n throw new InvalidComponentInterfaceError(\n Object.keys(AllowListByComponentInterface) as Hex[],\n interfaceId as Hex,\n );\n }\n return new Ctor(options, address) as\n | SimpleDenyList\n | SimpleAllowList\n | OffchainAccessList;\n}\n"],"names":["_OffchainAccessList","DeployableTargetWithRBAC","offchainAccessListAbi","params","readOffchainAccessListOwner","_address","_params","readOffchainAccessListGetAllowListIds","readOffchainAccessListGetDenyListIds","ids","request","result","simulateOffchainAccessListSetAllowListIds","writeOffchainAccessListSetAllowListIds","simulateOffchainAccessListSetDenyListIds","writeOffchainAccessListSetDenyListIds","id","simulateOffchainAccessListAddAllowListId","writeOffchainAccessListAddAllowListId","simulateOffchainAccessListAddDenyListId","writeOffchainAccessListAddDenyListId","simulateOffchainAccessListRemoveAllowListId","writeOffchainAccessListRemoveAllowListId","simulateOffchainAccessListRemoveDenyListId","writeOffchainAccessListRemoveDenyListId","readOffchainAccessListHasAllowListId","readOffchainAccessListHasDenyListId","_payload","_options","payload","options","zeroAddress","owner","getAccount","_a","DeployableUnknownOwnerProvidedError","bytecode","prepareOffchainAccessListPayload","__vite_import_meta_env__","OffchainAccessListBases","RegistryType","OffchainAccessList","allowlistIds","denylistIds","encodeAbiParameters","openAllowListAbi","simpleDenyListAbi","OpenAllowList","SimpleDenyList","_","prepareSimpleDenyListPayload","AllowListByComponentInterface","ASimpleAllowList","SimpleAllowList","ASimpleDenyList","AOffchainAccessList","allowListFromAddress","address","interfaceId","readContract","aAllowListAbi","Ctor","InvalidComponentInterfaceError"],"mappings":"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"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { n as
|
|
1
|
+
import { a as n, cJ as w, cK as A, cL as u, cM as y, cN as p, cO as m, cP as g, cQ as I, cR as _, cS as R, cT as D, cU as S, cV as E, cW as O, cX as V, cY as L, cZ as q, P as C, c_ as T } from "./generated-D6oDILUw.js";
|
|
2
|
+
import { n as B, o as v, p as P } from "./componentInterfaces-D2s6AXlV.js";
|
|
3
3
|
import { getAccount as N, readContract as x } from "@wagmi/core";
|
|
4
|
-
import { DeployableUnknownOwnerProvidedError as F, InvalidComponentInterfaceError as
|
|
5
|
-
import { zeroAddress as l, encodeAbiParameters as
|
|
6
|
-
import { O as
|
|
7
|
-
import { DeployableTargetWithRBAC as
|
|
8
|
-
import { RegistryType as
|
|
9
|
-
import { S as h, b as
|
|
10
|
-
import { SimpleAllowList as
|
|
11
|
-
const K = "0x6080604052348015600e575f80fd5b5060156019565b607c565b63409feecd198054600181161560365763f92ee8a95f526004601cfd5b6001600160401b03808260011c146077578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b612127806100895f395ff3fe608060405260043610610229575f3560e01c8063859aa08911610131578063e89079fa116100ac578063f04e283e1161007c578063fdee627a11610062578063fdee627a14610620578063fe9fbb8014610634578063fee81cf414610653575f80fd5b8063f04e283e146105fa578063f2fde38b1461060d575f80fd5b8063e89079fa14610587578063ec87621c146105a6578063ef05bda9146105ba578063ef4550bf146105d9575f80fd5b8063be4994f811610101578063dcc21361116100e7578063dcc2136114610526578063e3f756de14610545578063e611205f14610568575f80fd5b8063be4994f8146104e8578063cbb7de5114610507575f80fd5b8063859aa089146104535780638da5cb5b14610472578063937d599c146104aa57806399927eec146104c9575f80fd5b80632de94807116101c1578063514e62fc11610191578063715018a611610177578063715018a61461041857806375b238fc146104205780637e973e8214610434575f80fd5b8063514e62fc146103db57806354d1f13d14610410575f80fd5b80632de948071461034b5780634359d28a1461038a578063439fab91146103a95780634a4ee7b1146103c8575f80fd5b80631cd64df4116101fc5780631cd64df4146102b557806325692962146102ea57806328d6183b146102f25780632c297c181461032c575f80fd5b806301ffc9a71461022d578063096f199f14610261578063183a4f6e1461028d5780631c10893f146102a2575b5f80fd5b348015610238575f80fd5b5061024c610247366004611725565b610684565b60405190151581526020015b60405180910390f35b34801561026c575f80fd5b5061028061027b36600461176b565b6106df565b60405161025891906117b0565b6102a061029b36600461176b565b610785565b005b6102a06102b03660046117e3565b610792565b3480156102c0575f80fd5b5061024c6102cf3660046117e3565b638b78c6d8600c9081525f9290925260209091205481161490565b6102a06107a8565b3480156102fd575f80fd5b506040517f2a6b3c38000000000000000000000000000000000000000000000000000000008152602001610258565b348015610337575f80fd5b506102a0610346366004611852565b6107f5565b348015610356575f80fd5b5061037c610365366004611891565b638b78c6d8600c9081525f91909152602090205490565b604051908152602001610258565b348015610395575f80fd5b506102a06103a43660046118ed565b6108ea565b3480156103b4575f80fd5b506102a06103c3366004611852565b6109e4565b6102a06103d63660046117e3565b610ab7565b3480156103e6575f80fd5b5061024c6103f53660046117e3565b638b78c6d8600c9081525f9290925260209091205416151590565b6102a0610ac9565b6102a0610b02565b34801561042b575f80fd5b5061037c600281565b34801561043f575f80fd5b506102a061044e366004611852565b610b15565b34801561045e575f80fd5b506102a061046d366004611959565b610bfe565b34801561047d575f80fd5b50638b78c6d8195460405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610258565b3480156104b5575f80fd5b5061024c6104c4366004611852565b610ca0565b3480156104d4575f80fd5b5061024c6104e3366004611852565b610d15565b3480156104f3575f80fd5b506102a06105023660046118ed565b610d7f565b348015610512575f80fd5b506102a0610521366004611959565b610e1d565b348015610531575f80fd5b506102a06105403660046118ed565b610ebd565b348015610550575f80fd5b5061024c61055f36600461198c565b60019392505050565b348015610573575f80fd5b5061028061058236600461176b565b610f5b565b348015610592575f80fd5b506102a06105a1366004611852565b610f69565b3480156105b1575f80fd5b5061037c600181565b3480156105c5575f80fd5b506102a06105d4366004611852565b6110bc565b3480156105e4575f80fd5b506105ed6111bc565b60405161025891906119dd565b6102a0610608366004611891565b611290565b6102a061061b366004611891565b6112ca565b34801561062b575f80fd5b506105ed6112f0565b34801561063f575f80fd5b5061024c61064e366004611891565b6113ba565b34801561065e575f80fd5b5061037c61066d366004611891565b63389a75e1600c9081525f91909152602090205490565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f2a6b3c380000000000000000000000000000000000000000000000000000000014806106d957506106d982611419565b92915050565b600181815481106106ee575f80fd5b905f5260205f20015f91509050805461070690611a5e565b80601f016020809104026020016040519081016040528092919081815260200182805461073290611a5e565b801561077d5780601f106107545761010080835404028352916020019161077d565b820191905f5260205f20905b81548152906001019060200180831161076057829003601f168201915b505050505081565b61078f338261146e565b50565b61079a611479565b6107a48282611493565b5050565b5f6202a30067ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b6107fe336113ba565b610834576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61083e8282610ca0565b156108aa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f44656e796c69737420494420616c72656164792065786973747300000000000060448201526064015b60405180910390fd5b6001805480820182555f919091527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6016108e5828483611b27565b505050565b60026108f58161149f565b83821461092e576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b848110156109dc575f84848381811061094b5761094b611be1565b90506020020160208101906109609190611c0e565b90508015156001036109a25761099d87878481811061098157610981611be1565b90506020020160208101906109969190611891565b6001611493565b6109d3565b6109d38787848181106109b7576109b7611be1565b90506020020160208101906109cc9190611891565b600161146e565b50600101610930565b505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011328054600382558015610a355760018160011c14303b10610a2c5763f92ee8a95f526004601cfd5b818160ff1b1b91505b505f8080610a4585870187611d5e565b925092509250610a54836114d0565b8151610a66905f90602085019061164f565b508051610a7a90600190602084019061164f565b5050505080156108e5576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a1505050565b610abf611479565b6107a4828261146e565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b610b0a611479565b610b135f611518565b565b610b1e336113ba565b610b54576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b5e8282610d15565b15610bc5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f416c6c6f776c69737420494420616c726561647920657869737473000000000060448201526064016108a1565b5f80546001810182559080527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563016108e5828483611b27565b610c07336113ba565b610c3d576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c4860015f6116a3565b5f5b818110156108e5576001838383818110610c6657610c66611be1565b9050602002810190610c789190611dd4565b82546001810184555f938452602090932090920191610c979183611b27565b50600101610c4a565b5f805b600154811015610d0c578383604051610cbd929190611e35565b604051809103902060018281548110610cd857610cd8611be1565b905f5260205f2001604051610ced9190611e44565b604051809103902003610d045760019150506106d9565b600101610ca3565b505f9392505050565b5f805b5f54811015610d0c578383604051610d31929190611e35565b60405180910390205f8281548110610d4b57610d4b611be1565b905f5260205f2001604051610d609190611e44565b604051809103902003610d775760019150506106d9565b600101610d18565b6002610d8a8161149f565b838214610dc3576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b848110156109dc57610e15868683818110610de257610de2611be1565b9050602002016020810190610df79190611891565b858584818110610e0957610e09611be1565b90506020020135611493565b600101610dc5565b610e26336113ba565b610e5c576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610e665f806116a3565b5f5b818110156108e5575f838383818110610e8357610e83611be1565b9050602002810190610e959190611dd4565b82546001810184555f938452602090932090920191610eb49183611b27565b50600101610e68565b6002610ec88161149f565b838214610f01576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b848110156109dc57610f53868683818110610f2057610f20611be1565b9050602002016020810190610f359190611891565b858584818110610f4757610f47611be1565b9050602002013561146e565b600101610f03565b5f81815481106106ee575f80fd5b610f72336113ba565b610fa8576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b5f54811015611085578282604051610fc3929190611e35565b60405180910390205f8281548110610fdd57610fdd611be1565b905f5260205f2001604051610ff29190611e44565b60405180910390200361107d575f805461100e90600190611ed3565b8154811061101e5761101e611be1565b905f5260205f20015f828154811061103857611038611be1565b905f5260205f2001908161104c9190611f0b565b505f80548061105d5761105d611fe3565b600190038181905f5260205f20015f61107691906116be565b9055505050565b600101610faa565b5081816040517f8cf9845e0000000000000000000000000000000000000000000000000000000081526004016108a1929190612010565b6110c5336113ba565b6110fb576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b600154811015611085578282604051611117929190611e35565b60405180910390206001828154811061113257611132611be1565b905f5260205f20016040516111479190611e44565b6040518091039020036111b45760018054611163908290611ed3565b8154811061117357611173611be1565b905f5260205f20016001828154811061118e5761118e611be1565b905f5260205f200190816111a29190611f0b565b50600180548061105d5761105d611fe3565b6001016110fd565b60606001805480602002602001604051908101604052809291908181526020015f905b82821015611287578382905f5260205f200180546111fc90611a5e565b80601f016020809104026020016040519081016040528092919081815260200182805461122890611a5e565b80156112735780601f1061124a57610100808354040283529160200191611273565b820191905f5260205f20905b81548152906001019060200180831161125657829003601f168201915b5050505050815260200190600101906111df565b50505050905090565b611298611479565b63389a75e1600c52805f526020600c2080544211156112be57636f5e88185f526004601cfd5b5f905561078f81611518565b6112d2611479565b8060601b6112e757637448fbae5f526004601cfd5b61078f81611518565b60605f805480602002602001604051908101604052809291908181526020015f905b82821015611287578382905f5260205f2001805461132f90611a5e565b80601f016020809104026020016040519081016040528092919081815260200182805461135b90611a5e565b80156113a65780601f1061137d576101008083540402835291602001916113a6565b820191905f5260205f20905b81548152906001019060200180831161138957829003601f168201915b505050505081526020019060010190611312565b5f8173ffffffffffffffffffffffffffffffffffffffff166113df638b78c6d8195490565b73ffffffffffffffffffffffffffffffffffffffff1614806106d95750638b78c6d8600c9081525f839052602090205460031615156106d9565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167fe2089f790000000000000000000000000000000000000000000000000000000014806106d957506106d982611562565b6107a482825f6115f8565b638b78c6d819543314610b13576382b429005f526004601cfd5b6107a4828260016115f8565b638b78c6d81954331461078f57638b78c6d8600c52335f52806020600c20541661078f576382b429005f526004601cfd5b73ffffffffffffffffffffffffffffffffffffffff16638b78c6d819819055805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b638b78c6d819805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f6ab67a0d0000000000000000000000000000000000000000000000000000000014806106d957507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316146106d9565b638b78c6d8600c52825f526020600c20805483811783611619575080841681185b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a3505050505050565b828054828255905f5260205f20908101928215611693579160200282015b828111156116935782518290611683908261203e565b509160200191906001019061166d565b5061169f9291506116f5565b5090565b5080545f8255905f5260205f209081019061078f91906116f5565b5080546116ca90611a5e565b5f825580601f106116d9575050565b601f0160209004905f5260205f209081019061078f9190611711565b8082111561169f575f61170882826116be565b506001016116f5565b5b8082111561169f575f8155600101611712565b5f60208284031215611735575f80fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611764575f80fd5b9392505050565b5f6020828403121561177b575f80fd5b5035919050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6117646020830184611782565b73ffffffffffffffffffffffffffffffffffffffff8116811461078f575f80fd5b5f80604083850312156117f4575f80fd5b82356117ff816117c2565b946020939093013593505050565b5f8083601f84011261181d575f80fd5b50813567ffffffffffffffff811115611834575f80fd5b60208301915083602082850101111561184b575f80fd5b9250929050565b5f8060208385031215611863575f80fd5b823567ffffffffffffffff811115611879575f80fd5b6118858582860161180d565b90969095509350505050565b5f602082840312156118a1575f80fd5b8135611764816117c2565b5f8083601f8401126118bc575f80fd5b50813567ffffffffffffffff8111156118d3575f80fd5b6020830191508360208260051b850101111561184b575f80fd5b5f805f8060408587031215611900575f80fd5b843567ffffffffffffffff811115611916575f80fd5b611922878288016118ac565b909550935050602085013567ffffffffffffffff811115611941575f80fd5b61194d878288016118ac565b95989497509550505050565b5f806020838503121561196a575f80fd5b823567ffffffffffffffff811115611980575f80fd5b611885858286016118ac565b5f805f6040848603121561199e575f80fd5b83356119a9816117c2565b9250602084013567ffffffffffffffff8111156119c4575f80fd5b6119d08682870161180d565b9497909650939450505050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015611a52577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452611a3d858351611782565b94506020938401939190910190600101611a03565b50929695505050505050565b600181811c90821680611a7257607f821691505b602082108103611aa9577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b601f8211156108e557805f5260205f20601f840160051c81016020851015611b015750805b601f840160051c820191505b81811015611b20575f8155600101611b0d565b5050505050565b67ffffffffffffffff831115611b3f57611b3f611aaf565b611b5383611b4d8354611a5e565b83611adc565b5f601f841160018114611b84575f8515611b6d5750838201355b5f19600387901b1c1916600186901b178355611b20565b5f83815260208120601f198716915b82811015611bb35786850135825560209485019460019092019101611b93565b5086821015611bcf575f1960f88860031b161c19848701351681555b505060018560011b0183555050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f60208284031215611c1e575f80fd5b81358015158114611764575f80fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611c5657611c56611aaf565b604052919050565b5f82601f830112611c6d575f80fd5b813567ffffffffffffffff811115611c8757611c87611aaf565b8060051b611c9760208201611c2d565b91825260208185018101929081019086841115611cb2575f80fd5b6020860192505b83831015611d5457823567ffffffffffffffff811115611cd7575f80fd5b8601603f81018813611ce7575f80fd5b602081013567ffffffffffffffff811115611d0457611d04611aaf565b611d176020601f19601f84011601611c2d565b8181526040838301018a1015611d2b575f80fd5b816040840160208301375f60208383010152808552505050602082019150602083019250611cb9565b9695505050505050565b5f805f60608486031215611d70575f80fd5b8335611d7b816117c2565b9250602084013567ffffffffffffffff811115611d96575f80fd5b611da286828701611c5e565b925050604084013567ffffffffffffffff811115611dbe575f80fd5b611dca86828701611c5e565b9150509250925092565b5f8083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611e07575f80fd5b83018035915067ffffffffffffffff821115611e21575f80fd5b60200191503681900382131561184b575f80fd5b818382375f9101908152919050565b5f808354611e5181611a5e565b600182168015611e685760018114611e9b57611ec8565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083168652811515820286019350611ec8565b865f5260205f205f5b83811015611ec057815488820152600190910190602001611ea4565b505081860193505b509195945050505050565b818103818111156106d9577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b818103611f16575050565b611f208254611a5e565b67ffffffffffffffff811115611f3857611f38611aaf565b611f4c81611f468454611a5e565b84611adc565b5f601f821160018114611f80575f8315611f665750848201545b600184901b5f19600386901b1c198216175b855550611b20565b5f8581526020808220868352908220601f198616925b83811015611fb65782860154825560019586019590910190602001611f96565b5085831015611fd357818501545f19600388901b60f8161c191681555b5050505050600190811b01905550565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffd5b60208152816020820152818360408301375f818301604090810191909152601f909201601f19160101919050565b815167ffffffffffffffff81111561205857612058611aaf565b61206681611f468454611a5e565b6020601f821160018114612096575f8315611f66575081850151600184901b5f19600386901b1c19821617611f78565b5f84815260208120601f198516915b828110156120c557878501518255602094850194600190920191016120a5565b50848210156120e257868401515f19600387901b60f8161c191681555b50505050600190811b0190555056fea26469706673582212206100a11e4e0b5bdd589ed060e5af18faef222dc9a5fb78d50ce02911e161f36664736f6c634300081a0033", t = { BASE_URL: "/", DEV: !1, MODE: "production", PROD: !0, SSR: !1, VITE_BOOST_MAINNET_SIGNER_EOA: "0xCBD0C302040bC803B4B2EDaF21Be0e49Deff5480", VITE_BOOST_TESTNET_SIGNER_EOA: "0xd63167e9db11B108940b2E8236581F961f33f396" }, s = class s extends W {
|
|
4
|
+
import { DeployableUnknownOwnerProvidedError as F, InvalidComponentInterfaceError as W } from "./errors.js";
|
|
5
|
+
import { zeroAddress as l, encodeAbiParameters as k } from "viem";
|
|
6
|
+
import { O as M } from "./deployments-Dw5Suk_D.js";
|
|
7
|
+
import { DeployableTargetWithRBAC as U } from "./Deployable/DeployableTargetWithRBAC.js";
|
|
8
|
+
import { RegistryType as G } from "./utils.js";
|
|
9
|
+
import { S as h, b as J, p as Q } from "./SimpleDenyList-DyKqIWYL.js";
|
|
10
|
+
import { SimpleAllowList as $ } from "./AllowLists/SimpleAllowList.js";
|
|
11
|
+
const j = "0x6080604052348015600e575f80fd5b5060156019565b607c565b63409feecd198054600181161560365763f92ee8a95f526004601cfd5b6001600160401b03808260011c146077578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b612127806100895f395ff3fe608060405260043610610229575f3560e01c8063859aa08911610131578063e89079fa116100ac578063f04e283e1161007c578063fdee627a11610062578063fdee627a14610620578063fe9fbb8014610634578063fee81cf414610653575f80fd5b8063f04e283e146105fa578063f2fde38b1461060d575f80fd5b8063e89079fa14610587578063ec87621c146105a6578063ef05bda9146105ba578063ef4550bf146105d9575f80fd5b8063be4994f811610101578063dcc21361116100e7578063dcc2136114610526578063e3f756de14610545578063e611205f14610568575f80fd5b8063be4994f8146104e8578063cbb7de5114610507575f80fd5b8063859aa089146104535780638da5cb5b14610472578063937d599c146104aa57806399927eec146104c9575f80fd5b80632de94807116101c1578063514e62fc11610191578063715018a611610177578063715018a61461041857806375b238fc146104205780637e973e8214610434575f80fd5b8063514e62fc146103db57806354d1f13d14610410575f80fd5b80632de948071461034b5780634359d28a1461038a578063439fab91146103a95780634a4ee7b1146103c8575f80fd5b80631cd64df4116101fc5780631cd64df4146102b557806325692962146102ea57806328d6183b146102f25780632c297c181461032c575f80fd5b806301ffc9a71461022d578063096f199f14610261578063183a4f6e1461028d5780631c10893f146102a2575b5f80fd5b348015610238575f80fd5b5061024c610247366004611725565b610684565b60405190151581526020015b60405180910390f35b34801561026c575f80fd5b5061028061027b36600461176b565b6106df565b60405161025891906117b0565b6102a061029b36600461176b565b610785565b005b6102a06102b03660046117e3565b610792565b3480156102c0575f80fd5b5061024c6102cf3660046117e3565b638b78c6d8600c9081525f9290925260209091205481161490565b6102a06107a8565b3480156102fd575f80fd5b506040517f2a6b3c38000000000000000000000000000000000000000000000000000000008152602001610258565b348015610337575f80fd5b506102a0610346366004611852565b6107f5565b348015610356575f80fd5b5061037c610365366004611891565b638b78c6d8600c9081525f91909152602090205490565b604051908152602001610258565b348015610395575f80fd5b506102a06103a43660046118ed565b6108ea565b3480156103b4575f80fd5b506102a06103c3366004611852565b6109e4565b6102a06103d63660046117e3565b610ab7565b3480156103e6575f80fd5b5061024c6103f53660046117e3565b638b78c6d8600c9081525f9290925260209091205416151590565b6102a0610ac9565b6102a0610b02565b34801561042b575f80fd5b5061037c600281565b34801561043f575f80fd5b506102a061044e366004611852565b610b15565b34801561045e575f80fd5b506102a061046d366004611959565b610bfe565b34801561047d575f80fd5b50638b78c6d8195460405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610258565b3480156104b5575f80fd5b5061024c6104c4366004611852565b610ca0565b3480156104d4575f80fd5b5061024c6104e3366004611852565b610d15565b3480156104f3575f80fd5b506102a06105023660046118ed565b610d7f565b348015610512575f80fd5b506102a0610521366004611959565b610e1d565b348015610531575f80fd5b506102a06105403660046118ed565b610ebd565b348015610550575f80fd5b5061024c61055f36600461198c565b60019392505050565b348015610573575f80fd5b5061028061058236600461176b565b610f5b565b348015610592575f80fd5b506102a06105a1366004611852565b610f69565b3480156105b1575f80fd5b5061037c600181565b3480156105c5575f80fd5b506102a06105d4366004611852565b6110bc565b3480156105e4575f80fd5b506105ed6111bc565b60405161025891906119dd565b6102a0610608366004611891565b611290565b6102a061061b366004611891565b6112ca565b34801561062b575f80fd5b506105ed6112f0565b34801561063f575f80fd5b5061024c61064e366004611891565b6113ba565b34801561065e575f80fd5b5061037c61066d366004611891565b63389a75e1600c9081525f91909152602090205490565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f2a6b3c380000000000000000000000000000000000000000000000000000000014806106d957506106d982611419565b92915050565b600181815481106106ee575f80fd5b905f5260205f20015f91509050805461070690611a5e565b80601f016020809104026020016040519081016040528092919081815260200182805461073290611a5e565b801561077d5780601f106107545761010080835404028352916020019161077d565b820191905f5260205f20905b81548152906001019060200180831161076057829003601f168201915b505050505081565b61078f338261146e565b50565b61079a611479565b6107a48282611493565b5050565b5f6202a30067ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b6107fe336113ba565b610834576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61083e8282610ca0565b156108aa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f44656e796c69737420494420616c72656164792065786973747300000000000060448201526064015b60405180910390fd5b6001805480820182555f919091527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6016108e5828483611b27565b505050565b60026108f58161149f565b83821461092e576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b848110156109dc575f84848381811061094b5761094b611be1565b90506020020160208101906109609190611c0e565b90508015156001036109a25761099d87878481811061098157610981611be1565b90506020020160208101906109969190611891565b6001611493565b6109d3565b6109d38787848181106109b7576109b7611be1565b90506020020160208101906109cc9190611891565b600161146e565b50600101610930565b505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011328054600382558015610a355760018160011c14303b10610a2c5763f92ee8a95f526004601cfd5b818160ff1b1b91505b505f8080610a4585870187611d5e565b925092509250610a54836114d0565b8151610a66905f90602085019061164f565b508051610a7a90600190602084019061164f565b5050505080156108e5576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a1505050565b610abf611479565b6107a4828261146e565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b610b0a611479565b610b135f611518565b565b610b1e336113ba565b610b54576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b5e8282610d15565b15610bc5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f416c6c6f776c69737420494420616c726561647920657869737473000000000060448201526064016108a1565b5f80546001810182559080527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563016108e5828483611b27565b610c07336113ba565b610c3d576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c4860015f6116a3565b5f5b818110156108e5576001838383818110610c6657610c66611be1565b9050602002810190610c789190611dd4565b82546001810184555f938452602090932090920191610c979183611b27565b50600101610c4a565b5f805b600154811015610d0c578383604051610cbd929190611e35565b604051809103902060018281548110610cd857610cd8611be1565b905f5260205f2001604051610ced9190611e44565b604051809103902003610d045760019150506106d9565b600101610ca3565b505f9392505050565b5f805b5f54811015610d0c578383604051610d31929190611e35565b60405180910390205f8281548110610d4b57610d4b611be1565b905f5260205f2001604051610d609190611e44565b604051809103902003610d775760019150506106d9565b600101610d18565b6002610d8a8161149f565b838214610dc3576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b848110156109dc57610e15868683818110610de257610de2611be1565b9050602002016020810190610df79190611891565b858584818110610e0957610e09611be1565b90506020020135611493565b600101610dc5565b610e26336113ba565b610e5c576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610e665f806116a3565b5f5b818110156108e5575f838383818110610e8357610e83611be1565b9050602002810190610e959190611dd4565b82546001810184555f938452602090932090920191610eb49183611b27565b50600101610e68565b6002610ec88161149f565b838214610f01576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b848110156109dc57610f53868683818110610f2057610f20611be1565b9050602002016020810190610f359190611891565b858584818110610f4757610f47611be1565b9050602002013561146e565b600101610f03565b5f81815481106106ee575f80fd5b610f72336113ba565b610fa8576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b5f54811015611085578282604051610fc3929190611e35565b60405180910390205f8281548110610fdd57610fdd611be1565b905f5260205f2001604051610ff29190611e44565b60405180910390200361107d575f805461100e90600190611ed3565b8154811061101e5761101e611be1565b905f5260205f20015f828154811061103857611038611be1565b905f5260205f2001908161104c9190611f0b565b505f80548061105d5761105d611fe3565b600190038181905f5260205f20015f61107691906116be565b9055505050565b600101610faa565b5081816040517f8cf9845e0000000000000000000000000000000000000000000000000000000081526004016108a1929190612010565b6110c5336113ba565b6110fb576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b600154811015611085578282604051611117929190611e35565b60405180910390206001828154811061113257611132611be1565b905f5260205f20016040516111479190611e44565b6040518091039020036111b45760018054611163908290611ed3565b8154811061117357611173611be1565b905f5260205f20016001828154811061118e5761118e611be1565b905f5260205f200190816111a29190611f0b565b50600180548061105d5761105d611fe3565b6001016110fd565b60606001805480602002602001604051908101604052809291908181526020015f905b82821015611287578382905f5260205f200180546111fc90611a5e565b80601f016020809104026020016040519081016040528092919081815260200182805461122890611a5e565b80156112735780601f1061124a57610100808354040283529160200191611273565b820191905f5260205f20905b81548152906001019060200180831161125657829003601f168201915b5050505050815260200190600101906111df565b50505050905090565b611298611479565b63389a75e1600c52805f526020600c2080544211156112be57636f5e88185f526004601cfd5b5f905561078f81611518565b6112d2611479565b8060601b6112e757637448fbae5f526004601cfd5b61078f81611518565b60605f805480602002602001604051908101604052809291908181526020015f905b82821015611287578382905f5260205f2001805461132f90611a5e565b80601f016020809104026020016040519081016040528092919081815260200182805461135b90611a5e565b80156113a65780601f1061137d576101008083540402835291602001916113a6565b820191905f5260205f20905b81548152906001019060200180831161138957829003601f168201915b505050505081526020019060010190611312565b5f8173ffffffffffffffffffffffffffffffffffffffff166113df638b78c6d8195490565b73ffffffffffffffffffffffffffffffffffffffff1614806106d95750638b78c6d8600c9081525f839052602090205460031615156106d9565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167fe2089f790000000000000000000000000000000000000000000000000000000014806106d957506106d982611562565b6107a482825f6115f8565b638b78c6d819543314610b13576382b429005f526004601cfd5b6107a4828260016115f8565b638b78c6d81954331461078f57638b78c6d8600c52335f52806020600c20541661078f576382b429005f526004601cfd5b73ffffffffffffffffffffffffffffffffffffffff16638b78c6d819819055805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b638b78c6d819805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f6ab67a0d0000000000000000000000000000000000000000000000000000000014806106d957507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316146106d9565b638b78c6d8600c52825f526020600c20805483811783611619575080841681185b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a3505050505050565b828054828255905f5260205f20908101928215611693579160200282015b828111156116935782518290611683908261203e565b509160200191906001019061166d565b5061169f9291506116f5565b5090565b5080545f8255905f5260205f209081019061078f91906116f5565b5080546116ca90611a5e565b5f825580601f106116d9575050565b601f0160209004905f5260205f209081019061078f9190611711565b8082111561169f575f61170882826116be565b506001016116f5565b5b8082111561169f575f8155600101611712565b5f60208284031215611735575f80fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611764575f80fd5b9392505050565b5f6020828403121561177b575f80fd5b5035919050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6117646020830184611782565b73ffffffffffffffffffffffffffffffffffffffff8116811461078f575f80fd5b5f80604083850312156117f4575f80fd5b82356117ff816117c2565b946020939093013593505050565b5f8083601f84011261181d575f80fd5b50813567ffffffffffffffff811115611834575f80fd5b60208301915083602082850101111561184b575f80fd5b9250929050565b5f8060208385031215611863575f80fd5b823567ffffffffffffffff811115611879575f80fd5b6118858582860161180d565b90969095509350505050565b5f602082840312156118a1575f80fd5b8135611764816117c2565b5f8083601f8401126118bc575f80fd5b50813567ffffffffffffffff8111156118d3575f80fd5b6020830191508360208260051b850101111561184b575f80fd5b5f805f8060408587031215611900575f80fd5b843567ffffffffffffffff811115611916575f80fd5b611922878288016118ac565b909550935050602085013567ffffffffffffffff811115611941575f80fd5b61194d878288016118ac565b95989497509550505050565b5f806020838503121561196a575f80fd5b823567ffffffffffffffff811115611980575f80fd5b611885858286016118ac565b5f805f6040848603121561199e575f80fd5b83356119a9816117c2565b9250602084013567ffffffffffffffff8111156119c4575f80fd5b6119d08682870161180d565b9497909650939450505050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b82811015611a52577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452611a3d858351611782565b94506020938401939190910190600101611a03565b50929695505050505050565b600181811c90821680611a7257607f821691505b602082108103611aa9577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b601f8211156108e557805f5260205f20601f840160051c81016020851015611b015750805b601f840160051c820191505b81811015611b20575f8155600101611b0d565b5050505050565b67ffffffffffffffff831115611b3f57611b3f611aaf565b611b5383611b4d8354611a5e565b83611adc565b5f601f841160018114611b84575f8515611b6d5750838201355b5f19600387901b1c1916600186901b178355611b20565b5f83815260208120601f198716915b82811015611bb35786850135825560209485019460019092019101611b93565b5086821015611bcf575f1960f88860031b161c19848701351681555b505060018560011b0183555050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f60208284031215611c1e575f80fd5b81358015158114611764575f80fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611c5657611c56611aaf565b604052919050565b5f82601f830112611c6d575f80fd5b813567ffffffffffffffff811115611c8757611c87611aaf565b8060051b611c9760208201611c2d565b91825260208185018101929081019086841115611cb2575f80fd5b6020860192505b83831015611d5457823567ffffffffffffffff811115611cd7575f80fd5b8601603f81018813611ce7575f80fd5b602081013567ffffffffffffffff811115611d0457611d04611aaf565b611d176020601f19601f84011601611c2d565b8181526040838301018a1015611d2b575f80fd5b816040840160208301375f60208383010152808552505050602082019150602083019250611cb9565b9695505050505050565b5f805f60608486031215611d70575f80fd5b8335611d7b816117c2565b9250602084013567ffffffffffffffff811115611d96575f80fd5b611da286828701611c5e565b925050604084013567ffffffffffffffff811115611dbe575f80fd5b611dca86828701611c5e565b9150509250925092565b5f8083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611e07575f80fd5b83018035915067ffffffffffffffff821115611e21575f80fd5b60200191503681900382131561184b575f80fd5b818382375f9101908152919050565b5f808354611e5181611a5e565b600182168015611e685760018114611e9b57611ec8565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083168652811515820286019350611ec8565b865f5260205f205f5b83811015611ec057815488820152600190910190602001611ea4565b505081860193505b509195945050505050565b818103818111156106d9577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b818103611f16575050565b611f208254611a5e565b67ffffffffffffffff811115611f3857611f38611aaf565b611f4c81611f468454611a5e565b84611adc565b5f601f821160018114611f80575f8315611f665750848201545b600184901b5f19600386901b1c198216175b855550611b20565b5f8581526020808220868352908220601f198616925b83811015611fb65782860154825560019586019590910190602001611f96565b5085831015611fd357818501545f19600388901b60f8161c191681555b5050505050600190811b01905550565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffd5b60208152816020820152818360408301375f818301604090810191909152601f909201601f19160101919050565b815167ffffffffffffffff81111561205857612058611aaf565b61206681611f468454611a5e565b6020601f821160018114612096575f8315611f66575081850151600184901b5f19600386901b1c19821617611f78565b5f84815260208120601f198516915b828110156120c557878501518255602094850194600190920191016120a5565b50848210156120e257868401515f19600387901b60f8161c191681555b50505050600190811b0190555056fea2646970667358221220d48533f46ace671d98fdf56917341f0f952e8e90be14ad403bdcaa880953d80864736f6c634300081a0033", t = { BASE_URL: "/", DEV: !1, MODE: "production", PROD: !0, SSR: !1, VITE_BOOST_MAINNET_SIGNER_EOA: "0xCBD0C302040bC803B4B2EDaF21Be0e49Deff5480", VITE_BOOST_TESTNET_SIGNER_EOA: "0xd63167e9db11B108940b2E8236581F961f33f396" }, s = class s extends U {
|
|
12
12
|
constructor() {
|
|
13
13
|
super(...arguments), this.abi = n;
|
|
14
14
|
}
|
|
@@ -247,14 +247,14 @@ const K = "0x6080604052348015600e575f80fd5b5060156019565b607c565b63409feecd19805
|
|
|
247
247
|
* @returns {Promise<{ hash: `0x${string}`; result: void; }>}
|
|
248
248
|
*/
|
|
249
249
|
async removeAllowlistIdRaw(f, b) {
|
|
250
|
-
const { request: e, result: a } = await
|
|
250
|
+
const { request: e, result: a } = await S(this._config, {
|
|
251
251
|
address: this.assertValidAddress(),
|
|
252
252
|
args: [f],
|
|
253
253
|
...this.optionallyAttachAccount(),
|
|
254
254
|
// biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
|
|
255
255
|
...b
|
|
256
256
|
});
|
|
257
|
-
return { hash: await
|
|
257
|
+
return { hash: await E(
|
|
258
258
|
this._config,
|
|
259
259
|
e
|
|
260
260
|
), result: a };
|
|
@@ -288,7 +288,7 @@ const K = "0x6080604052348015600e575f80fd5b5060156019565b607c565b63409feecd19805
|
|
|
288
288
|
// biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
|
|
289
289
|
...b
|
|
290
290
|
});
|
|
291
|
-
return { hash: await
|
|
291
|
+
return { hash: await V(
|
|
292
292
|
this._config,
|
|
293
293
|
e
|
|
294
294
|
), result: a };
|
|
@@ -303,7 +303,7 @@ const K = "0x6080604052348015600e575f80fd5b5060156019565b607c565b63409feecd19805
|
|
|
303
303
|
* @returns {Promise<boolean>} - True if the ID exists
|
|
304
304
|
*/
|
|
305
305
|
async hasAllowlistId(f, b) {
|
|
306
|
-
return await
|
|
306
|
+
return await L(this._config, {
|
|
307
307
|
address: this.assertValidAddress(),
|
|
308
308
|
args: [f],
|
|
309
309
|
...this.optionallyAttachAccount(),
|
|
@@ -321,7 +321,7 @@ const K = "0x6080604052348015600e575f80fd5b5060156019565b607c565b63409feecd19805
|
|
|
321
321
|
* @returns {Promise<boolean>} - True if the ID exists
|
|
322
322
|
*/
|
|
323
323
|
async hasDenylistId(f, b) {
|
|
324
|
-
return await
|
|
324
|
+
return await q(this._config, {
|
|
325
325
|
address: this.assertValidAddress(),
|
|
326
326
|
args: [f],
|
|
327
327
|
...this.optionallyAttachAccount(),
|
|
@@ -352,23 +352,23 @@ const K = "0x6080604052348015600e575f80fd5b5060156019565b607c565b63409feecd19805
|
|
|
352
352
|
}
|
|
353
353
|
return {
|
|
354
354
|
abi: n,
|
|
355
|
-
bytecode:
|
|
356
|
-
args: [
|
|
355
|
+
bytecode: j,
|
|
356
|
+
args: [z(e)],
|
|
357
357
|
...this.optionallyAttachAccount(a.account)
|
|
358
358
|
};
|
|
359
359
|
}
|
|
360
360
|
};
|
|
361
361
|
s.bases = {
|
|
362
362
|
...t != null && t.VITE_OFFCHAIN_ACCESS_LIST_BASE ? { 31337: void 0 } : {},
|
|
363
|
-
...
|
|
364
|
-
}, s.registryType =
|
|
363
|
+
...M
|
|
364
|
+
}, s.registryType = G.ALLOW_LIST;
|
|
365
365
|
let i = s;
|
|
366
|
-
function
|
|
366
|
+
function z({
|
|
367
367
|
owner: c,
|
|
368
368
|
allowlistIds: f,
|
|
369
369
|
denylistIds: b
|
|
370
370
|
}) {
|
|
371
|
-
return
|
|
371
|
+
return k(
|
|
372
372
|
[
|
|
373
373
|
{ type: "address", name: "owner" },
|
|
374
374
|
{ type: "string[]", name: "allowlistIds" },
|
|
@@ -391,26 +391,26 @@ class s0 extends h {
|
|
|
391
391
|
const [e, a] = this.validateDeploymentConfig({}, b);
|
|
392
392
|
return {
|
|
393
393
|
abi: H,
|
|
394
|
-
bytecode:
|
|
395
|
-
args: [
|
|
394
|
+
bytecode: J,
|
|
395
|
+
args: [Q({ owner: l, denied: [] })],
|
|
396
396
|
...this.optionallyAttachAccount(a.account)
|
|
397
397
|
};
|
|
398
398
|
}
|
|
399
399
|
}
|
|
400
400
|
const r = {
|
|
401
|
-
[
|
|
401
|
+
[B]: $,
|
|
402
402
|
[v]: h,
|
|
403
403
|
[P]: i
|
|
404
404
|
};
|
|
405
405
|
async function t0(c, f, b) {
|
|
406
406
|
const e = await x(c.config, {
|
|
407
|
-
abi:
|
|
407
|
+
abi: T,
|
|
408
408
|
functionName: "getComponentInterface",
|
|
409
409
|
address: f,
|
|
410
410
|
...b
|
|
411
411
|
}), a = r[e];
|
|
412
412
|
if (!a)
|
|
413
|
-
throw new
|
|
413
|
+
throw new W(
|
|
414
414
|
Object.keys(r),
|
|
415
415
|
e
|
|
416
416
|
);
|
|
@@ -421,6 +421,6 @@ export {
|
|
|
421
421
|
i as O,
|
|
422
422
|
s0 as a,
|
|
423
423
|
t0 as b,
|
|
424
|
-
|
|
424
|
+
z as p
|
|
425
425
|
};
|
|
426
|
-
//# sourceMappingURL=AllowList-
|
|
426
|
+
//# sourceMappingURL=AllowList-NPDlllP6.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AllowList-DiU7g4Hs.js","sources":["../src/AllowLists/OffchainAccessList.ts","../src/AllowLists/OpenAllowList.ts","../src/AllowLists/AllowList.ts"],"sourcesContent":["import {\n offchainAccessListAbi,\n readOffchainAccessListGetAllowListIds,\n readOffchainAccessListGetDenyListIds,\n readOffchainAccessListHasAllowListId,\n readOffchainAccessListHasDenyListId,\n readOffchainAccessListOwner,\n simulateOffchainAccessListAddAllowListId,\n simulateOffchainAccessListAddDenyListId,\n simulateOffchainAccessListRemoveAllowListId,\n simulateOffchainAccessListRemoveDenyListId,\n simulateOffchainAccessListSetAllowListIds,\n simulateOffchainAccessListSetDenyListIds,\n writeOffchainAccessListAddAllowListId,\n writeOffchainAccessListAddDenyListId,\n writeOffchainAccessListRemoveAllowListId,\n writeOffchainAccessListRemoveDenyListId,\n writeOffchainAccessListSetAllowListIds,\n writeOffchainAccessListSetDenyListIds,\n} from '@boostxyz/evm';\nimport { bytecode } from '@boostxyz/evm/artifacts/contracts/allowlists/OffchainAccessList.sol/OffchainAccessList.json';\nimport { getAccount } from '@wagmi/core';\nimport {\n type Address,\n type ContractEventName,\n type Hex,\n encodeAbiParameters,\n zeroAddress,\n} from 'viem';\nimport { OffchainAccessList as OffchainAccessListBases } from '../../dist/deployments.json';\nimport type {\n DeployableOptions,\n GenericDeployableParams,\n} from '../Deployable/Deployable';\nimport { DeployableTargetWithRBAC } from '../Deployable/DeployableTargetWithRBAC';\nimport { DeployableUnknownOwnerProvidedError } from '../errors';\nimport {\n type GenericLog,\n type ReadParams,\n RegistryType,\n type WriteParams,\n} from '../utils';\n\nexport { offchainAccessListAbi };\n\n/**\n * Object representation of a {@link OffchainAccessList} initialization payload.\n *\n * @export\n * @interface OffchainAccessListPayload\n * @typedef {OffchainAccessListPayload}\n */\nexport interface OffchainAccessListPayload {\n /**\n * The access list's owner\n *\n * @type {Address}\n */\n owner: Address;\n /**\n * List of off-chain allowlist IDs.\n *\n * @type {string[]}\n */\n allowlistIds: string[];\n /**\n * List of off-chain denylist IDs.\n *\n * @type {string[]}\n */\n denylistIds: string[];\n}\n\n/**\n * A generic `viem.Log` event with support for `OffchainAccessList` event types.\n *\n * @export\n * @typedef {OffchainAccessListLog}\n * @template {ContractEventName<typeof offchainAccessListAbi>} [event=ContractEventName<\n * typeof offchainAccessListAbi\n * >]\n */\nexport type OffchainAccessListLog<\n event extends ContractEventName<\n typeof offchainAccessListAbi\n > = ContractEventName<typeof offchainAccessListAbi>,\n> = GenericLog<typeof offchainAccessListAbi, event>;\n\n/**\n * An AllowList that links on-chain boosts to off-chain access lists stored in a database.\n * This implementation always allows everyone (returns true) but stores references to off-chain allowlist and denylist IDs.\n *\n * @export\n * @class OffchainAccessList\n * @typedef {OffchainAccessList}\n * @extends {DeployableTargetWithRBAC<OffchainAccessListPayload>}\n */\nexport class OffchainAccessList extends DeployableTargetWithRBAC<\n OffchainAccessListPayload,\n typeof offchainAccessListAbi\n> {\n public override readonly abi = offchainAccessListAbi;\n /**\n * @inheritdoc\n *\n * @public\n * @static\n * @type {Record<number, Address>}\n */\n public static override bases: Record<number, Address> = {\n ...(import.meta.env?.VITE_OFFCHAIN_ACCESS_LIST_BASE\n ? { 31337: import.meta.env.VITE_OFFCHAIN_ACCESS_LIST_BASE }\n : {}),\n ...(OffchainAccessListBases as Record<number, Address>),\n };\n /**\n * @inheritdoc\n *\n * @public\n * @static\n * @type {RegistryType}\n */\n public static override registryType: RegistryType = RegistryType.ALLOW_LIST;\n\n /**\n * Retrieves the owner\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<Address>} - The address of the owner\n */\n public async owner(params?: ReadParams): Promise<Address> {\n return await readOffchainAccessListOwner(this._config, {\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n address: this.assertValidAddress(),\n args: [],\n });\n }\n\n /**\n * Check if a user is authorized based on off-chain allowlists/denylists\n *\n * @public\n * @async\n * @param {Address} address - The address of the user\n * @param {?ReadParams} [params]\n * @returns {Promise<boolean>} - True if the user is allowed\n */\n public isAllowed(_address: Address, _params?: ReadParams) {\n // TODO: check address against offchain allowlist/denylist using api calls\n throw new Error(\n 'isAllowed() not available for OffchainAccessList, implementation should be done offchain',\n );\n }\n\n /**\n * Get all allowlist IDs\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<string[]>} - Array of allowlist IDs\n */\n public async getAllowlistIds(params?: ReadParams) {\n return await readOffchainAccessListGetAllowListIds(this._config, {\n address: this.assertValidAddress(),\n args: [],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * Get all denylist IDs\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<string[]>} - Array of denylist IDs\n */\n public async getDenylistIds(params?: ReadParams) {\n return await readOffchainAccessListGetDenyListIds(this._config, {\n address: this.assertValidAddress(),\n args: [],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * Set allowlist IDs, replacing all existing ones. This function can only be called by authorized users.\n *\n * @public\n * @async\n * @param {string[]} ids - The new allowlist IDs\n * @param {?WriteParams} [params]\n * @returns {Promise<void>}\n */\n public async setAllowlistIds(ids: string[], params?: WriteParams) {\n return await this.awaitResult(this.setAllowlistIdsRaw(ids, params));\n }\n\n /**\n * Set allowlist IDs, replacing all existing ones. This function can only be called by authorized users.\n *\n * @public\n * @async\n * @param {string[]} ids - The new allowlist IDs\n * @param {?WriteParams} [params]\n * @returns {Promise<{ hash: `0x${string}`; result: void; }>}\n */\n public async setAllowlistIdsRaw(ids: string[], params?: WriteParams) {\n const { request, result } = await simulateOffchainAccessListSetAllowListIds(\n this._config,\n {\n address: this.assertValidAddress(),\n args: [ids],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n },\n );\n const hash = await writeOffchainAccessListSetAllowListIds(\n this._config,\n request,\n );\n return { hash, result };\n }\n\n /**\n * Set denylist IDs, replacing all existing ones. This function can only be called by authorized users.\n *\n * @public\n * @async\n * @param {string[]} ids - The new denylist IDs\n * @param {?WriteParams} [params]\n * @returns {Promise<void>}\n */\n public async setDenylistIds(ids: string[], params?: WriteParams) {\n return await this.awaitResult(this.setDenylistIdsRaw(ids, params));\n }\n\n /**\n * Set denylist IDs, replacing all existing ones. This function can only be called by authorized users.\n *\n * @public\n * @async\n * @param {string[]} ids - The new denylist IDs\n * @param {?WriteParams} [params]\n * @returns {Promise<{ hash: `0x${string}`; result: void; }>}\n */\n public async setDenylistIdsRaw(ids: string[], params?: WriteParams) {\n const { request, result } = await simulateOffchainAccessListSetDenyListIds(\n this._config,\n {\n address: this.assertValidAddress(),\n args: [ids],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n },\n );\n const hash = await writeOffchainAccessListSetDenyListIds(\n this._config,\n request,\n );\n return { hash, result };\n }\n\n /**\n * Add a single allowlist ID. This function can only be called by authorized users.\n *\n * @public\n * @async\n * @param {string} id - The allowlist ID to add\n * @param {?WriteParams} [params]\n * @returns {Promise<void>}\n */\n public async addAllowlistId(id: string, params?: WriteParams) {\n return await this.awaitResult(this.addAllowlistIdRaw(id, params));\n }\n\n /**\n * Add a single allowlist ID. This function can only be called by authorized users.\n *\n * @public\n * @async\n * @param {string} id - The allowlist ID to add\n * @param {?WriteParams} [params]\n * @returns {Promise<{ hash: `0x${string}`; result: void; }>}\n */\n public async addAllowlistIdRaw(id: string, params?: WriteParams) {\n const { request, result } = await simulateOffchainAccessListAddAllowListId(\n this._config,\n {\n address: this.assertValidAddress(),\n args: [id],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n },\n );\n const hash = await writeOffchainAccessListAddAllowListId(\n this._config,\n request,\n );\n return { hash, result };\n }\n\n /**\n * Add a single denylist ID. This function can only be called by authorized users.\n *\n * @public\n * @async\n * @param {string} id - The denylist ID to add\n * @param {?WriteParams} [params]\n * @returns {Promise<void>}\n */\n public async addDenylistId(id: string, params?: WriteParams) {\n return await this.awaitResult(this.addDenylistIdRaw(id, params));\n }\n\n /**\n * Add a single denylist ID. This function can only be called by authorized users.\n *\n * @public\n * @async\n * @param {string} id - The denylist ID to add\n * @param {?WriteParams} [params]\n * @returns {Promise<{ hash: `0x${string}`; result: void; }>}\n */\n public async addDenylistIdRaw(id: string, params?: WriteParams) {\n const { request, result } = await simulateOffchainAccessListAddDenyListId(\n this._config,\n {\n address: this.assertValidAddress(),\n args: [id],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n },\n );\n const hash = await writeOffchainAccessListAddDenyListId(\n this._config,\n request,\n );\n return { hash, result };\n }\n\n /**\n * Remove a single allowlist ID. This function can only be called by authorized users.\n *\n * @public\n * @async\n * @param {string} id - The allowlist ID to remove\n * @param {?WriteParams} [params]\n * @returns {Promise<void>}\n */\n public async removeAllowlistId(id: string, params?: WriteParams) {\n return await this.awaitResult(this.removeAllowlistIdRaw(id, params));\n }\n\n /**\n * Remove a single allowlist ID. This function can only be called by authorized users.\n *\n * @public\n * @async\n * @param {string} id - The allowlist ID to remove\n * @param {?WriteParams} [params]\n * @returns {Promise<{ hash: `0x${string}`; result: void; }>}\n */\n public async removeAllowlistIdRaw(id: string, params?: WriteParams) {\n const { request, result } =\n await simulateOffchainAccessListRemoveAllowListId(this._config, {\n address: this.assertValidAddress(),\n args: [id],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n const hash = await writeOffchainAccessListRemoveAllowListId(\n this._config,\n request,\n );\n return { hash, result };\n }\n\n /**\n * Remove a single denylist ID. This function can only be called by authorized users.\n *\n * @public\n * @async\n * @param {string} id - The denylist ID to remove\n * @param {?WriteParams} [params]\n * @returns {Promise<void>}\n */\n public async removeDenylistId(id: string, params?: WriteParams) {\n return await this.awaitResult(this.removeDenylistIdRaw(id, params));\n }\n\n /**\n * Remove a single denylist ID. This function can only be called by authorized users.\n *\n * @public\n * @async\n * @param {string} id - The denylist ID to remove\n * @param {?WriteParams} [params]\n * @returns {Promise<{ hash: `0x${string}`; result: void; }>}\n */\n public async removeDenylistIdRaw(id: string, params?: WriteParams) {\n const { request, result } =\n await simulateOffchainAccessListRemoveDenyListId(this._config, {\n address: this.assertValidAddress(),\n args: [id],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n const hash = await writeOffchainAccessListRemoveDenyListId(\n this._config,\n request,\n );\n return { hash, result };\n }\n\n /**\n * Check if an allowlist ID exists\n *\n * @public\n * @async\n * @param {string} id - The allowlist ID to check\n * @param {?ReadParams} [params]\n * @returns {Promise<boolean>} - True if the ID exists\n */\n public async hasAllowlistId(\n id: string,\n params?: ReadParams,\n ): Promise<boolean> {\n return await readOffchainAccessListHasAllowListId(this._config, {\n address: this.assertValidAddress(),\n args: [id],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * Check if a denylist ID exists\n *\n * @public\n * @async\n * @param {string} id - The denylist ID to check\n * @param {?ReadParams} [params]\n * @returns {Promise<boolean>} - True if the ID exists\n */\n public async hasDenylistId(\n id: string,\n params?: ReadParams,\n ): Promise<boolean> {\n return await readOffchainAccessListHasDenyListId(this._config, {\n address: this.assertValidAddress(),\n args: [id],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * @inheritdoc\n *\n * @public\n * @param {?OffchainAccessListPayload} [_payload]\n * @param {?DeployableOptions} [_options]\n * @returns {GenericDeployableParams}\n */\n public override buildParameters(\n _payload?: OffchainAccessListPayload,\n _options?: DeployableOptions,\n ): GenericDeployableParams {\n const [payload, options] = this.validateDeploymentConfig(\n _payload,\n _options,\n );\n if (!payload.owner || payload.owner === zeroAddress) {\n const owner = options.account\n ? options.account.address\n : options.config\n ? getAccount(options.config).address\n : this._account?.address;\n if (owner) {\n payload.owner = owner;\n } else {\n throw new DeployableUnknownOwnerProvidedError();\n }\n }\n return {\n abi: offchainAccessListAbi,\n bytecode: bytecode as Hex,\n args: [prepareOffchainAccessListPayload(payload)],\n ...this.optionallyAttachAccount(options.account),\n };\n }\n}\n\n/**\n * Given a {@link OffchainAccessListPayload}, properly encode the initialization payload.\n *\n * @param {OffchainAccessListPayload} param0\n * @param {Address} param0.owner - The access list's owner\n * @param {string[]} param0.allowlistIds - List of off-chain allowlist IDs\n * @param {string[]} param0.denylistIds - List of off-chain denylist IDs\n * @returns {Hex}\n */\nexport function prepareOffchainAccessListPayload({\n owner,\n allowlistIds,\n denylistIds,\n}: OffchainAccessListPayload) {\n return encodeAbiParameters(\n [\n { type: 'address', name: 'owner' },\n { type: 'string[]', name: 'allowlistIds' },\n { type: 'string[]', name: 'denylistIds' },\n ],\n [owner, allowlistIds, denylistIds],\n );\n}\n","import { simpleDenyListAbi } from '@boostxyz/evm';\nimport { bytecode } from '@boostxyz/evm/artifacts/contracts/allowlists/SimpleDenyList.sol/SimpleDenyList.json';\nimport { type Hex, zeroAddress } from 'viem';\nimport type {\n DeployableOptions,\n GenericDeployableParams,\n} from '../Deployable/Deployable';\nimport {\n SimpleDenyList,\n type SimpleDenyListPayload,\n prepareSimpleDenyListPayload,\n} from './SimpleDenyList';\n\nexport const openAllowListAbi = simpleDenyListAbi;\n\n/**\n * A simple AllowList, extending {@link DenyList}, that is ownerless and allows anyone to claim.\n *\n * @export\n * @class OpenAllowList\n * @typedef {OpenAllowList}\n * @extends {DeployableTarget<OpenAllowListPayload>}\n */\nexport class OpenAllowList extends SimpleDenyList<undefined> {\n /**\n * @inheritdoc\n *\n * @public\n * @param {?SimpleDenyListPayload} [_payload]\n * @param {?DeployableOptions} [_options]\n * @returns {GenericDeployableParams}\n */\n public override buildParameters(\n _payload?: SimpleDenyListPayload,\n _options?: DeployableOptions,\n ): GenericDeployableParams {\n const [_, options] = this.validateDeploymentConfig({}, _options);\n return {\n abi: openAllowListAbi,\n bytecode: bytecode as Hex,\n args: [prepareSimpleDenyListPayload({ owner: zeroAddress, denied: [] })],\n ...this.optionallyAttachAccount(options.account),\n };\n }\n}\n","import { aAllowListAbi } from '@boostxyz/evm';\nimport {\n AOffchainAccessList,\n ASimpleAllowList,\n ASimpleDenyList,\n} from '@boostxyz/evm/deploys/componentInterfaces.json';\nimport { readContract } from '@wagmi/core';\nimport type { Address, Hex } from 'viem';\nimport type { DeployableOptions } from '../Deployable/Deployable';\nimport { InvalidComponentInterfaceError } from '../errors';\nimport type { ReadParams } from '../utils';\nimport { OffchainAccessList } from './OffchainAccessList';\nimport { OpenAllowList } from './OpenAllowList';\nimport { SimpleAllowList } from './SimpleAllowList';\nimport { SimpleDenyList } from './SimpleDenyList';\n\nexport { OffchainAccessList, OpenAllowList, SimpleAllowList, SimpleDenyList };\n\n/**\n * A union type representing all valid protocol AllowList implementations\n *\n * @export\n * @typedef {AllowList}\n */\nexport type AllowList =\n | OffchainAccessList\n | OpenAllowList\n | SimpleAllowList\n | SimpleDenyList;\n\n/**\n * A map of AllowList component interfaces to their constructors.\n *\n * @type {{ \"0x1392d798\": SimpleAllowList; \"0x3d30a22c\": SimpleDenyList; \"0x2a6b3c38\": OffchainAccessList; }}\n */\nexport const AllowListByComponentInterface = {\n [ASimpleAllowList as Hex]: SimpleAllowList,\n [ASimpleDenyList as Hex]: SimpleDenyList,\n [AOffchainAccessList as Hex]: OffchainAccessList,\n};\n\n/**\n * A function that will read a contract's component interface using `getComponentInterface` and return the correct instantiated instance.\n * This function will never return an instance of {@link OpenAllowList} because it has the same component interface as {@link SimpleDenyList}\n *\n * @export\n * @async\n * @param {DeployableOptions} options\n * @param {Address} address\n * @returns {Promise<SimpleAllowList | SimpleDenyList>}\n * @throws {@link InvalidComponentInterfaceError}\n */\nexport async function allowListFromAddress(\n options: DeployableOptions,\n address: Address,\n params?: ReadParams,\n) {\n const interfaceId = (await readContract(options.config, {\n abi: aAllowListAbi,\n functionName: 'getComponentInterface',\n address,\n ...params,\n })) as keyof typeof AllowListByComponentInterface;\n const Ctor = AllowListByComponentInterface[interfaceId];\n if (!Ctor) {\n throw new InvalidComponentInterfaceError(\n Object.keys(AllowListByComponentInterface) as Hex[],\n interfaceId as Hex,\n );\n }\n return new Ctor(options, address) as\n | SimpleDenyList\n | SimpleAllowList\n | OffchainAccessList;\n}\n"],"names":["_OffchainAccessList","DeployableTargetWithRBAC","offchainAccessListAbi","params","readOffchainAccessListOwner","_address","_params","readOffchainAccessListGetAllowListIds","readOffchainAccessListGetDenyListIds","ids","request","result","simulateOffchainAccessListSetAllowListIds","writeOffchainAccessListSetAllowListIds","simulateOffchainAccessListSetDenyListIds","writeOffchainAccessListSetDenyListIds","id","simulateOffchainAccessListAddAllowListId","writeOffchainAccessListAddAllowListId","simulateOffchainAccessListAddDenyListId","writeOffchainAccessListAddDenyListId","simulateOffchainAccessListRemoveAllowListId","writeOffchainAccessListRemoveAllowListId","simulateOffchainAccessListRemoveDenyListId","writeOffchainAccessListRemoveDenyListId","readOffchainAccessListHasAllowListId","readOffchainAccessListHasDenyListId","_payload","_options","payload","options","zeroAddress","owner","getAccount","_a","DeployableUnknownOwnerProvidedError","bytecode","prepareOffchainAccessListPayload","__vite_import_meta_env__","OffchainAccessListBases","RegistryType","OffchainAccessList","allowlistIds","denylistIds","encodeAbiParameters","openAllowListAbi","simpleDenyListAbi","OpenAllowList","SimpleDenyList","_","prepareSimpleDenyListPayload","AllowListByComponentInterface","ASimpleAllowList","SimpleAllowList","ASimpleDenyList","AOffchainAccessList","allowListFromAddress","address","interfaceId","readContract","aAllowListAbi","Ctor","InvalidComponentInterfaceError"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AllowList-NPDlllP6.js","sources":["../src/AllowLists/OffchainAccessList.ts","../src/AllowLists/OpenAllowList.ts","../src/AllowLists/AllowList.ts"],"sourcesContent":["import {\n offchainAccessListAbi,\n readOffchainAccessListGetAllowListIds,\n readOffchainAccessListGetDenyListIds,\n readOffchainAccessListHasAllowListId,\n readOffchainAccessListHasDenyListId,\n readOffchainAccessListOwner,\n simulateOffchainAccessListAddAllowListId,\n simulateOffchainAccessListAddDenyListId,\n simulateOffchainAccessListRemoveAllowListId,\n simulateOffchainAccessListRemoveDenyListId,\n simulateOffchainAccessListSetAllowListIds,\n simulateOffchainAccessListSetDenyListIds,\n writeOffchainAccessListAddAllowListId,\n writeOffchainAccessListAddDenyListId,\n writeOffchainAccessListRemoveAllowListId,\n writeOffchainAccessListRemoveDenyListId,\n writeOffchainAccessListSetAllowListIds,\n writeOffchainAccessListSetDenyListIds,\n} from '@boostxyz/evm';\nimport { bytecode } from '@boostxyz/evm/artifacts/contracts/allowlists/OffchainAccessList.sol/OffchainAccessList.json';\nimport { getAccount } from '@wagmi/core';\nimport {\n type Address,\n type ContractEventName,\n type Hex,\n encodeAbiParameters,\n zeroAddress,\n} from 'viem';\nimport { OffchainAccessList as OffchainAccessListBases } from '../../dist/deployments.json';\nimport type {\n DeployableOptions,\n GenericDeployableParams,\n} from '../Deployable/Deployable';\nimport { DeployableTargetWithRBAC } from '../Deployable/DeployableTargetWithRBAC';\nimport { DeployableUnknownOwnerProvidedError } from '../errors';\nimport {\n type GenericLog,\n type ReadParams,\n RegistryType,\n type WriteParams,\n} from '../utils';\n\nexport { offchainAccessListAbi };\n\n/**\n * Object representation of a {@link OffchainAccessList} initialization payload.\n *\n * @export\n * @interface OffchainAccessListPayload\n * @typedef {OffchainAccessListPayload}\n */\nexport interface OffchainAccessListPayload {\n /**\n * The access list's owner\n *\n * @type {Address}\n */\n owner: Address;\n /**\n * List of off-chain allowlist IDs.\n *\n * @type {string[]}\n */\n allowlistIds: string[];\n /**\n * List of off-chain denylist IDs.\n *\n * @type {string[]}\n */\n denylistIds: string[];\n}\n\n/**\n * A generic `viem.Log` event with support for `OffchainAccessList` event types.\n *\n * @export\n * @typedef {OffchainAccessListLog}\n * @template {ContractEventName<typeof offchainAccessListAbi>} [event=ContractEventName<\n * typeof offchainAccessListAbi\n * >]\n */\nexport type OffchainAccessListLog<\n event extends ContractEventName<\n typeof offchainAccessListAbi\n > = ContractEventName<typeof offchainAccessListAbi>,\n> = GenericLog<typeof offchainAccessListAbi, event>;\n\n/**\n * An AllowList that links on-chain boosts to off-chain access lists stored in a database.\n * This implementation always allows everyone (returns true) but stores references to off-chain allowlist and denylist IDs.\n *\n * @export\n * @class OffchainAccessList\n * @typedef {OffchainAccessList}\n * @extends {DeployableTargetWithRBAC<OffchainAccessListPayload>}\n */\nexport class OffchainAccessList extends DeployableTargetWithRBAC<\n OffchainAccessListPayload,\n typeof offchainAccessListAbi\n> {\n public override readonly abi = offchainAccessListAbi;\n /**\n * @inheritdoc\n *\n * @public\n * @static\n * @type {Record<number, Address>}\n */\n public static override bases: Record<number, Address> = {\n ...(import.meta.env?.VITE_OFFCHAIN_ACCESS_LIST_BASE\n ? { 31337: import.meta.env.VITE_OFFCHAIN_ACCESS_LIST_BASE }\n : {}),\n ...(OffchainAccessListBases as Record<number, Address>),\n };\n /**\n * @inheritdoc\n *\n * @public\n * @static\n * @type {RegistryType}\n */\n public static override registryType: RegistryType = RegistryType.ALLOW_LIST;\n\n /**\n * Retrieves the owner\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<Address>} - The address of the owner\n */\n public async owner(params?: ReadParams): Promise<Address> {\n return await readOffchainAccessListOwner(this._config, {\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n address: this.assertValidAddress(),\n args: [],\n });\n }\n\n /**\n * Check if a user is authorized based on off-chain allowlists/denylists\n *\n * @public\n * @async\n * @param {Address} address - The address of the user\n * @param {?ReadParams} [params]\n * @returns {Promise<boolean>} - True if the user is allowed\n */\n public isAllowed(_address: Address, _params?: ReadParams) {\n // TODO: check address against offchain allowlist/denylist using api calls\n throw new Error(\n 'isAllowed() not available for OffchainAccessList, implementation should be done offchain',\n );\n }\n\n /**\n * Get all allowlist IDs\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<string[]>} - Array of allowlist IDs\n */\n public async getAllowlistIds(params?: ReadParams) {\n return await readOffchainAccessListGetAllowListIds(this._config, {\n address: this.assertValidAddress(),\n args: [],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * Get all denylist IDs\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<string[]>} - Array of denylist IDs\n */\n public async getDenylistIds(params?: ReadParams) {\n return await readOffchainAccessListGetDenyListIds(this._config, {\n address: this.assertValidAddress(),\n args: [],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * Set allowlist IDs, replacing all existing ones. This function can only be called by authorized users.\n *\n * @public\n * @async\n * @param {string[]} ids - The new allowlist IDs\n * @param {?WriteParams} [params]\n * @returns {Promise<void>}\n */\n public async setAllowlistIds(ids: string[], params?: WriteParams) {\n return await this.awaitResult(this.setAllowlistIdsRaw(ids, params));\n }\n\n /**\n * Set allowlist IDs, replacing all existing ones. This function can only be called by authorized users.\n *\n * @public\n * @async\n * @param {string[]} ids - The new allowlist IDs\n * @param {?WriteParams} [params]\n * @returns {Promise<{ hash: `0x${string}`; result: void; }>}\n */\n public async setAllowlistIdsRaw(ids: string[], params?: WriteParams) {\n const { request, result } = await simulateOffchainAccessListSetAllowListIds(\n this._config,\n {\n address: this.assertValidAddress(),\n args: [ids],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n },\n );\n const hash = await writeOffchainAccessListSetAllowListIds(\n this._config,\n request,\n );\n return { hash, result };\n }\n\n /**\n * Set denylist IDs, replacing all existing ones. This function can only be called by authorized users.\n *\n * @public\n * @async\n * @param {string[]} ids - The new denylist IDs\n * @param {?WriteParams} [params]\n * @returns {Promise<void>}\n */\n public async setDenylistIds(ids: string[], params?: WriteParams) {\n return await this.awaitResult(this.setDenylistIdsRaw(ids, params));\n }\n\n /**\n * Set denylist IDs, replacing all existing ones. This function can only be called by authorized users.\n *\n * @public\n * @async\n * @param {string[]} ids - The new denylist IDs\n * @param {?WriteParams} [params]\n * @returns {Promise<{ hash: `0x${string}`; result: void; }>}\n */\n public async setDenylistIdsRaw(ids: string[], params?: WriteParams) {\n const { request, result } = await simulateOffchainAccessListSetDenyListIds(\n this._config,\n {\n address: this.assertValidAddress(),\n args: [ids],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n },\n );\n const hash = await writeOffchainAccessListSetDenyListIds(\n this._config,\n request,\n );\n return { hash, result };\n }\n\n /**\n * Add a single allowlist ID. This function can only be called by authorized users.\n *\n * @public\n * @async\n * @param {string} id - The allowlist ID to add\n * @param {?WriteParams} [params]\n * @returns {Promise<void>}\n */\n public async addAllowlistId(id: string, params?: WriteParams) {\n return await this.awaitResult(this.addAllowlistIdRaw(id, params));\n }\n\n /**\n * Add a single allowlist ID. This function can only be called by authorized users.\n *\n * @public\n * @async\n * @param {string} id - The allowlist ID to add\n * @param {?WriteParams} [params]\n * @returns {Promise<{ hash: `0x${string}`; result: void; }>}\n */\n public async addAllowlistIdRaw(id: string, params?: WriteParams) {\n const { request, result } = await simulateOffchainAccessListAddAllowListId(\n this._config,\n {\n address: this.assertValidAddress(),\n args: [id],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n },\n );\n const hash = await writeOffchainAccessListAddAllowListId(\n this._config,\n request,\n );\n return { hash, result };\n }\n\n /**\n * Add a single denylist ID. This function can only be called by authorized users.\n *\n * @public\n * @async\n * @param {string} id - The denylist ID to add\n * @param {?WriteParams} [params]\n * @returns {Promise<void>}\n */\n public async addDenylistId(id: string, params?: WriteParams) {\n return await this.awaitResult(this.addDenylistIdRaw(id, params));\n }\n\n /**\n * Add a single denylist ID. This function can only be called by authorized users.\n *\n * @public\n * @async\n * @param {string} id - The denylist ID to add\n * @param {?WriteParams} [params]\n * @returns {Promise<{ hash: `0x${string}`; result: void; }>}\n */\n public async addDenylistIdRaw(id: string, params?: WriteParams) {\n const { request, result } = await simulateOffchainAccessListAddDenyListId(\n this._config,\n {\n address: this.assertValidAddress(),\n args: [id],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n },\n );\n const hash = await writeOffchainAccessListAddDenyListId(\n this._config,\n request,\n );\n return { hash, result };\n }\n\n /**\n * Remove a single allowlist ID. This function can only be called by authorized users.\n *\n * @public\n * @async\n * @param {string} id - The allowlist ID to remove\n * @param {?WriteParams} [params]\n * @returns {Promise<void>}\n */\n public async removeAllowlistId(id: string, params?: WriteParams) {\n return await this.awaitResult(this.removeAllowlistIdRaw(id, params));\n }\n\n /**\n * Remove a single allowlist ID. This function can only be called by authorized users.\n *\n * @public\n * @async\n * @param {string} id - The allowlist ID to remove\n * @param {?WriteParams} [params]\n * @returns {Promise<{ hash: `0x${string}`; result: void; }>}\n */\n public async removeAllowlistIdRaw(id: string, params?: WriteParams) {\n const { request, result } =\n await simulateOffchainAccessListRemoveAllowListId(this._config, {\n address: this.assertValidAddress(),\n args: [id],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n const hash = await writeOffchainAccessListRemoveAllowListId(\n this._config,\n request,\n );\n return { hash, result };\n }\n\n /**\n * Remove a single denylist ID. This function can only be called by authorized users.\n *\n * @public\n * @async\n * @param {string} id - The denylist ID to remove\n * @param {?WriteParams} [params]\n * @returns {Promise<void>}\n */\n public async removeDenylistId(id: string, params?: WriteParams) {\n return await this.awaitResult(this.removeDenylistIdRaw(id, params));\n }\n\n /**\n * Remove a single denylist ID. This function can only be called by authorized users.\n *\n * @public\n * @async\n * @param {string} id - The denylist ID to remove\n * @param {?WriteParams} [params]\n * @returns {Promise<{ hash: `0x${string}`; result: void; }>}\n */\n public async removeDenylistIdRaw(id: string, params?: WriteParams) {\n const { request, result } =\n await simulateOffchainAccessListRemoveDenyListId(this._config, {\n address: this.assertValidAddress(),\n args: [id],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n const hash = await writeOffchainAccessListRemoveDenyListId(\n this._config,\n request,\n );\n return { hash, result };\n }\n\n /**\n * Check if an allowlist ID exists\n *\n * @public\n * @async\n * @param {string} id - The allowlist ID to check\n * @param {?ReadParams} [params]\n * @returns {Promise<boolean>} - True if the ID exists\n */\n public async hasAllowlistId(\n id: string,\n params?: ReadParams,\n ): Promise<boolean> {\n return await readOffchainAccessListHasAllowListId(this._config, {\n address: this.assertValidAddress(),\n args: [id],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * Check if a denylist ID exists\n *\n * @public\n * @async\n * @param {string} id - The denylist ID to check\n * @param {?ReadParams} [params]\n * @returns {Promise<boolean>} - True if the ID exists\n */\n public async hasDenylistId(\n id: string,\n params?: ReadParams,\n ): Promise<boolean> {\n return await readOffchainAccessListHasDenyListId(this._config, {\n address: this.assertValidAddress(),\n args: [id],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * @inheritdoc\n *\n * @public\n * @param {?OffchainAccessListPayload} [_payload]\n * @param {?DeployableOptions} [_options]\n * @returns {GenericDeployableParams}\n */\n public override buildParameters(\n _payload?: OffchainAccessListPayload,\n _options?: DeployableOptions,\n ): GenericDeployableParams {\n const [payload, options] = this.validateDeploymentConfig(\n _payload,\n _options,\n );\n if (!payload.owner || payload.owner === zeroAddress) {\n const owner = options.account\n ? options.account.address\n : options.config\n ? getAccount(options.config).address\n : this._account?.address;\n if (owner) {\n payload.owner = owner;\n } else {\n throw new DeployableUnknownOwnerProvidedError();\n }\n }\n return {\n abi: offchainAccessListAbi,\n bytecode: bytecode as Hex,\n args: [prepareOffchainAccessListPayload(payload)],\n ...this.optionallyAttachAccount(options.account),\n };\n }\n}\n\n/**\n * Given a {@link OffchainAccessListPayload}, properly encode the initialization payload.\n *\n * @param {OffchainAccessListPayload} param0\n * @param {Address} param0.owner - The access list's owner\n * @param {string[]} param0.allowlistIds - List of off-chain allowlist IDs\n * @param {string[]} param0.denylistIds - List of off-chain denylist IDs\n * @returns {Hex}\n */\nexport function prepareOffchainAccessListPayload({\n owner,\n allowlistIds,\n denylistIds,\n}: OffchainAccessListPayload) {\n return encodeAbiParameters(\n [\n { type: 'address', name: 'owner' },\n { type: 'string[]', name: 'allowlistIds' },\n { type: 'string[]', name: 'denylistIds' },\n ],\n [owner, allowlistIds, denylistIds],\n );\n}\n","import { simpleDenyListAbi } from '@boostxyz/evm';\nimport { bytecode } from '@boostxyz/evm/artifacts/contracts/allowlists/SimpleDenyList.sol/SimpleDenyList.json';\nimport { type Hex, zeroAddress } from 'viem';\nimport type {\n DeployableOptions,\n GenericDeployableParams,\n} from '../Deployable/Deployable';\nimport {\n SimpleDenyList,\n type SimpleDenyListPayload,\n prepareSimpleDenyListPayload,\n} from './SimpleDenyList';\n\nexport const openAllowListAbi = simpleDenyListAbi;\n\n/**\n * A simple AllowList, extending {@link DenyList}, that is ownerless and allows anyone to claim.\n *\n * @export\n * @class OpenAllowList\n * @typedef {OpenAllowList}\n * @extends {DeployableTarget<OpenAllowListPayload>}\n */\nexport class OpenAllowList extends SimpleDenyList<undefined> {\n /**\n * @inheritdoc\n *\n * @public\n * @param {?SimpleDenyListPayload} [_payload]\n * @param {?DeployableOptions} [_options]\n * @returns {GenericDeployableParams}\n */\n public override buildParameters(\n _payload?: SimpleDenyListPayload,\n _options?: DeployableOptions,\n ): GenericDeployableParams {\n const [_, options] = this.validateDeploymentConfig({}, _options);\n return {\n abi: openAllowListAbi,\n bytecode: bytecode as Hex,\n args: [prepareSimpleDenyListPayload({ owner: zeroAddress, denied: [] })],\n ...this.optionallyAttachAccount(options.account),\n };\n }\n}\n","import { aAllowListAbi } from '@boostxyz/evm';\nimport {\n AOffchainAccessList,\n ASimpleAllowList,\n ASimpleDenyList,\n} from '@boostxyz/evm/deploys/componentInterfaces.json';\nimport { readContract } from '@wagmi/core';\nimport type { Address, Hex } from 'viem';\nimport type { DeployableOptions } from '../Deployable/Deployable';\nimport { InvalidComponentInterfaceError } from '../errors';\nimport type { ReadParams } from '../utils';\nimport { OffchainAccessList } from './OffchainAccessList';\nimport { OpenAllowList } from './OpenAllowList';\nimport { SimpleAllowList } from './SimpleAllowList';\nimport { SimpleDenyList } from './SimpleDenyList';\n\nexport { OffchainAccessList, OpenAllowList, SimpleAllowList, SimpleDenyList };\n\n/**\n * A union type representing all valid protocol AllowList implementations\n *\n * @export\n * @typedef {AllowList}\n */\nexport type AllowList =\n | OffchainAccessList\n | OpenAllowList\n | SimpleAllowList\n | SimpleDenyList;\n\n/**\n * A map of AllowList component interfaces to their constructors.\n *\n * @type {{ \"0x1392d798\": SimpleAllowList; \"0x3d30a22c\": SimpleDenyList; \"0x2a6b3c38\": OffchainAccessList; }}\n */\nexport const AllowListByComponentInterface = {\n [ASimpleAllowList as Hex]: SimpleAllowList,\n [ASimpleDenyList as Hex]: SimpleDenyList,\n [AOffchainAccessList as Hex]: OffchainAccessList,\n};\n\n/**\n * A function that will read a contract's component interface using `getComponentInterface` and return the correct instantiated instance.\n * This function will never return an instance of {@link OpenAllowList} because it has the same component interface as {@link SimpleDenyList}\n *\n * @export\n * @async\n * @param {DeployableOptions} options\n * @param {Address} address\n * @returns {Promise<SimpleAllowList | SimpleDenyList>}\n * @throws {@link InvalidComponentInterfaceError}\n */\nexport async function allowListFromAddress(\n options: DeployableOptions,\n address: Address,\n params?: ReadParams,\n) {\n const interfaceId = (await readContract(options.config, {\n abi: aAllowListAbi,\n functionName: 'getComponentInterface',\n address,\n ...params,\n })) as keyof typeof AllowListByComponentInterface;\n const Ctor = AllowListByComponentInterface[interfaceId];\n if (!Ctor) {\n throw new InvalidComponentInterfaceError(\n Object.keys(AllowListByComponentInterface) as Hex[],\n interfaceId as Hex,\n );\n }\n return new Ctor(options, address) as\n | SimpleDenyList\n | SimpleAllowList\n | OffchainAccessList;\n}\n"],"names":["_OffchainAccessList","DeployableTargetWithRBAC","offchainAccessListAbi","params","readOffchainAccessListOwner","_address","_params","readOffchainAccessListGetAllowListIds","readOffchainAccessListGetDenyListIds","ids","request","result","simulateOffchainAccessListSetAllowListIds","writeOffchainAccessListSetAllowListIds","simulateOffchainAccessListSetDenyListIds","writeOffchainAccessListSetDenyListIds","id","simulateOffchainAccessListAddAllowListId","writeOffchainAccessListAddAllowListId","simulateOffchainAccessListAddDenyListId","writeOffchainAccessListAddDenyListId","simulateOffchainAccessListRemoveAllowListId","writeOffchainAccessListRemoveAllowListId","simulateOffchainAccessListRemoveDenyListId","writeOffchainAccessListRemoveDenyListId","readOffchainAccessListHasAllowListId","readOffchainAccessListHasDenyListId","_payload","_options","payload","options","zeroAddress","owner","getAccount","_a","DeployableUnknownOwnerProvidedError","bytecode","prepareOffchainAccessListPayload","__vite_import_meta_env__","OffchainAccessListBases","RegistryType","OffchainAccessList","allowlistIds","denylistIds","encodeAbiParameters","openAllowListAbi","simpleDenyListAbi","OpenAllowList","SimpleDenyList","_","prepareSimpleDenyListPayload","AllowListByComponentInterface","ASimpleAllowList","SimpleAllowList","ASimpleDenyList","AOffchainAccessList","allowListFromAddress","address","interfaceId","readContract","aAllowListAbi","Ctor","InvalidComponentInterfaceError"],"mappings":"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"}
|