@boostxyz/sdk 1.1.0-alpha.22 → 1.1.0-alpha.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (150) hide show
  1. package/dist/Actions/Action.cjs +1 -1
  2. package/dist/Actions/Action.cjs.map +1 -1
  3. package/dist/Actions/Action.js +6 -6
  4. package/dist/Actions/EventAction.cjs +1 -1
  5. package/dist/Actions/EventAction.cjs.map +1 -1
  6. package/dist/Actions/EventAction.d.ts +36 -6
  7. package/dist/Actions/EventAction.d.ts.map +1 -1
  8. package/dist/Actions/EventAction.js +846 -15
  9. package/dist/Actions/EventAction.js.map +1 -1
  10. package/dist/AllowLists/AllowList.cjs +1 -1
  11. package/dist/AllowLists/AllowList.js +2 -2
  12. package/dist/AllowLists/OpenAllowList.d.ts +28 -28
  13. package/dist/AllowLists/SimpleAllowList.cjs +1 -1
  14. package/dist/AllowLists/SimpleAllowList.cjs.map +1 -1
  15. package/dist/AllowLists/SimpleAllowList.d.ts +28 -28
  16. package/dist/AllowLists/SimpleAllowList.d.ts.map +1 -1
  17. package/dist/AllowLists/SimpleAllowList.js +11 -10
  18. package/dist/AllowLists/SimpleAllowList.js.map +1 -1
  19. package/dist/AllowLists/SimpleDenyList.cjs +1 -1
  20. package/dist/AllowLists/SimpleDenyList.d.ts +28 -28
  21. package/dist/AllowLists/SimpleDenyList.d.ts.map +1 -1
  22. package/dist/AllowLists/SimpleDenyList.js +3 -3
  23. package/dist/Auth/PassthroughAuth.cjs +1 -1
  24. package/dist/Auth/PassthroughAuth.js +1 -1
  25. package/dist/BoostCore-Btl5BdAs.cjs +3 -0
  26. package/dist/BoostCore-Btl5BdAs.cjs.map +1 -0
  27. package/dist/{BoostCore-BVZExPPu.js → BoostCore-CD56zbYX.js} +1678 -499
  28. package/dist/BoostCore-CD56zbYX.js.map +1 -0
  29. package/dist/BoostCore.cjs +1 -1
  30. package/dist/BoostCore.d.ts +7 -7
  31. package/dist/BoostCore.d.ts.map +1 -1
  32. package/dist/BoostCore.js +6 -6
  33. package/dist/BoostRegistry.cjs +1 -1
  34. package/dist/BoostRegistry.cjs.map +1 -1
  35. package/dist/BoostRegistry.d.ts +6 -6
  36. package/dist/BoostRegistry.d.ts.map +1 -1
  37. package/dist/BoostRegistry.js +50 -50
  38. package/dist/BoostRegistry.js.map +1 -1
  39. package/dist/Budgets/Budget.cjs +1 -1
  40. package/dist/Budgets/Budget.js +1 -1
  41. package/dist/Budgets/ManagedBudget.cjs +1 -1
  42. package/dist/Budgets/ManagedBudget.cjs.map +1 -1
  43. package/dist/Budgets/ManagedBudget.d.ts +28 -28
  44. package/dist/Budgets/ManagedBudget.d.ts.map +1 -1
  45. package/dist/Budgets/ManagedBudget.js +30 -29
  46. package/dist/Budgets/ManagedBudget.js.map +1 -1
  47. package/dist/Budgets/VestingBudget.d.ts +28 -28
  48. package/dist/Budgets/VestingBudget.d.ts.map +1 -1
  49. package/dist/Deployable/DeployableTarget.cjs +1 -1
  50. package/dist/Deployable/DeployableTarget.js +1 -1
  51. package/dist/Deployable/DeployableTargetWithRBAC.cjs +1 -1
  52. package/dist/Deployable/DeployableTargetWithRBAC.cjs.map +1 -1
  53. package/dist/Deployable/DeployableTargetWithRBAC.d.ts +92 -23
  54. package/dist/Deployable/DeployableTargetWithRBAC.d.ts.map +1 -1
  55. package/dist/Deployable/DeployableTargetWithRBAC.js +145 -47
  56. package/dist/Deployable/DeployableTargetWithRBAC.js.map +1 -1
  57. package/dist/{Incentive-BhHaK3PZ.cjs → Incentive-CcnOIc8L.cjs} +2 -2
  58. package/dist/{Incentive-BhHaK3PZ.cjs.map → Incentive-CcnOIc8L.cjs.map} +1 -1
  59. package/dist/{Incentive-Cqg1w6wD.js → Incentive-rM5nKznp.js} +30 -29
  60. package/dist/{Incentive-Cqg1w6wD.js.map → Incentive-rM5nKznp.js.map} +1 -1
  61. package/dist/Incentives/AllowListIncentive.cjs +1 -1
  62. package/dist/Incentives/AllowListIncentive.cjs.map +1 -1
  63. package/dist/Incentives/AllowListIncentive.d.ts.map +1 -1
  64. package/dist/Incentives/AllowListIncentive.js +11 -10
  65. package/dist/Incentives/AllowListIncentive.js.map +1 -1
  66. package/dist/Incentives/CGDAIncentive.cjs +1 -1
  67. package/dist/Incentives/CGDAIncentive.cjs.map +1 -1
  68. package/dist/Incentives/CGDAIncentive.d.ts +28 -28
  69. package/dist/Incentives/CGDAIncentive.d.ts.map +1 -1
  70. package/dist/Incentives/CGDAIncentive.js +12 -11
  71. package/dist/Incentives/CGDAIncentive.js.map +1 -1
  72. package/dist/Incentives/ERC1155Incentive.d.ts +28 -28
  73. package/dist/Incentives/ERC1155Incentive.d.ts.map +1 -1
  74. package/dist/Incentives/ERC20Incentive.cjs +1 -1
  75. package/dist/Incentives/ERC20Incentive.cjs.map +1 -1
  76. package/dist/Incentives/ERC20Incentive.d.ts +34 -31
  77. package/dist/Incentives/ERC20Incentive.d.ts.map +1 -1
  78. package/dist/Incentives/ERC20Incentive.js +30 -27
  79. package/dist/Incentives/ERC20Incentive.js.map +1 -1
  80. package/dist/Incentives/ERC20VariableCriteriaIncentive.d.ts +28 -28
  81. package/dist/Incentives/ERC20VariableCriteriaIncentive.d.ts.map +1 -1
  82. package/dist/Incentives/ERC20VariableIncentive.d.ts +28 -28
  83. package/dist/Incentives/ERC20VariableIncentive.d.ts.map +1 -1
  84. package/dist/Incentives/Incentive.cjs +1 -1
  85. package/dist/Incentives/Incentive.js +2 -2
  86. package/dist/Incentives/PointsIncentive.cjs +1 -1
  87. package/dist/Incentives/PointsIncentive.cjs.map +1 -1
  88. package/dist/Incentives/PointsIncentive.d.ts.map +1 -1
  89. package/dist/Incentives/PointsIncentive.js +12 -11
  90. package/dist/Incentives/PointsIncentive.js.map +1 -1
  91. package/dist/{SimpleDenyList-CGaWjuld.js → SimpleDenyList-BDXpY74P.js} +18 -17
  92. package/dist/SimpleDenyList-BDXpY74P.js.map +1 -0
  93. package/dist/{SimpleDenyList-BUR17Tt1.cjs → SimpleDenyList-DNj5qDWM.cjs} +2 -2
  94. package/dist/SimpleDenyList-DNj5qDWM.cjs.map +1 -0
  95. package/dist/Validators/SignerValidator.cjs +1 -1
  96. package/dist/Validators/SignerValidator.cjs.map +1 -1
  97. package/dist/Validators/SignerValidator.d.ts.map +1 -1
  98. package/dist/Validators/SignerValidator.js +13 -12
  99. package/dist/Validators/SignerValidator.js.map +1 -1
  100. package/dist/Validators/Validator.cjs +1 -1
  101. package/dist/Validators/Validator.js +1 -1
  102. package/dist/deployments-DF_6-7hH.cjs +2 -0
  103. package/dist/deployments-DF_6-7hH.cjs.map +1 -0
  104. package/dist/deployments-fJsWblwS.js +56 -0
  105. package/dist/deployments-fJsWblwS.js.map +1 -0
  106. package/dist/deployments.json +26 -12
  107. package/dist/{generated-CKt2yCQd.js → generated-CsNyWPKA.js} +458 -443
  108. package/dist/generated-CsNyWPKA.js.map +1 -0
  109. package/dist/generated-DHerxf1y.cjs +3 -0
  110. package/dist/generated-DHerxf1y.cjs.map +1 -0
  111. package/dist/index.cjs +1 -1
  112. package/dist/index.js +116 -115
  113. package/package.json +4 -4
  114. package/src/Actions/EventAction.test.ts +384 -119
  115. package/src/Actions/EventAction.ts +76 -35
  116. package/src/AllowLists/SimpleAllowList.ts +1 -0
  117. package/src/AllowLists/SimpleDenyList.ts +1 -0
  118. package/src/BoostCore.test.ts +78 -78
  119. package/src/BoostCore.ts +19 -13
  120. package/src/BoostRegistry.ts +10 -10
  121. package/src/Budgets/ManagedBudget.test.ts +41 -17
  122. package/src/Budgets/ManagedBudget.ts +1 -11
  123. package/src/Budgets/VestingBudget.ts +3 -1
  124. package/src/Deployable/DeployableTargetWithRBAC.test.ts +103 -0
  125. package/src/Deployable/DeployableTargetWithRBAC.ts +160 -36
  126. package/src/Incentives/AllowListIncentive.test.ts +7 -7
  127. package/src/Incentives/AllowListIncentive.ts +1 -0
  128. package/src/Incentives/CGDAIncentive.ts +1 -0
  129. package/src/Incentives/ERC1155Incentive.ts +3 -1
  130. package/src/Incentives/ERC20Incentive.ts +10 -3
  131. package/src/Incentives/ERC20VariableCriteriaIncentive.ts +1 -0
  132. package/src/Incentives/ERC20VariableIncentive.ts +1 -0
  133. package/src/Incentives/PointsIncentive.ts +1 -0
  134. package/src/Validators/SignerValidator.ts +1 -0
  135. package/dist/BoostCore-BVZExPPu.js.map +0 -1
  136. package/dist/BoostCore-D-E-cnGI.cjs +0 -3
  137. package/dist/BoostCore-D-E-cnGI.cjs.map +0 -1
  138. package/dist/EventAction-BZt5cjbe.cjs +0 -2
  139. package/dist/EventAction-BZt5cjbe.cjs.map +0 -1
  140. package/dist/EventAction-C_-hJXWm.js +0 -1541
  141. package/dist/EventAction-C_-hJXWm.js.map +0 -1
  142. package/dist/SimpleDenyList-BUR17Tt1.cjs.map +0 -1
  143. package/dist/SimpleDenyList-CGaWjuld.js.map +0 -1
  144. package/dist/deployments-DVXioW2i.cjs +0 -2
  145. package/dist/deployments-DVXioW2i.cjs.map +0 -1
  146. package/dist/deployments-oykLv3_Z.js +0 -43
  147. package/dist/deployments-oykLv3_Z.js.map +0 -1
  148. package/dist/generated-CKt2yCQd.js.map +0 -1
  149. package/dist/generated-CyTNlOwM.cjs +0 -3
  150. package/dist/generated-CyTNlOwM.cjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"EventAction.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
