@boostxyz/sdk 0.0.0-alpha.2

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 (117) hide show
  1. package/LICENSE +674 -0
  2. package/README.md +7 -0
  3. package/dist/Actions/Action.cjs +1 -0
  4. package/dist/Actions/Action.d.ts +31 -0
  5. package/dist/Actions/Action.d.ts.map +1 -0
  6. package/dist/Actions/Action.js +27 -0
  7. package/dist/Actions/ContractAction.d.ts +327 -0
  8. package/dist/Actions/ContractAction.d.ts.map +1 -0
  9. package/dist/Actions/ERC721MintAction.d.ts +486 -0
  10. package/dist/Actions/ERC721MintAction.d.ts.map +1 -0
  11. package/dist/Actions/EventAction.cjs +1 -0
  12. package/dist/Actions/EventAction.d.ts +433 -0
  13. package/dist/Actions/EventAction.d.ts.map +1 -0
  14. package/dist/Actions/EventAction.js +211 -0
  15. package/dist/AllowLists/AllowList.cjs +1 -0
  16. package/dist/AllowLists/AllowList.d.ts +33 -0
  17. package/dist/AllowLists/AllowList.d.ts.map +1 -0
  18. package/dist/AllowLists/AllowList.js +28 -0
  19. package/dist/AllowLists/SimpleAllowList.cjs +1 -0
  20. package/dist/AllowLists/SimpleAllowList.d.ts +452 -0
  21. package/dist/AllowLists/SimpleAllowList.d.ts.map +1 -0
  22. package/dist/AllowLists/SimpleAllowList.js +138 -0
  23. package/dist/AllowLists/SimpleDenyList.cjs +1 -0
  24. package/dist/AllowLists/SimpleDenyList.d.ts +306 -0
  25. package/dist/AllowLists/SimpleDenyList.d.ts.map +1 -0
  26. package/dist/AllowLists/SimpleDenyList.js +202 -0
  27. package/dist/Auth/Auth.cjs +1 -0
  28. package/dist/Auth/Auth.d.ts +10 -0
  29. package/dist/Auth/Auth.d.ts.map +1 -0
  30. package/dist/Auth/Auth.js +4 -0
  31. package/dist/Auth/PassthroughAuth.cjs +1 -0
  32. package/dist/Auth/PassthroughAuth.d.ts +51 -0
  33. package/dist/Auth/PassthroughAuth.d.ts.map +1 -0
  34. package/dist/Auth/PassthroughAuth.js +38 -0
  35. package/dist/Boost.cjs +1 -0
  36. package/dist/Boost.d.ts +142 -0
  37. package/dist/Boost.d.ts.map +1 -0
  38. package/dist/Boost.js +15 -0
  39. package/dist/BoostCore.cjs +2 -0
  40. package/dist/BoostCore.d.ts +460 -0
  41. package/dist/BoostCore.d.ts.map +1 -0
  42. package/dist/BoostCore.js +1105 -0
  43. package/dist/BoostRegistry.cjs +1 -0
  44. package/dist/BoostRegistry.d.ts +229 -0
  45. package/dist/BoostRegistry.d.ts.map +1 -0
  46. package/dist/BoostRegistry.js +250 -0
  47. package/dist/Budgets/Budget.cjs +1 -0
  48. package/dist/Budgets/Budget.d.ts +31 -0
  49. package/dist/Budgets/Budget.d.ts.map +1 -0
  50. package/dist/Budgets/Budget.js +27 -0
  51. package/dist/Budgets/ManagedBudget.cjs +1 -0
  52. package/dist/Budgets/ManagedBudget.d.ts +1065 -0
  53. package/dist/Budgets/ManagedBudget.d.ts.map +1 -0
  54. package/dist/Budgets/ManagedBudget.js +498 -0
  55. package/dist/Budgets/SimpleBudget.d.ts +793 -0
  56. package/dist/Budgets/SimpleBudget.d.ts.map +1 -0
  57. package/dist/Budgets/VestingBudget.d.ts +726 -0
  58. package/dist/Budgets/VestingBudget.d.ts.map +1 -0
  59. package/dist/Deployable/Contract.cjs +1 -0
  60. package/dist/Deployable/Contract.d.ts +125 -0
  61. package/dist/Deployable/Contract.d.ts.map +1 -0
  62. package/dist/Deployable/Contract.js +149 -0
  63. package/dist/Deployable/Deployable.cjs +1 -0
  64. package/dist/Deployable/Deployable.d.ts +155 -0
  65. package/dist/Deployable/Deployable.d.ts.map +1 -0
  66. package/dist/Deployable/Deployable.js +124 -0
  67. package/dist/Deployable/DeployableTarget.cjs +1 -0
  68. package/dist/Deployable/DeployableTarget.d.ts +115 -0
  69. package/dist/Deployable/DeployableTarget.d.ts.map +1 -0
  70. package/dist/Deployable/DeployableTarget.js +128 -0
  71. package/dist/Incentives/AllowListIncentive.cjs +1 -0
  72. package/dist/Incentives/AllowListIncentive.d.ts +483 -0
  73. package/dist/Incentives/AllowListIncentive.d.ts.map +1 -0
  74. package/dist/Incentives/AllowListIncentive.js +188 -0
  75. package/dist/Incentives/CGDAIncentive.cjs +1 -0
  76. package/dist/Incentives/CGDAIncentive.d.ts +560 -0
  77. package/dist/Incentives/CGDAIncentive.d.ts.map +1 -0
  78. package/dist/Incentives/CGDAIncentive.js +249 -0
  79. package/dist/Incentives/ERC1155Incentive.d.ts +652 -0
  80. package/dist/Incentives/ERC1155Incentive.d.ts.map +1 -0
  81. package/dist/Incentives/ERC20Incentive.cjs +1 -0
  82. package/dist/Incentives/ERC20Incentive.d.ts +622 -0
  83. package/dist/Incentives/ERC20Incentive.d.ts.map +1 -0
  84. package/dist/Incentives/ERC20Incentive.js +292 -0
  85. package/dist/Incentives/ERC20VariableIncentive.d.ts +545 -0
  86. package/dist/Incentives/ERC20VariableIncentive.d.ts.map +1 -0
  87. package/dist/Incentives/Incentive.cjs +1 -0
  88. package/dist/Incentives/Incentive.d.ts +39 -0
  89. package/dist/Incentives/Incentive.d.ts.map +1 -0
  90. package/dist/Incentives/Incentive.js +280 -0
  91. package/dist/Incentives/PointsIncentive.cjs +1 -0
  92. package/dist/Incentives/PointsIncentive.d.ts +615 -0
  93. package/dist/Incentives/PointsIncentive.d.ts.map +1 -0
  94. package/dist/Incentives/PointsIncentive.js +197 -0
  95. package/dist/Validators/SignerValidator.cjs +1 -0
  96. package/dist/Validators/SignerValidator.d.ts +452 -0
  97. package/dist/Validators/SignerValidator.d.ts.map +1 -0
  98. package/dist/Validators/SignerValidator.js +167 -0
  99. package/dist/Validators/Validator.cjs +1 -0
  100. package/dist/Validators/Validator.d.ts +31 -0
  101. package/dist/Validators/Validator.d.ts.map +1 -0
  102. package/dist/Validators/Validator.js +25 -0
  103. package/dist/errors.cjs +1 -0
  104. package/dist/errors.d.ts +257 -0
  105. package/dist/errors.d.ts.map +1 -0
  106. package/dist/errors.js +161 -0
  107. package/dist/generated-BaaleHW-.cjs +2 -0
  108. package/dist/generated-x_abr3Yv.js +6228 -0
  109. package/dist/index.cjs +1 -0
  110. package/dist/index.d.ts +29 -0
  111. package/dist/index.d.ts.map +1 -0
  112. package/dist/index.js +1355 -0
  113. package/dist/utils.cjs +1 -0
  114. package/dist/utils.d.ts +1454 -0
  115. package/dist/utils.d.ts.map +1 -0
  116. package/dist/utils.js +643 -0
  117. package/package.json +197 -0
