@river-build/generated
Version:
## How to generate contract types
1 lines • 35.7 kB
JSON
{"abi":[{"type":"function","name":"checkIfLinked","inputs":[{"name":"rootKey","type":"address","internalType":"address"},{"name":"wallet","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getLatestNonceForRootKey","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"getRootKeyForWallet","inputs":[{"name":"wallet","type":"address","internalType":"address"}],"outputs":[{"name":"rootKey","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getWalletsByRootKey","inputs":[{"name":"rootKey","type":"address","internalType":"address"}],"outputs":[{"name":"wallets","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"getWalletsByRootKeyWithDelegations","inputs":[{"name":"rootKey","type":"address","internalType":"address"}],"outputs":[{"name":"wallets","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"linkCallerToRootKey","inputs":[{"name":"rootWallet","type":"tuple","internalType":"struct IWalletLinkBase.LinkedWallet","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"signature","type":"bytes","internalType":"bytes"},{"name":"message","type":"string","internalType":"string"}]},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"linkWalletToRootKey","inputs":[{"name":"wallet","type":"tuple","internalType":"struct IWalletLinkBase.LinkedWallet","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"signature","type":"bytes","internalType":"bytes"},{"name":"message","type":"string","internalType":"string"}]},{"name":"rootWallet","type":"tuple","internalType":"struct IWalletLinkBase.LinkedWallet","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"signature","type":"bytes","internalType":"bytes"},{"name":"message","type":"string","internalType":"string"}]},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"LinkNonEVMWalletToRootWallet","inputs":[{"name":"walletHash","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"rootKey","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"LinkWalletToRootKey","inputs":[{"name":"wallet","type":"address","indexed":true,"internalType":"address"},{"name":"rootKey","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RemoveLink","inputs":[{"name":"wallet","type":"address","indexed":true,"internalType":"address"},{"name":"secondWallet","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RemoveNonEVMWalletLink","inputs":[{"name":"walletHash","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"rootKey","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetDefaultWallet","inputs":[{"name":"rootKey","type":"address","indexed":true,"internalType":"address"},{"name":"defaultWallet","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"WalletLink__AddressMismatch","inputs":[]},{"type":"error","name":"WalletLink__CannotLinkToRootWallet","inputs":[{"name":"wallet","type":"address","internalType":"address"},{"name":"rootKey","type":"address","internalType":"address"}]},{"type":"error","name":"WalletLink__CannotLinkToSelf","inputs":[]},{"type":"error","name":"WalletLink__CannotRemoveDefaultWallet","inputs":[]},{"type":"error","name":"WalletLink__CannotRemoveRootWallet","inputs":[]},{"type":"error","name":"WalletLink__DefaultWalletAlreadySet","inputs":[]},{"type":"error","name":"WalletLink__InvalidAddress","inputs":[]},{"type":"error","name":"WalletLink__InvalidMessage","inputs":[]},{"type":"error","name":"WalletLink__InvalidNonEVMAddress","inputs":[]},{"type":"error","name":"WalletLink__InvalidSignature","inputs":[]},{"type":"error","name":"WalletLink__InvalidVMSpecificData","inputs":[{"name":"key","type":"string","internalType":"string"},{"name":"value","type":"bytes","internalType":"bytes"}]},{"type":"error","name":"WalletLink__LinkAlreadyExists","inputs":[{"name":"wallet","type":"address","internalType":"address"},{"name":"rootKey","type":"address","internalType":"address"}]},{"type":"error","name":"WalletLink__LinkedToAnotherRootKey","inputs":[{"name":"wallet","type":"address","internalType":"address"},{"name":"rootKey","type":"address","internalType":"address"}]},{"type":"error","name":"WalletLink__MaxLinkedWalletsReached","inputs":[]},{"type":"error","name":"WalletLink__NonEVMWalletAlreadyLinked","inputs":[{"name":"wallet","type":"string","internalType":"string"},{"name":"rootKey","type":"address","internalType":"address"}]},{"type":"error","name":"WalletLink__NonEVMWalletNotLinked","inputs":[{"name":"wallet","type":"string","internalType":"string"},{"name":"rootKey","type":"address","internalType":"address"}]},{"type":"error","name":"WalletLink__NotLinked","inputs":[{"name":"wallet","type":"address","internalType":"address"},{"name":"rootKey","type":"address","internalType":"address"}]},{"type":"error","name":"WalletLink__RootKeyMismatch","inputs":[{"name":"callerRootKey","type":"address","internalType":"address"},{"name":"rootKey","type":"address","internalType":"address"}]},{"type":"error","name":"WalletLink__UnsupportedVMType","inputs":[]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b506106a4806100206000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80632f4614531161005b5780632f461453146100e25780633d005eab14610082578063912b9758146100f5578063f82103981461015457600080fd5b806302345b981461008257806320a00ac8146100ab578063243a7134146100cd575b600080fd5b6100956100903660046103f7565b6101b7565b6040516100a29190610412565b60405180910390f35b6100bf6100b93660046103f7565b50600090565b6040519081526020016100a2565b6100e06100db3660046105bf565b610200565b005b6100e06100f036600461062c565b610285565b610144610103366004610671565b6001600160a01b0390811660009081527f53bdded980027e2c478b287c6d24ce77f39d36276f54116d9f518f7ecd94eb016020526040902054811691161490565b60405190151581526020016100a2565b61019f6101623660046103f7565b6001600160a01b0390811660009081527f53bdded980027e2c478b287c6d24ce77f39d36276f54116d9f518f7ecd94eb0160205260409020541690565b6040516001600160a01b0390911681526020016100a2565b6001600160a01b03811660009081527f53bdded980027e2c478b287c6d24ce77f39d36276f54116d9f518f7ecd94eb00602052604090206060906101fa90610307565b92915050565b825182516001600160a01b031660009081527f53bdded980027e2c478b287c6d24ce77f39d36276f54116d9f518f7ecd94eb00602081905260409091209091610249919061031b565b50915192516001600160a01b0390811660009081526001909301602052604090922080546001600160a01b031916929093169190911790915550565b81516001600160a01b031660009081527f53bdded980027e2c478b287c6d24ce77f39d36276f54116d9f518f7ecd94eb006020819052604090912033906102cc908261031b565b5092516001600160a01b039384166000908152600192909201602052604090912080546001600160a01b031916939091169290921790915550565b6060600061031483610330565b9392505050565b6000610314836001600160a01b03841661038c565b60608160000180548060200260200160405190810160405280929190818152602001828054801561038057602002820191906000526020600020905b81548152602001906001019080831161036c575b50505050509050919050565b60008181526001830160205260408120546103d3575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556101fa565b5060006101fa565b80356001600160a01b03811681146103f257600080fd5b919050565b60006020828403121561040957600080fd5b610314826103db565b6020808252825182820181905260009190848201906040850190845b818110156104535783516001600160a01b03168352928401929184019160010161042e565b50909695505050505050565b634e487b7160e01b600052604160045260246000fd5b6040516060810167ffffffffffffffff811182821017156104985761049861045f565b60405290565b600067ffffffffffffffff808411156104b9576104b961045f565b604051601f8501601f19908116603f011681019082821181831017156104e1576104e161045f565b816040528093508581528686860111156104fa57600080fd5b858560208301376000602087830101525050509392505050565b60006060828403121561052657600080fd5b61052e610475565b9050610539826103db565b8152602082013567ffffffffffffffff8082111561055657600080fd5b818401915084601f83011261056a57600080fd5b6105798583356020850161049e565b6020840152604084013591508082111561059257600080fd5b508201601f810184136105a457600080fd5b6105b38482356020840161049e565b60408301525092915050565b6000806000606084860312156105d457600080fd5b833567ffffffffffffffff808211156105ec57600080fd5b6105f887838801610514565b9450602086013591508082111561060e57600080fd5b5061061b86828701610514565b925050604084013590509250925092565b6000806040838503121561063f57600080fd5b823567ffffffffffffffff81111561065657600080fd5b61066285828601610514565b95602094909401359450505050565b6000806040838503121561068457600080fd5b61068d836103db565b915061069b602084016103db565b9050925092905056","sourceMap":"285:1719:412:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b506004361061007d5760003560e01c80632f4614531161005b5780632f461453146100e25780633d005eab14610082578063912b9758146100f5578063f82103981461015457600080fd5b806302345b981461008257806320a00ac8146100ab578063243a7134146100cd575b600080fd5b6100956100903660046103f7565b6101b7565b6040516100a29190610412565b60405180910390f35b6100bf6100b93660046103f7565b50600090565b6040519081526020016100a2565b6100e06100db3660046105bf565b610200565b005b6100e06100f036600461062c565b610285565b610144610103366004610671565b6001600160a01b0390811660009081527f53bdded980027e2c478b287c6d24ce77f39d36276f54116d9f518f7ecd94eb016020526040902054811691161490565b60405190151581526020016100a2565b61019f6101623660046103f7565b6001600160a01b0390811660009081527f53bdded980027e2c478b287c6d24ce77f39d36276f54116d9f518f7ecd94eb0160205260409020541690565b6040516001600160a01b0390911681526020016100a2565b6001600160a01b03811660009081527f53bdded980027e2c478b287c6d24ce77f39d36276f54116d9f518f7ecd94eb00602052604090206060906101fa90610307565b92915050565b825182516001600160a01b031660009081527f53bdded980027e2c478b287c6d24ce77f39d36276f54116d9f518f7ecd94eb00602081905260409091209091610249919061031b565b50915192516001600160a01b0390811660009081526001909301602052604090922080546001600160a01b031916929093169190911790915550565b81516001600160a01b031660009081527f53bdded980027e2c478b287c6d24ce77f39d36276f54116d9f518f7ecd94eb006020819052604090912033906102cc908261031b565b5092516001600160a01b039384166000908152600192909201602052604090912080546001600160a01b031916939091169290921790915550565b6060600061031483610330565b9392505050565b6000610314836001600160a01b03841661038c565b60608160000180548060200260200160405190810160405280929190818152602001828054801561038057602002820191906000526020600020905b81548152602001906001019080831161036c575b50505050509050919050565b60008181526001830160205260408120546103d3575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556101fa565b5060006101fa565b80356001600160a01b03811681146103f257600080fd5b919050565b60006020828403121561040957600080fd5b610314826103db565b6020808252825182820181905260009190848201906040850190845b818110156104535783516001600160a01b03168352928401929184019160010161042e565b50909695505050505050565b634e487b7160e01b600052604160045260246000fd5b6040516060810167ffffffffffffffff811182821017156104985761049861045f565b60405290565b600067ffffffffffffffff808411156104b9576104b961045f565b604051601f8501601f19908116603f011681019082821181831017156104e1576104e161045f565b816040528093508581528686860111156104fa57600080fd5b858560208301376000602087830101525050509392505050565b60006060828403121561052657600080fd5b61052e610475565b9050610539826103db565b8152602082013567ffffffffffffffff8082111561055657600080fd5b818401915084601f83011261056a57600080fd5b6105798583356020850161049e565b6020840152604084013591508082111561059257600080fd5b508201601f810184136105a457600080fd5b6105b38482356020840161049e565b60408301525092915050565b6000806000606084860312156105d457600080fd5b833567ffffffffffffffff808211156105ec57600080fd5b6105f887838801610514565b9450602086013591508082111561060e57600080fd5b5061061b86828701610514565b925050604084013590509250925092565b6000806040838503121561063f57600080fd5b823567ffffffffffffffff81111561065657600080fd5b61066285828601610514565b95602094909401359450505050565b6000806040838503121561068457600080fd5b61068d836103db565b915061069b602084016103db565b9050925092905056","sourceMap":"285:1719:412:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1160:186;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1908:94;;;;;;:::i;:::-;-1:-1:-1;1974:7:412;;1908:94;;;;1192:25:699;;;1180:2;1165:18;1908:94:412;1046:177:699;809:347:412;;;;;;:::i;:::-;;:::i;:::-;;385:420;;;;;;:::i;:::-;;:::i;1724:180::-;;;;;;:::i;:::-;-1:-1:-1;;;;;1834:54:412;;;1815:4;1834:54;;;:46;:54;;;;;;;;:65;;;;1724:180;;;;4665:14:699;;4658:22;4640:41;;4628:2;4613:18;1724:180:412;4500:187:699;1555:165:412;;;;;;:::i;:::-;-1:-1:-1;;;;;1661:54:412;;;1631:15;1661:54;;;:46;:54;;;;;;;;1555:165;;;;-1:-1:-1;;;;;4856:32:699;;;4838:51;;4826:2;4811:18;1555:165:412;4692:203:699;1160:186:412;-1:-1:-1;;;;;1276:56:412;;:47;:56;;;2187:66;1276:56;;;;;1237:24;;1276:65;;:63;:65::i;:::-;1269:72;1160:186;-1:-1:-1;;1160:186:412:o;809:347::-;1084:11;;1063:15;;-1:-1:-1;;;;;1043:36:412;938:39;1043:36;;;2187:66;1043:36;;;;;;;;2187:66;;1043:53;;:36;:40;:53::i;:::-;-1:-1:-1;1136:15:412;;1121:11;;-1:-1:-1;;;;;1102:31:412;;;1136:15;1102:31;;;:18;;;;:31;;;;;;:49;;-1:-1:-1;;;;;;1102:49:412;;;;;;;;;;;;-1:-1:-1;809:347:412:o;385:420::-;716:15;;-1:-1:-1;;;;;696:36:412;482:39;696:36;;;2187:66;696:36;;;;;;;;653:10;;696:51;;653:10;696:40;:51::i;:::-;-1:-1:-1;785:15:412;;-1:-1:-1;;;;;753:29:412;;;785:15;753:29;;;:18;;;;;:29;;;;;;:47;;-1:-1:-1;;;;;;753:47:412;;;;;;;;;;;;-1:-1:-1;385:420:412:o;10243:273:533:-;10306:16;10334:22;10359:19;10367:3;10359:7;:19::i;:::-;10334:44;10243:273;-1:-1:-1;;;10243:273:533:o;8289:150::-;8359:4;8382:50;8387:3;-1:-1:-1;;;;;8407:23:533;;8382:4;:50::i;5581:109::-;5637:16;5672:3;:11;;5665:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5581:109;;;:::o;2241:406::-;2304:4;4360:21;;;:14;;;:21;;;;;;2320:321;;-1:-1:-1;2362:23:533;;;;;;;;:11;:23;;;;;;;;;;;;;2544:18;;2520:21;;;:14;;;:21;;;;;;:42;;;;2576:11;;2320:321;-1:-1:-1;2625:5:533;2618:12;;14:173:699;82:20;;-1:-1:-1;;;;;131:31:699;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:186::-;251:6;304:2;292:9;283:7;279:23;275:32;272:52;;;320:1;317;310:12;272:52;343:29;362:9;343:29;:::i;383:658::-;554:2;606:21;;;676:13;;579:18;;;698:22;;;525:4;;554:2;777:15;;;;751:2;736:18;;;525:4;820:195;834:6;831:1;828:13;820:195;;;899:13;;-1:-1:-1;;;;;895:39:699;883:52;;990:15;;;;955:12;;;;931:1;849:9;820:195;;;-1:-1:-1;1032:3:699;;383:658;-1:-1:-1;;;;;;383:658:699:o;1228:127::-;1289:10;1284:3;1280:20;1277:1;1270:31;1320:4;1317:1;1310:15;1344:4;1341:1;1334:15;1360:248;1427:2;1421:9;1469:4;1457:17;;1504:18;1489:34;;1525:22;;;1486:62;1483:88;;;1551:18;;:::i;:::-;1587:2;1580:22;1360:248;:::o;1613:631::-;1677:5;1707:18;1748:2;1740:6;1737:14;1734:40;;;1754:18;;:::i;:::-;1829:2;1823:9;1797:2;1883:15;;-1:-1:-1;;1879:24:699;;;1905:2;1875:33;1871:42;1859:55;;;1929:18;;;1949:22;;;1926:46;1923:72;;;1975:18;;:::i;:::-;2015:10;2011:2;2004:22;2044:6;2035:15;;2074:6;2066;2059:22;2114:3;2105:6;2100:3;2096:16;2093:25;2090:45;;;2131:1;2128;2121:12;2090:45;2181:6;2176:3;2169:4;2161:6;2157:17;2144:44;2236:1;2229:4;2220:6;2212;2208:19;2204:30;2197:41;;;;1613:631;;;;;:::o;2249:868::-;2308:5;2356:4;2344:9;2339:3;2335:19;2331:30;2328:50;;;2374:1;2371;2364:12;2328:50;2396:17;;:::i;:::-;2387:26;;2436:29;2455:9;2436:29;:::i;:::-;2429:5;2422:44;2517:2;2506:9;2502:18;2489:32;2540:18;2581:2;2573:6;2570:14;2567:34;;;2597:1;2594;2587:12;2567:34;2635:6;2624:9;2620:22;2610:32;;2680:3;2673:4;2669:2;2665:13;2661:23;2651:51;;2698:1;2695;2688:12;2651:51;2734:69;2799:3;2794:2;2781:16;2776:2;2772;2768:11;2734:69;:::i;:::-;2729:2;2722:5;2718:14;2711:93;2857:2;2846:9;2842:18;2829:32;2813:48;;2886:2;2876:8;2873:16;2870:36;;;2902:1;2899;2892:12;2870:36;-1:-1:-1;2925:24:699;;2980:4;2972:13;;2968:23;-1:-1:-1;2958:51:699;;3005:1;3002;2995:12;2958:51;3041:69;3106:3;3101:2;3088:16;3083:2;3079;3075:11;3041:69;:::i;:::-;3036:2;3029:5;3025:14;3018:93;;2249:868;;;;:::o;3122:679::-;3261:6;3269;3277;3330:2;3318:9;3309:7;3305:23;3301:32;3298:52;;;3346:1;3343;3336:12;3298:52;3386:9;3373:23;3415:18;3456:2;3448:6;3445:14;3442:34;;;3472:1;3469;3462:12;3442:34;3495:63;3550:7;3541:6;3530:9;3526:22;3495:63;:::i;:::-;3485:73;;3611:2;3600:9;3596:18;3583:32;3567:48;;3640:2;3630:8;3627:16;3624:36;;;3656:1;3653;3646:12;3624:36;;3679:65;3736:7;3725:8;3714:9;3710:24;3679:65;:::i;:::-;3669:75;;;3791:2;3780:9;3776:18;3763:32;3753:42;;3122:679;;;;;:::o;3806:424::-;3905:6;3913;3966:2;3954:9;3945:7;3941:23;3937:32;3934:52;;;3982:1;3979;3972:12;3934:52;4022:9;4009:23;4055:18;4047:6;4044:30;4041:50;;;4087:1;4084;4077:12;4041:50;4110:63;4165:7;4156:6;4145:9;4141:22;4110:63;:::i;:::-;4100:73;4220:2;4205:18;;;;4192:32;;-1:-1:-1;;;;3806:424:699:o;4235:260::-;4303:6;4311;4364:2;4352:9;4343:7;4339:23;4335:32;4332:52;;;4380:1;4377;4370:12;4332:52;4403:29;4422:9;4403:29;:::i;:::-;4393:39;;4451:38;4485:2;4474:9;4470:18;4451:38;:::i;:::-;4441:48;;4235:260;;;;;:::o","linkReferences":{}},"methodIdentifiers":{"checkIfLinked(address,address)":"912b9758","getLatestNonceForRootKey(address)":"20a00ac8","getRootKeyForWallet(address)":"f8210398","getWalletsByRootKey(address)":"02345b98","getWalletsByRootKeyWithDelegations(address)":"3d005eab","linkCallerToRootKey((address,bytes,string),uint256)":"2f461453","linkWalletToRootKey((address,bytes,string),(address,bytes,string),uint256)":"243a7134"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"WalletLink__AddressMismatch\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"wallet\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"rootKey\",\"type\":\"address\"}],\"name\":\"WalletLink__CannotLinkToRootWallet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"WalletLink__CannotLinkToSelf\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"WalletLink__CannotRemoveDefaultWallet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"WalletLink__CannotRemoveRootWallet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"WalletLink__DefaultWalletAlreadySet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"WalletLink__InvalidAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"WalletLink__InvalidMessage\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"WalletLink__InvalidNonEVMAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"WalletLink__InvalidSignature\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"name\":\"WalletLink__InvalidVMSpecificData\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"wallet\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"rootKey\",\"type\":\"address\"}],\"name\":\"WalletLink__LinkAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"wallet\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"rootKey\",\"type\":\"address\"}],\"name\":\"WalletLink__LinkedToAnotherRootKey\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"WalletLink__MaxLinkedWalletsReached\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"wallet\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"rootKey\",\"type\":\"address\"}],\"name\":\"WalletLink__NonEVMWalletAlreadyLinked\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"wallet\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"rootKey\",\"type\":\"address\"}],\"name\":\"WalletLink__NonEVMWalletNotLinked\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"wallet\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"rootKey\",\"type\":\"address\"}],\"name\":\"WalletLink__NotLinked\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"callerRootKey\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"rootKey\",\"type\":\"address\"}],\"name\":\"WalletLink__RootKeyMismatch\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"WalletLink__UnsupportedVMType\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"walletHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"rootKey\",\"type\":\"address\"}],\"name\":\"LinkNonEVMWalletToRootWallet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"wallet\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"rootKey\",\"type\":\"address\"}],\"name\":\"LinkWalletToRootKey\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"wallet\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"secondWallet\",\"type\":\"address\"}],\"name\":\"RemoveLink\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"walletHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"rootKey\",\"type\":\"address\"}],\"name\":\"RemoveNonEVMWalletLink\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"rootKey\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"defaultWallet\",\"type\":\"address\"}],\"name\":\"SetDefaultWallet\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"rootKey\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"wallet\",\"type\":\"address\"}],\"name\":\"checkIfLinked\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"getLatestNonceForRootKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"wallet\",\"type\":\"address\"}],\"name\":\"getRootKeyForWallet\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"rootKey\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"rootKey\",\"type\":\"address\"}],\"name\":\"getWalletsByRootKey\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"wallets\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"rootKey\",\"type\":\"address\"}],\"name\":\"getWalletsByRootKeyWithDelegations\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"wallets\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"message\",\"type\":\"string\"}],\"internalType\":\"struct IWalletLinkBase.LinkedWallet\",\"name\":\"rootWallet\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"linkCallerToRootKey\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"message\",\"type\":\"string\"}],\"internalType\":\"struct IWalletLinkBase.LinkedWallet\",\"name\":\"wallet\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"message\",\"type\":\"string\"}],\"internalType\":\"struct IWalletLinkBase.LinkedWallet\",\"name\":\"rootWallet\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"linkWalletToRootKey\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"events\":{\"LinkNonEVMWalletToRootWallet(bytes32,address)\":{\"notice\":\"Emitted when a non-EVM wallet is linked to a root key\"},\"LinkWalletToRootKey(address,address)\":{\"notice\":\"Emitted when a user links their wallet to a rootKey\"},\"RemoveLink(address,address)\":{\"notice\":\"Emitted when two wallets are unlinked\"},\"RemoveNonEVMWalletLink(bytes32,address)\":{\"notice\":\"Emitted when a non-EVM wallet is removed from a root key\"},\"SetDefaultWallet(address,address)\":{\"notice\":\"Emitted when a default wallet is set for a root key\"}},\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/mocks/MockWalletLink.sol\":\"MockWalletLink\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"appendCBOR\":false,\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":@openzeppelin/contracts/=node_modules/@openzeppelin/contracts/\",\":@prb/math/=node_modules/@prb/math/src/\",\":@prb/test/=node_modules/@prb/test/src/\",\":@river-build/diamond/=node_modules/@river-build/diamond/\",\":@solidity/=node_modules/crypto-lib/src/\",\":account-abstraction/=node_modules/account-abstraction/contracts/\",\":crypto-lib/=node_modules/crypto-lib/src/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":solady/=node_modules/solady/src/\"]},\"sources\":{\"contracts/src/factory/facets/wallet-link/IWalletLink.sol\":{\"keccak256\":\"0xb37a03936a2f15ce5c94fb9925594627cc65cfdd186c14eaff32d299ec569b5f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://085ef4945195eae38879c2d84e70a5a2f3cb02e6ad53e8ae37e6dd2591379327\",\"dweb:/ipfs/QmRP7RH7sX1MUXFDwacLABBcVdGDoyKm36JbSfDDwXy4EW\"]},\"contracts/src/factory/facets/wallet-link/libraries/WalletLib.sol\":{\"keccak256\":\"0x7fb08e8176be055adf49a1ce35e17f4cedb78c248c46c96e0583377a4e89b40b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://334911ec72def284ac7a61e04d5de12d7018421a756e265e2d0e411e62c097c1\",\"dweb:/ipfs/QmbJzoE6Tv91psSSDz8RgcuQKtp7zxCKAhnD3TKWiyiqMP\"]},\"contracts/test/mocks/MockWalletLink.sol\":{\"keccak256\":\"0x9436bd6b1891fec0db60f7ef2b4741abb0b3fdcbf4a5e81d980bea698dff681b\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://d81c5329b623ca66f01ef810933b5e90891a1644530892dad7336dcc13ea4749\",\"dweb:/ipfs/QmYejE9VfHz2FbP35Vd5dehSbPfTcfCNv5bbRhzMvLLF9M\"]},\"node_modules/@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x9b161e97b8967d4bc0c08d25741889a30692cdda4b71910bf1b0e315f1962212\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://821500c39d095eaa25b06f46e65f1d0e97c4c96b39227f79077dee7d9e84051f\",\"dweb:/ipfs/QmSTeGorKzSWF6HAmxo32uCZiEuKNvreQdUiX1AaYtUMTz\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"WalletLink__AddressMismatch"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"},{"internalType":"address","name":"rootKey","type":"address"}],"type":"error","name":"WalletLink__CannotLinkToRootWallet"},{"inputs":[],"type":"error","name":"WalletLink__CannotLinkToSelf"},{"inputs":[],"type":"error","name":"WalletLink__CannotRemoveDefaultWallet"},{"inputs":[],"type":"error","name":"WalletLink__CannotRemoveRootWallet"},{"inputs":[],"type":"error","name":"WalletLink__DefaultWalletAlreadySet"},{"inputs":[],"type":"error","name":"WalletLink__InvalidAddress"},{"inputs":[],"type":"error","name":"WalletLink__InvalidMessage"},{"inputs":[],"type":"error","name":"WalletLink__InvalidNonEVMAddress"},{"inputs":[],"type":"error","name":"WalletLink__InvalidSignature"},{"inputs":[{"internalType":"string","name":"key","type":"string"},{"internalType":"bytes","name":"value","type":"bytes"}],"type":"error","name":"WalletLink__InvalidVMSpecificData"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"},{"internalType":"address","name":"rootKey","type":"address"}],"type":"error","name":"WalletLink__LinkAlreadyExists"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"},{"internalType":"address","name":"rootKey","type":"address"}],"type":"error","name":"WalletLink__LinkedToAnotherRootKey"},{"inputs":[],"type":"error","name":"WalletLink__MaxLinkedWalletsReached"},{"inputs":[{"internalType":"string","name":"wallet","type":"string"},{"internalType":"address","name":"rootKey","type":"address"}],"type":"error","name":"WalletLink__NonEVMWalletAlreadyLinked"},{"inputs":[{"internalType":"string","name":"wallet","type":"string"},{"internalType":"address","name":"rootKey","type":"address"}],"type":"error","name":"WalletLink__NonEVMWalletNotLinked"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"},{"internalType":"address","name":"rootKey","type":"address"}],"type":"error","name":"WalletLink__NotLinked"},{"inputs":[{"internalType":"address","name":"callerRootKey","type":"address"},{"internalType":"address","name":"rootKey","type":"address"}],"type":"error","name":"WalletLink__RootKeyMismatch"},{"inputs":[],"type":"error","name":"WalletLink__UnsupportedVMType"},{"inputs":[{"internalType":"bytes32","name":"walletHash","type":"bytes32","indexed":true},{"internalType":"address","name":"rootKey","type":"address","indexed":true}],"type":"event","name":"LinkNonEVMWalletToRootWallet","anonymous":false},{"inputs":[{"internalType":"address","name":"wallet","type":"address","indexed":true},{"internalType":"address","name":"rootKey","type":"address","indexed":true}],"type":"event","name":"LinkWalletToRootKey","anonymous":false},{"inputs":[{"internalType":"address","name":"wallet","type":"address","indexed":true},{"internalType":"address","name":"secondWallet","type":"address","indexed":true}],"type":"event","name":"RemoveLink","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"walletHash","type":"bytes32","indexed":true},{"internalType":"address","name":"rootKey","type":"address","indexed":true}],"type":"event","name":"RemoveNonEVMWalletLink","anonymous":false},{"inputs":[{"internalType":"address","name":"rootKey","type":"address","indexed":true},{"internalType":"address","name":"defaultWallet","type":"address","indexed":true}],"type":"event","name":"SetDefaultWallet","anonymous":false},{"inputs":[{"internalType":"address","name":"rootKey","type":"address"},{"internalType":"address","name":"wallet","type":"address"}],"stateMutability":"view","type":"function","name":"checkIfLinked","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"pure","type":"function","name":"getLatestNonceForRootKey","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"stateMutability":"view","type":"function","name":"getRootKeyForWallet","outputs":[{"internalType":"address","name":"rootKey","type":"address"}]},{"inputs":[{"internalType":"address","name":"rootKey","type":"address"}],"stateMutability":"view","type":"function","name":"getWalletsByRootKey","outputs":[{"internalType":"address[]","name":"wallets","type":"address[]"}]},{"inputs":[{"internalType":"address","name":"rootKey","type":"address"}],"stateMutability":"view","type":"function","name":"getWalletsByRootKeyWithDelegations","outputs":[{"internalType":"address[]","name":"wallets","type":"address[]"}]},{"inputs":[{"internalType":"struct IWalletLinkBase.LinkedWallet","name":"rootWallet","type":"tuple","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes","name":"signature","type":"bytes"},{"internalType":"string","name":"message","type":"string"}]},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"linkCallerToRootKey"},{"inputs":[{"internalType":"struct IWalletLinkBase.LinkedWallet","name":"wallet","type":"tuple","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes","name":"signature","type":"bytes"},{"internalType":"string","name":"message","type":"string"}]},{"internalType":"struct IWalletLinkBase.LinkedWallet","name":"rootWallet","type":"tuple","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes","name":"signature","type":"bytes"},{"internalType":"string","name":"message","type":"string"}]},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"linkWalletToRootKey"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","@openzeppelin/contracts/=node_modules/@openzeppelin/contracts/","@prb/math/=node_modules/@prb/math/src/","@prb/test/=node_modules/@prb/test/src/","@river-build/diamond/=node_modules/@river-build/diamond/","@solidity/=node_modules/crypto-lib/src/","account-abstraction/=node_modules/account-abstraction/contracts/","crypto-lib/=node_modules/crypto-lib/src/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/","hardhat-deploy/=node_modules/hardhat-deploy/","solady/=node_modules/solady/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"none","appendCBOR":false},"compilationTarget":{"contracts/test/mocks/MockWalletLink.sol":"MockWalletLink"},"evmVersion":"paris","libraries":{}},"sources":{"contracts/src/factory/facets/wallet-link/IWalletLink.sol":{"keccak256":"0xb37a03936a2f15ce5c94fb9925594627cc65cfdd186c14eaff32d299ec569b5f","urls":["bzz-raw://085ef4945195eae38879c2d84e70a5a2f3cb02e6ad53e8ae37e6dd2591379327","dweb:/ipfs/QmRP7RH7sX1MUXFDwacLABBcVdGDoyKm36JbSfDDwXy4EW"],"license":"MIT"},"contracts/src/factory/facets/wallet-link/libraries/WalletLib.sol":{"keccak256":"0x7fb08e8176be055adf49a1ce35e17f4cedb78c248c46c96e0583377a4e89b40b","urls":["bzz-raw://334911ec72def284ac7a61e04d5de12d7018421a756e265e2d0e411e62c097c1","dweb:/ipfs/QmbJzoE6Tv91psSSDz8RgcuQKtp7zxCKAhnD3TKWiyiqMP"],"license":"MIT"},"contracts/test/mocks/MockWalletLink.sol":{"keccak256":"0x9436bd6b1891fec0db60f7ef2b4741abb0b3fdcbf4a5e81d980bea698dff681b","urls":["bzz-raw://d81c5329b623ca66f01ef810933b5e90891a1644530892dad7336dcc13ea4749","dweb:/ipfs/QmYejE9VfHz2FbP35Vd5dehSbPfTcfCNv5bbRhzMvLLF9M"],"license":"Apache-2.0"},"node_modules/@openzeppelin/contracts/utils/structs/EnumerableSet.sol":{"keccak256":"0x9b161e97b8967d4bc0c08d25741889a30692cdda4b71910bf1b0e315f1962212","urls":["bzz-raw://821500c39d095eaa25b06f46e65f1d0e97c4c96b39227f79077dee7d9e84051f","dweb:/ipfs/QmSTeGorKzSWF6HAmxo32uCZiEuKNvreQdUiX1AaYtUMTz"],"license":"MIT"}},"version":1},"id":412}