Skip to content

Commit f4310f1

Browse files
committed
Merge branch 'feat/approval-revocation-enforcer' into feat/token-approval-revocation-permission-type
2 parents 2a1f103 + 54b8c0d commit f4310f1

26 files changed

Lines changed: 1044 additions & 35 deletions

lib/delegatable-framework

packages/delegation-abis/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
### Added
11+
12+
- Abis for `ApprovalRevocationEnforcer` ([#226](https://github.com/metamask/smart-accounts-kit/pull/226))
13+
1014
## [1.0.0]
1115

1216
### Changed
Lines changed: 174 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,174 @@
1+
export const abi = [
2+
{
3+
"type": "function",
4+
"name": "afterAllHook",
5+
"inputs": [
6+
{
7+
"name": "",
8+
"type": "bytes",
9+
"internalType": "bytes"
10+
},
11+
{
12+
"name": "",
13+
"type": "bytes",
14+
"internalType": "bytes"
15+
},
16+
{
17+
"name": "",
18+
"type": "bytes32",
19+
"internalType": "ModeCode"
20+
},
21+
{
22+
"name": "",
23+
"type": "bytes",
24+
"internalType": "bytes"
25+
},
26+
{
27+
"name": "",
28+
"type": "bytes32",
29+
"internalType": "bytes32"
30+
},
31+
{
32+
"name": "",
33+
"type": "address",
34+
"internalType": "address"
35+
},
36+
{
37+
"name": "",
38+
"type": "address",
39+
"internalType": "address"
40+
}
41+
],
42+
"outputs": [],
43+
"stateMutability": "nonpayable"
44+
},
45+
{
46+
"type": "function",
47+
"name": "afterHook",
48+
"inputs": [
49+
{
50+
"name": "",
51+
"type": "bytes",
52+
"internalType": "bytes"
53+
},
54+
{
55+
"name": "",
56+
"type": "bytes",
57+
"internalType": "bytes"
58+
},
59+
{
60+
"name": "",
61+
"type": "bytes32",
62+
"internalType": "ModeCode"
63+
},
64+
{
65+
"name": "",
66+
"type": "bytes",
67+
"internalType": "bytes"
68+
},
69+
{
70+
"name": "",
71+
"type": "bytes32",
72+
"internalType": "bytes32"
73+
},
74+
{
75+
"name": "",
76+
"type": "address",
77+
"internalType": "address"
78+
},
79+
{
80+
"name": "",
81+
"type": "address",
82+
"internalType": "address"
83+
}
84+
],
85+
"outputs": [],
86+
"stateMutability": "nonpayable"
87+
},
88+
{
89+
"type": "function",
90+
"name": "beforeAllHook",
91+
"inputs": [
92+
{
93+
"name": "",
94+
"type": "bytes",
95+
"internalType": "bytes"
96+
},
97+
{
98+
"name": "",
99+
"type": "bytes",
100+
"internalType": "bytes"
101+
},
102+
{
103+
"name": "",
104+
"type": "bytes32",
105+
"internalType": "ModeCode"
106+
},
107+
{
108+
"name": "",
109+
"type": "bytes",
110+
"internalType": "bytes"
111+
},
112+
{
113+
"name": "",
114+
"type": "bytes32",
115+
"internalType": "bytes32"
116+
},
117+
{
118+
"name": "",
119+
"type": "address",
120+
"internalType": "address"
121+
},
122+
{
123+
"name": "",
124+
"type": "address",
125+
"internalType": "address"
126+
}
127+
],
128+
"outputs": [],
129+
"stateMutability": "nonpayable"
130+
},
131+
{
132+
"type": "function",
133+
"name": "beforeHook",
134+
"inputs": [
135+
{
136+
"name": "_terms",
137+
"type": "bytes",
138+
"internalType": "bytes"
139+
},
140+
{
141+
"name": "",
142+
"type": "bytes",
143+
"internalType": "bytes"
144+
},
145+
{
146+
"name": "_mode",
147+
"type": "bytes32",
148+
"internalType": "ModeCode"
149+
},
150+
{
151+
"name": "_executionCallData",
152+
"type": "bytes",
153+
"internalType": "bytes"
154+
},
155+
{
156+
"name": "",
157+
"type": "bytes32",
158+
"internalType": "bytes32"
159+
},
160+
{
161+
"name": "_delegator",
162+
"type": "address",
163+
"internalType": "address"
164+
},
165+
{
166+
"name": "",
167+
"type": "address",
168+
"internalType": "address"
169+
}
170+
],
171+
"outputs": [],
172+
"stateMutability": "view"
173+
}
174+
] as const;

packages/delegation-abis/src/artifacts/ApprovalRevocationEnforcer.sol/ApprovalRevocationEnforcer.json

Lines changed: 1 addition & 0 deletions
Large diffs are not rendered by default.

packages/delegation-abis/src/bytecode.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ export { bytecode as Address } from './bytecode/Address';
22
export { bytecode as AllowedCalldataEnforcer } from './bytecode/AllowedCalldataEnforcer';
33
export { bytecode as AllowedMethodsEnforcer } from './bytecode/AllowedMethodsEnforcer';
44
export { bytecode as AllowedTargetsEnforcer } from './bytecode/AllowedTargetsEnforcer';
5+
export { bytecode as ApprovalRevocationEnforcer } from './bytecode/ApprovalRevocationEnforcer';
56
export { bytecode as ArgsEqualityCheckEnforcer } from './bytecode/ArgsEqualityCheckEnforcer';
67
export { bytecode as Base64 } from './bytecode/Base64';
78
export { bytecode as Base64URL } from './bytecode/Base64URL';
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export const bytecode = '0x608060405234801561001057600080fd5b50610f82806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c8063414c3e3314610051578063a145832a1461006d578063d3eddcc514610051578063ed46336714610051575b600080fd5b61006b61005f366004610bff565b50505050505050505050565b005b61006b61007b366004610bff565b85610087816000610617565b6100d85760405162461bcd60e51b815260206004820181905260248201527f436176656174456e666f726365723a696e76616c69642d63616c6c2d7479706560448201526064015b60405180910390fd5b86600881901b6100e9816000610617565b6101435760405162461bcd60e51b815260206004820152602560248201527f436176656174456e666f726365723a696e76616c69642d657865637574696f6e6044820152642d7479706560d81b60648201526084016100cf565b5060006101508d8d61062e565b90506000803660006101628c8c61075b565b9350935093509350826000146101b95760405162461bcd60e51b81526020600482015260286024820152600080516020610f2d83398151915260448201526769642d76616c756560c01b60648201526084016100cf565b60048110156101da5760405162461bcd60e51b81526004016100cf90610cd2565b60006101e96004828486610d13565b6101f291610d3d565b90506378ae83bb60e01b6001600160e01b0319821601610282576008861660000361026c5760405162461bcd60e51b81526020600482015260366024820152600080516020610f0d8339815191526044820152751d0c8b585c1c1c9bdd994b5b9bdd0b585b1b1bddd95960521b60648201526084016100cf565b6102778584846107ac565b505050505050610609565b6333acd78160e01b6001600160e01b031982160161033857601086166000036103015760405162461bcd60e51b81526020600482015260376024820152600080516020610f0d83398151915260448201527f74322d6c6f636b646f776e2d6e6f742d616c6c6f77656400000000000000000060648201526084016100cf565b6001600160a01b0385166e22d473030f116ddee9f6b43ac78ba3146102775760405162461bcd60e51b81526004016100cf90610d6d565b632689a37160e21b6001600160e01b03198216016103b95760208616600003610301576040805162461bcd60e51b8152602060048201526024810191909152600080516020610f0d83398151915260448201527f74322d696e76616c69646174652d6e6f6e6365732d6e6f742d616c6c6f77656460648201526084016100cf565b604482146103d95760405162461bcd60e51b81526004016100cf90610cd2565b635dd34b9b60e01b6001600160e01b0319821601610476576004861660000361046a5760405162461bcd60e51b815260206004820152603860248201527f417070726f76616c5265766f636174696f6e456e666f726365723a736574417060448201527f70726f76616c466f72416c6c2d6e6f742d616c6c6f776564000000000000000060648201526084016100cf565b6102778584848d6108fb565b63f6a1584d60e01b6001600160e01b03198216016105c157600061049e602460048587610d13565b6104a791610dac565b90506001600160a01b03811661053857600287166000036105285760405162461bcd60e51b815260206004820152603560248201527f417070726f76616c5265766f636174696f6e456e666f726365723a65726337326044820152740c4b585c1c1c9bdd994b5b9bdd0b585b1b1bddd959605a1b60648201526084016100cf565b610533868585610a25565b6105b5565b600187166000036105a85760405162461bcd60e51b815260206004820152603460248201527f417070726f76616c5265766f636174696f6e456e666f726365723a65726332306044820152730b585c1c1c9bdd994b5b9bdd0b585b1b1bddd95960621b60648201526084016100cf565b6105b58685858e85610ad9565b50505050505050610609565b60405162461bcd60e51b81526020600482015260296024820152600080516020610f2d8339815191526044820152681a590b5b595d1a1bd960ba1b60648201526084016100cf565b505050505050505050505050565b6001600160f81b0319828116908216145b92915050565b6000600182146106865760405162461bcd60e51b815260206004820152602f6024820152600080516020610f2d83398151915260448201526e0d2c85ae8cae4dae65ad8cadccee8d608b1b60648201526084016100cf565b8282600081811061069957610699610dca565b919091013560f81c915050600081900361070b5760405162461bcd60e51b815260206004820152602d60248201527f417070726f76616c5265766f636174696f6e456e666f726365723a6e6f2d6d6560448201526c1d1a1bd91ccb585b1b1bddd959609a1b60648201526084016100cf565b60c08116156106285760405162461bcd60e51b81526020600482015260286024820152600080516020610f2d83398151915260448201526769642d7465726d7360c01b60648201526084016100cf565b600080368161076d6014828789610d13565b61077691610de0565b60601c9350610789603460148789610d13565b61079291610dac565b92506107a18560348189610d13565b949793965094505050565b6001600160a01b0383166e22d473030f116ddee9f6b43ac78ba3146107e35760405162461bcd60e51b81526004016100cf90610d6d565b608481146108475760405162461bcd60e51b815260206004820152603b6024820152600080516020610f0d83398151915260448201527f74322d696e76616c69642d657865637574696f6e2d6c656e677468000000000060648201526084016100cf565b610855606460448385610d13565b61085e91610dac565b1561087b5760405162461bcd60e51b81526004016100cf90610e13565b610889608460648385610d13565b61089291610dac565b156108f65760405162461bcd60e51b815260206004820152602e60248201527f417070726f76616c5265766f636174696f6e456e666f726365723a6e6f6e2d7a60448201526d32b93796b2bc3834b930ba34b7b760911b60648201526084016100cf565b505050565b610909604460248486610d13565b61091291610dac565b156109735760405162461bcd60e51b815260206004820152602b60248201527f417070726f76616c5265766f636174696f6e456e666f726365723a6e6f742d6160448201526a16b932bb37b1b0ba34b7b760a91b60648201526084016100cf565b6000610983602460048587610d13565b61098c91610dac565b60405163e985e9c560e01b81526001600160a01b03848116600483015280831660248301529192509086169063e985e9c590604401602060405180830381865afa1580156109de573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a029190610e5d565b610a1e5760405162461bcd60e51b81526004016100cf90610e86565b5050505050565b6000610a35604460248486610d13565b610a3e91610dac565b60405163020604bf60e21b8152600481018290529091506000906001600160a01b0386169063081812fc90602401602060405180830381865afa158015610a89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aad9190610ed6565b6001600160a01b031603610ad35760405162461bcd60e51b81526004016100cf90610e86565b50505050565b610ae7604460248587610d13565b610af091610dac565b15610b0d5760405162461bcd60e51b81526004016100cf90610e13565b604051636eb1769f60e11b81526001600160a01b038381166004830152828116602483015286169063dd62ed3e90604401602060405180830381865afa158015610b5b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7f9190610ef3565b600003610a1e5760405162461bcd60e51b81526004016100cf90610e86565b60008083601f840112610bb057600080fd5b50813567ffffffffffffffff811115610bc857600080fd5b602083019150836020828501011115610be057600080fd5b9250929050565b6001600160a01b0381168114610bfc57600080fd5b50565b60008060008060008060008060008060e08b8d031215610c1e57600080fd5b8a3567ffffffffffffffff80821115610c3657600080fd5b610c428e838f01610b9e565b909c509a5060208d0135915080821115610c5b57600080fd5b610c678e838f01610b9e565b909a50985060408d0135975060608d0135915080821115610c8757600080fd5b50610c948d828e01610b9e565b90965094505060808b0135925060a08b0135610caf81610be7565b915060c08b0135610cbf81610be7565b809150509295989b9194979a5092959850565b6020808252603390820152600080516020610f2d8339815191526040820152720d2c85acaf0cac6eae8d2dedc5ad8cadccee8d606b1b606082015260800190565b60008085851115610d2357600080fd5b83861115610d3057600080fd5b5050820193919092039150565b6001600160e01b03198135818116916004851015610d655780818660040360031b1b83161692505b505092915050565b6020808252603190820152600080516020610f2d8339815191526040820152701a590b5c195c9b5a5d0c8b5d185c99d95d607a1b606082015260800190565b8035602083101561062857600019602084900360031b1b1692915050565b634e487b7160e01b600052603260045260246000fd5b6bffffffffffffffffffffffff198135818116916014851015610d655760149490940360031b84901b1690921692915050565b6020808252602a908201527f417070726f76616c5265766f636174696f6e456e666f726365723a6e6f6e2d7a604082015269195c9bcb585b5bdd5b9d60b21b606082015260800190565b600060208284031215610e6f57600080fd5b81518015158114610e7f57600080fd5b9392505050565b60208082526030908201527f417070726f76616c5265766f636174696f6e456e666f726365723a6e6f2d617060408201526f70726f76616c2d746f2d7265766f6b6560801b606082015260800190565b600060208284031215610ee857600080fd5b8151610e7f81610be7565b600060208284031215610f0557600080fd5b505191905056fe417070726f76616c5265766f636174696f6e456e666f726365723a7065726d69417070726f76616c5265766f636174696f6e456e666f726365723a696e76616ca26469706673582212200b9b4fc3ceb80b33a7a3836360e7e30ce648157075b95685bdfd33482dcf19f764736f6c63430008170033' as const;

packages/delegation-abis/src/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ export { abi as Address } from './abis/Address';
22
export { abi as AllowedCalldataEnforcer } from './abis/AllowedCalldataEnforcer';
33
export { abi as AllowedMethodsEnforcer } from './abis/AllowedMethodsEnforcer';
44
export { abi as AllowedTargetsEnforcer } from './abis/AllowedTargetsEnforcer';
5+
export { abi as ApprovalRevocationEnforcer } from './abis/ApprovalRevocationEnforcer';
56
export { abi as ArgsEqualityCheckEnforcer } from './abis/ArgsEqualityCheckEnforcer';
67
export { abi as Base64 } from './abis/Base64';
78
export { abi as Base64URL } from './abis/Base64URL';

packages/delegation-core/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
### Added
11+
12+
- Encoding and decoding utils for `ApprovalRevocationEnforcer` enforcer args and terms ([#226](https://github.com/metamask/smart-accounts-kit/pull/226))
13+
1014
## [2.1.0]
1115

1216
### Changed

0 commit comments

Comments
 (0)