1
+ {"version":3,"file":"EventAction.js","sources":["../../../../node_modules/.pnpm/ts-pattern@5.4.0/node_modules/ts-pattern/dist/index.js","../../src/Actions/EventAction.ts"],"sourcesContent":["const t=Symbol.for(\"@ts-pattern/matcher\"),e=Symbol.for(\"@ts-pattern/isVariadic\"),n=\"@ts-pattern/anonymous-select-key\",r=t=>Boolean(t&&\"object\"==typeof t),i=e=>e&&!!e[t],s=(n,o,c)=>{if(i(n)){const e=n[t](),{matched:r,selections:i}=e.match(o);return r&&i&&Object.keys(i).forEach(t=>c(t,i[t])),r}if(r(n)){if(!r(o))return!1;if(Array.isArray(n)){if(!Array.isArray(o))return!1;let t=[],r=[],a=[];for(const s of n.keys()){const o=n[s];i(o)&&o[e]?a.push(o):a.length?r.push(o):t.push(o)}if(a.length){if(a.length>1)throw new Error(\"Pattern error: Using `...P.array(...)` several times in a single pattern is not allowed.\");if(o.length<t.length+r.length)return!1;const e=o.slice(0,t.length),n=0===r.length?[]:o.slice(-r.length),i=o.slice(t.length,0===r.length?Infinity:-r.length);return t.every((t,n)=>s(t,e[n],c))&&r.every((t,e)=>s(t,n[e],c))&&(0===a.length||s(a[0],i,c))}return n.length===o.length&&n.every((t,e)=>s(t,o[e],c))}return Reflect.ownKeys(n).every(e=>{const r=n[e];return(e in o||i(a=r)&&\"optional\"===a[t]().matcherType)&&s(r,o[e],c);var a})}return Object.is(o,n)},o=e=>{var n,s,a;return r(e)?i(e)?null!=(n=null==(s=(a=e[t]()).getSelectionKeys)?void 0:s.call(a))?n:[]:Array.isArray(e)?c(e,o):c(Object.values(e),o):[]},c=(t,e)=>t.reduce((t,n)=>t.concat(e(n)),[]);function a(...t){if(1===t.length){const[e]=t;return t=>s(e,t,()=>{})}if(2===t.length){const[e,n]=t;return s(e,n,()=>{})}throw new Error(`isMatching wasn't given the right number of arguments: expected 1 or 2, received ${t.length}.`)}function u(t){return Object.assign(t,{optional:()=>h(t),and:e=>m(t,e),or:e=>d(t,e),select:e=>void 0===e?y(t):y(e,t)})}function l(t){return Object.assign((t=>Object.assign(t,{[Symbol.iterator](){let n=0;const r=[{value:Object.assign(t,{[e]:!0}),done:!1},{done:!0,value:void 0}];return{next:()=>{var t;return null!=(t=r[n++])?t:r.at(-1)}}}}))(t),{optional:()=>l(h(t)),select:e=>l(void 0===e?y(t):y(e,t))})}function h(e){return u({[t]:()=>({match:t=>{let n={};const r=(t,e)=>{n[t]=e};return void 0===t?(o(e).forEach(t=>r(t,void 0)),{matched:!0,selections:n}):{matched:s(e,t,r),selections:n}},getSelectionKeys:()=>o(e),matcherType:\"optional\"})})}const f=(t,e)=>{for(const n of t)if(!e(n))return!1;return!0},g=(t,e)=>{for(const[n,r]of t.entries())if(!e(r,n))return!1;return!0};function m(...e){return u({[t]:()=>({match:t=>{let n={};const r=(t,e)=>{n[t]=e};return{matched:e.every(e=>s(e,t,r)),selections:n}},getSelectionKeys:()=>c(e,o),matcherType:\"and\"})})}function d(...e){return u({[t]:()=>({match:t=>{let n={};const r=(t,e)=>{n[t]=e};return c(e,o).forEach(t=>r(t,void 0)),{matched:e.some(e=>s(e,t,r)),selections:n}},getSelectionKeys:()=>c(e,o),matcherType:\"or\"})})}function p(e){return{[t]:()=>({match:t=>({matched:Boolean(e(t))})})}}function y(...e){const r=\"string\"==typeof e[0]?e[0]:void 0,i=2===e.length?e[1]:\"string\"==typeof e[0]?void 0:e[0];return u({[t]:()=>({match:t=>{let e={[null!=r?r:n]:t};return{matched:void 0===i||s(i,t,(t,n)=>{e[t]=n}),selections:e}},getSelectionKeys:()=>[null!=r?r:n].concat(void 0===i?[]:o(i))})})}function v(t){return\"number\"==typeof t}function b(t){return\"string\"==typeof t}function w(t){return\"bigint\"==typeof t}const S=u(p(function(t){return!0})),O=S,j=t=>Object.assign(u(t),{startsWith:e=>{return j(m(t,(n=e,p(t=>b(t)&&t.startsWith(n)))));var n},endsWith:e=>{return j(m(t,(n=e,p(t=>b(t)&&t.endsWith(n)))));var n},minLength:e=>j(m(t,(t=>p(e=>b(e)&&e.length>=t))(e))),length:e=>j(m(t,(t=>p(e=>b(e)&&e.length===t))(e))),maxLength:e=>j(m(t,(t=>p(e=>b(e)&&e.length<=t))(e))),includes:e=>{return j(m(t,(n=e,p(t=>b(t)&&t.includes(n)))));var n},regex:e=>{return j(m(t,(n=e,p(t=>b(t)&&Boolean(t.match(n))))));var n}}),K=j(p(b)),x=t=>Object.assign(u(t),{between:(e,n)=>x(m(t,((t,e)=>p(n=>v(n)&&t<=n&&e>=n))(e,n))),lt:e=>x(m(t,(t=>p(e=>v(e)&&e<t))(e))),gt:e=>x(m(t,(t=>p(e=>v(e)&&e>t))(e))),lte:e=>x(m(t,(t=>p(e=>v(e)&&e<=t))(e))),gte:e=>x(m(t,(t=>p(e=>v(e)&&e>=t))(e))),int:()=>x(m(t,p(t=>v(t)&&Number.isInteger(t)))),finite:()=>x(m(t,p(t=>v(t)&&Number.isFinite(t)))),positive:()=>x(m(t,p(t=>v(t)&&t>0))),negative:()=>x(m(t,p(t=>v(t)&&t<0)))}),E=x(p(v)),A=t=>Object.assign(u(t),{between:(e,n)=>A(m(t,((t,e)=>p(n=>w(n)&&t<=n&&e>=n))(e,n))),lt:e=>A(m(t,(t=>p(e=>w(e)&&e<t))(e))),gt:e=>A(m(t,(t=>p(e=>w(e)&&e>t))(e))),lte:e=>A(m(t,(t=>p(e=>w(e)&&e<=t))(e))),gte:e=>A(m(t,(t=>p(e=>w(e)&&e>=t))(e))),positive:()=>A(m(t,p(t=>w(t)&&t>0))),negative:()=>A(m(t,p(t=>w(t)&&t<0)))}),P=A(p(w)),T=u(p(function(t){return\"boolean\"==typeof t})),B=u(p(function(t){return\"symbol\"==typeof t})),_=u(p(function(t){return null==t})),k=u(p(function(t){return null!=t}));var N={__proto__:null,matcher:t,optional:h,array:function(...e){return l({[t]:()=>({match:t=>{if(!Array.isArray(t))return{matched:!1};if(0===e.length)return{matched:!0};const n=e[0];let r={};if(0===t.length)return o(n).forEach(t=>{r[t]=[]}),{matched:!0,selections:r};const i=(t,e)=>{r[t]=(r[t]||[]).concat([e])};return{matched:t.every(t=>s(n,t,i)),selections:r}},getSelectionKeys:()=>0===e.length?[]:o(e[0])})})},set:function(...e){return u({[t]:()=>({match:t=>{if(!(t instanceof Set))return{matched:!1};let n={};if(0===t.size)return{matched:!0,selections:n};if(0===e.length)return{matched:!0};const r=(t,e)=>{n[t]=(n[t]||[]).concat([e])},i=e[0];return{matched:f(t,t=>s(i,t,r)),selections:n}},getSelectionKeys:()=>0===e.length?[]:o(e[0])})})},map:function(...e){return u({[t]:()=>({match:t=>{if(!(t instanceof Map))return{matched:!1};let n={};if(0===t.size)return{matched:!0,selections:n};const r=(t,e)=>{n[t]=(n[t]||[]).concat([e])};if(0===e.length)return{matched:!0};var i;if(1===e.length)throw new Error(`\\`P.map\\` wasn't given enough arguments. Expected (key, value), received ${null==(i=e[0])?void 0:i.toString()}`);const[o,c]=e;return{matched:g(t,(t,e)=>{const n=s(o,e,r),i=s(c,t,r);return n&&i}),selections:n}},getSelectionKeys:()=>0===e.length?[]:[...o(e[0]),...o(e[1])]})})},intersection:m,union:d,not:function(e){return u({[t]:()=>({match:t=>({matched:!s(e,t,()=>{})}),getSelectionKeys:()=>[],matcherType:\"not\"})})},when:p,select:y,any:S,_:O,string:K,number:E,bigint:P,boolean:T,symbol:B,nullish:_,nonNullable:k,instanceOf:function(t){return u(p(function(t){return e=>e instanceof t}(t)))},shape:function(t){return u(p(a(t)))}};class W extends Error{constructor(t){let e;try{e=JSON.stringify(t)}catch(n){e=t}super(`Pattern matching error: no pattern matches value ${e}`),this.input=void 0,this.input=t}}const $={matched:!1,value:void 0};function z(t){return new I(t,$)}class I{constructor(t,e){this.input=void 0,this.state=void 0,this.input=t,this.state=e}with(...t){if(this.state.matched)return this;const e=t[t.length-1],r=[t[0]];let i;3===t.length&&\"function\"==typeof t[1]?i=t[1]:t.length>2&&r.push(...t.slice(1,t.length-1));let o=!1,c={};const a=(t,e)=>{o=!0,c[t]=e},u=!r.some(t=>s(t,this.input,a))||i&&!Boolean(i(this.input))?$:{matched:!0,value:e(o?n in c?c[n]:c:this.input,this.input)};return new I(this.input,u)}when(t,e){if(this.state.matched)return this;const n=Boolean(t(this.input));return new I(this.input,n?{matched:!0,value:e(this.input,this.input)}:$)}otherwise(t){return this.state.matched?this.state.value:t(this.input)}exhaustive(){if(this.state.matched)return this.state.value;throw new W(this.input)}run(){return this.exhaustive()}returnType(){return this}}export{W as NonExhaustiveError,N as P,N as Pattern,a as isMatching,z as match};\n//# sourceMappingURL=index.js.map\n","import {\n eventActionAbi,\n readEventActionGetActionClaimant,\n readEventActionGetActionSteps,\n simulateEventActionExecute,\n writeEventActionExecute,\n} from '@boostxyz/evm';\nimport { bytecode } from '@boostxyz/evm/artifacts/contracts/actions/EventAction.sol/EventAction.json';\nimport { getTransaction, getTransactionReceipt } from '@wagmi/core';\nimport { match } from 'ts-pattern';\nimport {\n type AbiEvent,\n type AbiFunction,\n AbiItem,\n type Address,\n type ContractFunctionName,\n type GetLogsReturnType,\n type Hex,\n type Log,\n type PublicClient,\n type Transaction,\n decodeEventLog,\n decodeFunctionData,\n encodeAbiParameters,\n fromHex,\n isAddress,\n isAddressEqual,\n zeroAddress,\n zeroHash,\n} from 'viem';\nimport { EventAction as EventActionBases } from '../../dist/deployments.json';\nimport type {\n DeployableOptions,\n GenericDeployableParams,\n} from '../Deployable/Deployable';\nimport { DeployableTarget } from '../Deployable/DeployableTarget';\nimport {\n DecodedArgsMalformedError,\n FieldValueNotComparableError,\n FieldValueUndefinedError,\n FunctionDataDecodeError,\n InvalidNumericalCriteriaError,\n NoEventActionStepsProvidedError,\n TooManyEventActionStepsProvidedError,\n UnparseableAbiParamError,\n UnrecognizedFilterTypeError,\n ValidationAbiMissingError,\n} from '../errors';\nimport {\n type Overwrite,\n type ReadParams,\n RegistryType,\n type WriteParams,\n} from '../utils';\n\n/*\n * Action Event Payloads\n */\n\n/**\n * Filter types used to determine how criteria are evaluated.\n *\n * @export\n * @enum {number}\n */\nexport enum FilterType {\n EQUAL = 0,\n NOT_EQUAL = 1,\n GREATER_THAN = 2,\n LESS_THAN = 3,\n CONTAINS = 4,\n REGEX = 5,\n}\n\n/**\n * The primitive types supported for filtering.\n *\n * @export\n * @enum {number}\n */\nexport enum PrimitiveType {\n UINT = 0,\n ADDRESS = 1,\n BYTES = 2,\n STRING = 3,\n}\n\n/**\n * Object representation of a `Criteria` struct used in event actions.\n *\n * @export\n * @interface Criteria\n * @typedef {Criteria}\n */\nexport interface Criteria {\n /**\n * The filter type used in this criteria.\n *\n * @type {FilterType}\n */\n filterType: FilterType;\n /**\n * The primitive type of the field being filtered.\n *\n * @type {PrimitiveType}\n */\n fieldType: PrimitiveType;\n /**\n * The index in the logs argument array where the field is located.\n *\n * @type {number}\n */\n fieldIndex: number;\n /**\n * The filter data used for complex filtering.\n *\n * @type {Hex}\n */\n filterData: Hex;\n}\n\n/**\n * Whether a given signature is an event or function\n *\n * @export\n * @enum {number}\n */\nexport enum SignatureType {\n EVENT = 0,\n FUNC = 1,\n}\n\n/**\n * The payload describing how claimants are identified\n *\n * @export\n * @interface ActionClaimant\n * @typedef {ActionClaimant}\n */\nexport interface ActionClaimant {\n /**\n * Whether claimaint is inferred from event or function\n *\n * @type {SignatureType}\n */\n signatureType: SignatureType;\n /**\n * The 4 byte signature of the event or function\n *\n * @type {Hex}\n */\n signature: Hex;\n /**\n * The index corresponding to claimant.\n *\n * @type {number}\n */\n fieldIndex: number;\n /**\n * The address of the target contract\n *\n * @type {Address}\n */\n targetContract: Address;\n /**\n * The chain id of the target contract.\n * @type {number}\n */\n chainid: number;\n}\n\n/**\n * Object representation of an `ActionStep` struct used in event actions.\n *\n * @export\n * @interface ActionStep\n * @typedef {ActionStep}\n */\nexport interface ActionStep {\n /**\n * The signature of the event.\n *\n * @type {Hex}\n */\n signature: Hex;\n /**\n * Whether claimaint is inferred from event or function\n *\n * @type {SignatureType}\n */\n signatureType: SignatureType;\n /**\n * The type of action being performed.\n *\n * @type {number}\n */\n actionType?: number;\n /**\n * The address of the target contract.\n *\n * @type {Address}\n */\n targetContract: Address;\n /**\n * The chain id of the target contract.\n * @type {number}\n */\n chainid: number;\n /**\n * The criteria used for this action step.\n *\n * @type {Criteria}\n */\n actionParameter: Criteria;\n}\n\n/**\n * Parameters for validating an action step.\n *\n * @typedef {Object} ValidateActionStepParams\n * @property {Record<Hex, AbiEvent | AbiFunction>} [knownSignatures] - Record of known events, keyed by 32 byte selectors. You can use [@boostxyz/signatures](https://www.npmjs.com/package/@boostxyz/signatures) to assemble this parameter.\n * @property {AbiEvent | AbiFunction} [abiItem] - Optional ABI item definition.\n * @property {EventLogs} [logs] - Event logs to validate against. Required if 'hash' is not provided.\n * @property {Hex} [hash] - Transaction hash to validate against. Required if 'logs' is not provided.\n * @property {number} [chainId] - Chain ID for the transaction. Required if 'hash' is provided.\n */\nexport type ValidateActionStepParams = {\n knownSignatures: Record<Hex, AbiEvent | AbiFunction>;\n abiItem?: AbiEvent | AbiFunction;\n} & ({ logs: EventLogs } | { hash: Hex; chainId: number });\n\n/**\n * You can either supply a simplified version of the payload, or one that explicitly declares action steps.\n *\n * @export\n * @typedef {EventActionPayload}\n */\nexport type EventActionPayload =\n | EventActionPayloadSimple\n | EventActionPayloadRaw;\n\nexport interface EventActionPayloadSimple {\n /**\n * The payload describing how claimants are identified\n *\n * @type {ActionClaimant}\n */\n actionClaimant: ActionClaimant;\n\n /**\n * Up to 4 action steps.\n * If you supply less than 4, then the last step will be reused to satisfy the EventAction.InitPayload\n * Any more than 4 will throw an error.\n *\n * @type {ActionStep[]}\n */\n actionSteps: ActionStep[];\n}\n\nexport type ActionStepTuple = [ActionStep, ActionStep, ActionStep, ActionStep];\n\n/**\n * Typeguard to determine if a user is supplying a simple or raw EventActionPayload\n *\n * @param {*} opts\n * @returns {opts is EventActionPayloadSimple}\n */\nexport function isEventActionPayloadSimple(\n opts: EventActionPayload,\n): opts is EventActionPayloadSimple {\n return Array.isArray((opts as EventActionPayloadSimple).actionSteps);\n}\n\n/**\n * Object representation of an `InitPayload` struct used to initialize event actions.\n *\n * @export\n * @interface EventActionPayloadRaw\n * @typedef {EventActionPayloadRaw}\n */\nexport interface EventActionPayloadRaw {\n /**\n * The payload describing how claimants are identified\n *\n * @type {ActionClaimant}\n */\n actionClaimant: ActionClaimant;\n /**\n * The first action step.\n *\n * @type {ActionStep}\n */\n actionStepOne: ActionStep;\n /**\n * The second action step.\n *\n * @type {ActionStep}\n */\n actionStepTwo: ActionStep;\n /**\n * The third action step.\n *\n * @type {ActionStep}\n */\n actionStepThree: ActionStep;\n /**\n * The fourth action step.\n *\n * @type {ActionStep}\n */\n actionStepFour: ActionStep;\n}\n\n/**\n * Array of event logs to pass into TxParams\n * @export\n * @typedef {EventLogs}\n */\nexport type EventLogs = GetLogsReturnType<AbiEvent, AbiEvent[], true>;\n\n/**\n * Getter params from the event action contract\n *\n * @export\n * @typedef {ReadEventActionParams}\n * @param {fnName} fnName - The getter function name\n */\nexport type ReadEventActionParams<\n fnName extends ContractFunctionName<typeof eventActionAbi, 'pure' | 'view'>,\n> = ReadParams<typeof eventActionAbi, fnName>;\n\n/**\n * A generic event action\n *\n * @export\n * @class EventAction\n * @typedef {EventAction}\n * @extends {DeployableTarget<EventActionPayload>}\n */\nexport class EventAction extends DeployableTarget<\n EventActionPayload,\n typeof eventActionAbi\n> {\n /**\n * @inheritdoc\n *\n * @public\n * @readonly\n * @type {*}\n */\n public override readonly abi = eventActionAbi;\n /**\n * @inheritdoc\n *\n * @public\n * @static\n * @type {Record<number, Address>}\n */\n public static override bases: Record<number, Address> = {\n 31337: import.meta.env.VITE_EVENT_ACTION_BASE,\n ...(EventActionBases as Record<number, Address>),\n };\n /**\n * @inheritdoc\n *\n * @public\n * @static\n * @type {RegistryType}\n */\n public static override registryType: RegistryType = RegistryType.ACTION;\n\n /**\n * Gets a specific action event by index\n *\n * @public\n * @async\n * @param {number} index The index of the action event to retrieve\n * @param {?ReadEventActionParams<'getActionStep'>} [params]\n * @returns {Promise<ActionStep>}\n */\n public async getActionStep(\n index: number,\n params?: ReadEventActionParams<'getActionStep'>,\n ) {\n const steps = await this.getActionSteps(params);\n return steps.at(index);\n }\n\n /**\n * Gets all action events\n *\n * @public\n * @async\n * @param {?ReadEventActionParams<'getActionSteps'>} [params]\n * @returns {Promise<ActionStep[]>}\n */\n public async getActionSteps(\n params?: ReadEventActionParams<'getActionSteps'>,\n ) {\n const steps = (await readEventActionGetActionSteps(this._config, {\n address: this.assertValidAddress(),\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 })) as RawActionStep[];\n return _dedupeActionSteps(steps.map(_fromRawActionStep));\n }\n\n /**\n * Gets the count of action events\n *\n * @public\n * @async\n * @param {?ReadEventActionParams<'getActionStepsCount'>} [params]\n * @returns {Promise<bigint>}\n */\n public async getActionStepsCount(\n params?: ReadEventActionParams<'getActionStepsCount'>,\n ) {\n const steps = await this.getActionSteps(params);\n return steps.length;\n }\n\n /**\n * Retrieves the payload describing how claimants can be identified from logs or function calls.\n *\n * @public\n * @async\n * @param {?ReadEventActionParams<'getActionClaimant'>} [params]\n * @returns {Promise<ActionClaimant>}\n */\n public async getActionClaimant(\n params?: ReadEventActionParams<'getActionClaimant'>,\n ): Promise<ActionClaimant> {\n const result = (await readEventActionGetActionClaimant(this._config, {\n address: this.assertValidAddress(),\n ...this.optionallyAttachAccount(),\n ...params,\n })) as RawActionClaimant;\n return _fromRawActionStep(result);\n }\n\n /**\n * Executes a prepared event action\n *\n * @public\n * @async\n * @param {Hex} data\n * @param {?WriteParams} [params]\n * @returns {Promise<readonly [boolean, `0x${string}`]>}\n */\n public async execute(\n data: Hex,\n params?: WriteParams<typeof eventActionAbi, 'execute'>,\n ) {\n return await this.awaitResult(this.executeRaw(data, params));\n }\n\n /**\n * Executes a prepared event action\n *\n * @public\n * @async\n * @param {Hex} data\n * @param {?WriteParams} [params]\n * @returns {Promise<{ hash: `0x${string}`; result: readonly [boolean, `0x${string}`]; }>}\n */\n public async executeRaw(\n data: Hex,\n params?: WriteParams<typeof eventActionAbi, 'execute'>,\n ) {\n const { request, result } = await simulateEventActionExecute(this._config, {\n address: this.assertValidAddress(),\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 args: [data],\n });\n const hash = await writeEventActionExecute(this._config, request);\n return { hash, result };\n }\n\n /**\n * Derives the action claimant address from a transaction based on the provided ActionClaimant configuration.\n * This method supports both event-based and function-based claimant derivation.\n * **Important**: The claimant is considered to be `transaction.from` when `claimant.fieldIndex` is 255.\n * This may have unintended side effects for bridged transactions and SCW transactions, so these are considered unsupported use cases for the time being.\n *\n ** @example\n * // Example usage\n * const eventAction = boost.action as EventAction\n * const claimant = await eventAction.getActionClaimant() // {\n * signatureType: SignatureType.EVENT,\n * signature: '0x1234...',\n * fieldIndex: 2,\n * targetContract: '0xabcd...',\n * chainid: 1\n * };\n * const params: ValidateActionStepParams = {\n * hash: '0x5678...',\n * chainId: 1,\n * knownSignatures: {\n * '0x1234...': {\n * type: 'event',\n * name: 'Transfer(...)'\n * }\n * }\n * };\n * const claimantAddress = await eventAction.deriveActionClaimantFromTransaction(claimant, params);\n *\n * @param {ActionClaimant} claimant - The configuration specifying how to derive the claimant.\n * @param {ValidateActionStepParams} params - Parameters for validation, including transaction hash, known signatures, logs, and chain ID.\n * @returns {Promise<Address | undefined>} The derived claimant address if found, undefined otherwise.\n * @throws {ValidationAbiMissingError} If the ABI for the specified signature is not found.\n * @throws {FunctionDataDecodeError} If there's an error decoding function data (for function-based derivation).\n */\n public async deriveActionClaimantFromTransaction(\n claimant: ActionClaimant,\n params: ValidateActionStepParams,\n ): Promise<Address | undefined> {\n // find message sender and return it\n // WARNING: this is error prone in bridged transactions and SCW transactions, as this will return exit node\n if (claimant.fieldIndex === 255) {\n if ('hash' in params) {\n const transaction = await getTransaction(this._config, {\n hash: params.hash,\n });\n return transaction.from;\n }\n if ('logs' in params) {\n for (let log of params.logs) {\n if (log.transactionHash) {\n const transaction = await getTransaction(this._config, {\n hash: log.transactionHash,\n });\n return transaction.from;\n }\n }\n }\n return undefined;\n }\n\n const signature = claimant.signature;\n\n if (claimant.signatureType === SignatureType.EVENT) {\n let event: AbiEvent;\n if (params.abiItem) event = params.abiItem as AbiEvent;\n else {\n const sigPool = params.knownSignatures as Record<Hex, AbiEvent>;\n event = sigPool[signature] as AbiEvent;\n }\n if (!event) {\n throw new ValidationAbiMissingError(signature);\n }\n\n let address: Address | undefined;\n if ('logs' in params) {\n for (let log of params.logs) {\n if (!isAddressEqual(log.address, claimant.targetContract)) continue;\n let addressCandidate = this.validateClaimantAgainstArgs(\n claimant,\n log,\n );\n if (addressCandidate) address = addressCandidate;\n }\n return address;\n }\n const receipt = await getTransactionReceipt(this._config, params);\n const decodedLogs = receipt.logs.map((log) => {\n const { eventName, args } = decodeEventLog({\n abi: [event],\n data: log.data,\n topics: log.topics,\n });\n return { ...log, eventName, args };\n });\n\n for (let log of decodedLogs) {\n if (!isAddressEqual(log.address, claimant.targetContract)) continue;\n let addressCandidate = this.validateClaimantAgainstArgs(claimant, log);\n if (addressCandidate) address = addressCandidate;\n }\n return address;\n }\n if (\n claimant.signatureType === SignatureType.FUNC &&\n 'hash' in params &&\n 'chainId' in params\n ) {\n const transaction = await getTransaction(this._config, {\n hash: params.hash,\n });\n if (!isAddressEqual(transaction.to!, claimant.targetContract)) return;\n let func: AbiFunction;\n if (params.abiItem) func = params.abiItem as AbiFunction;\n else {\n const sigPool = params.knownSignatures as Record<Hex, AbiFunction>;\n func = sigPool[signature] as AbiFunction;\n }\n if (!func) {\n throw new ValidationAbiMissingError(claimant.signature);\n }\n let decodedData;\n try {\n decodedData = decodeFunctionData({\n abi: [func],\n data: transaction.input,\n });\n } catch (e) {\n throw new FunctionDataDecodeError([func], e as Error);\n }\n return this.validateClaimantAgainstArgs(claimant, decodedData);\n }\n }\n\n /**\n * Validates the action claimant against the arguments of a log or function data.\n *\n * @param {ActionClaimant} claimant - The action claimant to validate.\n * @param {Object} [logOrFnData] - Optional object containing the arguments to validate against.\n * @param {Array<any> | readonly unknown[] | Record<string, unknown>} [logOrFnData.args] - The arguments from the log or function data.\n * @returns {Address | undefined} The validated address if found and valid, otherwise undefined.\n */\n public validateClaimantAgainstArgs(\n claimant: ActionClaimant,\n logOrFnData?: {\n args: Array<unknown> | readonly unknown[] | Record<string, unknown>;\n },\n ): Address | undefined {\n if (\n !logOrFnData ||\n !Array.isArray(logOrFnData?.args) ||\n logOrFnData?.args.length <= claimant.fieldIndex\n ) {\n return;\n }\n const maybeAddress = logOrFnData.args.at(claimant.fieldIndex);\n if (isAddress(maybeAddress)) return maybeAddress;\n }\n\n /**\n * Retrieves action steps, and uses them to validate against, and optionally fetch logs that match the step's signature.\n * If logs are provided in the optional `params` argument, then those logs will be used instead of fetched with the configured client.\n *\n * @public\n * @async\n * @param ValidateActionStepParams params\n * @returns {Promise<boolean>}\n */\n public async validateActionSteps(params: ValidateActionStepParams) {\n const actionSteps = await this.getActionSteps();\n for (const actionStep of actionSteps) {\n if (!(await this.isActionStepValid(actionStep, params))) {\n return false;\n }\n }\n return true;\n }\n\n /**\n * Validates a single action step with a given criteria against logs or function calls.\n * If logs are provided in the optional `params` argument, then those logs will be used instead of being fetched with the configured client.\n * For functions a hash is required.\n *\n * @public\n * @async\n * @param {ActionStep} actionStep - The action step to validate. Can be a function of event step.\n * @param {ValidateActionStepParams} params - Additional parameters for validation, including hash, known events, logs, and chain ID.\n * @returns {Promise<boolean>}\n */\n public async isActionStepValid(\n actionStep: ActionStep,\n params: ValidateActionStepParams,\n ) {\n if (actionStep.signatureType === SignatureType.EVENT) {\n const signature = actionStep.signature;\n let event: AbiEvent;\n if (params.abiItem) event = params.abiItem as AbiEvent;\n else {\n const sigPool = params.knownSignatures as Record<Hex, AbiEvent>;\n event = sigPool[signature] as AbiEvent;\n }\n\n if (!event) {\n throw new ValidationAbiMissingError(signature);\n }\n\n if (this.isArraylikeIndexed(actionStep, event)) {\n // If the field is indexed, we can't filter on it\n throw new UnparseableAbiParamError(\n actionStep.actionParameter.fieldIndex,\n event,\n );\n }\n\n // Use the provided logs, no need to fetch receipt\n if ('logs' in params) {\n return this.isActionEventValid(actionStep, params.logs);\n }\n\n const client = this._config.getClient({\n chainId: params.chainId,\n }) as PublicClient;\n const receipt = await client.getTransactionReceipt({\n hash: params.hash,\n });\n const decodedLogs = receipt.logs.map((log) => {\n const { eventName, args } = decodeEventLog({\n abi: [event],\n data: log.data,\n topics: log.topics,\n });\n\n return { ...log, eventName, args };\n });\n\n return this.isActionEventValid(actionStep, decodedLogs);\n }\n if (actionStep.signatureType === SignatureType.FUNC) {\n if ('hash' in params && 'chainId' in params) {\n const client = this._config.getClient({\n chainId: params.chainId,\n }) as PublicClient;\n const transaction = await client.getTransaction({\n hash: params.hash,\n });\n return this.isActionFunctionValid(actionStep, transaction, params);\n }\n }\n return false;\n }\n\n /**\n * Validates a single action event with a given criteria against logs.\n * If logs are provided in the optional `params` argument, then those logs will be used instead of being fetched with the configured client.\n *\n * @public\n * @async\n * @param {ActionStep} actionStep - The action step containing the event to validate.\n * @param {EventLogs} logs - Event logs to validate the given step against\n * @returns {Promise<boolean>} Resolves to true if the action event is valid, throws if input is invalid, otherwise false.\n */\n public isActionEventValid(actionStep: ActionStep, logs: EventLogs) {\n const criteria = actionStep.actionParameter;\n if (!logs.length) return false;\n for (let log of logs) {\n if (this.validateLogAgainstCriteria(criteria, log)) {\n return true;\n }\n }\n return false;\n }\n\n /**\n * Validates a single action function with a given criteria against the transaction input.\n *\n * @public\n * @param {ActionStep} actionStep - The action step containing the function to validate.\n * @param {Transaction} transaction - The transaction that will be validated against.\n * @param {Object} [params] - Parameters for validation.\n * @param {AbiItem} [params.abiItem] - The ABI item for the function, if known.\n * @param {Record<Hex, AbiEvent | AbiFunction>} [params.knownSignatures] - A record of known signatures.\n * @returns {boolean} Returns true if the action function is valid, false otherwise.\n * @throws {ValidationAbiMissingError} Throws if the ABI for the function signature is not found.\n * @throws {FunctionDataDecodeError} Throws if there's an error decoding the function data.\n */\n public isActionFunctionValid(\n actionStep: ActionStep,\n transaction: Transaction,\n params: Pick<ValidateActionStepParams, 'abiItem' | 'knownSignatures'>,\n ) {\n const criteria = actionStep.actionParameter;\n let signature = actionStep.signature;\n\n let func: AbiFunction;\n if (params.abiItem) func = params?.abiItem as AbiFunction;\n else {\n const sigPool = params.knownSignatures as Record<Hex, AbiFunction>;\n func = sigPool[signature] as AbiFunction;\n }\n if (!func) {\n throw new ValidationAbiMissingError(signature);\n }\n\n let decodedData;\n try {\n decodedData = decodeFunctionData({\n abi: [func],\n data: transaction.input,\n });\n } catch (e) {\n throw new FunctionDataDecodeError([func], e as Error);\n }\n\n // Validate the criteria against decoded arguments using fieldIndex\n const decodedArgs = decodedData.args;\n\n if (!decodedArgs || !decodedData) return false;\n\n if (\n !this.validateFunctionAgainstCriteria(\n criteria,\n decodedArgs as (string | bigint)[],\n )\n ) {\n return false;\n }\n\n return true;\n }\n /**\n * Validates a field against a given criteria.\n *\n * @param {Criteria} criteria - The criteria to validate against.\n * @param {string | bigint | Hex} fieldValue - The field value to validate.\n * @param {Object} input - Additional context for validation.\n * @param {EventLogs[0]} [input.log] - The event log, if validating an event.\n * @param {readonly (string | bigint)[]} [input.decodedArgs] - The decoded function arguments, if validating a function call.\n * @returns {Promise<boolean>} - Returns true if the field passes the criteria, false otherwise.\n */\n public validateFieldAgainstCriteria(\n criteria: Criteria,\n fieldValue: string | bigint | Hex,\n input:\n | { log: EventLogs[0] }\n | { decodedArgs: readonly (string | bigint)[] },\n ): boolean {\n if (\n criteria.filterType === FilterType.EQUAL &&\n criteria.fieldType === PrimitiveType.BYTES &&\n criteria.fieldIndex === 255\n ) {\n return true;\n }\n\n // Type narrow based on criteria.filterType\n switch (criteria.filterType) {\n case FilterType.EQUAL:\n return match(criteria.fieldType)\n .with(PrimitiveType.ADDRESS, () =>\n isAddressEqual(criteria.filterData, fieldValue as Address),\n )\n .with(\n PrimitiveType.UINT,\n () => BigInt(fieldValue) === BigInt(criteria.filterData),\n )\n .with(\n PrimitiveType.STRING,\n () => fieldValue === fromHex(criteria.filterData, 'string'),\n )\n .otherwise(() => fieldValue === criteria.filterData);\n\n case FilterType.NOT_EQUAL:\n return match(criteria.fieldType)\n .with(\n PrimitiveType.ADDRESS,\n () => !isAddressEqual(criteria.filterData, fieldValue as Address),\n )\n .with(\n PrimitiveType.UINT,\n () => BigInt(fieldValue) !== BigInt(criteria.filterData),\n )\n .with(\n PrimitiveType.STRING,\n () => fieldValue !== fromHex(criteria.filterData, 'string'),\n )\n .otherwise(() => fieldValue !== criteria.filterData);\n\n case FilterType.GREATER_THAN:\n if (criteria.fieldType === PrimitiveType.UINT) {\n return BigInt(fieldValue) > BigInt(criteria.filterData);\n }\n throw new InvalidNumericalCriteriaError({\n ...input,\n criteria,\n fieldValue,\n });\n\n case FilterType.LESS_THAN:\n if (criteria.fieldType === PrimitiveType.UINT) {\n return BigInt(fieldValue) < BigInt(criteria.filterData);\n }\n throw new InvalidNumericalCriteriaError({\n ...input,\n criteria,\n fieldValue,\n });\n\n case FilterType.CONTAINS:\n if (\n criteria.fieldType === PrimitiveType.BYTES ||\n criteria.fieldType === PrimitiveType.STRING\n ) {\n let substring;\n if (criteria.fieldType === PrimitiveType.STRING) {\n substring = fromHex(criteria.filterData, 'string');\n } else {\n // truncate the `0x` prefix\n substring = criteria.filterData.slice(2);\n }\n return (fieldValue as string).includes(substring);\n }\n throw new FieldValueNotComparableError({\n ...input,\n criteria,\n fieldValue,\n });\n\n case FilterType.REGEX:\n if (typeof fieldValue !== 'string') {\n throw new FieldValueNotComparableError({\n ...input,\n criteria,\n fieldValue,\n });\n }\n\n if (criteria.fieldType === PrimitiveType.STRING) {\n // fieldValue is decoded by the ABI\n const regexString = fromHex(criteria.filterData, 'string');\n return new RegExp(regexString).test(fieldValue);\n }\n\n default:\n throw new UnrecognizedFilterTypeError({\n ...input,\n criteria,\n fieldValue,\n });\n }\n }\n\n /**\n * Validates a {@link Log} against a given criteria.\n * If the criteria's fieldIndex is 255, it is reserved for anyValidation\n *\n * @param {Criteria} criteria - The criteria to validate against.\n * @param {Log} log - The Viem event log.\n * @returns {boolean} - Returns true if the log passes the criteria, false otherwise.\n */\n public validateLogAgainstCriteria(\n criteria: Criteria,\n log: EventLogs[0],\n ): boolean {\n if (\n !Array.isArray(log.args) ||\n (log.args.length <= criteria.fieldIndex && criteria.fieldIndex !== 255)\n ) {\n throw new DecodedArgsMalformedError({\n log,\n criteria,\n fieldValue: undefined,\n });\n }\n\n const fieldValue =\n criteria.fieldIndex === 255 ? zeroHash : log.args.at(criteria.fieldIndex);\n\n if (fieldValue === undefined) {\n throw new FieldValueUndefinedError({ log, criteria, fieldValue });\n }\n return this.validateFieldAgainstCriteria(criteria, fieldValue, { log });\n }\n\n /**\n * Validates a function's decoded arguments against a given criteria.\n * If the criteria's fieldIndex is 255, it is reserved for anyValidation\n *\n * @param {Criteria} criteria - The criteria to validate against.\n * @param {unknown[]} decodedArgs - The decoded arguments of the function call.\n * @returns {Promise<boolean>} - Returns true if the decoded argument passes the criteria, false otherwise.\n */\n public validateFunctionAgainstCriteria(\n criteria: Criteria,\n decodedArgs: readonly (string | bigint)[],\n ): boolean {\n const fieldValue =\n criteria.fieldIndex === 255 ? zeroHash : decodedArgs[criteria.fieldIndex];\n if (fieldValue === undefined) {\n throw new FieldValueUndefinedError({\n criteria,\n fieldValue,\n });\n }\n return this.validateFieldAgainstCriteria(criteria, fieldValue, {\n decodedArgs,\n });\n }\n\n /**\n * @inheritdoc\n *\n * @public\n * @param {?EventActionPayload} [_payload]\n * @param {?DeployableOptions} [_options]\n * @returns {GenericDeployableParams}\n */\n public override buildParameters(\n _payload?: EventActionPayload,\n _options?: DeployableOptions,\n ): GenericDeployableParams {\n const [payload, options] = this.validateDeploymentConfig(\n _payload,\n _options,\n );\n let rawPayload: EventActionPayloadRaw;\n if (isEventActionPayloadSimple(payload)) {\n // filter out any falsy potential values\n let tmpSteps: ActionStep[] = payload.actionSteps.filter((step) => !!step);\n if (tmpSteps.length === 0) {\n throw new NoEventActionStepsProvidedError();\n }\n if (tmpSteps.length > 4) {\n throw new TooManyEventActionStepsProvidedError();\n }\n let steps: ActionStepTuple = Array.from({ length: 4 }, (_, i) => {\n // use either the provided step at the given index, or reuse the previous step\n // should aways exist\n return tmpSteps.at(i) || tmpSteps.at(-1);\n }) as ActionStepTuple;\n rawPayload = {\n actionClaimant: payload.actionClaimant,\n actionStepOne: steps[0],\n actionStepTwo: steps[1],\n actionStepThree: steps[2],\n actionStepFour: steps[3],\n };\n } else {\n rawPayload = payload;\n }\n return {\n abi: eventActionAbi,\n bytecode: bytecode as Hex,\n args: [prepareEventActionPayload(rawPayload)],\n ...this.optionallyAttachAccount(options.account),\n };\n }\n\n public isArraylikeIndexed(step: ActionStep, event: AbiEvent) {\n if (\n (step.actionParameter.fieldType === PrimitiveType.STRING ||\n step.actionParameter.fieldType === PrimitiveType.BYTES) &&\n event.inputs[step.actionParameter.fieldIndex]?.indexed\n ) {\n return true;\n }\n return false;\n }\n}\n\nfunction _dedupeActionSteps(_steps: ActionStep[]): ActionStep[] {\n const steps: ActionStep[] = [],\n signatures: Record<string, boolean> = {};\n for (let step of _steps) {\n const signature = JSON.stringify(step);\n if (signatures[signature]) continue;\n steps.push(step);\n signatures[signature] = true;\n }\n return steps;\n}\ntype RawActionStep = Overwrite<ActionStep, { chainid: bigint }>;\ntype RawActionClaimant = Overwrite<ActionClaimant, { chainid: bigint }>;\n\nfunction _toRawActionStep<T extends ActionStep | ActionClaimant>(obj: T) {\n return {\n ...obj,\n chainid: BigInt(obj.chainid),\n };\n}\n\nfunction _fromRawActionStep<T extends RawActionStep | RawActionClaimant>(\n obj: T,\n) {\n if (obj.chainid > BigInt(Number.MAX_SAFE_INTEGER)) {\n throw new Error('Chain ID exceeds max safe integer');\n }\n\n return {\n ...obj,\n chainid: Number(obj.chainid),\n };\n}\n\n/**\n * Typeguard to determine if a user is supplying a simple or raw EventActionPayload\n *\n * @param {*} opts\n * @returns {opts is EventActionPayloadSimple}\n */\nfunction _isEventActionPayloadSimple(\n opts: EventActionPayload,\n): opts is EventActionPayloadSimple {\n return Array.isArray((opts as EventActionPayloadSimple).actionSteps);\n}\n\n/**\n * Function to properly encode an event action payload.\n *\n * @param {InitPayload} param0\n * @param {ActionStep} param0.actionStepOne - The first action step to initialize.\n * @param {ActionStep} param0.actionStepTwo - The second action step to initialize.\n * @param {ActionStep} param0.actionStepThree - The third action step to initialize.\n * @param {ActionStep} param0.actionStepFour - The fourth action step to initialize.\n * @returns {Hex}\n */\nexport function prepareEventActionPayload({\n actionClaimant,\n actionStepOne,\n actionStepTwo,\n actionStepThree,\n actionStepFour,\n}: EventActionPayloadRaw) {\n // note chainIds are technically uint256 but viem treats them (safely) as numbers,\n // so we encode them as uint32 here to avoid downcast issues\n return encodeAbiParameters(\n [\n {\n type: 'tuple',\n name: 'initPayload',\n components: [\n {\n type: 'tuple',\n name: 'actionClaimant',\n components: [\n { type: 'uint8', name: 'signatureType' },\n { type: 'bytes32', name: 'signature' },\n { type: 'uint8', name: 'fieldIndex' },\n { type: 'address', name: 'targetContract' },\n { type: 'uint256', name: 'chainid' },\n ],\n },\n {\n type: 'tuple',\n name: 'actionStepOne',\n components: [\n { type: 'bytes32', name: 'signature' },\n { type: 'uint8', name: 'signatureType' },\n { type: 'uint8', name: 'actionType' },\n { type: 'address', name: 'targetContract' },\n { type: 'uint256', name: 'chainid' },\n {\n type: 'tuple',\n name: 'actionParameter',\n components: [\n { type: 'uint8', name: 'filterType' },\n { type: 'uint8', name: 'fieldType' },\n { type: 'uint8', name: 'fieldIndex' },\n { type: 'bytes', name: 'filterData' },\n ],\n },\n ],\n },\n {\n type: 'tuple',\n name: 'actionStepTwo',\n components: [\n { type: 'bytes32', name: 'signature' },\n { type: 'uint8', name: 'signatureType' },\n { type: 'uint8', name: 'actionType' },\n { type: 'address', name: 'targetContract' },\n { type: 'uint256', name: 'chainid' },\n {\n type: 'tuple',\n name: 'actionParameter',\n components: [\n { type: 'uint8', name: 'filterType' },\n { type: 'uint8', name: 'fieldType' },\n { type: 'uint8', name: 'fieldIndex' },\n { type: 'bytes', name: 'filterData' },\n ],\n },\n ],\n },\n {\n type: 'tuple',\n name: 'actionStepThree',\n components: [\n { type: 'bytes32', name: 'signature' },\n { type: 'uint8', name: 'signatureType' },\n { type: 'uint8', name: 'actionType' },\n { type: 'address', name: 'targetContract' },\n { type: 'uint256', name: 'chainid' },\n {\n type: 'tuple',\n name: 'actionParameter',\n components: [\n { type: 'uint8', name: 'filterType' },\n { type: 'uint8', name: 'fieldType' },\n { type: 'uint8', name: 'fieldIndex' },\n { type: 'bytes', name: 'filterData' },\n ],\n },\n ],\n },\n {\n type: 'tuple',\n name: 'actionStepFour',\n components: [\n { type: 'bytes32', name: 'signature' },\n { type: 'uint8', name: 'signatureType' },\n { type: 'uint8', name: 'actionType' },\n { type: 'address', name: 'targetContract' },\n { type: 'uint256', name: 'chainid' },\n {\n type: 'tuple',\n name: 'actionParameter',\n components: [\n { type: 'uint8', name: 'filterType' },\n { type: 'uint8', name: 'fieldType' },\n { type: 'uint8', name: 'fieldIndex' },\n { type: 'bytes', name: 'filterData' },\n ],\n },\n ],\n },\n ],\n },\n ],\n [\n {\n actionClaimant: _toRawActionStep(actionClaimant),\n actionStepOne: {\n ..._toRawActionStep(actionStepOne),\n actionType: actionStepOne.actionType || 0,\n },\n actionStepTwo: {\n ..._toRawActionStep(actionStepTwo),\n actionType: actionStepTwo.actionType || 0,\n },\n actionStepThree: {\n ..._toRawActionStep(actionStepThree),\n actionType: actionStepThree.actionType || 0,\n },\n actionStepFour: {\n ..._toRawActionStep(actionStepFour),\n actionType: actionStepFour.actionType || 0,\n },\n },\n ],\n );\n}\n\n/**\n * Creates a default Criteria object that allows validation to pass. This is used if you don't care about targeting specific parameters in the action step.\n *\n * This function returns a Criteria object with the following properties:\n * - filterType: Set to EQUAL for exact matching\n * - fieldType: Set to BYTES to handle any data type\n * - fieldIndex: Set to 255, which is typically used to indicate \"any\" or \"all\" in this context\n * - filterData: Set to zeroHash (0x0000...0000)\n *\n * @returns {Criteria} A Criteria object that can be used to match any action parameter\n *\n * @example\n * const anyCriteria = anyActionParameter();\n * // Use this criteria in an ActionStep to match any parameter\n * const actionStep = {\n * // ... other properties ...\n * actionParameter: anyCriteria\n * };\n */\nexport function anyActionParameter(): Criteria {\n return {\n filterType: FilterType.EQUAL,\n fieldType: PrimitiveType.BYTES,\n fieldIndex: 255,\n filterData: zeroHash,\n };\n}\n\n/**\n * Creates an ActionClaimant object that represents the transaction sender as the claimant.\n * This function is useful when you want to set up an action where the transaction sender is always considered the valid claimant,\n * regardless of the event or function parameters.\n *\n * The returned ActionClaimant has the following properties:\n * - signatureType: Set to SignatureType.EVENT (though it doesn't matter for this case)\n * - signature: Set to zeroHash (0x0000...0000)\n * - fieldIndex: Set to 255, indicating \"any\" field\n * - targetContract: Set to zeroAddress (0x0000...0000)\n * - chainid: Set to 0, indicating it's valid for any chain\n *\n * @returns {ActionClaimant} An ActionClaimant object representing the msg.sender\n *\n * @example\n * const eventAction = new EventAction();\n * const payload: EventActionPayload = {\n * actionClaimant: transactionSenderClaimant(),\n * actionSteps: [\n * // ... define your action steps here\n * ]\n * };\n * await eventAction.deploy(payload);\n */\nexport function transactionSenderClaimant(): ActionClaimant {\n return {\n signatureType: SignatureType.EVENT,\n signature: zeroHash,\n fieldIndex: 255,\n targetContract: zeroAddress,\n chainid: 0,\n };\n}\n"],"names":["t","e","n","r","i","s","o","c","a","h","m","d","y","p","v","b","w","j","x","A","W","$","z","I","u","FilterType","PrimitiveType","SignatureType","isEventActionPayloadSimple","opts","_EventAction","DeployableTarget","eventActionAbi","index","params","steps","readEventActionGetActionSteps","_dedupeActionSteps","_fromRawActionStep","result","readEventActionGetActionClaimant","data","request","simulateEventActionExecute","writeEventActionExecute","claimant","getTransaction","log","signature","event","ValidationAbiMissingError","address","isAddressEqual","addressCandidate","decodedLogs","getTransactionReceipt","eventName","args","decodeEventLog","transaction","func","decodedData","decodeFunctionData","FunctionDataDecodeError","logOrFnData","maybeAddress","isAddress","actionSteps","actionStep","UnparseableAbiParamError","logs","criteria","decodedArgs","fieldValue","input","match","fromHex","InvalidNumericalCriteriaError","substring","FieldValueNotComparableError","regexString","UnrecognizedFilterTypeError","DecodedArgsMalformedError","zeroHash","FieldValueUndefinedError","_payload","_options","payload","options","rawPayload","tmpSteps","step","NoEventActionStepsProvidedError","TooManyEventActionStepsProvidedError","_","bytecode","prepareEventActionPayload","_a","EventActionBases","RegistryType","EventAction","_steps","signatures","_toRawActionStep","obj","actionClaimant","actionStepOne","actionStepTwo","actionStepThree","actionStepFour","encodeAbiParameters","anyActionParameter","transactionSenderClaimant","zeroAddress"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("../generated-CyTNlOwM.cjs"),l=require("../componentInterfaces-DRI_dQ-P.cjs"),p=require("@wagmi/core"),m=require("../errors.cjs"),e=require("../SimpleDenyList-BUR17Tt1.cjs"),d=require("viem"),c=require("./SimpleAllowList.cjs"),y=s.g;class L extends e.SimpleDenyList{buildParameters(n,t){const[i,a]=this.validateDeploymentConfig({},t);return{abi:y,bytecode:e.bytecode,args:[e.prepareSimpleDenyListPayload({owner:d.zeroAddress,denied:[]})],...this.optionallyAttachAccount(a.account)}}}const r={[l.ASimpleAllowList]:c.SimpleAllowList,[l.ASimpleDenyList]:e.SimpleDenyList};async function A(o,n){const t=await p.readContract(o.config,{abi:s.M,functionName:"getComponentInterface",address:n}),i=r[t];if(!i)throw new m.InvalidComponentInterfaceError(Object.keys(r),t);return new i(o,n)}exports.SimpleDenyList=e.SimpleDenyList;exports.SimpleAllowList=c.SimpleAllowList;exports.AllowListByComponentInterface=r;exports.OpenAllowList=L;exports.allowListFromAddress=A;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("../generated-DHerxf1y.cjs"),l=require("../componentInterfaces-DRI_dQ-P.cjs"),p=require("@wagmi/core"),m=require("../errors.cjs"),e=require("../SimpleDenyList-DNj5qDWM.cjs"),d=require("viem"),c=require("./SimpleAllowList.cjs"),y=s.g;class L extends e.SimpleDenyList{buildParameters(n,t){const[i,a]=this.validateDeploymentConfig({},t);return{abi:y,bytecode:e.bytecode,args:[e.prepareSimpleDenyListPayload({owner:d.zeroAddress,denied:[]})],...this.optionallyAttachAccount(a.account)}}}const r={[l.ASimpleAllowList]:c.SimpleAllowList,[l.ASimpleDenyList]:e.SimpleDenyList};async function A(o,n){const t=await p.readContract(o.config,{abi:s.M,functionName:"getComponentInterface",address:n}),i=r[t];if(!i)throw new m.InvalidComponentInterfaceError(Object.keys(r),t);return new i(o,n)}exports.SimpleDenyList=e.SimpleDenyList;exports.SimpleAllowList=c.SimpleAllowList;exports.AllowListByComponentInterface=r;exports.OpenAllowList=L;exports.allowListFromAddress=A;
2
2
  //# sourceMappingURL=AllowList.cjs.map
@@ -1,8 +1,8 @@
1
- import { g as s, M as l } from "../generated-CKt2yCQd.js";
1
+ import { g as s, K as l } from "../generated-CsNyWPKA.js";
2
2
  import { c as m, d as p } from "../componentInterfaces-BBCFkrZv.js";
3
3
  import { readContract as c } from "@wagmi/core";
4
4
  import { InvalidComponentInterfaceError as f } from "../errors.js";
5
- import { S as i, b as d, p as A } from "../SimpleDenyList-CGaWjuld.js";
5
+ import { S as i, b as d, p as A } from "../SimpleDenyList-BDXpY74P.js";
6
6
  import { zeroAddress as w } from "viem";
7
7
  import { SimpleAllowList as y } from "./SimpleAllowList.js";
8
8
  const L = s;
@@ -154,6 +154,20 @@ export declare const openAllowListAbi: readonly [{
154
154
  readonly type: "bytes4";
155
155
  }];
156
156
  readonly stateMutability: "pure";
157
+ }, {
158
+ readonly type: "function";
159
+ readonly inputs: readonly [{
160
+ readonly name: "accounts_";
161
+ readonly internalType: "address[]";
162
+ readonly type: "address[]";
163
+ }, {
164
+ readonly name: "roles_";
165
+ readonly internalType: "uint256[]";
166
+ readonly type: "uint256[]";
167
+ }];
168
+ readonly name: "grantManyRoles";
169
+ readonly outputs: readonly [];
170
+ readonly stateMutability: "nonpayable";
157
171
  }, {
158
172
  readonly type: "function";
159
173
  readonly inputs: readonly [{
@@ -168,20 +182,6 @@ export declare const openAllowListAbi: readonly [{
168
182
  readonly name: "grantRoles";
169
183
  readonly outputs: readonly [];
170
184
  readonly stateMutability: "payable";
171
- }, {
172
- readonly type: "function";
173
- readonly inputs: readonly [{
174
- readonly name: "accounts_";
175
- readonly internalType: "address[]";
176
- readonly type: "address[]";
177
- }, {
178
- readonly name: "roles_";
179
- readonly internalType: "uint256[]";
180
- readonly type: "uint256[]";
181
- }];
182
- readonly name: "grantRoles";
183
- readonly outputs: readonly [];
184
- readonly stateMutability: "nonpayable";
185
185
  }, {
186
186
  readonly type: "function";
187
187
  readonly inputs: readonly [{
@@ -306,6 +306,20 @@ export declare const openAllowListAbi: readonly [{
306
306
  readonly name: "requestOwnershipHandover";
307
307
  readonly outputs: readonly [];
308
308
  readonly stateMutability: "payable";
309
+ }, {
310
+ readonly type: "function";
311
+ readonly inputs: readonly [{
312
+ readonly name: "accounts_";
313
+ readonly internalType: "address[]";
314
+ readonly type: "address[]";
315
+ }, {
316
+ readonly name: "roles_";
317
+ readonly internalType: "uint256[]";
318
+ readonly type: "uint256[]";
319
+ }];
320
+ readonly name: "revokeManyRoles";
321
+ readonly outputs: readonly [];
322
+ readonly stateMutability: "nonpayable";
309
323
  }, {
310
324
  readonly type: "function";
311
325
  readonly inputs: readonly [{
@@ -320,20 +334,6 @@ export declare const openAllowListAbi: readonly [{
320
334
  readonly name: "revokeRoles";
321
335
  readonly outputs: readonly [];
322
336
  readonly stateMutability: "payable";
323
- }, {
324
- readonly type: "function";
325
- readonly inputs: readonly [{
326
- readonly name: "accounts_";
327
- readonly internalType: "address[]";
328
- readonly type: "address[]";
329
- }, {
330
- readonly name: "roles_";
331
- readonly internalType: "uint256[]";
332
- readonly type: "uint256[]";
333
- }];
334
- readonly name: "revokeRoles";
335
- readonly outputs: readonly [];
336
- readonly stateMutability: "nonpayable";
337
337
  }, {
338
338
  readonly type: "function";
339
339
  readonly inputs: readonly [{
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("../generated-CyTNlOwM.cjs"),u=require("@wagmi/core"),r=require("viem"),h=require("../deployments-DVXioW2i.cjs"),i=require("../Deployable/DeployableTargetWithRBAC.cjs"),A=require("../errors.cjs"),w=require("../utils.cjs"),y="0x6080604052348015600e575f80fd5b50601b601f60201b60201c565b60b0565b5f602c608760201b60201c565b90508054600181161560455763f92ee8a95f526004601cfd5b8160c01c808260011c146082578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b6118fe806100bd5f395ff3fe60806040526004361061014a575f3560e01c806354d1f13d116100b5578063e66708291161006e578063e66708291461040a578063ec87621c14610432578063f04e283e1461045c578063f2fde38b14610478578063fe9fbb8014610494578063fee81cf4146104d05761014a565b806354d1f13d1461033e578063715018a61461034857806375b238fc1461035257806380fd60051461037c5780638da5cb5b146103a4578063e3f756de146103ce5761014a565b80632de94807116101075780632de94807146102325780633abb06041461026e5780634359d28a14610296578063439fab91146102be5780634a4ee7b1146102e6578063514e62fc146103025761014a565b806301ffc9a71461014e578063183a4f6e1461018a5780631c10893f146101a65780631cd64df4146101c257806325692962146101fe57806328d6183b14610208575b5f80fd5b348015610159575f80fd5b50610174600480360381019061016f919061116e565b61050c565b60405161018191906111b3565b60405180910390f35b6101a4600480360381019061019f91906111ff565b610585565b005b6101c060048036038101906101bb9190611284565b610592565b005b3480156101cd575f80fd5b506101e860048036038101906101e39190611284565b6105a8565b6040516101f591906111b3565b60405180910390f35b6102066105be565b005b348015610213575f80fd5b5061021c61060f565b60405161022991906112d1565b60405180910390f35b34801561023d575f80fd5b50610258600480360381019061025391906112ea565b610636565b6040516102659190611324565b60405180910390f35b348015610279575f80fd5b50610294600480360381019061028f91906113f3565b61064f565b005b3480156102a1575f80fd5b506102bc60048036038101906102b791906113f3565b61078f565b005b3480156102c9575f80fd5b506102e460048036038101906102df91906114c6565b61089d565b005b61030060048036038101906102fb9190611284565b6109ba565b005b34801561030d575f80fd5b5061032860048036038101906103239190611284565b6109d0565b60405161033591906111b3565b60405180910390f35b6103466109e7565b005b610350610a20565b005b34801561035d575f80fd5b50610366610a33565b6040516103739190611324565b60405180910390f35b348015610387575f80fd5b506103a2600480360381019061039d9190611566565b610a38565b005b3480156103af575f80fd5b506103b8610aee565b6040516103c591906115f3565b60405180910390f35b3480156103d9575f80fd5b506103f460048036038101906103ef919061160c565b610b16565b60405161040191906111b3565b60405180910390f35b348015610415575f80fd5b50610430600480360381019061042b9190611566565b610b69565b005b34801561043d575f80fd5b50610446610c1f565b6040516104539190611324565b60405180910390f35b610476600480360381019061047191906112ea565b610c24565b005b610492600480360381019061048d91906112ea565b610c62565b005b34801561049f575f80fd5b506104ba60048036038101906104b591906112ea565b610c8b565b6040516104c791906111b3565b60405180910390f35b3480156104db575f80fd5b506104f660048036038101906104f191906112ea565b610cde565b6040516105039190611324565b60405180910390f35b5f7f1392d798000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061057e575061057d82610cf7565b5b9050919050565b61058f3382610d70565b50565b61059a610d7f565b6105a48282610db6565b5050565b5f81826105b485610636565b1614905092915050565b5f6105c7610dc6565b67ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b5f7f1392d79800000000000000000000000000000000000000000000000000000000905090565b5f638b78c6d8600c52815f526020600c20549050919050565b61065833610c8b565b61068e576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8181905084849050146106cd576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84849050811015610788578282828181106106ed576106ec611669565b5b905060200201602081019061070291906116c0565b5f8087878581811061071757610716611669565b5b905060200201602081019061072c91906112ea565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806001019150506106cf565b5050505050565b600261079a81610dd0565b8282905085859050146107d9576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b85859050811015610895575f8484838181106107fa576107f9611669565b5b905060200201602081019061080f91906116c0565b905060011515811515036108545761084f87878481811061083357610832611669565b5b905060200201602081019061084891906112ea565b6001610db6565b610887565b61088687878481811061086a57610869611669565b5b905060200201602081019061087f91906112ea565b6001610d70565b5b5080806001019150506107db565b505050505050565b5f6108a6610e05565b905080546003825580156108d85760018160011c14303b106108cf5763f92ee8a95f526004601cfd5b818160ff1b1b91505b505f8084848101906108ea919061186e565b915091506108f782610e2e565b5f5b815181101561097d5760015f8084848151811061091957610918611669565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806001019150506108f9565b50505080156109b5576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b6109c2610d7f565b6109cc8282610d70565b5050565b5f80826109dc85610636565b161415905092915050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b610a28610d7f565b610a315f610f04565b565b600281565b6002610a4381610dd0565b828290508585905014610a82576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b85859050811015610ae657610ad9868683818110610aa557610aa4611669565b5b9050602002016020810190610aba91906112ea565b858584818110610acd57610acc611669565b5b90506020020135610d70565b8080600101915050610a84565b505050505050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754905090565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1690509392505050565b6002610b7481610dd0565b828290508585905014610bb3576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b85859050811015610c1757610c0a868683818110610bd657610bd5611669565b5b9050602002016020810190610beb91906112ea565b858584818110610bfe57610bfd611669565b5b90506020020135610db6565b8080600101915050610bb5565b505050505050565b600181565b610c2c610d7f565b63389a75e1600c52805f526020600c208054421115610c5257636f5e88185f526004601cfd5b5f815550610c5f81610f04565b50565b610c6a610d7f565b8060601b610c7f57637448fbae5f526004601cfd5b610c8881610f04565b50565b5f8173ffffffffffffffffffffffffffffffffffffffff16610cab610aee565b73ffffffffffffffffffffffffffffffffffffffff161480610cd75750610cd68260026001176109d0565b5b9050919050565b5f63389a75e1600c52815f526020600c20549050919050565b5f7fe2089f79000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610d695750610d6882610fca565b5b9050919050565b610d7b82825f611043565b5050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314610db4576382b429005f526004601cfd5b565b610dc282826001611043565b5050565b5f6202a300905090565b638b78c6d819543314610e0257638b78c6d8600c52335f52806020600c205416610e01576382b429005f526004601cfd5b5b50565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b610e3661109b565b15610eae577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805415610e7057630dc149f05f526004601cfd5b8160601b60601c9150811560ff1b82178155815f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a350610f01565b8060601b60601c9050807fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392755805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a35b50565b610f0c61109b565b15610f71577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3811560ff1b8217815550610fc7565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3818155505b50565b5f7f6ab67a0d000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061103c575061103b8261109f565b5b9050919050565b638b78c6d8600c52825f526020600c2080548381178361106557848216821890505b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a3505050505050565b5f90565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61114d81611119565b8114611157575f80fd5b50565b5f8135905061116881611144565b92915050565b5f6020828403121561118357611182611111565b5b5f6111908482850161115a565b91505092915050565b5f8115159050919050565b6111ad81611199565b82525050565b5f6020820190506111c65f8301846111a4565b92915050565b5f819050919050565b6111de816111cc565b81146111e8575f80fd5b50565b5f813590506111f9816111d5565b92915050565b5f6020828403121561121457611213611111565b5b5f611221848285016111eb565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6112538261122a565b9050919050565b61126381611249565b811461126d575f80fd5b50565b5f8135905061127e8161125a565b92915050565b5f806040838503121561129a57611299611111565b5b5f6112a785828601611270565b92505060206112b8858286016111eb565b9150509250929050565b6112cb81611119565b82525050565b5f6020820190506112e45f8301846112c2565b92915050565b5f602082840312156112ff576112fe611111565b5b5f61130c84828501611270565b91505092915050565b61131e816111cc565b82525050565b5f6020820190506113375f830184611315565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f84011261135e5761135d61133d565b5b8235905067ffffffffffffffff81111561137b5761137a611341565b5b60208301915083602082028301111561139757611396611345565b5b9250929050565b5f8083601f8401126113b3576113b261133d565b5b8235905067ffffffffffffffff8111156113d0576113cf611341565b5b6020830191508360208202830111156113ec576113eb611345565b5b9250929050565b5f805f806040858703121561140b5761140a611111565b5b5f85013567ffffffffffffffff81111561142857611427611115565b5b61143487828801611349565b9450945050602085013567ffffffffffffffff81111561145757611456611115565b5b6114638782880161139e565b925092505092959194509250565b5f8083601f8401126114865761148561133d565b5b8235905067ffffffffffffffff8111156114a3576114a2611341565b5b6020830191508360018202830111156114bf576114be611345565b5b9250929050565b5f80602083850312156114dc576114db611111565b5b5f83013567ffffffffffffffff8111156114f9576114f8611115565b5b61150585828601611471565b92509250509250929050565b5f8083601f8401126115265761152561133d565b5b8235905067ffffffffffffffff81111561154357611542611341565b5b60208301915083602082028301111561155f5761155e611345565b5b9250929050565b5f805f806040858703121561157e5761157d611111565b5b5f85013567ffffffffffffffff81111561159b5761159a611115565b5b6115a787828801611349565b9450945050602085013567ffffffffffffffff8111156115ca576115c9611115565b5b6115d687828801611511565b925092505092959194509250565b6115ed81611249565b82525050565b5f6020820190506116065f8301846115e4565b92915050565b5f805f6040848603121561162357611622611111565b5b5f61163086828701611270565b935050602084013567ffffffffffffffff81111561165157611650611115565b5b61165d86828701611471565b92509250509250925092565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b61169f81611199565b81146116a9575f80fd5b50565b5f813590506116ba81611696565b92915050565b5f602082840312156116d5576116d4611111565b5b5f6116e2848285016116ac565b91505092915050565b5f6116f58261122a565b9050919050565b611705816116eb565b811461170f575f80fd5b50565b5f81359050611720816116fc565b92915050565b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61176c82611726565b810181811067ffffffffffffffff8211171561178b5761178a611736565b5b80604052505050565b5f61179d611108565b90506117a98282611763565b919050565b5f67ffffffffffffffff8211156117c8576117c7611736565b5b602082029050602081019050919050565b5f6117eb6117e6846117ae565b611794565b9050808382526020820190506020840283018581111561180e5761180d611345565b5b835b8181101561183757806118238882611270565b845260208401935050602081019050611810565b5050509392505050565b5f82601f8301126118555761185461133d565b5b81356118658482602086016117d9565b91505092915050565b5f806040838503121561188457611883611111565b5b5f61189185828601611712565b925050602083013567ffffffffffffffff8111156118b2576118b1611115565b5b6118be85828601611841565b915050925092905056fea2646970667358221220d5b6ea3e1c92033149fca471a0235b4450ed1b532444168de2e063c44c8ab99e64736f6c634300081a0033",p=i.Roles.MANAGER,t=class t extends i.DeployableTargetWithRBAC{constructor(){super(...arguments),this.abi=d.N}async owner(f){return await d.NR(this._config,{...this.optionallyAttachAccount(),...f,address:this.assertValidAddress(),args:[]})}async isAllowed(f,e){return await d.IR(this._config,{address:this.assertValidAddress(),args:[f,r.zeroHash],...this.optionallyAttachAccount(),...e})}async setAllowed(f,e,b){return await this.awaitResult(this.setAllowedRaw(f,e,b))}async setAllowedRaw(f,e,b){const{request:a,result:c}=await d.WR(this._config,{address:this.assertValidAddress(),args:[f,e],...this.optionallyAttachAccount(),...b});return{hash:await d.VR(this._config,a),result:c}}buildParameters(f,e){var c;const[b,a]=this.validateDeploymentConfig(f,e);if(!b.owner||b.owner===r.zeroAddress){const s=a.account?a.account.address:a.config?u.getAccount(a.config).address:(c=this._account)==null?void 0:c.address;if(s)b.owner=s;else throw new A.DeployableUnknownOwnerProvidedError}return{abi:d.N,bytecode:y,args:[n(b)],...this.optionallyAttachAccount(a.account)}}};t.bases={...h.SimpleAllowList},t.registryType=w.RegistryType.ALLOW_LIST;let o=t;function n({owner:l,allowed:f}){return r.encodeAbiParameters([{type:"address",name:"owner"},{type:"address[]",name:"allowed"}],[l,f])}exports.simpleAllowListAbi=d.N;exports.LIST_MANAGER_ROLE=p;exports.SimpleAllowList=o;exports.prepareSimpleAllowListPayload=n;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("../generated-DHerxf1y.cjs"),u=require("@wagmi/core"),r=require("viem"),h=require("../deployments-DF_6-7hH.cjs"),i=require("../Deployable/DeployableTargetWithRBAC.cjs"),A=require("../errors.cjs"),w=require("../utils.cjs"),y="0x6080604052348015600e575f80fd5b50601b601f60201b60201c565b60b0565b5f602c608760201b60201c565b90508054600181161560455763f92ee8a95f526004601cfd5b8160c01c808260011c146082578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b6118fe806100bd5f395ff3fe60806040526004361061014a575f3560e01c806354d1f13d116100b5578063e3f756de1161006e578063e3f756de146103f6578063ec87621c14610432578063f04e283e1461045c578063f2fde38b14610478578063fe9fbb8014610494578063fee81cf4146104d05761014a565b806354d1f13d1461033e578063715018a61461034857806375b238fc146103525780638da5cb5b1461037c578063be4994f8146103a6578063dcc21361146103ce5761014a565b80632de94807116101075780632de94807146102325780633abb06041461026e5780634359d28a14610296578063439fab91146102be5780634a4ee7b1146102e6578063514e62fc146103025761014a565b806301ffc9a71461014e578063183a4f6e1461018a5780631c10893f146101a65780631cd64df4146101c257806325692962146101fe57806328d6183b14610208575b5f80fd5b348015610159575f80fd5b50610174600480360381019061016f919061116e565b61050c565b60405161018191906111b3565b60405180910390f35b6101a4600480360381019061019f91906111ff565b610585565b005b6101c060048036038101906101bb9190611284565b610592565b005b3480156101cd575f80fd5b506101e860048036038101906101e39190611284565b6105a8565b6040516101f591906111b3565b60405180910390f35b6102066105be565b005b348015610213575f80fd5b5061021c61060f565b60405161022991906112d1565b60405180910390f35b34801561023d575f80fd5b50610258600480360381019061025391906112ea565b610636565b6040516102659190611324565b60405180910390f35b348015610279575f80fd5b50610294600480360381019061028f91906113f3565b61064f565b005b3480156102a1575f80fd5b506102bc60048036038101906102b791906113f3565b61078f565b005b3480156102c9575f80fd5b506102e460048036038101906102df91906114c6565b61089d565b005b61030060048036038101906102fb9190611284565b6109ba565b005b34801561030d575f80fd5b5061032860048036038101906103239190611284565b6109d0565b60405161033591906111b3565b60405180910390f35b6103466109e7565b005b610350610a20565b005b34801561035d575f80fd5b50610366610a33565b6040516103739190611324565b60405180910390f35b348015610387575f80fd5b50610390610a38565b60405161039d9190611520565b60405180910390f35b3480156103b1575f80fd5b506103cc60048036038101906103c7919061158e565b610a60565b005b3480156103d9575f80fd5b506103f460048036038101906103ef919061158e565b610b16565b005b348015610401575f80fd5b5061041c6004803603810190610417919061160c565b610bcc565b60405161042991906111b3565b60405180910390f35b34801561043d575f80fd5b50610446610c1f565b6040516104539190611324565b60405180910390f35b610476600480360381019061047191906112ea565b610c24565b005b610492600480360381019061048d91906112ea565b610c62565b005b34801561049f575f80fd5b506104ba60048036038101906104b591906112ea565b610c8b565b6040516104c791906111b3565b60405180910390f35b3480156104db575f80fd5b506104f660048036038101906104f191906112ea565b610cde565b6040516105039190611324565b60405180910390f35b5f7f1392d798000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061057e575061057d82610cf7565b5b9050919050565b61058f3382610d70565b50565b61059a610d7f565b6105a48282610db6565b5050565b5f81826105b485610636565b1614905092915050565b5f6105c7610dc6565b67ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b5f7f1392d79800000000000000000000000000000000000000000000000000000000905090565b5f638b78c6d8600c52815f526020600c20549050919050565b61065833610c8b565b61068e576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8181905084849050146106cd576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84849050811015610788578282828181106106ed576106ec611669565b5b905060200201602081019061070291906116c0565b5f8087878581811061071757610716611669565b5b905060200201602081019061072c91906112ea565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806001019150506106cf565b5050505050565b600261079a81610dd0565b8282905085859050146107d9576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b85859050811015610895575f8484838181106107fa576107f9611669565b5b905060200201602081019061080f91906116c0565b905060011515811515036108545761084f87878481811061083357610832611669565b5b905060200201602081019061084891906112ea565b6001610db6565b610887565b61088687878481811061086a57610869611669565b5b905060200201602081019061087f91906112ea565b6001610d70565b5b5080806001019150506107db565b505050505050565b5f6108a6610e05565b905080546003825580156108d85760018160011c14303b106108cf5763f92ee8a95f526004601cfd5b818160ff1b1b91505b505f8084848101906108ea919061186e565b915091506108f782610e2e565b5f5b815181101561097d5760015f8084848151811061091957610918611669565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806001019150506108f9565b50505080156109b5576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b6109c2610d7f565b6109cc8282610d70565b5050565b5f80826109dc85610636565b161415905092915050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b610a28610d7f565b610a315f610f04565b565b600281565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754905090565b6002610a6b81610dd0565b828290508585905014610aaa576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b85859050811015610b0e57610b01868683818110610acd57610acc611669565b5b9050602002016020810190610ae291906112ea565b858584818110610af557610af4611669565b5b90506020020135610db6565b8080600101915050610aac565b505050505050565b6002610b2181610dd0565b828290508585905014610b60576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b85859050811015610bc457610bb7868683818110610b8357610b82611669565b5b9050602002016020810190610b9891906112ea565b858584818110610bab57610baa611669565b5b90506020020135610d70565b8080600101915050610b62565b505050505050565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1690509392505050565b600181565b610c2c610d7f565b63389a75e1600c52805f526020600c208054421115610c5257636f5e88185f526004601cfd5b5f815550610c5f81610f04565b50565b610c6a610d7f565b8060601b610c7f57637448fbae5f526004601cfd5b610c8881610f04565b50565b5f8173ffffffffffffffffffffffffffffffffffffffff16610cab610a38565b73ffffffffffffffffffffffffffffffffffffffff161480610cd75750610cd68260026001176109d0565b5b9050919050565b5f63389a75e1600c52815f526020600c20549050919050565b5f7fe2089f79000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610d695750610d6882610fca565b5b9050919050565b610d7b82825f611043565b5050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314610db4576382b429005f526004601cfd5b565b610dc282826001611043565b5050565b5f6202a300905090565b638b78c6d819543314610e0257638b78c6d8600c52335f52806020600c205416610e01576382b429005f526004601cfd5b5b50565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b610e3661109b565b15610eae577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805415610e7057630dc149f05f526004601cfd5b8160601b60601c9150811560ff1b82178155815f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a350610f01565b8060601b60601c9050807fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392755805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a35b50565b610f0c61109b565b15610f71577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3811560ff1b8217815550610fc7565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3818155505b50565b5f7f6ab67a0d000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061103c575061103b8261109f565b5b9050919050565b638b78c6d8600c52825f526020600c2080548381178361106557848216821890505b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a3505050505050565b5f90565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61114d81611119565b8114611157575f80fd5b50565b5f8135905061116881611144565b92915050565b5f6020828403121561118357611182611111565b5b5f6111908482850161115a565b91505092915050565b5f8115159050919050565b6111ad81611199565b82525050565b5f6020820190506111c65f8301846111a4565b92915050565b5f819050919050565b6111de816111cc565b81146111e8575f80fd5b50565b5f813590506111f9816111d5565b92915050565b5f6020828403121561121457611213611111565b5b5f611221848285016111eb565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6112538261122a565b9050919050565b61126381611249565b811461126d575f80fd5b50565b5f8135905061127e8161125a565b92915050565b5f806040838503121561129a57611299611111565b5b5f6112a785828601611270565b92505060206112b8858286016111eb565b9150509250929050565b6112cb81611119565b82525050565b5f6020820190506112e45f8301846112c2565b92915050565b5f602082840312156112ff576112fe611111565b5b5f61130c84828501611270565b91505092915050565b61131e816111cc565b82525050565b5f6020820190506113375f830184611315565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f84011261135e5761135d61133d565b5b8235905067ffffffffffffffff81111561137b5761137a611341565b5b60208301915083602082028301111561139757611396611345565b5b9250929050565b5f8083601f8401126113b3576113b261133d565b5b8235905067ffffffffffffffff8111156113d0576113cf611341565b5b6020830191508360208202830111156113ec576113eb611345565b5b9250929050565b5f805f806040858703121561140b5761140a611111565b5b5f85013567ffffffffffffffff81111561142857611427611115565b5b61143487828801611349565b9450945050602085013567ffffffffffffffff81111561145757611456611115565b5b6114638782880161139e565b925092505092959194509250565b5f8083601f8401126114865761148561133d565b5b8235905067ffffffffffffffff8111156114a3576114a2611341565b5b6020830191508360018202830111156114bf576114be611345565b5b9250929050565b5f80602083850312156114dc576114db611111565b5b5f83013567ffffffffffffffff8111156114f9576114f8611115565b5b61150585828601611471565b92509250509250929050565b61151a81611249565b82525050565b5f6020820190506115335f830184611511565b92915050565b5f8083601f84011261154e5761154d61133d565b5b8235905067ffffffffffffffff81111561156b5761156a611341565b5b60208301915083602082028301111561158757611586611345565b5b9250929050565b5f805f80604085870312156115a6576115a5611111565b5b5f85013567ffffffffffffffff8111156115c3576115c2611115565b5b6115cf87828801611349565b9450945050602085013567ffffffffffffffff8111156115f2576115f1611115565b5b6115fe87828801611539565b925092505092959194509250565b5f805f6040848603121561162357611622611111565b5b5f61163086828701611270565b935050602084013567ffffffffffffffff81111561165157611650611115565b5b61165d86828701611471565b92509250509250925092565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b61169f81611199565b81146116a9575f80fd5b50565b5f813590506116ba81611696565b92915050565b5f602082840312156116d5576116d4611111565b5b5f6116e2848285016116ac565b91505092915050565b5f6116f58261122a565b9050919050565b611705816116eb565b811461170f575f80fd5b50565b5f81359050611720816116fc565b92915050565b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61176c82611726565b810181811067ffffffffffffffff8211171561178b5761178a611736565b5b80604052505050565b5f61179d611108565b90506117a98282611763565b919050565b5f67ffffffffffffffff8211156117c8576117c7611736565b5b602082029050602081019050919050565b5f6117eb6117e6846117ae565b611794565b9050808382526020820190506020840283018581111561180e5761180d611345565b5b835b8181101561183757806118238882611270565b845260208401935050602081019050611810565b5050509392505050565b5f82601f8301126118555761185461133d565b5b81356118658482602086016117d9565b91505092915050565b5f806040838503121561188457611883611111565b5b5f61189185828601611712565b925050602083013567ffffffffffffffff8111156118b2576118b1611115565b5b6118be85828601611841565b915050925092905056fea2646970667358221220c9a35ca6ff9401c2097651dc842fe665b8bc1410030b7570f27aada96e8e099364736f6c634300081a0033",p=i.Roles.MANAGER,t=class t extends i.DeployableTargetWithRBAC{constructor(){super(...arguments),this.abi=d.h}async owner(f){return await d.IO(this._config,{...this.optionallyAttachAccount(),...f,address:this.assertValidAddress(),args:[]})}async isAllowed(f,e){return await d.TO(this._config,{address:this.assertValidAddress(),args:[f,r.zeroHash],...this.optionallyAttachAccount(),...e})}async setAllowed(f,e,b){return await this.awaitResult(this.setAllowedRaw(f,e,b))}async setAllowedRaw(f,e,b){const{request:a,result:c}=await d.JO(this._config,{address:this.assertValidAddress(),args:[f,e],...this.optionallyAttachAccount(),...b});return{hash:await d.kO(this._config,a),result:c}}buildParameters(f,e){var c;const[b,a]=this.validateDeploymentConfig(f,e);if(!b.owner||b.owner===r.zeroAddress){const s=a.account?a.account.address:a.config?u.getAccount(a.config).address:(c=this._account)==null?void 0:c.address;if(s)b.owner=s;else throw new A.DeployableUnknownOwnerProvidedError}return{abi:d.h,bytecode:y,args:[n(b)],...this.optionallyAttachAccount(a.account)}}};t.bases={31337:void 0,...h.SimpleAllowList},t.registryType=w.RegistryType.ALLOW_LIST;let o=t;function n({owner:l,allowed:f}){return r.encodeAbiParameters([{type:"address",name:"owner"},{type:"address[]",name:"allowed"}],[l,f])}exports.simpleAllowListAbi=d.h;exports.LIST_MANAGER_ROLE=p;exports.SimpleAllowList=o;exports.prepareSimpleAllowListPayload=n;
2
2
  //# sourceMappingURL=SimpleAllowList.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"SimpleAllowList.cjs","sources":["../../src/AllowLists/SimpleAllowList.ts"],"sourcesContent":["import {\n readSimpleAllowListIsAllowed,\n readSimpleAllowListOwner,\n simpleAllowListAbi,\n simulateSimpleAllowListSetAllowed,\n writeSimpleAllowListSetAllowed,\n} from '@boostxyz/evm';\nimport { bytecode } from '@boostxyz/evm/artifacts/contracts/allowlists/SimpleAllowList.sol/SimpleAllowList.json';\nimport { getAccount } from '@wagmi/core';\nimport {\n type Address,\n type ContractEventName,\n type Hex,\n encodeAbiParameters,\n zeroAddress,\n zeroHash,\n} from 'viem';\nimport { SimpleAllowList as SimpleAllowListBases } from '../../dist/deployments.json';\nimport type {\n DeployableOptions,\n GenericDeployableParams,\n} from '../Deployable/Deployable';\nimport {\n DeployableTargetWithRBAC,\n Roles,\n} from '../Deployable/DeployableTargetWithRBAC';\nimport { DeployableUnknownOwnerProvidedError } from '../errors';\nimport {\n type GenericLog,\n type ReadParams,\n RegistryType,\n type WriteParams,\n} from '../utils';\n\nexport { simpleAllowListAbi };\n\n/**\n * Object representation of a {@link SimpleAllowList} initialization payload.\n *\n * @export\n * @interface SimpleAllowListPayload\n * @typedef {SimpleAllowListPayload}\n */\nexport interface SimpleAllowListPayload {\n /**\n * The allow list's owner, given the {@link LIST_MANAGER_ROLE} role.\n *\n * @type {Address}\n */\n owner: Address;\n /**\n * List of allowed addresses.\n *\n * @type {Address[]}\n */\n allowed: Address[];\n}\n\n/**\n * A generic `viem.Log` event with support for `SimpleAllowList` event types.\n *\n * @export\n * @typedef {SimpleAllowListLog}\n * @template {ContractEventName<\n * typeof simpleAllowListAbi\n * >} [event=ContractEventName<typeof simpleAllowListAbi>]\n */\nexport type SimpleAllowListLog<\n event extends ContractEventName<\n typeof simpleAllowListAbi\n > = ContractEventName<typeof simpleAllowListAbi>,\n> = GenericLog<typeof simpleAllowListAbi, event>;\n\n/**\n * A constant representing the list manager's role\n *\n * @deprecated use {@link Roles} instead\n * @type {1n}\n */\nexport const LIST_MANAGER_ROLE = Roles.MANAGER;\n/**\n * A simple implementation of an AllowList that checks if a user is authorized based on a list of allowed addresses\n *\n * @export\n * @class SimpleAllowList\n * @typedef {SimpleAllowList}\n * @extends {DeployableTargetWithRBAC<SimpleAllowListPayload>}\n */\nexport class SimpleAllowList extends DeployableTargetWithRBAC<\n SimpleAllowListPayload,\n typeof simpleAllowListAbi\n> {\n public override readonly abi = simpleAllowListAbi;\n /**\n * @inheritdoc\n *\n * @public\n * @static\n * @type {Record<number, Address>}\n */\n public static override bases: Record<number, Address> = {\n ...(SimpleAllowListBases 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(\n params?: ReadParams<typeof simpleAllowListAbi, 'owner'>,\n ): Promise<Address> {\n return await readSimpleAllowListOwner(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.\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 authorized\n */\n public async isAllowed(\n address: Address,\n params?: ReadParams<typeof simpleAllowListAbi, 'setAllowed'>,\n ): Promise<boolean> {\n return await readSimpleAllowListIsAllowed(this._config, {\n address: this.assertValidAddress(),\n args: [address, zeroHash],\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 the allowed status of a user. The length of the `users_` and `allowed_` arrays must be the same.\n * This function can only be called by the owner\n *\n * @public\n * @async\n * @param {Address[]} addresses - The list of users to update\n * @param {boolean[]} allowed - The allowed status of each user\n * @param {?ReadParams} [params]\n * @returns {Promise<void>}\n */\n public async setAllowed(\n addresses: Address[],\n allowed: boolean[],\n params?: WriteParams<typeof simpleAllowListAbi, 'setAllowed'>,\n ) {\n return await this.awaitResult(\n this.setAllowedRaw(addresses, allowed, params),\n );\n }\n\n /**\n * Set the allowed status of a user. The length of the `users_` and `allowed_` arrays must be the same.\n * This function can only be called by the owner\n *\n * @public\n * @async\n * @param {Address[]} addresses - The list of users to update\n * @param {boolean[]} allowed - The allowed status of each user\n * @param {?ReadParams} [params]\n * @returns {Promise<{ hash: `0x${string}`; result: void; }>}\n */\n public async setAllowedRaw(\n addresses: Address[],\n allowed: boolean[],\n params?: ReadParams<typeof simpleAllowListAbi, 'setAllowed'>,\n ) {\n const { request, result } = await simulateSimpleAllowListSetAllowed(\n this._config,\n {\n address: this.assertValidAddress(),\n args: [addresses, allowed],\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 writeSimpleAllowListSetAllowed(this._config, request);\n return { hash, result };\n }\n\n /**\n * @inheritdoc\n *\n * @public\n * @param {?SimpleAllowListPayload} [_payload]\n * @param {?DeployableOptions} [_options]\n * @returns {GenericDeployableParams}\n */\n public override buildParameters(\n _payload?: SimpleAllowListPayload,\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: simpleAllowListAbi,\n bytecode: bytecode as Hex,\n args: [prepareSimpleAllowListPayload(payload)],\n ...this.optionallyAttachAccount(options.account),\n };\n }\n}\n\n/**\n * Given a {@link SimpleAllowListPayload}, properly encode the initialization payload.\n *\n * @param {SimpleAllowListPayload} param0\n * @param {Address} param0.owner - The allow list's owner, given the {@link LIST_MANAGER_ROLE} role.\n * @param {Address[]} param0.allowed - List of allowed addresses.\n * @returns {Hex}\n */\nexport function prepareSimpleAllowListPayload({\n owner,\n allowed,\n}: SimpleAllowListPayload) {\n return encodeAbiParameters(\n [\n { type: 'address', name: 'owner' },\n { type: 'address[]', name: 'allowed' },\n ],\n [owner, allowed],\n );\n}\n"],"names":["LIST_MANAGER_ROLE","Roles","_SimpleAllowList","DeployableTargetWithRBAC","simpleAllowListAbi","params","readSimpleAllowListOwner","address","readSimpleAllowListIsAllowed","zeroHash","addresses","allowed","request","result","simulateSimpleAllowListSetAllowed","writeSimpleAllowListSetAllowed","_payload","_options","payload","options","zeroAddress","owner","getAccount","_a","DeployableUnknownOwnerProvidedError","bytecode","prepareSimpleAllowListPayload","SimpleAllowListBases","RegistryType","SimpleAllowList","encodeAbiParameters"],"mappings":"2raA+EaA,EAAoBC,EAAM,MAAA,QAS1BC,EAAN,MAAMA,UAAwBC,EAAAA,wBAGnC,CAHK,aAAA,CAAA,MAAA,GAAA,SAAA,EAIL,KAAyB,IAAMC,GAAA,CA4B/B,MAAa,MACXC,EACkB,CACX,OAAA,MAAMC,EAAAA,GAAyB,KAAK,QAAS,CAClD,GAAG,KAAK,wBAAwB,EAEhC,GAAID,EACJ,QAAS,KAAK,mBAAmB,EACjC,KAAM,CAAC,CAAA,CACR,CACH,CAWA,MAAa,UACXE,EACAF,EACkB,CACX,OAAA,MAAMG,EAAAA,GAA6B,KAAK,QAAS,CACtD,QAAS,KAAK,mBAAmB,EACjC,KAAM,CAACD,EAASE,UAAQ,EACxB,GAAG,KAAK,wBAAwB,EAEhC,GAAIJ,CAAA,CACL,CACH,CAaA,MAAa,WACXK,EACAC,EACAN,EACA,CACA,OAAO,MAAM,KAAK,YAChB,KAAK,cAAcK,EAAWC,EAASN,CAAM,CAAA,CAEjD,CAaA,MAAa,cACXK,EACAC,EACAN,EACA,CACA,KAAM,CAAE,QAAAO,EAAS,OAAAC,CAAO,EAAI,MAAMC,EAAA,GAChC,KAAK,QACL,CACE,QAAS,KAAK,mBAAmB,EACjC,KAAM,CAACJ,EAAWC,CAAO,EACzB,GAAG,KAAK,wBAAwB,EAEhC,GAAIN,CACN,CAAA,EAGK,MAAA,CAAE,KADI,MAAMU,EAA+B,GAAA,KAAK,QAASH,CAAO,EACxD,OAAAC,EACjB,CAUgB,gBACdG,EACAC,EACyB,OACzB,KAAM,CAACC,EAASC,CAAO,EAAI,KAAK,yBAC9BH,EACAC,CAAA,EAEF,GAAI,CAACC,EAAQ,OAASA,EAAQ,QAAUE,EAAAA,YAAa,CACnD,MAAMC,EAAQF,EAAQ,QAClBA,EAAQ,QAAQ,QAChBA,EAAQ,OACNG,EAAA,WAAWH,EAAQ,MAAM,EAAE,SAC3BI,EAAA,KAAK,WAAL,YAAAA,EAAe,QACrB,GAAIF,EACFH,EAAQ,MAAQG,MAEhB,OAAM,IAAIG,EAAoC,mCAElD,CACO,MAAA,CACL,IAAKpB,EAAA,EACL,SAAAqB,EACA,KAAM,CAACC,EAA8BR,CAAO,CAAC,EAC7C,GAAG,KAAK,wBAAwBC,EAAQ,OAAO,CAAA,CAEnD,CACF,EA5IEjB,EAAuB,MAAiC,CACtD,GAAIyB,EAAA,eAAA,EASNzB,EAAuB,aAA6B0B,EAAa,aAAA,WAtB5D,IAAMC,EAAN3B,EAkKA,SAASwB,EAA8B,CAC5C,MAAAL,EACA,QAAAV,CACF,EAA2B,CAClB,OAAAmB,EAAA,oBACL,CACE,CAAE,KAAM,UAAW,KAAM,OAAQ,EACjC,CAAE,KAAM,YAAa,KAAM,SAAU,CACvC,EACA,CAACT,EAAOV,CAAO,CAAA,CAEnB"}
1
+ {"version":3,"file":"SimpleAllowList.cjs","sources":["../../src/AllowLists/SimpleAllowList.ts"],"sourcesContent":["import {\n readSimpleAllowListIsAllowed,\n readSimpleAllowListOwner,\n simpleAllowListAbi,\n simulateSimpleAllowListSetAllowed,\n writeSimpleAllowListSetAllowed,\n} from '@boostxyz/evm';\nimport { bytecode } from '@boostxyz/evm/artifacts/contracts/allowlists/SimpleAllowList.sol/SimpleAllowList.json';\nimport { getAccount } from '@wagmi/core';\nimport {\n type Address,\n type ContractEventName,\n type Hex,\n encodeAbiParameters,\n zeroAddress,\n zeroHash,\n} from 'viem';\nimport { SimpleAllowList as SimpleAllowListBases } from '../../dist/deployments.json';\nimport type {\n DeployableOptions,\n GenericDeployableParams,\n} from '../Deployable/Deployable';\nimport {\n DeployableTargetWithRBAC,\n Roles,\n} from '../Deployable/DeployableTargetWithRBAC';\nimport { DeployableUnknownOwnerProvidedError } from '../errors';\nimport {\n type GenericLog,\n type ReadParams,\n RegistryType,\n type WriteParams,\n} from '../utils';\n\nexport { simpleAllowListAbi };\n\n/**\n * Object representation of a {@link SimpleAllowList} initialization payload.\n *\n * @export\n * @interface SimpleAllowListPayload\n * @typedef {SimpleAllowListPayload}\n */\nexport interface SimpleAllowListPayload {\n /**\n * The allow list's owner, given the {@link LIST_MANAGER_ROLE} role.\n *\n * @type {Address}\n */\n owner: Address;\n /**\n * List of allowed addresses.\n *\n * @type {Address[]}\n */\n allowed: Address[];\n}\n\n/**\n * A generic `viem.Log` event with support for `SimpleAllowList` event types.\n *\n * @export\n * @typedef {SimpleAllowListLog}\n * @template {ContractEventName<\n * typeof simpleAllowListAbi\n * >} [event=ContractEventName<typeof simpleAllowListAbi>]\n */\nexport type SimpleAllowListLog<\n event extends ContractEventName<\n typeof simpleAllowListAbi\n > = ContractEventName<typeof simpleAllowListAbi>,\n> = GenericLog<typeof simpleAllowListAbi, event>;\n\n/**\n * A constant representing the list manager's role\n *\n * @deprecated use {@link Roles} instead\n * @type {1n}\n */\nexport const LIST_MANAGER_ROLE = Roles.MANAGER;\n/**\n * A simple implementation of an AllowList that checks if a user is authorized based on a list of allowed addresses\n *\n * @export\n * @class SimpleAllowList\n * @typedef {SimpleAllowList}\n * @extends {DeployableTargetWithRBAC<SimpleAllowListPayload>}\n */\nexport class SimpleAllowList extends DeployableTargetWithRBAC<\n SimpleAllowListPayload,\n typeof simpleAllowListAbi\n> {\n public override readonly abi = simpleAllowListAbi;\n /**\n * @inheritdoc\n *\n * @public\n * @static\n * @type {Record<number, Address>}\n */\n public static override bases: Record<number, Address> = {\n 31337: import.meta.env.VITE_SIMPLE_ALLOWLIST_BASE,\n ...(SimpleAllowListBases 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(\n params?: ReadParams<typeof simpleAllowListAbi, 'owner'>,\n ): Promise<Address> {\n return await readSimpleAllowListOwner(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.\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 authorized\n */\n public async isAllowed(\n address: Address,\n params?: ReadParams<typeof simpleAllowListAbi, 'setAllowed'>,\n ): Promise<boolean> {\n return await readSimpleAllowListIsAllowed(this._config, {\n address: this.assertValidAddress(),\n args: [address, zeroHash],\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 the allowed status of a user. The length of the `users_` and `allowed_` arrays must be the same.\n * This function can only be called by the owner\n *\n * @public\n * @async\n * @param {Address[]} addresses - The list of users to update\n * @param {boolean[]} allowed - The allowed status of each user\n * @param {?ReadParams} [params]\n * @returns {Promise<void>}\n */\n public async setAllowed(\n addresses: Address[],\n allowed: boolean[],\n params?: WriteParams<typeof simpleAllowListAbi, 'setAllowed'>,\n ) {\n return await this.awaitResult(\n this.setAllowedRaw(addresses, allowed, params),\n );\n }\n\n /**\n * Set the allowed status of a user. The length of the `users_` and `allowed_` arrays must be the same.\n * This function can only be called by the owner\n *\n * @public\n * @async\n * @param {Address[]} addresses - The list of users to update\n * @param {boolean[]} allowed - The allowed status of each user\n * @param {?ReadParams} [params]\n * @returns {Promise<{ hash: `0x${string}`; result: void; }>}\n */\n public async setAllowedRaw(\n addresses: Address[],\n allowed: boolean[],\n params?: ReadParams<typeof simpleAllowListAbi, 'setAllowed'>,\n ) {\n const { request, result } = await simulateSimpleAllowListSetAllowed(\n this._config,\n {\n address: this.assertValidAddress(),\n args: [addresses, allowed],\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 writeSimpleAllowListSetAllowed(this._config, request);\n return { hash, result };\n }\n\n /**\n * @inheritdoc\n *\n * @public\n * @param {?SimpleAllowListPayload} [_payload]\n * @param {?DeployableOptions} [_options]\n * @returns {GenericDeployableParams}\n */\n public override buildParameters(\n _payload?: SimpleAllowListPayload,\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: simpleAllowListAbi,\n bytecode: bytecode as Hex,\n args: [prepareSimpleAllowListPayload(payload)],\n ...this.optionallyAttachAccount(options.account),\n };\n }\n}\n\n/**\n * Given a {@link SimpleAllowListPayload}, properly encode the initialization payload.\n *\n * @param {SimpleAllowListPayload} param0\n * @param {Address} param0.owner - The allow list's owner, given the {@link LIST_MANAGER_ROLE} role.\n * @param {Address[]} param0.allowed - List of allowed addresses.\n * @returns {Hex}\n */\nexport function prepareSimpleAllowListPayload({\n owner,\n allowed,\n}: SimpleAllowListPayload) {\n return encodeAbiParameters(\n [\n { type: 'address', name: 'owner' },\n { type: 'address[]', name: 'allowed' },\n ],\n [owner, allowed],\n );\n}\n"],"names":["LIST_MANAGER_ROLE","Roles","_SimpleAllowList","DeployableTargetWithRBAC","simpleAllowListAbi","params","readSimpleAllowListOwner","address","readSimpleAllowListIsAllowed","zeroHash","addresses","allowed","request","result","simulateSimpleAllowListSetAllowed","writeSimpleAllowListSetAllowed","_payload","_options","payload","options","zeroAddress","owner","getAccount","_a","DeployableUnknownOwnerProvidedError","bytecode","prepareSimpleAllowListPayload","SimpleAllowListBases","RegistryType","SimpleAllowList","encodeAbiParameters"],"mappings":"2raA+EaA,EAAoBC,EAAM,MAAA,QAS1BC,EAAN,MAAMA,UAAwBC,EAAAA,wBAGnC,CAHK,aAAA,CAAA,MAAA,GAAA,SAAA,EAIL,KAAyB,IAAMC,GAAA,CA6B/B,MAAa,MACXC,EACkB,CACX,OAAA,MAAMC,EAAAA,GAAyB,KAAK,QAAS,CAClD,GAAG,KAAK,wBAAwB,EAEhC,GAAID,EACJ,QAAS,KAAK,mBAAmB,EACjC,KAAM,CAAC,CAAA,CACR,CACH,CAWA,MAAa,UACXE,EACAF,EACkB,CACX,OAAA,MAAMG,EAAAA,GAA6B,KAAK,QAAS,CACtD,QAAS,KAAK,mBAAmB,EACjC,KAAM,CAACD,EAASE,UAAQ,EACxB,GAAG,KAAK,wBAAwB,EAEhC,GAAIJ,CAAA,CACL,CACH,CAaA,MAAa,WACXK,EACAC,EACAN,EACA,CACA,OAAO,MAAM,KAAK,YAChB,KAAK,cAAcK,EAAWC,EAASN,CAAM,CAAA,CAEjD,CAaA,MAAa,cACXK,EACAC,EACAN,EACA,CACA,KAAM,CAAE,QAAAO,EAAS,OAAAC,CAAO,EAAI,MAAMC,EAAA,GAChC,KAAK,QACL,CACE,QAAS,KAAK,mBAAmB,EACjC,KAAM,CAACJ,EAAWC,CAAO,EACzB,GAAG,KAAK,wBAAwB,EAEhC,GAAIN,CACN,CAAA,EAGK,MAAA,CAAE,KADI,MAAMU,EAA+B,GAAA,KAAK,QAASH,CAAO,EACxD,OAAAC,EACjB,CAUgB,gBACdG,EACAC,EACyB,OACzB,KAAM,CAACC,EAASC,CAAO,EAAI,KAAK,yBAC9BH,EACAC,CAAA,EAEF,GAAI,CAACC,EAAQ,OAASA,EAAQ,QAAUE,EAAAA,YAAa,CACnD,MAAMC,EAAQF,EAAQ,QAClBA,EAAQ,QAAQ,QAChBA,EAAQ,OACNG,EAAA,WAAWH,EAAQ,MAAM,EAAE,SAC3BI,EAAA,KAAK,WAAL,YAAAA,EAAe,QACrB,GAAIF,EACFH,EAAQ,MAAQG,MAEhB,OAAM,IAAIG,EAAoC,mCAElD,CACO,MAAA,CACL,IAAKpB,EAAA,EACL,SAAAqB,EACA,KAAM,CAACC,EAA8BR,CAAO,CAAC,EAC7C,GAAG,KAAK,wBAAwBC,EAAQ,OAAO,CAAA,CAEnD,CACF,EA7IEjB,EAAuB,MAAiC,CACtD,MAAO,OACP,GAAIyB,EAAA,eAAA,EASNzB,EAAuB,aAA6B0B,EAAa,aAAA,WAvB5D,IAAMC,EAAN3B,EAmKA,SAASwB,EAA8B,CAC5C,MAAAL,EACA,QAAAV,CACF,EAA2B,CAClB,OAAAmB,EAAA,oBACL,CACE,CAAE,KAAM,UAAW,KAAM,OAAQ,EACjC,CAAE,KAAM,YAAa,KAAM,SAAU,CACvC,EACA,CAACT,EAAOV,CAAO,CAAA,CAEnB"}
@@ -205,6 +205,20 @@ export declare class SimpleAllowList extends DeployableTargetWithRBAC<SimpleAllo
205
205
  readonly type: "bytes4";
206
206
  }];
207
207
  readonly stateMutability: "pure";
208
+ }, {
209
+ readonly type: "function";
210
+ readonly inputs: readonly [{
211
+ readonly name: "accounts_";
212
+ readonly internalType: "address[]";
213
+ readonly type: "address[]";
214
+ }, {
215
+ readonly name: "roles_";
216
+ readonly internalType: "uint256[]";
217
+ readonly type: "uint256[]";
218
+ }];
219
+ readonly name: "grantManyRoles";
220
+ readonly outputs: readonly [];
221
+ readonly stateMutability: "nonpayable";
208
222
  }, {
209
223
  readonly type: "function";
210
224
  readonly inputs: readonly [{
@@ -219,20 +233,6 @@ export declare class SimpleAllowList extends DeployableTargetWithRBAC<SimpleAllo
219
233
  readonly name: "grantRoles";
220
234
  readonly outputs: readonly [];
221
235
  readonly stateMutability: "payable";
222
- }, {
223
- readonly type: "function";
224
- readonly inputs: readonly [{
225
- readonly name: "accounts_";
226
- readonly internalType: "address[]";
227
- readonly type: "address[]";
228
- }, {
229
- readonly name: "roles_";
230
- readonly internalType: "uint256[]";
231
- readonly type: "uint256[]";
232
- }];
233
- readonly name: "grantRoles";
234
- readonly outputs: readonly [];
235
- readonly stateMutability: "nonpayable";
236
236
  }, {
237
237
  readonly type: "function";
238
238
  readonly inputs: readonly [{
@@ -357,6 +357,20 @@ export declare class SimpleAllowList extends DeployableTargetWithRBAC<SimpleAllo
357
357
  readonly name: "requestOwnershipHandover";
358
358
  readonly outputs: readonly [];
359
359
  readonly stateMutability: "payable";
360
+ }, {
361
+ readonly type: "function";
362
+ readonly inputs: readonly [{
363
+ readonly name: "accounts_";
364
+ readonly internalType: "address[]";
365
+ readonly type: "address[]";
366
+ }, {
367
+ readonly name: "roles_";
368
+ readonly internalType: "uint256[]";
369
+ readonly type: "uint256[]";
370
+ }];
371
+ readonly name: "revokeManyRoles";
372
+ readonly outputs: readonly [];
373
+ readonly stateMutability: "nonpayable";
360
374
  }, {
361
375
  readonly type: "function";
362
376
  readonly inputs: readonly [{
@@ -371,20 +385,6 @@ export declare class SimpleAllowList extends DeployableTargetWithRBAC<SimpleAllo
371
385
  readonly name: "revokeRoles";
372
386
  readonly outputs: readonly [];
373
387
  readonly stateMutability: "payable";
374
- }, {
375
- readonly type: "function";
376
- readonly inputs: readonly [{
377
- readonly name: "accounts_";
378
- readonly internalType: "address[]";
379
- readonly type: "address[]";
380
- }, {
381
- readonly name: "roles_";
382
- readonly internalType: "uint256[]";
383
- readonly type: "uint256[]";
384
- }];
385
- readonly name: "revokeRoles";
386
- readonly outputs: readonly [];
387
- readonly stateMutability: "nonpayable";
388
388
  }, {
389
389
  readonly type: "function";
390
390
  readonly inputs: readonly [{
@@ -1 +1 @@
1
- {"version":3,"file":"SimpleAllowList.d.ts","sourceRoot":"","sources":["../../src/AllowLists/SimpleAllowList.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SimpleAllowList.d.ts","sourceRoot":"","sources":["../../src/AllowLists/SimpleAllowList.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
- import { N as s, a5 as i, a6 as n, a7 as l, a8 as h } from "../generated-CKt2yCQd.js";
1
+ import { h as s, a9 as i, aa as n, ab as l, ac as h } from "../generated-CsNyWPKA.js";
2
2
  import { getAccount as A } from "@wagmi/core";
3
3
  import { zeroHash as p, zeroAddress as u, encodeAbiParameters as w } from "viem";
4
- import { S as m } from "../deployments-oykLv3_Z.js";
4
+ import { S as m } from "../deployments-fJsWblwS.js";
5
5
  import { Roles as y, DeployableTargetWithRBAC as g } from "../Deployable/DeployableTargetWithRBAC.js";
6
6
  import { DeployableUnknownOwnerProvidedError as R } from "../errors.js";
7
- import { RegistryType as _ } from "../utils.js";
8
- const L = "0x6080604052348015600e575f80fd5b50601b601f60201b60201c565b60b0565b5f602c608760201b60201c565b90508054600181161560455763f92ee8a95f526004601cfd5b8160c01c808260011c146082578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b6118fe806100bd5f395ff3fe60806040526004361061014a575f3560e01c806354d1f13d116100b5578063e66708291161006e578063e66708291461040a578063ec87621c14610432578063f04e283e1461045c578063f2fde38b14610478578063fe9fbb8014610494578063fee81cf4146104d05761014a565b806354d1f13d1461033e578063715018a61461034857806375b238fc1461035257806380fd60051461037c5780638da5cb5b146103a4578063e3f756de146103ce5761014a565b80632de94807116101075780632de94807146102325780633abb06041461026e5780634359d28a14610296578063439fab91146102be5780634a4ee7b1146102e6578063514e62fc146103025761014a565b806301ffc9a71461014e578063183a4f6e1461018a5780631c10893f146101a65780631cd64df4146101c257806325692962146101fe57806328d6183b14610208575b5f80fd5b348015610159575f80fd5b50610174600480360381019061016f919061116e565b61050c565b60405161018191906111b3565b60405180910390f35b6101a4600480360381019061019f91906111ff565b610585565b005b6101c060048036038101906101bb9190611284565b610592565b005b3480156101cd575f80fd5b506101e860048036038101906101e39190611284565b6105a8565b6040516101f591906111b3565b60405180910390f35b6102066105be565b005b348015610213575f80fd5b5061021c61060f565b60405161022991906112d1565b60405180910390f35b34801561023d575f80fd5b50610258600480360381019061025391906112ea565b610636565b6040516102659190611324565b60405180910390f35b348015610279575f80fd5b50610294600480360381019061028f91906113f3565b61064f565b005b3480156102a1575f80fd5b506102bc60048036038101906102b791906113f3565b61078f565b005b3480156102c9575f80fd5b506102e460048036038101906102df91906114c6565b61089d565b005b61030060048036038101906102fb9190611284565b6109ba565b005b34801561030d575f80fd5b5061032860048036038101906103239190611284565b6109d0565b60405161033591906111b3565b60405180910390f35b6103466109e7565b005b610350610a20565b005b34801561035d575f80fd5b50610366610a33565b6040516103739190611324565b60405180910390f35b348015610387575f80fd5b506103a2600480360381019061039d9190611566565b610a38565b005b3480156103af575f80fd5b506103b8610aee565b6040516103c591906115f3565b60405180910390f35b3480156103d9575f80fd5b506103f460048036038101906103ef919061160c565b610b16565b60405161040191906111b3565b60405180910390f35b348015610415575f80fd5b50610430600480360381019061042b9190611566565b610b69565b005b34801561043d575f80fd5b50610446610c1f565b6040516104539190611324565b60405180910390f35b610476600480360381019061047191906112ea565b610c24565b005b610492600480360381019061048d91906112ea565b610c62565b005b34801561049f575f80fd5b506104ba60048036038101906104b591906112ea565b610c8b565b6040516104c791906111b3565b60405180910390f35b3480156104db575f80fd5b506104f660048036038101906104f191906112ea565b610cde565b6040516105039190611324565b60405180910390f35b5f7f1392d798000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061057e575061057d82610cf7565b5b9050919050565b61058f3382610d70565b50565b61059a610d7f565b6105a48282610db6565b5050565b5f81826105b485610636565b1614905092915050565b5f6105c7610dc6565b67ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b5f7f1392d79800000000000000000000000000000000000000000000000000000000905090565b5f638b78c6d8600c52815f526020600c20549050919050565b61065833610c8b565b61068e576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8181905084849050146106cd576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84849050811015610788578282828181106106ed576106ec611669565b5b905060200201602081019061070291906116c0565b5f8087878581811061071757610716611669565b5b905060200201602081019061072c91906112ea565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806001019150506106cf565b5050505050565b600261079a81610dd0565b8282905085859050146107d9576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b85859050811015610895575f8484838181106107fa576107f9611669565b5b905060200201602081019061080f91906116c0565b905060011515811515036108545761084f87878481811061083357610832611669565b5b905060200201602081019061084891906112ea565b6001610db6565b610887565b61088687878481811061086a57610869611669565b5b905060200201602081019061087f91906112ea565b6001610d70565b5b5080806001019150506107db565b505050505050565b5f6108a6610e05565b905080546003825580156108d85760018160011c14303b106108cf5763f92ee8a95f526004601cfd5b818160ff1b1b91505b505f8084848101906108ea919061186e565b915091506108f782610e2e565b5f5b815181101561097d5760015f8084848151811061091957610918611669565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806001019150506108f9565b50505080156109b5576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b6109c2610d7f565b6109cc8282610d70565b5050565b5f80826109dc85610636565b161415905092915050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b610a28610d7f565b610a315f610f04565b565b600281565b6002610a4381610dd0565b828290508585905014610a82576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b85859050811015610ae657610ad9868683818110610aa557610aa4611669565b5b9050602002016020810190610aba91906112ea565b858584818110610acd57610acc611669565b5b90506020020135610d70565b8080600101915050610a84565b505050505050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754905090565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1690509392505050565b6002610b7481610dd0565b828290508585905014610bb3576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b85859050811015610c1757610c0a868683818110610bd657610bd5611669565b5b9050602002016020810190610beb91906112ea565b858584818110610bfe57610bfd611669565b5b90506020020135610db6565b8080600101915050610bb5565b505050505050565b600181565b610c2c610d7f565b63389a75e1600c52805f526020600c208054421115610c5257636f5e88185f526004601cfd5b5f815550610c5f81610f04565b50565b610c6a610d7f565b8060601b610c7f57637448fbae5f526004601cfd5b610c8881610f04565b50565b5f8173ffffffffffffffffffffffffffffffffffffffff16610cab610aee565b73ffffffffffffffffffffffffffffffffffffffff161480610cd75750610cd68260026001176109d0565b5b9050919050565b5f63389a75e1600c52815f526020600c20549050919050565b5f7fe2089f79000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610d695750610d6882610fca565b5b9050919050565b610d7b82825f611043565b5050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314610db4576382b429005f526004601cfd5b565b610dc282826001611043565b5050565b5f6202a300905090565b638b78c6d819543314610e0257638b78c6d8600c52335f52806020600c205416610e01576382b429005f526004601cfd5b5b50565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b610e3661109b565b15610eae577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805415610e7057630dc149f05f526004601cfd5b8160601b60601c9150811560ff1b82178155815f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a350610f01565b8060601b60601c9050807fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392755805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a35b50565b610f0c61109b565b15610f71577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3811560ff1b8217815550610fc7565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3818155505b50565b5f7f6ab67a0d000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061103c575061103b8261109f565b5b9050919050565b638b78c6d8600c52825f526020600c2080548381178361106557848216821890505b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a3505050505050565b5f90565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61114d81611119565b8114611157575f80fd5b50565b5f8135905061116881611144565b92915050565b5f6020828403121561118357611182611111565b5b5f6111908482850161115a565b91505092915050565b5f8115159050919050565b6111ad81611199565b82525050565b5f6020820190506111c65f8301846111a4565b92915050565b5f819050919050565b6111de816111cc565b81146111e8575f80fd5b50565b5f813590506111f9816111d5565b92915050565b5f6020828403121561121457611213611111565b5b5f611221848285016111eb565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6112538261122a565b9050919050565b61126381611249565b811461126d575f80fd5b50565b5f8135905061127e8161125a565b92915050565b5f806040838503121561129a57611299611111565b5b5f6112a785828601611270565b92505060206112b8858286016111eb565b9150509250929050565b6112cb81611119565b82525050565b5f6020820190506112e45f8301846112c2565b92915050565b5f602082840312156112ff576112fe611111565b5b5f61130c84828501611270565b91505092915050565b61131e816111cc565b82525050565b5f6020820190506113375f830184611315565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f84011261135e5761135d61133d565b5b8235905067ffffffffffffffff81111561137b5761137a611341565b5b60208301915083602082028301111561139757611396611345565b5b9250929050565b5f8083601f8401126113b3576113b261133d565b5b8235905067ffffffffffffffff8111156113d0576113cf611341565b5b6020830191508360208202830111156113ec576113eb611345565b5b9250929050565b5f805f806040858703121561140b5761140a611111565b5b5f85013567ffffffffffffffff81111561142857611427611115565b5b61143487828801611349565b9450945050602085013567ffffffffffffffff81111561145757611456611115565b5b6114638782880161139e565b925092505092959194509250565b5f8083601f8401126114865761148561133d565b5b8235905067ffffffffffffffff8111156114a3576114a2611341565b5b6020830191508360018202830111156114bf576114be611345565b5b9250929050565b5f80602083850312156114dc576114db611111565b5b5f83013567ffffffffffffffff8111156114f9576114f8611115565b5b61150585828601611471565b92509250509250929050565b5f8083601f8401126115265761152561133d565b5b8235905067ffffffffffffffff81111561154357611542611341565b5b60208301915083602082028301111561155f5761155e611345565b5b9250929050565b5f805f806040858703121561157e5761157d611111565b5b5f85013567ffffffffffffffff81111561159b5761159a611115565b5b6115a787828801611349565b9450945050602085013567ffffffffffffffff8111156115ca576115c9611115565b5b6115d687828801611511565b925092505092959194509250565b6115ed81611249565b82525050565b5f6020820190506116065f8301846115e4565b92915050565b5f805f6040848603121561162357611622611111565b5b5f61163086828701611270565b935050602084013567ffffffffffffffff81111561165157611650611115565b5b61165d86828701611471565b92509250509250925092565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b61169f81611199565b81146116a9575f80fd5b50565b5f813590506116ba81611696565b92915050565b5f602082840312156116d5576116d4611111565b5b5f6116e2848285016116ac565b91505092915050565b5f6116f58261122a565b9050919050565b611705816116eb565b811461170f575f80fd5b50565b5f81359050611720816116fc565b92915050565b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61176c82611726565b810181811067ffffffffffffffff8211171561178b5761178a611736565b5b80604052505050565b5f61179d611108565b90506117a98282611763565b919050565b5f67ffffffffffffffff8211156117c8576117c7611736565b5b602082029050602081019050919050565b5f6117eb6117e6846117ae565b611794565b9050808382526020820190506020840283018581111561180e5761180d611345565b5b835b8181101561183757806118238882611270565b845260208401935050602081019050611810565b5050509392505050565b5f82601f8301126118555761185461133d565b5b81356118658482602086016117d9565b91505092915050565b5f806040838503121561188457611883611111565b5b5f61189185828601611712565b925050602083013567ffffffffffffffff8111156118b2576118b1611115565b5b6118be85828601611841565b915050925092905056fea2646970667358221220d5b6ea3e1c92033149fca471a0235b4450ed1b532444168de2e063c44c8ab99e64736f6c634300081a0033", O = y.MANAGER, c = class c extends g {
7
+ import { RegistryType as O } from "../utils.js";
8
+ const T = "0x6080604052348015600e575f80fd5b50601b601f60201b60201c565b60b0565b5f602c608760201b60201c565b90508054600181161560455763f92ee8a95f526004601cfd5b8160c01c808260011c146082578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b6118fe806100bd5f395ff3fe60806040526004361061014a575f3560e01c806354d1f13d116100b5578063e3f756de1161006e578063e3f756de146103f6578063ec87621c14610432578063f04e283e1461045c578063f2fde38b14610478578063fe9fbb8014610494578063fee81cf4146104d05761014a565b806354d1f13d1461033e578063715018a61461034857806375b238fc146103525780638da5cb5b1461037c578063be4994f8146103a6578063dcc21361146103ce5761014a565b80632de94807116101075780632de94807146102325780633abb06041461026e5780634359d28a14610296578063439fab91146102be5780634a4ee7b1146102e6578063514e62fc146103025761014a565b806301ffc9a71461014e578063183a4f6e1461018a5780631c10893f146101a65780631cd64df4146101c257806325692962146101fe57806328d6183b14610208575b5f80fd5b348015610159575f80fd5b50610174600480360381019061016f919061116e565b61050c565b60405161018191906111b3565b60405180910390f35b6101a4600480360381019061019f91906111ff565b610585565b005b6101c060048036038101906101bb9190611284565b610592565b005b3480156101cd575f80fd5b506101e860048036038101906101e39190611284565b6105a8565b6040516101f591906111b3565b60405180910390f35b6102066105be565b005b348015610213575f80fd5b5061021c61060f565b60405161022991906112d1565b60405180910390f35b34801561023d575f80fd5b50610258600480360381019061025391906112ea565b610636565b6040516102659190611324565b60405180910390f35b348015610279575f80fd5b50610294600480360381019061028f91906113f3565b61064f565b005b3480156102a1575f80fd5b506102bc60048036038101906102b791906113f3565b61078f565b005b3480156102c9575f80fd5b506102e460048036038101906102df91906114c6565b61089d565b005b61030060048036038101906102fb9190611284565b6109ba565b005b34801561030d575f80fd5b5061032860048036038101906103239190611284565b6109d0565b60405161033591906111b3565b60405180910390f35b6103466109e7565b005b610350610a20565b005b34801561035d575f80fd5b50610366610a33565b6040516103739190611324565b60405180910390f35b348015610387575f80fd5b50610390610a38565b60405161039d9190611520565b60405180910390f35b3480156103b1575f80fd5b506103cc60048036038101906103c7919061158e565b610a60565b005b3480156103d9575f80fd5b506103f460048036038101906103ef919061158e565b610b16565b005b348015610401575f80fd5b5061041c6004803603810190610417919061160c565b610bcc565b60405161042991906111b3565b60405180910390f35b34801561043d575f80fd5b50610446610c1f565b6040516104539190611324565b60405180910390f35b610476600480360381019061047191906112ea565b610c24565b005b610492600480360381019061048d91906112ea565b610c62565b005b34801561049f575f80fd5b506104ba60048036038101906104b591906112ea565b610c8b565b6040516104c791906111b3565b60405180910390f35b3480156104db575f80fd5b506104f660048036038101906104f191906112ea565b610cde565b6040516105039190611324565b60405180910390f35b5f7f1392d798000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061057e575061057d82610cf7565b5b9050919050565b61058f3382610d70565b50565b61059a610d7f565b6105a48282610db6565b5050565b5f81826105b485610636565b1614905092915050565b5f6105c7610dc6565b67ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b5f7f1392d79800000000000000000000000000000000000000000000000000000000905090565b5f638b78c6d8600c52815f526020600c20549050919050565b61065833610c8b565b61068e576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8181905084849050146106cd576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84849050811015610788578282828181106106ed576106ec611669565b5b905060200201602081019061070291906116c0565b5f8087878581811061071757610716611669565b5b905060200201602081019061072c91906112ea565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806001019150506106cf565b5050505050565b600261079a81610dd0565b8282905085859050146107d9576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b85859050811015610895575f8484838181106107fa576107f9611669565b5b905060200201602081019061080f91906116c0565b905060011515811515036108545761084f87878481811061083357610832611669565b5b905060200201602081019061084891906112ea565b6001610db6565b610887565b61088687878481811061086a57610869611669565b5b905060200201602081019061087f91906112ea565b6001610d70565b5b5080806001019150506107db565b505050505050565b5f6108a6610e05565b905080546003825580156108d85760018160011c14303b106108cf5763f92ee8a95f526004601cfd5b818160ff1b1b91505b505f8084848101906108ea919061186e565b915091506108f782610e2e565b5f5b815181101561097d5760015f8084848151811061091957610918611669565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806001019150506108f9565b50505080156109b5576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b6109c2610d7f565b6109cc8282610d70565b5050565b5f80826109dc85610636565b161415905092915050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b610a28610d7f565b610a315f610f04565b565b600281565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754905090565b6002610a6b81610dd0565b828290508585905014610aaa576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b85859050811015610b0e57610b01868683818110610acd57610acc611669565b5b9050602002016020810190610ae291906112ea565b858584818110610af557610af4611669565b5b90506020020135610db6565b8080600101915050610aac565b505050505050565b6002610b2181610dd0565b828290508585905014610b60576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b85859050811015610bc457610bb7868683818110610b8357610b82611669565b5b9050602002016020810190610b9891906112ea565b858584818110610bab57610baa611669565b5b90506020020135610d70565b8080600101915050610b62565b505050505050565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1690509392505050565b600181565b610c2c610d7f565b63389a75e1600c52805f526020600c208054421115610c5257636f5e88185f526004601cfd5b5f815550610c5f81610f04565b50565b610c6a610d7f565b8060601b610c7f57637448fbae5f526004601cfd5b610c8881610f04565b50565b5f8173ffffffffffffffffffffffffffffffffffffffff16610cab610a38565b73ffffffffffffffffffffffffffffffffffffffff161480610cd75750610cd68260026001176109d0565b5b9050919050565b5f63389a75e1600c52815f526020600c20549050919050565b5f7fe2089f79000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610d695750610d6882610fca565b5b9050919050565b610d7b82825f611043565b5050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314610db4576382b429005f526004601cfd5b565b610dc282826001611043565b5050565b5f6202a300905090565b638b78c6d819543314610e0257638b78c6d8600c52335f52806020600c205416610e01576382b429005f526004601cfd5b5b50565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b610e3661109b565b15610eae577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805415610e7057630dc149f05f526004601cfd5b8160601b60601c9150811560ff1b82178155815f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a350610f01565b8060601b60601c9050807fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392755805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a35b50565b610f0c61109b565b15610f71577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3811560ff1b8217815550610fc7565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3818155505b50565b5f7f6ab67a0d000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061103c575061103b8261109f565b5b9050919050565b638b78c6d8600c52825f526020600c2080548381178361106557848216821890505b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a3505050505050565b5f90565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61114d81611119565b8114611157575f80fd5b50565b5f8135905061116881611144565b92915050565b5f6020828403121561118357611182611111565b5b5f6111908482850161115a565b91505092915050565b5f8115159050919050565b6111ad81611199565b82525050565b5f6020820190506111c65f8301846111a4565b92915050565b5f819050919050565b6111de816111cc565b81146111e8575f80fd5b50565b5f813590506111f9816111d5565b92915050565b5f6020828403121561121457611213611111565b5b5f611221848285016111eb565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6112538261122a565b9050919050565b61126381611249565b811461126d575f80fd5b50565b5f8135905061127e8161125a565b92915050565b5f806040838503121561129a57611299611111565b5b5f6112a785828601611270565b92505060206112b8858286016111eb565b9150509250929050565b6112cb81611119565b82525050565b5f6020820190506112e45f8301846112c2565b92915050565b5f602082840312156112ff576112fe611111565b5b5f61130c84828501611270565b91505092915050565b61131e816111cc565b82525050565b5f6020820190506113375f830184611315565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f84011261135e5761135d61133d565b5b8235905067ffffffffffffffff81111561137b5761137a611341565b5b60208301915083602082028301111561139757611396611345565b5b9250929050565b5f8083601f8401126113b3576113b261133d565b5b8235905067ffffffffffffffff8111156113d0576113cf611341565b5b6020830191508360208202830111156113ec576113eb611345565b5b9250929050565b5f805f806040858703121561140b5761140a611111565b5b5f85013567ffffffffffffffff81111561142857611427611115565b5b61143487828801611349565b9450945050602085013567ffffffffffffffff81111561145757611456611115565b5b6114638782880161139e565b925092505092959194509250565b5f8083601f8401126114865761148561133d565b5b8235905067ffffffffffffffff8111156114a3576114a2611341565b5b6020830191508360018202830111156114bf576114be611345565b5b9250929050565b5f80602083850312156114dc576114db611111565b5b5f83013567ffffffffffffffff8111156114f9576114f8611115565b5b61150585828601611471565b92509250509250929050565b61151a81611249565b82525050565b5f6020820190506115335f830184611511565b92915050565b5f8083601f84011261154e5761154d61133d565b5b8235905067ffffffffffffffff81111561156b5761156a611341565b5b60208301915083602082028301111561158757611586611345565b5b9250929050565b5f805f80604085870312156115a6576115a5611111565b5b5f85013567ffffffffffffffff8111156115c3576115c2611115565b5b6115cf87828801611349565b9450945050602085013567ffffffffffffffff8111156115f2576115f1611115565b5b6115fe87828801611539565b925092505092959194509250565b5f805f6040848603121561162357611622611111565b5b5f61163086828701611270565b935050602084013567ffffffffffffffff81111561165157611650611115565b5b61165d86828701611471565b92509250509250925092565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b61169f81611199565b81146116a9575f80fd5b50565b5f813590506116ba81611696565b92915050565b5f602082840312156116d5576116d4611111565b5b5f6116e2848285016116ac565b91505092915050565b5f6116f58261122a565b9050919050565b611705816116eb565b811461170f575f80fd5b50565b5f81359050611720816116fc565b92915050565b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61176c82611726565b810181811067ffffffffffffffff8211171561178b5761178a611736565b5b80604052505050565b5f61179d611108565b90506117a98282611763565b919050565b5f67ffffffffffffffff8211156117c8576117c7611736565b5b602082029050602081019050919050565b5f6117eb6117e6846117ae565b611794565b9050808382526020820190506020840283018581111561180e5761180d611345565b5b835b8181101561183757806118238882611270565b845260208401935050602081019050611810565b5050509392505050565b5f82601f8301126118555761185461133d565b5b81356118658482602086016117d9565b91505092915050565b5f806040838503121561188457611883611111565b5b5f61189185828601611712565b925050602083013567ffffffffffffffff8111156118b2576118b1611115565b5b6118be85828601611841565b915050925092905056fea2646970667358221220c9a35ca6ff9401c2097651dc842fe665b8bc1410030b7570f27aada96e8e099364736f6c634300081a0033", k = y.MANAGER, c = class c extends g {
9
9
  constructor() {
10
10
  super(...arguments), this.abi = s;
11
11
  }
@@ -107,17 +107,18 @@ const L = "0x6080604052348015600e575f80fd5b50601b601f60201b60201c565b60b0565b5f6
107
107
  }
108
108
  return {
109
109
  abi: s,
110
- bytecode: L,
111
- args: [T(b)],
110
+ bytecode: T,
111
+ args: [_(b)],
112
112
  ...this.optionallyAttachAccount(e.account)
113
113
  };
114
114
  }
115
115
  };
116
116
  c.bases = {
117
+ 31337: void 0,
117
118
  ...m
118
- }, c.registryType = _.ALLOW_LIST;
119
+ }, c.registryType = O.ALLOW_LIST;
119
120
  let r = c;
120
- function T({
121
+ function _({
121
122
  owner: o,
122
123
  allowed: f
123
124
  }) {
@@ -130,9 +131,9 @@ function T({
130
131
  );
131
132
  }
132
133
  export {
133
- O as LIST_MANAGER_ROLE,
134
+ k as LIST_MANAGER_ROLE,
134
135
  r as SimpleAllowList,
135
- T as prepareSimpleAllowListPayload,
136
+ _ as prepareSimpleAllowListPayload,
136
137
  s as simpleAllowListAbi
137
138
  };
138
139
  //# sourceMappingURL=SimpleAllowList.js.map