@metamask/delegation-core 0.2.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -47,6 +47,36 @@ type ExactCalldataTerms = {
47
47
  declare function createExactCalldataTerms(terms: ExactCalldataTerms, encodingOptions?: EncodingOptions<'hex'>): Hex;
48
48
  declare function createExactCalldataTerms(terms: ExactCalldataTerms, encodingOptions: EncodingOptions<'bytes'>): Uint8Array;
49
49
 
50
+ type ExactCalldataBatchTerms = {
51
+ executions: {
52
+ target: BytesLike;
53
+ value: bigint;
54
+ callData: BytesLike;
55
+ }[];
56
+ };
57
+ declare function createExactCalldataBatchTerms(terms: ExactCalldataBatchTerms, encodingOptions?: EncodingOptions<'hex'>): Hex;
58
+ declare function createExactCalldataBatchTerms(terms: ExactCalldataBatchTerms, encodingOptions: EncodingOptions<'bytes'>): Uint8Array;
59
+
60
+ type ExactExecutionTerms = {
61
+ execution: {
62
+ target: BytesLike;
63
+ value: bigint;
64
+ callData: BytesLike;
65
+ };
66
+ };
67
+ declare function createExactExecutionTerms(terms: ExactExecutionTerms, encodingOptions?: EncodingOptions<'hex'>): Hex;
68
+ declare function createExactExecutionTerms(terms: ExactExecutionTerms, encodingOptions: EncodingOptions<'bytes'>): Uint8Array;
69
+
70
+ type ExactExecutionBatchTerms = {
71
+ executions: {
72
+ target: BytesLike;
73
+ value: bigint;
74
+ callData: BytesLike;
75
+ }[];
76
+ };
77
+ declare function createExactExecutionBatchTerms(terms: ExactExecutionBatchTerms, encodingOptions?: EncodingOptions<'hex'>): Hex;
78
+ declare function createExactExecutionBatchTerms(terms: ExactExecutionBatchTerms, encodingOptions: EncodingOptions<'bytes'>): Uint8Array;
79
+
50
80
  type NativeTokenStreamingTerms = {
51
81
  initialAmount: bigint;
52
82
  maxAmount: bigint;
@@ -56,6 +86,27 @@ type NativeTokenStreamingTerms = {
56
86
  declare function createNativeTokenStreamingTerms(terms: NativeTokenStreamingTerms, encodingOptions?: EncodingOptions<'hex'>): Hex;
57
87
  declare function createNativeTokenStreamingTerms(terms: NativeTokenStreamingTerms, encodingOptions: EncodingOptions<'bytes'>): Uint8Array;
58
88
 
89
+ type NativeTokenTransferAmountTerms = {
90
+ maxAmount: bigint;
91
+ };
92
+ declare function createNativeTokenTransferAmountTerms(terms: NativeTokenTransferAmountTerms, encodingOptions?: EncodingOptions<'hex'>): Hex;
93
+ declare function createNativeTokenTransferAmountTerms(terms: NativeTokenTransferAmountTerms, encodingOptions: EncodingOptions<'bytes'>): Uint8Array;
94
+
95
+ type NativeTokenPaymentTerms = {
96
+ recipient: BytesLike;
97
+ amount: bigint;
98
+ };
99
+ declare function createNativeTokenPaymentTerms(terms: NativeTokenPaymentTerms, encodingOptions?: EncodingOptions<'hex'>): Hex;
100
+ declare function createNativeTokenPaymentTerms(terms: NativeTokenPaymentTerms, encodingOptions: EncodingOptions<'bytes'>): Uint8Array;
101
+
102
+ type NativeBalanceChangeTerms = {
103
+ recipient: BytesLike;
104
+ balance: bigint;
105
+ changeType: number;
106
+ };
107
+ declare function createNativeBalanceChangeTerms(terms: NativeBalanceChangeTerms, encodingOptions?: EncodingOptions<'hex'>): Hex;
108
+ declare function createNativeBalanceChangeTerms(terms: NativeBalanceChangeTerms, encodingOptions: EncodingOptions<'bytes'>): Uint8Array;
109
+
59
110
  type ERC20StreamingTerms = {
60
111
  tokenAddress: BytesLike;
61
112
  initialAmount: bigint;
@@ -75,21 +126,153 @@ type ERC20TokenPeriodTransferTerms = {
75
126
  declare function createERC20TokenPeriodTransferTerms(terms: ERC20TokenPeriodTransferTerms, encodingOptions?: EncodingOptions<'hex'>): Hex;
76
127
  declare function createERC20TokenPeriodTransferTerms(terms: ERC20TokenPeriodTransferTerms, encodingOptions: EncodingOptions<'bytes'>): Uint8Array;
77
128
 
129
+ type ERC20TransferAmountTerms = {
130
+ tokenAddress: BytesLike;
131
+ maxAmount: bigint;
132
+ };
133
+ declare function createERC20TransferAmountTerms(terms: ERC20TransferAmountTerms, encodingOptions?: EncodingOptions<'hex'>): Hex;
134
+ declare function createERC20TransferAmountTerms(terms: ERC20TransferAmountTerms, encodingOptions: EncodingOptions<'bytes'>): Uint8Array;
135
+
136
+ type ERC20BalanceChangeTerms = {
137
+ tokenAddress: BytesLike;
138
+ recipient: BytesLike;
139
+ balance: bigint;
140
+ changeType: number;
141
+ };
142
+ declare function createERC20BalanceChangeTerms(terms: ERC20BalanceChangeTerms, encodingOptions?: EncodingOptions<'hex'>): Hex;
143
+ declare function createERC20BalanceChangeTerms(terms: ERC20BalanceChangeTerms, encodingOptions: EncodingOptions<'bytes'>): Uint8Array;
144
+
145
+ type ERC721BalanceChangeTerms = {
146
+ tokenAddress: BytesLike;
147
+ recipient: BytesLike;
148
+ amount: bigint;
149
+ changeType: number;
150
+ };
151
+ declare function createERC721BalanceChangeTerms(terms: ERC721BalanceChangeTerms, encodingOptions?: EncodingOptions<'hex'>): Hex;
152
+ declare function createERC721BalanceChangeTerms(terms: ERC721BalanceChangeTerms, encodingOptions: EncodingOptions<'bytes'>): Uint8Array;
153
+
154
+ type ERC721TransferTerms = {
155
+ tokenAddress: BytesLike;
156
+ tokenId: bigint;
157
+ };
158
+ declare function createERC721TransferTerms(terms: ERC721TransferTerms, encodingOptions?: EncodingOptions<'hex'>): Hex;
159
+ declare function createERC721TransferTerms(terms: ERC721TransferTerms, encodingOptions: EncodingOptions<'bytes'>): Uint8Array;
160
+
161
+ type ERC1155BalanceChangeTerms = {
162
+ tokenAddress: BytesLike;
163
+ recipient: BytesLike;
164
+ tokenId: bigint;
165
+ balance: bigint;
166
+ changeType: number;
167
+ };
168
+ declare function createERC1155BalanceChangeTerms(terms: ERC1155BalanceChangeTerms, encodingOptions?: EncodingOptions<'hex'>): Hex;
169
+ declare function createERC1155BalanceChangeTerms(terms: ERC1155BalanceChangeTerms, encodingOptions: EncodingOptions<'bytes'>): Uint8Array;
170
+
78
171
  type NonceTerms = {
79
172
  nonce: BytesLike;
80
173
  };
81
174
  declare function createNonceTerms(terms: NonceTerms, encodingOptions?: EncodingOptions<'hex'>): Hex;
82
175
  declare function createNonceTerms(terms: NonceTerms, encodingOptions: EncodingOptions<'bytes'>): Uint8Array;
83
176
 
84
- declare const ANY_BENEFICIARY = "0x0000000000000000000000000000000000000a11";
85
- declare const ROOT_AUTHORITY = "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff";
86
- declare const DELEGATION_TYPEHASH = "0x88c1d2ecf185adf710588203a5f263f0ff61be0d33da39792cde19ba9aa4331e";
87
- declare const CAVEAT_TYPEHASH = "0x80ad7e1b04ee6d994a125f4714ca0720908bd80ed16063ec8aee4b88e9253e2d";
177
+ type AllowedCalldataTerms = {
178
+ startIndex: number;
179
+ value: BytesLike;
180
+ };
181
+ declare function createAllowedCalldataTerms(terms: AllowedCalldataTerms, encodingOptions?: EncodingOptions<'hex'>): Hex;
182
+ declare function createAllowedCalldataTerms(terms: AllowedCalldataTerms, encodingOptions: EncodingOptions<'bytes'>): Uint8Array;
183
+
184
+ type AllowedMethodsTerms = {
185
+ selectors: BytesLike[];
186
+ };
187
+ declare function createAllowedMethodsTerms(terms: AllowedMethodsTerms, encodingOptions?: EncodingOptions<'hex'>): Hex;
188
+ declare function createAllowedMethodsTerms(terms: AllowedMethodsTerms, encodingOptions: EncodingOptions<'bytes'>): Uint8Array;
189
+
190
+ type AllowedTargetsTerms = {
191
+ targets: BytesLike[];
192
+ };
193
+ declare function createAllowedTargetsTerms(terms: AllowedTargetsTerms, encodingOptions?: EncodingOptions<'hex'>): Hex;
194
+ declare function createAllowedTargetsTerms(terms: AllowedTargetsTerms, encodingOptions: EncodingOptions<'bytes'>): Uint8Array;
195
+
196
+ type ArgsEqualityCheckTerms = {
197
+ args: BytesLike;
198
+ };
199
+ declare function createArgsEqualityCheckTerms(terms: ArgsEqualityCheckTerms, encodingOptions?: EncodingOptions<'hex'>): Hex;
200
+ declare function createArgsEqualityCheckTerms(terms: ArgsEqualityCheckTerms, encodingOptions: EncodingOptions<'bytes'>): Uint8Array;
201
+
202
+ type BlockNumberTerms = {
203
+ afterThreshold: bigint;
204
+ beforeThreshold: bigint;
205
+ };
206
+ declare function createBlockNumberTerms(terms: BlockNumberTerms, encodingOptions?: EncodingOptions<'hex'>): Hex;
207
+ declare function createBlockNumberTerms(terms: BlockNumberTerms, encodingOptions: EncodingOptions<'bytes'>): Uint8Array;
208
+
209
+ type DeployedTerms = {
210
+ contractAddress: BytesLike;
211
+ salt: BytesLike;
212
+ bytecode: BytesLike;
213
+ };
214
+ declare function createDeployedTerms(terms: DeployedTerms, encodingOptions?: EncodingOptions<'hex'>): Hex;
215
+ declare function createDeployedTerms(terms: DeployedTerms, encodingOptions: EncodingOptions<'bytes'>): Uint8Array;
216
+
217
+ type IdTerms = {
218
+ id: bigint | number;
219
+ };
220
+ declare function createIdTerms(terms: IdTerms, encodingOptions?: EncodingOptions<'hex'>): Hex;
221
+ declare function createIdTerms(terms: IdTerms, encodingOptions: EncodingOptions<'bytes'>): Uint8Array;
222
+
223
+ type LimitedCallsTerms = {
224
+ limit: number;
225
+ };
226
+ declare function createLimitedCallsTerms(terms: LimitedCallsTerms, encodingOptions?: EncodingOptions<'hex'>): Hex;
227
+ declare function createLimitedCallsTerms(terms: LimitedCallsTerms, encodingOptions: EncodingOptions<'bytes'>): Uint8Array;
228
+
229
+ type TokenPeriodConfig = {
230
+ token: BytesLike;
231
+ periodAmount: bigint;
232
+ periodDuration: number;
233
+ startDate: number;
234
+ };
235
+ type MultiTokenPeriodTerms = {
236
+ tokenConfigs: TokenPeriodConfig[];
237
+ };
238
+ declare function createMultiTokenPeriodTerms(terms: MultiTokenPeriodTerms, encodingOptions?: EncodingOptions<'hex'>): Hex;
239
+ declare function createMultiTokenPeriodTerms(terms: MultiTokenPeriodTerms, encodingOptions: EncodingOptions<'bytes'>): Uint8Array;
240
+
241
+ type OwnershipTransferTerms = {
242
+ contractAddress: BytesLike;
243
+ };
244
+ declare function createOwnershipTransferTerms(terms: OwnershipTransferTerms, encodingOptions?: EncodingOptions<'hex'>): Hex;
245
+ declare function createOwnershipTransferTerms(terms: OwnershipTransferTerms, encodingOptions: EncodingOptions<'bytes'>): Uint8Array;
246
+
247
+ type RedeemerTerms = {
248
+ redeemers: BytesLike[];
249
+ };
250
+ declare function createRedeemerTerms(terms: RedeemerTerms, encodingOptions?: EncodingOptions<'hex'>): Hex;
251
+ declare function createRedeemerTerms(terms: RedeemerTerms, encodingOptions: EncodingOptions<'bytes'>): Uint8Array;
252
+
253
+ type SpecificActionERC20TransferBatchTerms = {
254
+ tokenAddress: BytesLike;
255
+ recipient: BytesLike;
256
+ amount: bigint;
257
+ target: BytesLike;
258
+ calldata: BytesLike;
259
+ };
260
+ declare function createSpecificActionERC20TransferBatchTerms(terms: SpecificActionERC20TransferBatchTerms, encodingOptions?: EncodingOptions<'hex'>): Hex;
261
+ declare function createSpecificActionERC20TransferBatchTerms(terms: SpecificActionERC20TransferBatchTerms, encodingOptions: EncodingOptions<'bytes'>): Uint8Array;
262
+
263
+ declare const ANY_BENEFICIARY: "0x0000000000000000000000000000000000000a11";
264
+ declare const ROOT_AUTHORITY: "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff";
265
+ declare const DELEGATION_TYPEHASH: "0x88c1d2ecf185adf710588203a5f263f0ff61be0d33da39792cde19ba9aa4331e";
266
+ declare const CAVEAT_TYPEHASH: "0x80ad7e1b04ee6d994a125f4714ca0720908bd80ed16063ec8aee4b88e9253e2d";
88
267
  declare function encodeDelegations(delegations: DelegationStruct[], options?: EncodingOptions<'hex'>): Hex;
89
268
  declare function encodeDelegations(delegations: DelegationStruct[], options: EncodingOptions<'bytes'>): Uint8Array;
269
+ declare function encodeDelegation(delegation: DelegationStruct, options?: EncodingOptions<'hex'>): Hex;
270
+ declare function encodeDelegation(delegation: DelegationStruct, options: EncodingOptions<'bytes'>): Uint8Array;
90
271
  declare function decodeDelegations(encoded: BytesLike, options?: EncodingOptions<'hex'>): DelegationStruct<Hex>[];
91
272
  declare function decodeDelegations(encoded: BytesLike, options: EncodingOptions<'bytes'>): DelegationStruct<Uint8Array>[];
273
+ declare function decodeDelegation(encoded: BytesLike, options?: EncodingOptions<'hex'>): DelegationStruct<Hex>;
274
+ declare function decodeDelegation(encoded: BytesLike, options: EncodingOptions<'bytes'>): DelegationStruct<Uint8Array>;
92
275
  declare function hashDelegation(delegation: DelegationStruct, options?: EncodingOptions<'hex'>): Hex;
93
276
  declare function hashDelegation(delegation: DelegationStruct, options: EncodingOptions<'bytes'>): Uint8Array;
94
277
 
95
- export { ANY_BENEFICIARY, CAVEAT_TYPEHASH, type CaveatStruct as Caveat, DELEGATION_TYPEHASH, type DelegationStruct as Delegation, ROOT_AUTHORITY, createERC20StreamingTerms, createERC20TokenPeriodTransferTerms, createExactCalldataTerms, createNativeTokenPeriodTransferTerms, createNativeTokenStreamingTerms, createNonceTerms, createTimestampTerms, createValueLteTerms, decodeDelegations, encodeDelegations, hashDelegation };
278
+ export { ANY_BENEFICIARY, CAVEAT_TYPEHASH, type CaveatStruct as Caveat, DELEGATION_TYPEHASH, type DelegationStruct as Delegation, ROOT_AUTHORITY, createAllowedCalldataTerms, createAllowedMethodsTerms, createAllowedTargetsTerms, createArgsEqualityCheckTerms, createBlockNumberTerms, createDeployedTerms, createERC1155BalanceChangeTerms, createERC20BalanceChangeTerms, createERC20StreamingTerms, createERC20TokenPeriodTransferTerms, createERC20TransferAmountTerms, createERC721BalanceChangeTerms, createERC721TransferTerms, createExactCalldataBatchTerms, createExactCalldataTerms, createExactExecutionBatchTerms, createExactExecutionTerms, createIdTerms, createLimitedCallsTerms, createMultiTokenPeriodTerms, createNativeBalanceChangeTerms, createNativeTokenPaymentTerms, createNativeTokenPeriodTransferTerms, createNativeTokenStreamingTerms, createNativeTokenTransferAmountTerms, createNonceTerms, createOwnershipTransferTerms, createRedeemerTerms, createSpecificActionERC20TransferBatchTerms, createTimestampTerms, createValueLteTerms, decodeDelegation, decodeDelegations, encodeDelegation, encodeDelegations, hashDelegation };