From cd3890ec93694d6aa0a2186fb1df10317d39690d Mon Sep 17 00:00:00 2001 From: Johannes Kares Date: Wed, 6 Nov 2024 23:41:50 +0100 Subject: [PATCH 1/6] fix signMessage for Kernel 0.2.3 and 0.2.4 --- .../accounts/kernel/utils/signMessage.ts | 3 +-- .../accounts/kernel/utils/wrapMessageHash.ts | 16 ++++++++++------ 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/packages/permissionless/accounts/kernel/utils/signMessage.ts b/packages/permissionless/accounts/kernel/utils/signMessage.ts index 510a1d99..91bdc78d 100644 --- a/packages/permissionless/accounts/kernel/utils/signMessage.ts +++ b/packages/permissionless/accounts/kernel/utils/signMessage.ts @@ -5,7 +5,6 @@ import { hashMessage } from "viem" import { signMessage as _signMessage } from "viem/actions" -import { isKernelV2 } from "./isKernelV2" import { type WrapMessageHashParams, wrapMessageHash } from "./wrapMessageHash" export async function signMessage({ @@ -19,7 +18,7 @@ export async function signMessage({ message: SignableMessage owner: LocalAccount } & WrapMessageHashParams): Promise { - if (isKernelV2(accountVersion)) { + if (accountVersion === "0.2.1" || accountVersion === "0.2.2") { return owner.signMessage({ message }) diff --git a/packages/permissionless/accounts/kernel/utils/wrapMessageHash.ts b/packages/permissionless/accounts/kernel/utils/wrapMessageHash.ts index a2e72a5b..0a0f5f38 100644 --- a/packages/permissionless/accounts/kernel/utils/wrapMessageHash.ts +++ b/packages/permissionless/accounts/kernel/utils/wrapMessageHash.ts @@ -7,6 +7,7 @@ import { } from "viem" import { type Address, domainSeparator } from "viem" import type { KernelVersion } from "../toEcdsaKernelSmartAccount" +import { isKernelV2 } from "./isKernelV2" export type WrapMessageHashParams = { kernelVersion: KernelVersion<"0.6" | "0.7"> @@ -26,12 +27,15 @@ export const wrapMessageHash = ( verifyingContract: accountAddress } }) - const wrappedMessageHash = keccak256( - encodeAbiParameters( - [{ type: "bytes32" }, { type: "bytes32" }], - [keccak256(stringToHex("Kernel(bytes32 hash)")), messageHash] - ) - ) + const wrappedMessageHash = isKernelV2(kernelVersion) + ? messageHash + : keccak256( + encodeAbiParameters( + [{ type: "bytes32" }, { type: "bytes32" }], + [keccak256(stringToHex("Kernel(bytes32 hash)")), messageHash] + ) + ) + const digest = keccak256( concatHex(["0x1901", _domainSeparator, wrappedMessageHash]) ) From 7ad534ed914b53e595844ca029afd0c8a0377e56 Mon Sep 17 00:00:00 2001 From: Johannes Kares Date: Wed, 6 Nov 2024 23:44:50 +0100 Subject: [PATCH 2/6] add changeset --- .changeset/smooth-countries-jump.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/smooth-countries-jump.md diff --git a/.changeset/smooth-countries-jump.md b/.changeset/smooth-countries-jump.md new file mode 100644 index 00000000..8297822c --- /dev/null +++ b/.changeset/smooth-countries-jump.md @@ -0,0 +1,5 @@ +--- +"permissionless": patch +--- + +Fix signMessage for Kernel version 0.2.3 and 0.2.4 From 2c76508a3a7bb7cfd634251af6b3a2f8bfe49ec3 Mon Sep 17 00:00:00 2001 From: Garvit Khatri Date: Sat, 9 Nov 2024 14:23:26 +0000 Subject: [PATCH 3/6] Add tests and fix signTypeData --- .../mock-aa-infra/alto/constants.ts | 9 +++ .../mock-aa-infra/alto/index.ts | 45 +++++++++++++++ packages/permissionless-test/src/utils.ts | 57 ++++++++++++++++++- .../accounts/kernel/utils/signTypedData.ts | 2 +- 4 files changed, 109 insertions(+), 4 deletions(-) diff --git a/packages/permissionless-test/mock-aa-infra/alto/constants.ts b/packages/permissionless-test/mock-aa-infra/alto/constants.ts index 6f68da35..2f8501d2 100644 --- a/packages/permissionless-test/mock-aa-infra/alto/constants.ts +++ b/packages/permissionless-test/mock-aa-infra/alto/constants.ts @@ -109,10 +109,19 @@ export const BICONOMY_DEFAULT_FALLBACK_HANDLER_CREATECALL: Hex = export const KERNEL_V06_ECDSA_VALIDATOR_V2_2_CREATECALL: Hex = "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576104ee908161001c8239f35b600080fdfe60406080815260048036101561001457600080fd5b600091823560e01c80630c959556146101d557806320709efc1461019b578063333daf921461015b5780633a871cdd1461010d578381638fc925aa146100c85750639ea9bd591461006457600080fd5b346100c457806003193601126100c45761007c610296565b9160243567ffffffffffffffff81116100c057936100a08392602096369101610263565b5050338152808552205490516001600160a01b0392831691909216148152f35b8480fd5b8280fd5b92905060203660031901126101095780359067ffffffffffffffff8211610104576100f591369101610263565b50503382528160205281205580f35b505050fd5b5050fd5b50600319836060368301126101545783359167ffffffffffffffff831161015757610160908336030112610154575060209261014d916024359101610348565b9051908152f35b80fd5b5080fd5b5082346101545781600319360112610154576024359067ffffffffffffffff8211610154575060209261019461014d9236908301610263565b9135610464565b838234610157576020366003190112610157576020916001600160a01b03908290826101c5610296565b1681528085522054169051908152f35b509060203660031901126100c45780359067ffffffffffffffff821161025f5761020191369101610263565b6014116100c4573560601c90338352826020528220805490826bffffffffffffffffffffffff60a01b831617905560018060a01b0316337f381c0d11398486654573703c51ee8210ce9461764d133f9f0e53b6a5397053318480a480f35b8380fd5b9181601f840112156102915782359167ffffffffffffffff8311610291576020838186019501011161029157565b600080fd5b600435906001600160a01b038216820361029157565b903590601e1981360301821215610291570180359067ffffffffffffffff82116102915760200191813603831361029157565b92919267ffffffffffffffff918281116103325760405192601f8201601f19908116603f011684019081118482101761033257604052829481845281830111610291578281602093846000960137010152565b634e487b7160e01b600052604160045260246000fd5b600092916001600160a01b039084833583811690819003610157578152806020528260408220541693826020527b19457468657265756d205369676e6564204d6573736167653a0a33328252603c60042091846103be6101408401946103b86103b187876102ac565b36916102df565b906103ee565b1686146103e557506103b16103d793926103b8926102ac565b16036103df57565b60019150565b96505050505050565b60207f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a19392608060405193838301516040526040830151928360605260416000988995869485526060840151851a885210915114165afa508251923d1561045757606052604052565b638baa579f90526004601cfd5b3360009081526020819052604081205490936001600160a01b03918216939192836104996104933685876102df565b836103ee565b1685146104e6576104d7926103b8916020527b19457468657265756d205369676e6564204d6573736167653a0a33328752603c6004209236916102df565b16036104e05790565b50600190565b50505050509056" +export const KERNEL_V06_ACCOUNT_V2_1_LOGIC_CREATECALL = + "0x000000000000000000000000000000000000000000000000000000000000000061014034620001b057601f62001f9f38819003918201601f19168301916001600160401b03831184841017620001b557808492602094604052833981010312620001b057516001600160a01b0381168103620001b057306080524660a05260a062000069620001cb565b600681526005602082016512d95c9b995b60d21b815260206200008b620001cb565b838152019264302e322e3160d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b031982541617905560405190611db39283620001ec8439608051836118fc015260a0518361191f015260c05183611991015260e051836119b7015251826118db01525181818161049d01528181610654015281816108ad01528181610a3801528181610b5f01528181610d5901528181610e7a01528181610f7b015281816110a501526112f50152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001b55760405256fe60806040526004361015610015575b3661108857005b60003560e01c806306fdde03146101655780630b3dc35414610160578063150b7a021461015b5780631626ba7e1461015657806329f8b174146101515780633659cfe61461014c5780633a871cdd146101475780633e1b08121461014257806351166ba01461013d578063519454471461013857806354fd4d501461013357806355b14f501461012e57806357b750471461012957806384b0196e1461012457806388e7fd061461011f578063b0d691fe1461011a578063bc197c8114610115578063d087d28814610110578063d1f578941461010b578063d5416221146101065763f23a6e610361000e57610ff6565b610f64565b610ec6565b610e47565b610db8565b610d43565b610d0e565b610c66565b610c2f565b610b49565b610af1565b6109f1565b610928565b610864565b61073a565b610630565b61042f565b61039d565b610343565b6102c4565b610290565b600091031261017557565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101a357604052565b61017a565b608081019081106001600160401b038211176101a357604052565b604081019081106001600160401b038211176101a357604052565b90601f801991011681019081106001600160401b038211176101a357604052565b6040519061020c826101a8565b565b6040519061016082018281106001600160401b038211176101a357604052565b6040519061023b826101c3565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061027c575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161025b565b34610175576000366003190112610175576102c06102ac61022e565b604051918291602083526020830190610250565b0390f35b34610175576000366003190112610175576020600080516020611d938339815191525460501c6040519060018060a01b03168152f35b6001600160a01b0381160361017557565b359061020c826102fa565b9181601f84011215610175578235916001600160401b038311610175576020838186019501011161017557565b346101755760803660031901126101755761035f6004356102fa565b61036a6024356102fa565b6064356001600160401b03811161017557610389903690600401610316565b5050604051630a85bd0160e11b8152602090f35b34610175576040366003190112610175576024356001600160401b038111610175576103db6103d26020923690600401610316565b906004356119ed565b6040516001600160e01b03199091168152f35b600435906001600160e01b03198216820361017557565b6064359065ffffffffffff8216820361017557565b6084359065ffffffffffff8216820361017557565b60c0366003190112610175576104436103ee565b60243590610450826102fa565b6044359061045d826102fa565b610465610405565b9261046e61041a565b9060a4356001600160401b0381116101755761048e903690600401610316565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610626575b6106145784926104f0610587926104db6101ff565b65ffffffffffff918216815292166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261051787611050565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b1693843b15610175576040519063064acaab60e11b825281806105b16000998a94600484016115ed565b038183895af1801561060f576105f6575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060361060992610190565b8061016a565b386105c2565b6112d5565b604051637046c88d60e01b8152600490fd5b50303314156104c6565b602036600319011261017557600435610648816102fa565b6001600160a01b0390337f000000000000000000000000000000000000000000000000000000000000000083161415806106cc575b61061457807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561067d565b9291926001600160401b0382116101a357604051916106ff601f8201601f1916602001846101de565b829481845281830111610175578281602093846000960137010152565b9080601f8301121561017557816020610737933591016106d6565b90565b6003196060368201126101755760048035916001600160401b0390818411610175576101609084360301126101755761077161020e565b9061077d84840161030b565b8252602484013560208301526044840135818111610175576107a49084369187010161071c565b60408301526064840135818111610175576107c49084369187010161071c565b60608301526084840135608083015260a484013560a083015260c484013560c083015260e484013560e0830152610104840135610100830152610124840135818111610175576108199084369187010161071c565b610120830152610144840135908111610175576102c09361085493610841923692010161071c565b61014082015260443590602435906112e1565b6040519081529081906020820190565b34610175576020366003190112610175576004356001600160c01b0381169081900361017557604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060f576102c0916000916108fa575b506040519081529081906020820190565b61091b915060203d8111610921575b61091381836101de565b8101906111f6565b386108e9565b503d610909565b34610175576020366003190112610175576102c061096d6109476103ee565b60006060604051610957816101a8565b8281528260208201528260408201520152611050565b6040519061097a826101a8565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b608036600319011261017557600435610a09816102fa565b6044356001600160401b03811161017557610a2890369060040161071c565b90606435600281101561017557337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610abb575b61061457610a7581611101565b610a9e576000828193926020839451920190602435905af13d82803e15610a9a573d90f35b3d90fd5b60008281939260208394519201905af43d82803e15610a9a573d90f35b50610acb610ac7611b20565b1590565b610a68565b60405190610add826101c3565b6005825264302e322e3160d81b6020830152565b34610175576000366003190112610175576102c06102ac610ad0565b90604060031983011261017557600435610b26816102fa565b91602435906001600160401b03821161017557610b4591600401610316565b9091565b610b5236610b0d565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c25575b6106145780600080516020611d938339815191525460501c1691610bab81611cb6565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c21578385610bff819593829463064acaab60e11b8452600484016115ed565b03925af1801561060f57610c11575080f35b80610603610c1e92610190565b80f35b8380fd5b5030331415610b88565b34610175576000366003190112610175576020600080516020611d938339815191525460e01b6040519063ffffffff60e01b168152f35b3461017557600036600319011261017557610cbc610c8261022e565b610c8a610ad0565b90604051928392600f60f81b8452610cae60209360e08587015260e0860190610250565b908482036040860152610250565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cf757505050500390f35b835185528695509381019392810192600101610ce8565b34610175576000366003190112610175576020600080516020611d938339815191525465ffffffffffff60405191831c168152f35b34610175576000366003190112610175576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f84011215610175578235916001600160401b038311610175576020808501948460051b01011161017557565b346101755760a036600319011261017557610dd46004356102fa565b610ddf6024356102fa565b6001600160401b0360443581811161017557610dff903690600401610d88565b505060643581811161017557610e19903690600401610d88565b505060843590811161017557610e33903690600401610316565b505060405163bc197c8160e01b8152602090f35b3461017557600036600319011261017557604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060f576102c0916000916108fa57506040519081529081906020820190565b610ecf36610b0d565b600080516020611d9383398151915254919290916001600160a01b03919060501c8216610f5357610eff81611cb6565b1691823b1561017557610f34926000928360405180968195829463064acaab60e11b8452602060048501526024840191611589565b03925af1801561060f57610f4457005b80610603610f5192610190565b005b60405162dc149f60e41b8152600490fd5b602036600319011261017557610f786103ee565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610fec575b61061457600080516020611d9383398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415610fab565b346101755760a0366003190112610175576110126004356102fa565b61101d6024356102fa565b6084356001600160401b0381116101755761103c903690600401610316565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061109e81356001600160e01b031916611050565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110f2575b61061457818091368280378136915af43d82803e15610a9a573d90f35b506110fb611b20565b156110d5565b6002111561110b57565b634e487b7160e01b600052602160045260246000fd5b906004116101755790600490565b909291928360041161017557831161017557600401916003190190565b906024116101755760100190601490565b906058116101755760380190602090565b906024116101755760040190602090565b906038116101755760240190601490565b90600a116101755760040190600690565b9060101161017557600a0190600690565b90939293848311610175578411610175578101920390565b6001600160e01b031990358181169392600481106111e757505050565b60040360031b82901b16169150565b90816020910312610175575190565b606080825282516001600160a01b031690820152919392916040916112cb90602081015160808401528381015161124a610160918260a08701526101c0860190610250565b906112b861126a606085015193605f1994858983030160c08a0152610250565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b0152870151908901528501518488830301610180890152610250565b92015190848303016101a0850152610250565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b03939260009290918391907f000000000000000000000000000000000000000000000000000000000000000087163303611529576004908135978861014481013501928060248501940135600080516020611d9383398151915254946113576113518383611121565b906111ca565b9b6001600160e01b0319808e16908161140c57505050899a9b50611386826020999a9b95949361139d9361112f565b9660501c965b858c806113fd575b505036916106d6565b6101408501526113c1604051998a9788968794633a871cdd60e01b86528501611205565b0393165af191821561060f5761073793926113dd575b50611d2c565b6113f691925060203d81116109215761091381836101de565b90386113d7565b81808092335af150858c611394565b9199509197969594939c8660e01b161615156000146114365760405163fc2f51c560e01b81528c90fd5b90899a9b91600160e09b95969798999a9b1b81146000146114d557506114776114726113518b606460209c9d0135016024868201359101611121565b611050565b60018101549099906001600160a01b031696848816156114ca575b508161139d926114a19261112f565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b16179961138c565b60501c965081611492565b9198979095509250600160e11b0361151b5761151161139d948a9361150c6113518a606460209c01350160248d8201359101611121565b6115fe565b919992969161138c565b505050505050505050600190565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff19903581811693926014811061155d57505050565b60140360031b82901b16169150565b35906020811061157a575090565b6000199060200360031b1b1690565b908060209392818452848401376000828201840152601f01601f1916010190565b604090610737949281528160208201520191611589565b6001600160d01b031990358181169392600681106115de57505050565b60060360031b82901b16169150565b916020610737938181520191611589565b9061162a61161e611618611612868561114c565b9061153b565b60601c90565b6001600160a01b031690565b9361163e611638858461115d565b9061156c565b60588301607882019461165961163887856058018a896111b2565b9661176261166a611638838961116e565b61167a611618611612858b61117f565b996117086116893689896106d6565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641768185019081526001600160e01b03198b169282019290925260608101969096526001600160a01b039e909e16608086015260a08086019190915284529b8c9361170060c0826101de565b5190206118d9565b600080516020611d9383398151915254909190611744906117349060501c6001600160a01b031661161e565b9189019b60788d0190878d6111b2565b60405163199ed7c960e11b81529586948593849391600485016115aa565b03915afa92831561060f576114726117a861186895610517946000916118bc575b506117a1611791878d61116e565b6001600160a01b0319929161156c565b1690611d2c565b9a898b016078019a85036077190199611858906118486117e86117dd6117d76117d18b86611190565b906115c1565b60d01c90565b65ffffffffffff1690565b9761181f61161e6116186116126118086117dd6117d76117d1888b6111a1565b94611819611618611612838b61117f565b9761114c565b9461183961182b6101ff565b65ffffffffffff909b168b52565b89019065ffffffffffff169052565b6001600160a01b03166040870152565b6001600160a01b03166060850152565b6001600160a01b03871691823b156101755761189e926000928360405180968195829463064acaab60e11b8452600484016115ed565b03925af1801561060f576118af5750565b8061060361020c92610190565b6118d391508d803d106109215761091381836101de565b38611783565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611966575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611947565b600080516020611d9383398151915254611a3a93602093909291611a1c9060501c6001600160a01b031661161e565b916040519586948593849363199ed7c960e11b8552600485016115aa565b03915afa801561060f57611a5691600091611ab1575b50611d03565b9165ffffffffffff908142911611611aa15742911610611a94576001600160a01b0316611a8857630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b611ac9915060203d81116109215761091381836101de565b38611a50565b90816020910312610175575180151581036101755790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b600080516020611d9383398151915254611b459060501c6001600160a01b031661161e565b6040519081639ea9bd5960e01b9182825260209384918180611b6b363360048401611ae7565b03915afa90811561060f57600091611c99575b50611c9257611b986000356001600160e01b031916611050565b6001810154909190611bb2906001600160a01b031661161e565b916001600160a01b03831615908115611c56575b8115611c32575b5015611bdb57505050600090565b829060405192839182528180611bf5363360048401611ae7565b03915afa91821561060f57600092611c0c57505090565b6107379250803d10611c2b575b611c2381836101de565b810190611acf565b503d611c19565b54611c45915065ffffffffffff166117dd565b65ffffffffffff4291161138611bcd565b905065ffffffffffff611c766117dd835465ffffffffffff9060301c1690565b168015159081611c88575b5090611bc6565b9050421138611c81565b5050600190565b611cb09150833d8511611c2b57611c2381836101de565b38611b7e565b600080516020611d9383398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c16928315600114611d24575b5060d01c92565b925038611d1d565b8082186001600160a01b031615600114611d47575050600190565b65ffffffffffff60a01b828116828216818118918111919091028082189465ffffffffffff60a01b199485169416929114611d8a575b5081811190821802181790565b925038611d7d56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789" + // Will deploy V0.6 KERNEL_ACCOUNT_V2_2_LOGIC to 0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5 export const KERNEL_V06_ACCOUNT_V2_2_LOGIC_CREATECALL: Hex = "0x000000000000000000000000000000000000000000000000000000000000000061014034620001b757601f620021e238819003918201601f19168301916001600160401b03831184841017620001bc57808492602094604052833981010312620001b757516001600160a01b0381168103620001b757306080524660a05260a062000069620001d2565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d2565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b031982541617905560405190611fef9283620001f3843960805183611a6a015260a05183611a8d015260c05183611aff015260e05183611b2501525182611a490152518181816104db0152818161079a015281816108a701528181610a3201528181610b5a01528181610d5401528181610e7501528181610f740152818161109e01528181611147015261148e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001bc5760405256fe6080604052600436101561001d575b366110815761001b611ece565b005b60003560e01c806306fdde031461018d5780630b3dc35414610188578063150b7a02146101835780631626ba7e1461017e57806329f8b17414610179578063333daf921461017457806334fcd5be1461016f5780633659cfe61461016a5780633a871cdd146101655780633e1b08121461016057806351166ba01461015b578063519454471461015657806354fd4d501461015157806355b14f501461014c57806357b750471461014757806384b0196e1461014257806388e7fd061461013d578063b0d691fe14610138578063bc197c8114610133578063d087d2881461012e578063d1f5789414610129578063d5416221146101245763f23a6e610361000e57610fef565b610f5d565b610ec1565b610e42565b610db3565b610d3e565b610d09565b610c61565b610c2a565b610b44565b610af0565b6109eb565b610922565b61085e565b61081c565b610776565b610693565b61060e565b610466565b610413565b610386565b610307565b6102d3565b600091031261019d57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101cb57604052565b6101a2565b606081019081106001600160401b038211176101cb57604052565b608081019081106001600160401b038211176101cb57604052565b604081019081106001600160401b038211176101cb57604052565b90601f801991011681019081106001600160401b038211176101cb57604052565b6040519061024f826101eb565b565b6040519061016082018281106001600160401b038211176101cb57604052565b6040519061027e82610206565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102bf575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161029e565b3461019d57600036600319011261019d576103036102ef610271565b604051918291602083526020830190610293565b0390f35b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b0381160361019d57565b359061024f8261033d565b9181601f8401121561019d578235916001600160401b03831161019d576020838186019501011161019d57565b3461019d57608036600319011261019d576103a260043561033d565b6103ad60243561033d565b6064356001600160401b03811161019d576103cc903690600401610359565b5050604051630a85bd0160e11b8152602090f35b90604060031983011261019d5760043591602435906001600160401b03821161019d5761040f91600401610359565b9091565b3461019d57602061042c610426366103e0565b91611b5b565b6040516001600160e01b03199091168152f35b600435906001600160e01b03198216820361019d57565b65ffffffffffff81160361019d57565b60c036600319011261019d5761047a61043f565b602435906104878261033d565b604435906104948261033d565b6064356104a081610456565b608435936104ad85610456565b60a4356001600160401b03811161019d576104cc903690600401610359565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610604575b6105f25784926105396105659261052a61051c610242565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261056087611049565b61172b565b1693843b1561019d576040519063064acaab60e11b8252818061058f6000998a94600484016117de565b038183895af180156105ed576105d4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b806105e16105e7926101b8565b80610192565b386105a0565b611475565b604051637046c88d60e01b8152600490fd5b5030331415610504565b3461019d576020610627610621366103e0565b91611e13565b604051908152f35b9291926001600160401b0382116101cb5760405191610658601f8201601f191660200184610221565b82948184528183011161019d578281602093846000960137010152565b9080601f8301121561019d578160206106909335910161062f565b90565b60208060031936011261019d576001600160401b0360043581811161019d573660238201121561019d578060040135918083116101cb578260051b906040908151946106e187850187610221565b855285850191602480948601019436861161019d57848101935b86851061070b5761001b88611144565b843584811161019d5782016060602319823603011261019d57835191610730836101d0565b8782013561073d8161033d565b835260448201358b84015260648201359286841161019d576107678c94938a869536920101610675565b868201528152019401936106fb565b602036600319011261019d5760043561078e8161033d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610812575b6105f257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107c3565b60031960603682011261019d57600435906001600160401b03821161019d5761016090823603011261019d576106276020916044359060243590600401611481565b3461019d57602036600319011261019d576004356001600160c01b0381169081900361019d57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f4575b506040519081529081906020820190565b610915915060203d811161091b575b61090d8183610221565b810190611396565b386108e3565b503d610903565b3461019d57602036600319011261019d5761030361096761094161043f565b60006060604051610951816101eb565b8281528260208201528260408201520152611049565b60405190610974826101eb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b608036600319011261019d57600435610a038161033d565b6044356001600160401b03811161019d57610a22903690600401610675565b90606435600281101561019d57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ac5575b80610ab0575b6105f257610a75816110fa565b610a9e576000828193926020839451920190602435905af13d82803e15610a9a573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ac0610abc611c13565b1590565b610a68565b5030331415610a62565b60405190610adc82610206565b6005825264181719171960d91b6020830152565b3461019d57600036600319011261019d576103036102ef610acf565b90604060031983011261019d57600435610b258161033d565b91602435906001600160401b03821161019d5761040f91600401610359565b610b4d36610b0c565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c20575b6105f25780600080516020611fcf8339815191525460501c1691610ba681611eff565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c1c578385610bfa819593829463064acaab60e11b8452600484016117de565b03925af180156105ed57610c0c575080f35b806105e1610c19926101b8565b80f35b8380fd5b5030331415610b83565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460e01b6040519063ffffffff60e01b168152f35b3461019d57600036600319011261019d57610cb7610c7d610271565b610c85610acf565b90604051928392600f60f81b8452610ca960209360e08587015260e0860190610293565b908482036040860152610293565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cf257505050500390f35b835185528695509381019392810192600101610ce3565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525465ffffffffffff60405191831c168152f35b3461019d57600036600319011261019d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f8401121561019d578235916001600160401b03831161019d576020808501948460051b01011161019d57565b3461019d5760a036600319011261019d57610dcf60043561033d565b610dda60243561033d565b6001600160401b0360443581811161019d57610dfa903690600401610d83565b505060643581811161019d57610e14903690600401610d83565b505060843590811161019d57610e2e903690600401610359565b505060405163bc197c8160e01b8152602090f35b3461019d57600036600319011261019d57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f457506040519081529081906020820190565b610eca36610b0c565b600080516020611fcf83398151915254919290916001600160a01b03919060501c8216610f4c57610efa81611eff565b1691823b1561019d57610f2f926000928360405180968195829463064acaab60e11b84526020600485015260248401916117bd565b03925af180156105ed57610f3f57005b806105e161001b926101b8565b60405162dc149f60e41b8152600490fd5b602036600319011261019d57610f7161043f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610fe5575b6105f257600080516020611fcf83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415610fa4565b3461019d5760a036600319011261019d5761100b60043561033d565b61101660243561033d565b6084356001600160401b03811161019d57611035903690600401610359565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061109781356001600160e01b031916611049565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110eb575b6105f257818091368280378136915af43d82803e15610a9a573d90f35b506110f4611c13565b156110ce565b6002111561110457565b634e487b7160e01b600052602160045260246000fd5b805182101561112e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111d1575b6105f25780519060005b82811061118d57505050565b60008061119a838561111a565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156111cc57600101611181565b3d6000fd5b506111dd610abc611c13565b611177565b9060041161019d5790600490565b909291928360041161019d57831161019d57600401916003190190565b9060241161019d5760100190601490565b9060581161019d5760380190602090565b9060241161019d5760040190602090565b9060381161019d5760240190601490565b90600a1161019d5760040190600690565b9060101161019d57600a0190600690565b9093929384831161019d57841161019d578101920390565b6001600160e01b031990358181169392600481106112a857505050565b60040360031b82901b16169150565b91906101608382031261019d576112cc610251565b926112d68161034e565b8452602081013560208501526040810135916001600160401b039283811161019d5781611304918401610675565b6040860152606082013583811161019d5781611321918401610675565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e086015261010080830135908601526101208083013584811161019d5782611373918501610675565b90860152610140928383013590811161019d576113909201610675565b90830152565b9081602091031261019d575190565b606080825282516001600160a01b0316908201529193929160409161146b9060208101516080840152838101516113ea610160918260a08701526101c0860190610293565b9061145861140a606085015193605f1994858983030160c08a0152610293565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b0152870151908901528501518488830301610180890152610293565b92015190848303016101a0850152610293565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f00000000000000000000000000000000000000000000000000000000000000008516330361169f576004948535928361014481013501918760248401930135946114e06114da87866111e2565b9061128b565b926001600160e01b031980851691821561167c576114ff9036906112b7565b94611519600080516020611fcf8339815191525460e01b90565b1616156115315760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361162b575090602095966115bb61158961157061156b6114da87606460009901350160248782013591016111e2565b611049565b6001810154909a9081906001600160a01b0316986111f0565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b61161d575b369161062f565b6101408501526115df604051998a9788968794633a871cdd60e01b865285016113a5565b0393165af19081156105ed57610690926000926115fd575b50611f4c565b61161691925060203d811161091b5761090d8183610221565b90386115f7565b348080808f335af1506115b4565b9095939190600160e11b0361166f576116656115bb946000936116606114da8a606460209c01350160248d82013591016111e2565b6117ef565b91999296916115ae565b5050505050505050600190565b9697505050505050506106909394508215611d47573434343486335af150611d47565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106116d357505050565b60140360031b82901b16169150565b3590602081106116f0575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061171c57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106909381815201916117bd565b91906117fb828261120d565b611804916116b1565b60601c93611812838361121e565b61181b916116e2565b605883016078820194858360580190611835918388611273565b61183e916116e2565b611848828761122f565b611851916116e2565b61185b8388611240565b611864916116b1565b60601c61187236878761062f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906118e860c082610221565b5190206118f490611a47565b9084019660788801611907918489611273565b9061191192611e13565b61191b828761122f565b6001600160a01b03199161192f91906116e2565b1661193991611f4c565b9660788688010196820360771901956119528382611251565b61195b916116ff565b60d01c926119698183611262565b611972916116ff565b60d01c916119808282611240565b611989916116b1565b60601c916119969161120d565b61199f916116b1565b60601c916119ab610242565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b031660608301526119e990611049565b906119f39161172b565b6001600160a01b03871691823b1561019d57611a29926000928360405180968195829463064acaab60e11b8452600484016117de565b03925af180156105ed57611a3a5750565b806105e161024f926101b8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611ad4575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611ab5565b90611b669291611e13565b65ffffffffffff808260a01c16908115600114611bd1575b428360d01c11611bc15742911610611bb4576001600160a01b0316611ba857630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611b7e565b9081602091031261019d5751801515810361019d5790565b6001600160a01b0390911681526040602082018190526106909291019061179b565b611c1d3633611e7b565b611d4257611c366000356001600160e01b031916611049565b6001810154611c55906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611d06575b8115611cdb575b5015611c7c5750600090565b60206040518092639ea9bd5960e01b82528180611c9d363360048401611bf1565b03915afa9081156105ed57600091611cb3575090565b610690915060203d8111611cd4575b611ccc8183610221565b810190611bd9565b503d611cc2565b54611cf5915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611c70565b905065ffffffffffff611d26611cea835465ffffffffffff9060301c1690565b168015159081611d38575b5090611c69565b9050421138611d31565b600190565b9091611d5336836112b7565b610140928381013590601e198136030182121561019d5701938435946001600160401b03861161019d5760200193853603851361019d57611d9d6115b487611de5986020986111f0565b908301526000611dc7611c49600080516020611fcf8339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b8552600485016113a5565b03925af19081156105ed57600091611dfb575090565b610690915060203d811161091b5761090d8183610221565b600080516020611fcf833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611e65916044840191906117bd565b03915afa9081156105ed57600091611dfb575090565b600080516020611fcf8339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611c9d90604483019061179b565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b600080516020611fcf83398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8082186001600160a01b031615600114611f67575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415611fc5575b81168015611fbe575b848110908518028085189414611fb6575b5081811190821802181790565b925038611fa9565b5080611f98565b93508093611f8f56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789" +export const KERNEL_V06_ACCOUNT_V2_3_LOGIC_CREATECALL = + "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789" + +export const KERNEL_V06_ACCOUNT_V2_4_LOGIC_CREATECALL = + "0x00000000000000000000000000000000000000000000000000000000000000006101406040523480156200001257600080fd5b5060405162002c4738038062002c47833981016040819052620000359162000137565b306080524660a0528060608062000081604080518082018252600681526512d95c9b995b60d21b602080830191909152825180840190935260058352640c0b8c8b8d60da1b9083015291565b815160209283012081519183019190912060c082905260e0819052604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8152938401929092529082015246606082015230608082015260a090206101005250506001600160a01b031661012052507f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd98054600160501b600160f01b0319166a010000000000000000000017905562000169565b6000602082840312156200014a57600080fd5b81516001600160a01b03811681146200016257600080fd5b9392505050565b60805160a05160c05160e0516101005161012051612a4162000206600039600081816101e9015281816105ec015281816108e201528181610ae401528181610bbf01528181610c7301528181610f8301528181611007015281816110bf0152818161120a015281816112a3015261133101526000611c6f01526000611d2901526000611d0301526000611cb301526000611c900152612a416000f3fe60806040526004361061014f5760003560e01c806354fd4d50116100b6578063b68df16d1161006f578063b68df16d1461060e578063bc197c8114610621578063d087d28814610650578063d1f5789414610665578063d541622114610678578063f23a6e611461068b5761018e565b806354fd4d501461050557806355b14f501461053657806357b750471461054957806384b0196e1461056e57806388e7fd0614610596578063b0d691fe146105da5761018e565b806334fcd5be1161010857806334fcd5be146103885780633659cfe61461039b5780633a871cdd146103ae5780633e1b0812146103c157806351166ba0146103e157806351945447146104f25761018e565b806306fdde03146102615780630b3dc354146102a9578063150b7a02146102e25780631626ba7e1461032757806329f8b17414610347578063333daf921461035a5761018e565b3661018e57604080513381523460208201527f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874910160405180910390a1005b600080356001600160e01b031916905060006101b5600080516020612a0183398151915290565b6001600160e01b0319831660009081526002919091016020526040902054600160601b90046001600160a01b0390811691507f000000000000000000000000000000000000000000000000000000000000000016331480159061021d575061021b6106b8565b155b1561023b57604051637046c88d60e01b815260040160405180910390fd5b3660008037600080366000845af43d6000803e80801561025a573d6000f35b3d6000fd5b005b34801561026d57600080fd5b506102936040518060400160405280600681526020016512d95c9b995b60d21b81525081565b6040516102a09190611dd5565b60405180910390f35b3480156102b557600080fd5b50600080516020612a218339815191525460501c5b6040516001600160a01b0390911681526020016102a0565b3480156102ee57600080fd5b5061030e6102fd366004611e58565b630a85bd0160e11b95945050505050565b6040516001600160e01b031990911681526020016102a0565b34801561033357600080fd5b5061030e610342366004611eca565b6107fe565b61025f610355366004611f41565b6108d7565b34801561036657600080fd5b5061037a610375366004611eca565b610ac2565b6040519081526020016102a0565b61025f6103963660046120df565b610ad9565b61025f6103a93660046121e5565b610bb4565b61037a6103bc366004612202565b610c66565b3480156103cd57600080fd5b5061037a6103dc366004612255565b610f5c565b3480156103ed57600080fd5b506104a56103fc36600461227e565b60408051608080820183526000808352602080840182905283850182905260609384018290526001600160e01b03199590951681527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda855283902083519182018452805465ffffffffffff8082168452600160301b82041695830195909552600160601b9094046001600160a01b03908116938201939093526001909301549091169082015290565b60408051825165ffffffffffff908116825260208085015190911690820152828201516001600160a01b0390811692820192909252606092830151909116918101919091526080016102a0565b61025f610500366004612299565b610ffc565b34801561051157600080fd5b50610293604051806040016040528060058152602001640c0b8c8b8d60da1b81525081565b61025f610544366004612308565b6110b4565b34801561055557600080fd5b50600080516020612a218339815191525460e01b61030e565b34801561057a57600080fd5b506105836111d8565b6040516102a09796959493929190612343565b3480156105a257600080fd5b50600080516020612a2183398151915254640100000000900465ffffffffffff1660405165ffffffffffff90911681526020016102a0565b3480156105e657600080fd5b506102ca7f000000000000000000000000000000000000000000000000000000000000000081565b61025f61061c3660046123d9565b6111ff565b34801561062d57600080fd5b5061030e61063c36600461246c565b63bc197c8160e01b98975050505050505050565b34801561065c57600080fd5b5061037a611284565b61025f610673366004612308565b61131b565b61025f61068636600461227e565b611326565b34801561069757600080fd5b5061030e6106a636600461252a565b63f23a6e6160e01b9695505050505050565b60006106c6336000366113bc565b156106d15750600190565b600080356001600160e01b031916905060006106f8600080516020612a0183398151915290565b6001600160e01b0319831660009081526002919091016020526040902060018101549091506001600160a01b0316158061075c57508054600160301b900465ffffffffffff161580159061075c5750805442600160301b90910465ffffffffffff16105b80610771575080544265ffffffffffff909116115b1561077f5760009250505090565b6001810154604051639ea9bd5960e01b81526001600160a01b0390911690639ea9bd59906107b690339060009036906004016125ce565b602060405180830381865afa1580156107d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f791906125f3565b9250505090565b60008061080961144d565b60405161190160f01b60208201526022810182905260428101879052909150600090606201604051602081830303815290604052805190602001209050600061085533838989896114d0565b905060008060006108658461164b565b925092509250428365ffffffffffff161115801561088b5750428265ffffffffffff1610155b801561089e57506001600160a01b038116155b156108b95750630b135d3f60e11b95506108d0945050505050565b506001600160e01b031995506108d0945050505050565b9392505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906109105750333014155b1561092e57604051637046c88d60e01b815260040160405180910390fd5b60405180608001604052808465ffffffffffff1681526020018565ffffffffffff168152602001876001600160a01b03168152602001866001600160a01b0316815250610986600080516020612a0183398151915290565b6001600160e01b031989166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176bffffffffffffffffffffffff16600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b815290861690630c95955690610a439085908590600401612615565b600060405180830381600087803b158015610a5d57600080fd5b505af1158015610a71573d6000803e3d6000fd5b50506040516001600160a01b038089169350891691506001600160e01b03198a16907fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d32135390600090a450505050505050565b6000610ad133858686866114d0565b949350505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610b175750610b156106b8565b155b15610b3557604051637046c88d60e01b815260040160405180910390fd5b805160005b81811015610baf576000838281518110610b5657610b56612629565b6020026020010151905060008160000151905060008260200151905060008360400151905060008082516020840185875af1808015610b9a57600187019650610ba4565b3d6000803e3d6000fd5b505050505050610b3a565b505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610bed5750333014155b15610c0b57604051637046c88d60e01b815260040160405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8190556040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610cb157604051636b31ba1560e11b815260040160405180910390fd5b6024600480356101448101358101838101939083013592910190600090610cda9082858761263f565b610ce391612669565b90506001600160e01b03198116600003610d1d578515610d07573434343489335af1505b610d1288888861167e565b9450505050506108d0565b600080516020612a218339815191525460e01b81811615610d465763fc2f51c56000526004601cfd5b5060006001600160e01b03198216600160e01b03610e155760408301358301601f1981013560007f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda81610d9c600482868861263f565b610da591612669565b6001600160e01b0319168152602081019190915260400160002060018101546001600160a01b031694509050610dde876004818b61263f565b82549199509750600160301b810460a01b65ffffffffffff60a01b1660d09190911b6001600160d01b031916179850505050610e77565b6001600160e01b03198216600160e11b03610e695760408301358301601f19810135610e58610e4860046000848661263f565b610e5191612669565b8888611776565b919a50985096509250610e77915050565b6001955050505050506108d0565b8615610e8757343434348a335af1505b6000610e928a612697565b905085858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505050610140820152604051633a871cdd60e01b8152610f4e9088906001600160a01b03851690633a871cdd90610f069086908f908f906004016127a5565b6020604051808303816000875af1158015610f25573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f499190612897565b611adf565b9a9950505050505050505050565b604051631aab3f0d60e11b81523060048201526001600160c01b03821660248201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015610fd2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ff69190612897565b92915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906110355750333014155b801561104657506110446106b8565b155b1561106457604051637046c88d60e01b815260040160405180910390fd5b6000816001811115611078576110786128b0565b14611096576040516367ce775960e01b815260040160405180910390fd5b60008083516020850186885af13d6000803e80801561025a573d6000f35b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906110ed5750333014155b1561110b57604051637046c88d60e01b815260040160405180910390fd5b600080516020612a2183398151915280546001600160a01b03858116600160501b818102600160501b600160f01b031985161790945560405193909204169182907fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c90600090a360405163064acaab60e11b81526001600160a01b03851690630c959556906111a09086908690600401612615565b600060405180830381600087803b1580156111ba57600080fd5b505af11580156111ce573d6000803e3d6000fd5b5050505050505050565b600f60f81b60608060008080836111ed611b9d565b97989097965046955030945091925090565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906112385750333014155b801561124957506112476106b8565b155b1561126757604051637046c88d60e01b815260040160405180910390fd5b600080825160208401855af43d6000803e80801561025a573d6000f35b604051631aab3f0d60e11b8152306004820152600060248201819052907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa1580156112f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113169190612897565b905090565b610baf838383611bd9565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480159061135f5750333014155b1561137d57604051637046c88d60e01b815260040160405180910390fd5b600080516020612a21833981519152805460e09290921c69ffffffffffffffffffff19909216919091176401000000004265ffffffffffff1602179055565b600080516020612a2183398151915254604051639ea9bd5960e01b815260009160501c906001600160a01b03821690639ea9bd5990611403908890889088906004016125ce565b602060405180830381865afa158015611420573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144491906125f3565b95945050505050565b600080600061145a611b9d565b8151602092830120815191830191909120604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818601528082019390935260608301919091524660808301523060a0808401919091528151808403909101815260c0909201905280519101209392505050565b600080600080516020612a218339815191525460501c9050600080826001600160a01b031663333daf9260e01b898888604051602401611512939291906128c6565b60408051601f19818403018152918152602080830180516001600160e01b03166001600160e01b03199095169490941790935251611554928b918e91016128e0565b60408051601f198184030181529082905261156e91612914565b600060405180830381855afa9150503d80600081146115a9576040519150601f19603f3d011682016040523d82523d6000602084013e6115ae565b606091505b50915091508161162a5760405162461bcd60e51b815260206004820152603860248201527f4b65726e656c3a3a5f76616c69646174655369676e61747572653a206661696c60448201527f656420746f2076616c6964617465207369676e61747572650000000000000000606482015260840160405180910390fd5b8080602001905181019061163e9190612897565b9998505050505050505050565b600060a082901c65ffffffffffff1682811560001981016116705765ffffffffffff92505b508360d01c92509193909250565b60008061168a85612697565b905061169a610140860186612930565b6116a891600490829061263f565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505050610140820152600080516020612a2183398151915254604051633a871cdd60e01b815260509190911c906001600160a01b03821690633a871cdd90611729908590899089906004016127a5565b6020604051808303816000875af1158015611748573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061176c9190612897565b9695505050505050565b600080368161178960246010878961263f565b61179291612976565b60601c9350605860006117a8826038898b61263f565b6117b1916129a4565b828101929091508801816117ca60208501858b8d61263f565b6117d3916129a4565b60001c925060208401935060006118bd7f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee96417660001b8d8d8d60049060249261181c9392919061263f565b611825916129a4565b60001c8e8e60249060389261183c9392919061263f565b61184591612976565b60601c87876040516118589291906129c2565b6040519081900381206118a295949392916020019485526001600160e01b031993909316602085015260408401919091526001600160a01b03166060830152608082015260a00190565b60405160208183030381529060405280519060200120611c6d565b905061190d6118e13083848f8f8b908b8d01926118dc9392919061263f565b6114d0565b8c8c6004906024926118f59392919061263f565b6118fe916129a4565b6001600160a01b031916611adf565b97508385019450848b019650848a03955060405180608001604052808c8c600490600a9261193d9392919061263f565b611946916129d2565b60d01c65ffffffffffff1681526020018c8c600a9060109261196a9392919061263f565b611973916129d2565b60d01c65ffffffffffff1681526020018c8c6024906038926119979392919061263f565b6119a091612976565b60601c6001600160a01b031681526020018c8c6010906024926119c59392919061263f565b6119ce91612976565b60601c9052600080516020612a018339815191526001600160e01b03198e166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176bffffffffffffffffffffffff16600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b8152908a1690630c95955690611a9f9086908690600401612615565b600060405180830381600087803b158015611ab957600080fd5b505af1158015611acd573d6000803e3d6000fd5b50505050505050505093509350935093565b600081830160601b8260601b81148460601b8214176001600160a01b0384861816151760018114611b135760019250611b95565b6001600160d01b031980851690861681811881831102188686176001600160a01b031617935065ffffffffffff60a01b86169081611b585765ffffffffffff60a01b91505b5065ffffffffffff60a01b851680611b76575065ffffffffffff60a01b5b808218908211021880611b8f575065ffffffffffff60a01b5b92909217915b505092915050565b604080518082018252600681526512d95c9b995b60d21b602080830191909152825180840190935260058352640c0b8c8b8d60da1b9083015291565b600080516020612a218339815191525460501c6001600160a01b03811615611c135760405162dc149f60e41b815260040160405180910390fd5b600080516020612a218339815191528054600160501b600160f01b031916600160501b6001600160a01b0387169081029190911790915560405163064acaab60e11b8152630c959556906111a09086908690600401612615565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f0000000000000000000000000000000000000000000000000000000000000000461416611d605750604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f00000000000000000000000000000000000000000000000000000000000000009181019190915246606082015230608082015260a090205b67190100000000000060005280601a5281603a52604260182090506000603a52919050565b60005b83811015611da0578181015183820152602001611d88565b50506000910152565b60008151808452611dc1816020860160208601611d85565b601f01601f19169290920160200192915050565b6020815260006108d06020830184611da9565b6001600160a01b0381168114611dfd57600080fd5b50565b8035611e0b81611de8565b919050565b60008083601f840112611e2257600080fd5b5081356001600160401b03811115611e3957600080fd5b602083019150836020828501011115611e5157600080fd5b9250929050565b600080600080600060808688031215611e7057600080fd5b8535611e7b81611de8565b94506020860135611e8b81611de8565b93506040860135925060608601356001600160401b03811115611ead57600080fd5b611eb988828901611e10565b969995985093965092949392505050565b600080600060408486031215611edf57600080fd5b8335925060208401356001600160401b03811115611efc57600080fd5b611f0886828701611e10565b9497909650939450505050565b80356001600160e01b031981168114611e0b57600080fd5b65ffffffffffff81168114611dfd57600080fd5b600080600080600080600060c0888a031215611f5c57600080fd5b611f6588611f15565b96506020880135611f7581611de8565b95506040880135611f8581611de8565b94506060880135611f9581611f2d565b93506080880135611fa581611f2d565b925060a08801356001600160401b03811115611fc057600080fd5b611fcc8a828b01611e10565b989b979a50959850939692959293505050565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b038111828210171561201757612017611fdf565b60405290565b60405161016081016001600160401b038111828210171561201757612017611fdf565b604051601f8201601f191681016001600160401b038111828210171561206857612068611fdf565b604052919050565b600082601f83011261208157600080fd5b81356001600160401b0381111561209a5761209a611fdf565b6120ad601f8201601f1916602001612040565b8181528460208386010111156120c257600080fd5b816020850160208301376000918101602001919091529392505050565b600060208083850312156120f257600080fd5b82356001600160401b038082111561210957600080fd5b818501915085601f83011261211d57600080fd5b81358181111561212f5761212f611fdf565b8060051b61213e858201612040565b918252838101850191858101908984111561215857600080fd5b86860192505b8383101561163e578235858111156121765760008081fd5b86016060818c03601f190181131561218e5760008081fd5b612196611ff5565b898301356121a381611de8565b81526040838101358b8301529183013591888311156121c25760008081fd5b6121d08e8c85870101612070565b9082015284525050918601919086019061215e565b6000602082840312156121f757600080fd5b81356108d081611de8565b60008060006060848603121561221757600080fd5b83356001600160401b0381111561222d57600080fd5b8401610160818703121561224057600080fd5b95602085013595506040909401359392505050565b60006020828403121561226757600080fd5b81356001600160c01b03811681146108d057600080fd5b60006020828403121561229057600080fd5b6108d082611f15565b600080600080608085870312156122af57600080fd5b84356122ba81611de8565b93506020850135925060408501356001600160401b038111156122dc57600080fd5b6122e887828801612070565b9250506060850135600281106122fd57600080fd5b939692955090935050565b60008060006040848603121561231d57600080fd5b833561232881611de8565b925060208401356001600160401b03811115611efc57600080fd5b60ff60f81b881681526000602060e08184015261236360e084018a611da9565b8381036040850152612375818a611da9565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825283870192509083019060005b818110156123c7578351835292840192918401916001016123ab565b50909c9b505050505050505050505050565b600080604083850312156123ec57600080fd5b82356123f781611de8565b915060208301356001600160401b0381111561241257600080fd5b61241e85828601612070565b9150509250929050565b60008083601f84011261243a57600080fd5b5081356001600160401b0381111561245157600080fd5b6020830191508360208260051b8501011115611e5157600080fd5b60008060008060008060008060a0898b03121561248857600080fd5b883561249381611de8565b975060208901356124a381611de8565b965060408901356001600160401b03808211156124bf57600080fd5b6124cb8c838d01612428565b909850965060608b01359150808211156124e457600080fd5b6124f08c838d01612428565b909650945060808b013591508082111561250957600080fd5b506125168b828c01611e10565b999c989b5096995094979396929594505050565b60008060008060008060a0878903121561254357600080fd5b863561254e81611de8565b9550602087013561255e81611de8565b9450604087013593506060870135925060808701356001600160401b0381111561258757600080fd5b61259389828a01611e10565b979a9699509497509295939492505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b038416815260406020820181905260009061144490830184866125a5565b60006020828403121561260557600080fd5b815180151581146108d057600080fd5b602081526000610ad16020830184866125a5565b634e487b7160e01b600052603260045260246000fd5b6000808585111561264f57600080fd5b8386111561265c57600080fd5b5050820193919092039150565b6001600160e01b03198135818116916004851015611b955760049490940360031b84901b1690921692915050565b600061016082360312156126aa57600080fd5b6126b261201d565b6126bb83611e00565b81526020830135602082015260408301356001600160401b03808211156126e157600080fd5b6126ed36838701612070565b6040840152606085013591508082111561270657600080fd5b61271236838701612070565b60608401526080850135608084015260a085013560a084015260c085013560c084015260e085013560e0840152610100915081850135828401526101209150818501358181111561276257600080fd5b61276e36828801612070565b83850152506101409150818501358181111561278957600080fd5b61279536828801612070565b8385015250505080915050919050565b606081526127bf6060820185516001600160a01b03169052565b60208401516080820152600060408501516101608060a08501526127e76101c0850183611da9565b91506060870151605f19808685030160c08701526128058483611da9565b9350608089015160e087015260a08901519150610100828188015260c08a01519250610120838189015260e08b0151935061014084818a0152828c0151868a0152818c0151955083898803016101808a01526128618787611da9565b9650808c0151955050505080868503016101a087015250506128838282611da9565b602085019690965250505060400152919050565b6000602082840312156128a957600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b8381526040602082015260006114446040830184866125a5565b600084516128f2818460208901611d85565b919091019283525060601b6001600160601b0319166020820152603401919050565b60008251612926818460208701611d85565b9190910192915050565b6000808335601e1984360301811261294757600080fd5b8301803591506001600160401b0382111561296157600080fd5b602001915036819003821315611e5157600080fd5b6001600160601b03198135818116916014851015611b955760149490940360031b84901b1690921692915050565b80356020831015610ff657600019602084900360031b1b1692915050565b8183823760009101908152919050565b6001600160d01b03198135818116916006851015611b955760069490940360031b84901b169092169291505056fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd8439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789" + // Will deploy V0.6 KERNEL_FACTORY_ADDRESS to 0x5de4839a76cf55d0c90e2061ef4386d962E15ae3 export const KERNEL_V06_FACTORY_CREATECALL: Hex = "0x00000000000000000000000000000000000000000000000000000000000000006080346100b257601f610b2d38819003918201601f19168301916001600160401b038311848410176100b75780849260409485528339810103126100b25780516001600160a01b0391828216918290036100b257602001519182168092036100b25780638b78c6d8195560007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a3600080546001600160a01b031916919091179055604051610a5f90816100ce8239f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6040608081526004908136101561001557600080fd5b600091823560e01c9081630396cb60146107d45781632569296214610789578163296601cd1461059d5781634d6cb7001461052b5781635414dff0146104fa57816354d1f13d146104b4578163584465f2146104745781636544c82814610436578163715018a6146103f05781638da5cb5b146103c3578163b0d691fe1461039b578163bb30a9741461034557838263bb9fe6bf146102ec578263c23a5cea1461026157508163d7533f0214610243578163db4c545e14610219578163f04e283e14610199578163f2fde38b1461012c575063fee81cf4146100f657600080fd5b3461012857602036600319011261012857602091610112610845565b9063389a75e1600c525281600c20549051908152f35b5080fd5b8390602036600319011261012857610142610845565b9061014b61088e565b8160601b1561018e575060018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b637448fbae8352601cfd5b83906020366003190112610128576101af610845565b906101b861088e565b63389a75e1600c528183526020600c20908154421161020e575082905560018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b636f5e88188452601cfd5b5050346101285781600319360112610128576020906089601361023a6108d8565b01209051908152f35b505034610128578160031936011261012857602090516202a3008152f35b809184346102e85760203660031901126102e85781356001600160a01b0381811693918490036102e45761029361088e565b84541692833b156102e45760248592838551968794859363611d2e7560e11b85528401525af19081156102db57506102c85750f35b6102d190610a13565b6102d85780f35b80fd5b513d84823e3d90fd5b8480fd5b5050fd5b809184346102e857826003193601126102e85761030761088e565b82546001600160a01b031691823b1561034057815163bb9fe6bf60e01b81529284918491829084905af19081156102db57506102c85750f35b505050fd5b50503461012857806003193601126101285761035f610845565b90602435918215158093036103975761037661088e565b60018060a01b03168352600160205282209060ff8019835416911617905580f35b8380fd5b505034610128578160031936011261012857905490516001600160a01b039091168152602090f35b505034610128578160031936011261012857638b78c6d8195490516001600160a01b039091168152602090f35b83806003193601126102d85761040461088e565b80638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a35580f35b5050346101285760203660031901126101285760209160ff9082906001600160a01b03610461610845565b1681526001855220541690519015158152f35b83903461012857602036600319011261012857356001600160a01b03811690819003610128576104a261088e565b81546001600160a01b03191617815580f35b83806003193601126102d85763389a75e1600c52338152806020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c928280a280f35b8284346102d85760203660031901126102d8575061051a602092356108ab565b90516001600160a01b039091168152f35b8284346102d857816003193601126102d85782359067ffffffffffffffff82116102d857506bffffffffffffffffffffffff61056f60209461051a93369101610860565b6105948580518381948a830196873781016024358a8201520388810184520182610a3d565b519020166108ab565b828460603660031901126102d8576105b3610845565b9160243567ffffffffffffffff8111610785576105d39036908601610860565b9360018060a01b039384821681526020966001885260ff858320541615610730576bffffffffffffffffffffffff8551898101908987833761062988828d8d82019060443590820152038d810184520182610a3d565b5190201696331560011715610724576106406108d8565b90601382019860898a2060ff86536035523060601b600152806015526055852099856035528a3b15610678575b8b8b8b8b5191168152f35b856089929394959697989b50f597881561071857918185939284938884527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8d85015289840137870190348a5af1156106fe57507f09e48df7857bd0c1e0d31bb8a85d42cf1874817895f171c917f6ee2cea73ec20818692a3848080808080808061066d565b3d1561070d57503d81803e3d90fd5b63301164258252601cfd5b8363301164258652601cfd5b50632f6348368252601cfd5b845162461bcd60e51b8152908101889052602960248201527f4b65726e656c466163746f72793a20696d706c656d656e746174696f6e206e6f6044820152681d08185b1b1bddd95960ba1b6064820152608490fd5b8280fd5b83806003193601126102d85763389a75e1600c523381526202a30042016020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d8280a280f35b91905060203660031901126107855782823563ffffffff8116809103610128576107fc61088e565b81546001600160a01b031693843b156107855760249084519586938492621cb65b60e51b845283015234905af19081156102db5750610839575080f35b61084290610a13565b80f35b600435906001600160a01b038216820361085b57565b600080fd5b9181601f8401121561085b5782359167ffffffffffffffff831161085b576020838186019501011161085b57565b638b78c6d81954330361089d57565b6382b429006000526004601cfd5b608960136108b76108d8565b012060ff6000536035523060601b6001526015526055600020906000603552565b604051903060701c1561097c57666052573d6000fd607b8301527f3d356020355560408036111560525736038060403d373d3d355af43d6000803e60748301527f3735a920a3ca505d382bbc545af43d6000803e6052573d6000fd5b3d6000f35b60548301527f14605757363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc60348301523060148301526c607f3d8160093d39f33d3d33738252565b66604c573d6000fd60758301527f3d3560203555604080361115604c5736038060403d373d3d355af43d6000803e606e8301527f3735a920a3ca505d382bbc545af43d6000803e604c573d6000fd5b3d6000f35b604e8301527f14605157363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc602e83015230600e8301526c60793d8160093d39f33d3d336d8252565b67ffffffffffffffff8111610a2757604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610a2757604052560000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a0000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789" diff --git a/packages/permissionless-test/mock-aa-infra/alto/index.ts b/packages/permissionless-test/mock-aa-infra/alto/index.ts index 35253e7b..650cff65 100644 --- a/packages/permissionless-test/mock-aa-infra/alto/index.ts +++ b/packages/permissionless-test/mock-aa-infra/alto/index.ts @@ -20,7 +20,10 @@ import { ENTRY_POINT_V06_CREATECALL, ENTRY_POINT_V07_CREATECALL, ERC_7579_TEST_MODULE_CREATECALL, + KERNEL_V06_ACCOUNT_V2_1_LOGIC_CREATECALL, KERNEL_V06_ACCOUNT_V2_2_LOGIC_CREATECALL, + KERNEL_V06_ACCOUNT_V2_3_LOGIC_CREATECALL, + KERNEL_V06_ACCOUNT_V2_4_LOGIC_CREATECALL, KERNEL_V06_ECDSA_VALIDATOR_V2_2_CREATECALL, KERNEL_V06_FACTORY_CREATECALL, KERNEL_V07_ACCOUNT_V3_LOGIC_CREATECALL, @@ -186,6 +189,24 @@ export const setupContracts = async (rpc: string) => { gas: 15_000_000n, nonce: nonce++ }), + walletClient.sendTransaction({ + to: DETERMINISTIC_DEPLOYER, + data: KERNEL_V06_ACCOUNT_V2_3_LOGIC_CREATECALL, + gas: 15_000_000n, + nonce: nonce++ + }), + walletClient.sendTransaction({ + to: DETERMINISTIC_DEPLOYER, + data: KERNEL_V06_ACCOUNT_V2_4_LOGIC_CREATECALL, + gas: 15_000_000n, + nonce: nonce++ + }), + walletClient.sendTransaction({ + to: DETERMINISTIC_DEPLOYER, + data: KERNEL_V06_ACCOUNT_V2_1_LOGIC_CREATECALL, + gas: 15_000_000n, + nonce: nonce++ + }), walletClient.sendTransaction({ to: DETERMINISTIC_DEPLOYER, data: KERNEL_V06_FACTORY_CREATECALL, @@ -496,6 +517,27 @@ export const setupContracts = async (rpc: string) => { data: "0xbb30a9740000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b50000000000000000000000000000000000000000000000000000000000000001" /* setImplementation(address _implementation,bool _allow) */ }) + // register 0xf048AD83CB2dfd6037A43902a2A5Be04e53cd2Eb + await sendTransaction(walletClient, { + account: kernelFactoryOwner, + to: "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3" /* kernel factory v0.6 */, + data: "0xbb30a974000000000000000000000000f048ad83cb2dfd6037a43902a2a5be04e53cd2eb0000000000000000000000000000000000000000000000000000000000000001" /* setImplementation(address _implementation,bool _allow) */ + }) + + // register 0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab + await sendTransaction(walletClient, { + account: kernelFactoryOwner, + to: "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3" /* kernel factory v0.6 */, + data: "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001" /* setImplementation(address _implementation,bool _allow) */ + }) + + // register 0xd3082872F8B06073A021b4602e022d5A070d7cfC + await sendTransaction(walletClient, { + account: kernelFactoryOwner, + to: "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3" /* kernel factory v0.6 */, + data: "0xbb30a974000000000000000000000000d3082872f8b06073a021b4602e022d5a070d7cfc0000000000000000000000000000000000000000000000000000000000000001" /* setImplementation(address _implementation,bool _allow) */ + }) + // register 0x6723b44Abeec4E71eBE3232BD5B455805baDD22f await sendTransaction(walletClient, { account: kernelFactoryOwner, @@ -566,9 +608,12 @@ export const setupContracts = async (rpc: string) => { "0x0000002512019Dafb59528B82CB92D3c5D2423ac", // Biconomy Account Logic V0.2 "0x000000a56Aaca3e9a4C479ea6b6CD0DbcB6634F5", // Biconomy Factory Address "0x0bBa6d96BD616BedC6BFaa341742FD43c60b83C1", // Biconomy Default Fallback Handler + "0xf048AD83CB2dfd6037A43902a2A5Be04e53cd2Eb", // Kernel 0.2.1 Account Logic "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390", // Kernel v0.2.2 ECDSA Valdiator "0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5", // Kernel v0.2.2 Account Logic + "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", // Kernel v0.2.3 Account Logic "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", // Kernel v0.2.2 Factory + "0xd3082872F8B06073A021b4602e022d5A070d7cfC", // Kernel v0.2.4 Factory "0x8104e3Ad430EA6d354d013A6789fDFc71E671c43", // Kernel v0.3.0 ECDSA Valdiator "0x94F097E1ebEB4ecA3AAE54cabb08905B239A7D27", // Kernel v0.3.0 Account Logic "0x6723b44Abeec4E71eBE3232BD5B455805baDD22f", // Kernel v0.3.0 Factory diff --git a/packages/permissionless-test/src/utils.ts b/packages/permissionless-test/src/utils.ts index b022c32f..99132478 100644 --- a/packages/permissionless-test/src/utils.ts +++ b/packages/permissionless-test/src/utils.ts @@ -455,16 +455,67 @@ export const getCoreSmartAccounts = () => [ isEip1271Compliant: false }, { - name: "Kernel", + name: "Kernel 0.2.1", getSmartAccountClient: async ( conf: AAParamType ) => getBundlerClient({ - account: await getKernelEcdsaClient(conf), + account: await getKernelEcdsaClient({ + ...conf, + version: "0.2.1" as KernelVersion + }), ...conf }), supportsEntryPointV06: true, - supportsEntryPointV07: true, + supportsEntryPointV07: false, + isEip1271Compliant: true + }, + { + name: "Kernel 0.2.2", + getSmartAccountClient: async ( + conf: AAParamType + ) => + getBundlerClient({ + account: await getKernelEcdsaClient({ + ...conf, + version: "0.2.2" as KernelVersion + }), + ...conf + }), + supportsEntryPointV06: true, + supportsEntryPointV07: false, + isEip1271Compliant: true + }, + { + name: "Kernel 0.2.3", + getSmartAccountClient: async ( + conf: AAParamType + ) => + getBundlerClient({ + account: await getKernelEcdsaClient({ + ...conf, + version: "0.2.3" as KernelVersion + }), + ...conf + }), + supportsEntryPointV06: true, + supportsEntryPointV07: false, + isEip1271Compliant: true + }, + { + name: "Kernel 0.2.4", + getSmartAccountClient: async ( + conf: AAParamType + ) => + getBundlerClient({ + account: await getKernelEcdsaClient({ + ...conf, + version: "0.2.4" as KernelVersion + }), + ...conf + }), + supportsEntryPointV06: true, + supportsEntryPointV07: false, isEip1271Compliant: true }, { diff --git a/packages/permissionless/accounts/kernel/utils/signTypedData.ts b/packages/permissionless/accounts/kernel/utils/signTypedData.ts index ff7bd81f..0e7573f1 100644 --- a/packages/permissionless/accounts/kernel/utils/signTypedData.ts +++ b/packages/permissionless/accounts/kernel/utils/signTypedData.ts @@ -23,7 +23,7 @@ export async function signTypedData( ...typedData } = parameters - if (isKernelV2(accountVersion)) { + if (accountVersion === "0.2.1" || accountVersion === "0.2.2") { return owner.signTypedData({ ...typedData }) From cb0e4866071cca9361016936744a74cf34cb97a3 Mon Sep 17 00:00:00 2001 From: Garvit Khatri Date: Sat, 9 Nov 2024 14:33:28 +0000 Subject: [PATCH 4/6] Fix build --- packages/permissionless/accounts/kernel/utils/signTypedData.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/permissionless/accounts/kernel/utils/signTypedData.ts b/packages/permissionless/accounts/kernel/utils/signTypedData.ts index 8e130644..168cee29 100644 --- a/packages/permissionless/accounts/kernel/utils/signTypedData.ts +++ b/packages/permissionless/accounts/kernel/utils/signTypedData.ts @@ -6,7 +6,6 @@ import { hashTypedData, validateTypedData } from "viem" -import { isKernelV2 } from "./isKernelV2.js" import { type WrapMessageHashParams, wrapMessageHash From 59fdeb858a85195b57f037e7e4331ed24f6965de Mon Sep 17 00:00:00 2001 From: Garvit Khatri Date: Sat, 9 Nov 2024 14:47:58 +0000 Subject: [PATCH 5/6] remove erc20 paymaster support for kernel 0.2.1 --- ...pareUserOperationForErc20Paymaster.test.ts | 27 +++++++++++-------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/packages/permissionless/experimental/pimlico/utils/prepareUserOperationForErc20Paymaster.test.ts b/packages/permissionless/experimental/pimlico/utils/prepareUserOperationForErc20Paymaster.test.ts index 6583b108..ca0c5724 100644 --- a/packages/permissionless/experimental/pimlico/utils/prepareUserOperationForErc20Paymaster.test.ts +++ b/packages/permissionless/experimental/pimlico/utils/prepareUserOperationForErc20Paymaster.test.ts @@ -24,7 +24,8 @@ describe.each(getCoreSmartAccounts())( ({ getSmartAccountClient, supportsEntryPointV06, - supportsEntryPointV07 + supportsEntryPointV07, + name }) => { testWithRpc.skipIf(!supportsEntryPointV06)( "prepareUserOperationForErc20Paymaster_v06", @@ -94,18 +95,22 @@ describe.each(getCoreSmartAccounts())( expect(receipt).toBeTruthy() expect(receipt).toBeTruthy() - expect(receipt.success).toBeTruthy() - const FINAL_TOKEN_BALANCE = await tokenBalanceOf( - smartAccountClient.account.address, - rpc.anvilRpc - ) - const FINAL_ETH_BALANCE = await publicClient.getBalance({ - address: smartAccountClient.account.address - }) + if (name !== "Kernel 0.2.1") { + expect(receipt.success).toBeTruthy() + const FINAL_TOKEN_BALANCE = await tokenBalanceOf( + smartAccountClient.account.address, + rpc.anvilRpc + ) + const FINAL_ETH_BALANCE = await publicClient.getBalance({ + address: smartAccountClient.account.address + }) - expect(FINAL_TOKEN_BALANCE).toBeLessThan(INITIAL_TOKEN_BALANCE) // Token balance should be deducted - expect(FINAL_ETH_BALANCE).toEqual(INTIAL_ETH_BALANCE) // There should be no ETH balance change + expect(FINAL_TOKEN_BALANCE).toBeLessThan( + INITIAL_TOKEN_BALANCE + ) // Token balance should be deducted + expect(FINAL_ETH_BALANCE).toEqual(INTIAL_ETH_BALANCE) // There should be no ETH balance change + } } ) From 4519cfd798ccdc701aa6eecab4edab9c6a00e597 Mon Sep 17 00:00:00 2001 From: Garvit Khatri Date: Sat, 9 Nov 2024 20:38:15 +0530 Subject: [PATCH 6/6] Update smooth-countries-jump.md --- .changeset/smooth-countries-jump.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/smooth-countries-jump.md b/.changeset/smooth-countries-jump.md index 8297822c..f0c21a0b 100644 --- a/.changeset/smooth-countries-jump.md +++ b/.changeset/smooth-countries-jump.md @@ -2,4 +2,4 @@ "permissionless": patch --- -Fix signMessage for Kernel version 0.2.3 and 0.2.4 +Fixed signMessage & signTypeData for Kernel version 0.2.3 and 0.2.4