@@ -0,0 +1,115 @@
1
+ import { type aCloneableAbi } from '@boostxyz/evm';
2
+ import { type Abi, type Address, type Hash, type Hex, type WaitForTransactionReceiptParameters } from 'viem';
3
+ import { type ReadParams, RegistryType } from '../utils';
4
+ import { Deployable, type DeployableOptions, type DeployablePayloadOrAddress } from './Deployable';
5
+ /**
6
+ * A base class representing a generic base Boost Protocol target contract, extended by Actions, AllowLists, Budgets, Incentives, and Validators.
7
+ *
8
+ * @export
9
+ * @class DeployableTarget
10
+ * @typedef {DeployableTarget}
11
+ * @template [Payload=unknown]
12
+ * @extends {Deployable<Payload>}
13
+ */
14
+ export declare class DeployableTarget<Payload, ContractAbi extends Abi> extends Deployable<Payload, ContractAbi> {
15
+ /**
16
+ * A static property representing the address of the base implementation on chain, used when cloning base contracts.
17
+ *
18
+ * @static
19
+ * @readonly
20
+ * @type {Address}
21
+ */
22
+ static readonly base: Address;
23
+ /**
24
+ * The target's registry type.
25
+ *
26
+ * @static
27
+ * @readonly
28
+ * @type {RegistryType}
29
+ */
30
+ static readonly registryType: RegistryType;
31
+ /**
32
+ * A property asserting that the protocol should eiher clone and initialize a new target from the base implementation, or re-use an existing contract without initializing.
33
+ *
34
+ * @readonly
35
+ * @type {boolean}
36
+ */
37
+ readonly isBase: boolean;
38
+ /**
39
+ * Creates an instance of DeployableTarget.
40
+ *
41
+ * @constructor
42
+ * @param {DeployableOptions} options
43
+ * @param {DeployablePayloadOrAddress<Payload>} payload - Either a given implementation's initialization payload, or an address to an existing on chain target.
44
+ * @param {?boolean} [isBase] - A property asserting that the protocol should eiher clone and initialize a new target from the base implementation, or re-use an existing contract without initializing.
45
+ */
46
+ constructor(options: DeployableOptions, payload: DeployablePayloadOrAddress<Payload>, isBase?: boolean);
47
+ /**
48
+ * A getter that will return the base implementation's static address
49
+ *
50
+ * @public
51
+ * @readonly
52
+ * @type {Address}
53
+ */
54
+ get base(): Address;
55
+ /**
56
+ * A getter that returns the registry type of the base implementation
57
+ *
58
+ * @public
59
+ * @readonly
60
+ * @type {RegistryType}
61
+ */
62
+ get registryType(): RegistryType;
63
+ /**
64
+ * @inheritdoc
65
+ *
66
+ * @public
67
+ * @async
68
+ * @param {?Payload} [payload]
69
+ * @param {?DeployableOptions} [options]
70
+ * @param {?Omit<WaitForTransactionReceiptParameters, 'hash'>} [waitParams]
71
+ * @returns {unknown}
72
+ */
73
+ deploy(payload?: Payload, options?: DeployableOptions, waitParams?: Omit<WaitForTransactionReceiptParameters, 'hash'>): Promise<this>;
74
+ /**
75
+ * @inheritdoc
76
+ *
77
+ * @public
78
+ * @async
79
+ * @param {?Payload} [_payload]
80
+ * @param {?DeployableOptions} [_options]
81
+ * @returns {Promise<Hash>}
82
+ */
83
+ deployRaw(_payload?: Payload, _options?: DeployableOptions): Promise<Hash>;
84
+ /**
85
+ * Check if the contract supports the given interface
86
+ *
87
+ * @public
88
+ * @async
89
+ * @param {Hex} interfaceId - The interface identifier
90
+ * @param {?ReadParams<typeof contractActionAbi, 'supportsInterface'>} [params]
91
+ * @returns {unknown} - True if the contract supports the interface
92
+ */
93
+ supportsInterface(interfaceId: Hex, params?: ReadParams<typeof aCloneableAbi, 'supportsInterface'>): Promise<boolean>;
94
+ /**
95
+ * Return a cloneable's unique identifier for downstream consumers to differentiate various targets
96
+ * All implementations must override this function
97
+ *
98
+ * @public
99
+ * @async
100
+ * @param {?ReadParams<typeof contractActionAbi, 'getComponentInterface'>} [params]
101
+ * @returns {unknown}
102
+ */
103
+ getComponentInterface(params?: ReadParams<typeof aCloneableAbi, 'getComponentInterface'>): Promise<`0x${string}`>;
104
+ /**
105
+ * @inheritdoc
106
+ *
107
+ * @protected
108
+ * @template [P=Payload]
109
+ * @param {?P} [_payload]
110
+ * @param {?DeployableOptions} [_options]
111
+ * @returns {[P, DeployableOptions]}
112
+ */
113
+ protected validateDeploymentConfig<P = Payload>(_payload?: P, _options?: DeployableOptions): [P, DeployableOptions];
114
+ }
115
+ //# sourceMappingURL=DeployableTarget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeployableTarget.d.ts","sourceRoot":"","sources":["../../src/Deployable/DeployableTarget.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAGnB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,KAAK,GAAG,EACR,KAAK,OAAO,EACZ,KAAK,IAAI,EACT,KAAK,GAAG,EACR,KAAK,mCAAmC,EAEzC,MAAM,MAAM,CAAC;AAKd,OAAO,EAAE,KAAK,UAAU,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACzD,OAAO,EACL,UAAU,EACV,KAAK,iBAAiB,EACtB,KAAK,0BAA0B,EAChC,MAAM,cAAc,CAAC;AAEtB;;;;;;;;GAQG;AACH,qBAAa,gBAAgB,CAC3B,OAAO,EACP,WAAW,SAAS,GAAG,CACvB,SAAQ,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC;IACxC;;;;;;OAMG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAe;IAC5C;;;;;;OAMG;IACH,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAuB;IACjE;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAQ;IAEhC;;;;;;;OAOG;gBAED,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,0BAA0B,CAAC,OAAO,CAAC,EAC5C,MAAM,CAAC,EAAE,OAAO;IAMlB;;;;;;OAMG;IACH,IAAW,IAAI,IAAI,OAAO,CAEzB;IAED;;;;;;OAMG;IACH,IAAW,YAAY,IAAI,YAAY,CAEtC;IAED;;;;;;;;;OASG;IACmB,MAAM,CAC1B,OAAO,CAAC,EAAE,OAAO,EACjB,OAAO,CAAC,EAAE,iBAAiB,EAC3B,UAAU,CAAC,EAAE,IAAI,CAAC,mCAAmC,EAAE,MAAM,CAAC;IAOhE;;;;;;;;OAQG;IACmB,SAAS,CAC7B,QAAQ,CAAC,EAAE,OAAO,EAClB,QAAQ,CAAC,EAAE,iBAAiB,GAC3B,OAAO,CAAC,IAAI,CAAC;IAahB;;;;;;;;OAQG;IACU,iBAAiB,CAC5B,WAAW,EAAE,GAAG,EAChB,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,aAAa,EAAE,mBAAmB,CAAC;IAWhE;;;;;;;;OAQG;IACU,qBAAqB,CAChC,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,aAAa,EAAE,uBAAuB,CAAC;IAWpE;;;;;;;;OAQG;cACgB,wBAAwB,CAAC,CAAC,GAAG,OAAO,EACrD,QAAQ,CAAC,EAAE,CAAC,EACZ,QAAQ,CAAC,EAAE,iBAAiB;CAS/B"}
@@ -0,0 +1,128 @@
1
+ import { a as n, K as c } from "../generated-x_abr3Yv.js";
2
+ import { deployContract as d } from "@wagmi/core";
3
+ import { zeroAddress as y } from "viem";
4
+ import { DeployableAlreadyDeployedError as l, DeployableMissingPayloadError as h } from "../errors.js";
5
+ import { RegistryType as p } from "../utils.js";
6
+ import { Deployable as u } from "./Deployable.js";
7
+ const e = class e extends u {
8
+ /**
9
+ * Creates an instance of DeployableTarget.
10
+ *
11
+ * @constructor
12
+ * @param {DeployableOptions} options
13
+ * @param {DeployablePayloadOrAddress<Payload>} payload - Either a given implementation's initialization payload, or an address to an existing on chain target.
14
+ * @param {?boolean} [isBase] - A property asserting that the protocol should eiher clone and initialize a new target from the base implementation, or re-use an existing contract without initializing.
15
+ */
16
+ constructor(s, t, r) {
17
+ super(s, t), this.isBase = !0, r !== void 0 && (this.isBase = r);
18
+ }
19
+ /**
20
+ * A getter that will return the base implementation's static address
21
+ *
22
+ * @public
23
+ * @readonly
24
+ * @type {Address}
25
+ */
26
+ get base() {
27
+ return this.constructor.base;
28
+ }
29
+ /**
30
+ * A getter that returns the registry type of the base implementation
31
+ *
32
+ * @public
33
+ * @readonly
34
+ * @type {RegistryType}
35
+ */
36
+ get registryType() {
37
+ return this.constructor.registryType;
38
+ }
39
+ /**
40
+ * @inheritdoc
41
+ *
42
+ * @public
43
+ * @async
44
+ * @param {?Payload} [payload]
45
+ * @param {?DeployableOptions} [options]
46
+ * @param {?Omit<WaitForTransactionReceiptParameters, 'hash'>} [waitParams]
47
+ * @returns {unknown}
48
+ */
49
+ async deploy(s, t, r) {
50
+ return await super.deploy(s, t, r), this.assertValidAddress(), this;
51
+ }
52
+ /**
53
+ * @inheritdoc
54
+ *
55
+ * @public
56
+ * @async
57
+ * @param {?Payload} [_payload]
58
+ * @param {?DeployableOptions} [_options]
59
+ * @returns {Promise<Hash>}
60
+ */
61
+ async deployRaw(s, t) {
62
+ if (this.address)
63
+ throw new l(this.address);
64
+ const r = s || this._payload, i = (t == null ? void 0 : t.config) || this._config, { args: f, ...o } = this.buildParameters(r);
65
+ return await d(i, {
66
+ ...o,
67
+ ...this.optionallyAttachAccount(t == null ? void 0 : t.account),
68
+ // Deployable targets don't construct with arguments, they initialize with encoded payloads
69
+ args: []
70
+ });
71
+ }
72
+ /**
73
+ * Check if the contract supports the given interface
74
+ *
75
+ * @public
76
+ * @async
77
+ * @param {Hex} interfaceId - The interface identifier
78
+ * @param {?ReadParams<typeof contractActionAbi, 'supportsInterface'>} [params]
79
+ * @returns {unknown} - True if the contract supports the interface
80
+ */
81
+ async supportsInterface(s, t) {
82
+ return n(this._config, {
83
+ address: this.assertValidAddress(),
84
+ ...this.optionallyAttachAccount(),
85
+ // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
86
+ ...t,
87
+ args: [s]
88
+ });
89
+ }
90
+ /**
91
+ * Return a cloneable's unique identifier for downstream consumers to differentiate various targets
92
+ * All implementations must override this function
93
+ *
94
+ * @public
95
+ * @async
96
+ * @param {?ReadParams<typeof contractActionAbi, 'getComponentInterface'>} [params]
97
+ * @returns {unknown}
98
+ */
99
+ async getComponentInterface(s) {
100
+ return c(this._config, {
101
+ address: this.assertValidAddress(),
102
+ ...this.optionallyAttachAccount(),
103
+ // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
104
+ ...s,
105
+ args: []
106
+ });
107
+ }
108
+ /**
109
+ * @inheritdoc
110
+ *
111
+ * @protected
112
+ * @template [P=Payload]
113
+ * @param {?P} [_payload]
114
+ * @param {?DeployableOptions} [_options]
115
+ * @returns {[P, DeployableOptions]}
116
+ */
117
+ validateDeploymentConfig(s, t) {
118
+ const r = s || this._payload;
119
+ if (!r)
120
+ throw new h();
121
+ return super.validateDeploymentConfig(r, t);
122
+ }
123
+ };
124
+ e.base = y, e.registryType = p.ACTION;
125
+ let a = e;
126
+ export {
127
+ a as DeployableTarget
128
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("../generated-BaaleHW-.cjs");require("@wagmi/core");require("viem");const r=require("../AllowLists/SimpleAllowList.cjs");require("../AllowLists/SimpleDenyList.cjs");const i=require("../Deployable/DeployableTarget.cjs"),a=require("../utils.cjs"),n="0x6080604052348015600e575f80fd5b50601b601f60201b60201c565b60b0565b5f602c608760201b60201c565b90508054600181161560455763f92ee8a95f526004601cfd5b8160c01c808260011c146082578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b611791806100bd5f395ff3fe60806040526004361061011e575f3560e01c806387b9d25c1161009f578063db09da1211610063578063db09da1214610390578063dcc59b6f146103cc578063f04e283e146103f6578063f2fde38b14610412578063fee81cf41461042e5761011e565b806387b9d25c1461029a5780638da5cb5b146102c4578063a4d66daf146102ee578063bb1757cf14610318578063c884ef83146103545761011e565b8063439fab91116100e6578063439fab91146101e6578063474f5a441461020e5780634e7165a21461024a57806354d1f13d14610286578063715018a6146102905761011e565b806301ffc9a71461012257806307621eca1461015e578063228cb7331461018857806325692962146101b257806328d6183b146101bc575b5f80fd5b34801561012d575f80fd5b5061014860048036038101906101439190610fa9565b61046a565b6040516101559190610fee565b60405180910390f35b348015610169575f80fd5b506101726104e3565b60405161017f919061101f565b60405180910390f35b348015610193575f80fd5b5061019c6104ec565b6040516101a9919061101f565b60405180910390f35b6101ba6104f2565b005b3480156101c7575f80fd5b506101d0610543565b6040516101dd9190611047565b60405180910390f35b3480156101f1575f80fd5b5061020c600480360381019061020791906110c1565b61056a565b005b348015610219575f80fd5b50610234600480360381019061022f91906110c1565b61064a565b6040516102419190610fee565b60405180910390f35b348015610255575f80fd5b50610270600480360381019061026b91906110c1565b61067d565b60405161027d919061117c565b60405180910390f35b61028e6106d4565b005b61029861070d565b005b3480156102a5575f80fd5b506102ae610720565b6040516102bb9190611216565b60405180910390f35b3480156102cf575f80fd5b506102d8610745565b6040516102e5919061124f565b60405180910390f35b3480156102f9575f80fd5b5061030261076d565b60405161030f919061101f565b60405180910390f35b348015610323575f80fd5b5061033e60048036038101906103399190611292565b610773565b60405161034b9190610fee565b60405180910390f35b34801561035f575f80fd5b5061037a600480360381019061037591906112ef565b610918565b6040516103879190610fee565b60405180910390f35b34801561039b575f80fd5b506103b660048036038101906103b19190611292565b610935565b6040516103c39190610fee565b60405180910390f35b3480156103d7575f80fd5b506103e0610a3a565b6040516103ed919061101f565b60405180910390f35b610410600480360381019061040b91906112ef565b610a3f565b005b61042c600480360381019061042791906112ef565b610a7d565b005b348015610439575f80fd5b50610454600480360381019061044f91906112ef565b610aa6565b604051610461919061101f565b60405180910390f35b5f7f0a466e6f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806104dc57506104db82610abf565b5b9050919050565b5f600154905090565b60015481565b5f6104fb610b38565b67ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b5f7f0a466e6f00000000000000000000000000000000000000000000000000000000905090565b5f610573610b42565b905080546003825580156105a55760018160011c14303b1061059c5763f92ee8a95f526004601cfd5b818160ff1b1b91505b505f83838101906105b69190611448565b90506105c133610b6b565b805f015160035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060200151600481905550508015610645576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f6040517fd623472500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60605f67ffffffffffffffff8111156106995761069861131e565b5b6040519080825280601f01601f1916602001820160405280156106cb5781602001600182028036833780820191505090505b50905092915050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b610715610c41565b61071e5f610c78565b565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754905090565b60045481565b5f61077c610c41565b6004545f80815480929190610790906114a0565b919050551015806107e7575060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b1561081e576040517f6247a84e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505f8061087e86610d3e565b9150915060035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633abb060483836040518363ffffffff1660e01b81526004016108de929190611655565b5f604051808303815f87803b1580156108f5575f80fd5b505af1158015610907573d5f803e3d5ffd5b505050506001925050509392505050565b6002602052805f5260405f205f915054906101000a900460ff1681565b5f6004545f5410801561098f575060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015610a31575060035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e3f756de856040518263ffffffff1660e01b81526004016109f091906116ad565b602060405180830381865afa158015610a0b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a2f9190611703565b155b90509392505050565b5f5481565b610a47610c41565b63389a75e1600c52805f526020600c208054421115610a6d57636f5e88185f526004601cfd5b5f815550610a7a81610c78565b50565b610a85610c41565b8060601b610a9a57637448fbae5f526004601cfd5b610aa381610c78565b50565b5f63389a75e1600c52815f526020600c20549050919050565b5f7f5970a689000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610b315750610b3082610e5d565b5b9050919050565b5f6202a300905090565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b610b73610ed6565b15610beb577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805415610bad57630dc149f05f526004601cfd5b8160601b60601c9150811560ff1b82178155815f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a350610c3e565b8060601b60601c9050807fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392755805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a35b50565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314610c76576382b429005f526004601cfd5b565b610c80610ed6565b15610ce5577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3811560ff1b8217815550610d3b565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3818155505b50565b6060805f600167ffffffffffffffff811115610d5d57610d5c61131e565b5b604051908082528060200260200182016040528015610d8b5781602001602082028036833780820191505090505b5090505f600167ffffffffffffffff811115610daa57610da961131e565b5b604051908082528060200260200182016040528015610dd85781602001602082028036833780820191505090505b50905084825f81518110610def57610dee61172e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506001815f81518110610e3e57610e3d61172e565b5b6020026020010190151590811515815250508181935093505050915091565b5f7f6ab67a0d000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610ecf5750610ece82610eda565b5b9050919050565b5f90565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b610f8881610f54565b8114610f92575f80fd5b50565b5f81359050610fa381610f7f565b92915050565b5f60208284031215610fbe57610fbd610f4c565b5b5f610fcb84828501610f95565b91505092915050565b5f8115159050919050565b610fe881610fd4565b82525050565b5f6020820190506110015f830184610fdf565b92915050565b5f819050919050565b61101981611007565b82525050565b5f6020820190506110325f830184611010565b92915050565b61104181610f54565b82525050565b5f60208201905061105a5f830184611038565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f84011261108157611080611060565b5b8235905067ffffffffffffffff81111561109e5761109d611064565b5b6020830191508360018202830111156110ba576110b9611068565b5b9250929050565b5f80602083850312156110d7576110d6610f4c565b5b5f83013567ffffffffffffffff8111156110f4576110f3610f50565b5b6111008582860161106c565b92509250509250929050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61114e8261110c565b6111588185611116565b9350611168818560208601611126565b61117181611134565b840191505092915050565b5f6020820190508181035f8301526111948184611144565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f819050919050565b5f6111de6111d96111d48461119c565b6111bb565b61119c565b9050919050565b5f6111ef826111c4565b9050919050565b5f611200826111e5565b9050919050565b611210816111f6565b82525050565b5f6020820190506112295f830184611207565b92915050565b5f6112398261119c565b9050919050565b6112498161122f565b82525050565b5f6020820190506112625f830184611240565b92915050565b6112718161122f565b811461127b575f80fd5b50565b5f8135905061128c81611268565b92915050565b5f805f604084860312156112a9576112a8610f4c565b5b5f6112b68682870161127e565b935050602084013567ffffffffffffffff8111156112d7576112d6610f50565b5b6112e38682870161106c565b92509250509250925092565b5f6020828403121561130457611303610f4c565b5b5f6113118482850161127e565b91505092915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61135482611134565b810181811067ffffffffffffffff821117156113735761137261131e565b5b80604052505050565b5f611385610f43565b9050611391828261134b565b919050565b5f6113a08261122f565b9050919050565b6113b081611396565b81146113ba575f80fd5b50565b5f813590506113cb816113a7565b92915050565b6113da81611007565b81146113e4575f80fd5b50565b5f813590506113f5816113d1565b92915050565b5f604082840312156114105761140f61131a565b5b61141a604061137c565b90505f611429848285016113bd565b5f83015250602061143c848285016113e7565b60208301525092915050565b5f6040828403121561145d5761145c610f4c565b5b5f61146a848285016113fb565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6114aa82611007565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036114dc576114db611473565b5b600182019050919050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6115198161122f565b82525050565b5f61152a8383611510565b60208301905092915050565b5f602082019050919050565b5f61154c826114e7565b61155681856114f1565b935061156183611501565b805f5b83811015611591578151611578888261151f565b975061158383611536565b925050600181019050611564565b5085935050505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6115d081610fd4565b82525050565b5f6115e183836115c7565b60208301905092915050565b5f602082019050919050565b5f6116038261159e565b61160d81856115a8565b9350611618836115b8565b805f5b8381101561164857815161162f88826115d6565b975061163a836115ed565b92505060018101905061161b565b5085935050505092915050565b5f6040820190508181035f83015261166d8185611542565b9050818103602083015261168181846115f9565b90509392505050565b50565b5f6116985f83611116565b91506116a38261168a565b5f82019050919050565b5f6040820190506116c05f830184611240565b81810360208301526116d18161168d565b905092915050565b6116e281610fd4565b81146116ec575f80fd5b50565b5f815190506116fd816116d9565b92915050565b5f6020828403121561171857611717610f4c565b5b5f611725848285016116ef565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffdfea26469706673582212208bc630e11c065de18b61496283ea93bb882211261a2de5178b91a410f78a5c9a64736f6c634300081a0033",d=class d extends i.DeployableTarget{constructor(){super(...arguments),this.abi=b.A}async owner(f){return b.ju(this._config,{address:this.assertValidAddress(),args:[],...f})}async claims(f){return b.Pu(this._config,{address:this.assertValidAddress(),args:[],...f})}async reward(f){return b.Ju(this._config,{address:this.assertValidAddress(),args:[],...f})}async claimed(f,e){return b.Du(this._config,{address:this.assertValidAddress(),args:[f],...e})}async allowList(f){const e=await b.ku(this._config,{address:this.assertValidAddress(),...f});return new r.SimpleAllowList({config:this._config,account:this._account},e)}async limit(f){return b.$u(this._config,{address:this.assertValidAddress(),...f})}async claim(f,e){return this.awaitResult(this.claimRaw(f,e))}async claimRaw(f,e){const{request:c,result:s}=await b.pl(this._config,{address:this.assertValidAddress(),args:[a.prepareClaimPayload(f)],...this.optionallyAttachAccount(),...e});return{hash:await b.el(this._config,c),result:s}}async isClaimable(f,e){return b.Zu(this._config,{address:this.assertValidAddress(),args:[a.prepareClaimPayload(f)],...e})}buildParameters(f,e){const[c,s]=this.validateDeploymentConfig(f,e);return{abi:b.A,bytecode:n,args:[a.prepareAllowListIncentivePayload(c)],...this.optionallyAttachAccount(s.account)}}};d.base="0x5Cd43Ea5541e1D6FF36962E6e6C11f0bf9d573d4",d.registryType=a.RegistryType.INCENTIVE;let t=d;exports.allowListIncentiveAbi=b.A;exports.AllowListIncentive=t;