diff --git a/packages/foundry/broadcast/Deploy.s.sol/10/run-1725746260.json b/packages/foundry/broadcast/Deploy.s.sol/10/run-1725746260.json new file mode 100644 index 0000000..a2fc708 --- /dev/null +++ b/packages/foundry/broadcast/Deploy.s.sol/10/run-1725746260.json @@ -0,0 +1,58 @@ +{ + "transactions": [ + { + "hash": "0x016fc69c527949c9839c4356a9153f52942e1cb1aea9fe24ec7ad21d50272058", + "transactionType": "CREATE", + "contractName": "FairDrop", + "contractAddress": "0x859a661a05c3f2fbec2f08a9d2656f0092b3ce7a", + "function": null, + "arguments": [ + "0x57f928158C3EE7CDad1e4D8642503c4D0201f611", + "app_9f3c3c467dbfb7c616671b1b07c3f221", + "verify", + "0x27428DD2d3DD32A4D7f7C497eAaa23130d894911", + "10" + ], + "transaction": { + "from": "0x09abfabaf4b2071759bc1a432b6f4c62ca4d4736", + "gas": "0xc0efe", + "value": "0x0", + "input": "0x610100604052600160c05234801561001657600080fd5b50604051610c59380380610c59833981016040819052610035916101bf565b6001600160a01b03808616608052821660e0526040516100889061007690610061908790602001610266565b60408051601f198184030181529190526100ab565b84604051602001610061929190610282565b60a0526002805461ffff191661ffff92909216919091179055506102a892505050565b60006008826040516020016100c09190610266565b60408051601f198184030181529190528051602090910120901c92915050565b80516001600160a01b03811681146100f757600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561012d578181015183820152602001610115565b50506000910152565b600082601f83011261014757600080fd5b81516001600160401b03811115610160576101606100fc565b604051601f8201601f19908116603f011681016001600160401b038111828210171561018e5761018e6100fc565b6040528181528382016020018510156101a657600080fd5b6101b7826020830160208701610112565b949350505050565b600080600080600060a086880312156101d757600080fd5b6101e0866100e0565b60208701519095506001600160401b038111156101fc57600080fd5b61020888828901610136565b604088015190955090506001600160401b0381111561022657600080fd5b61023288828901610136565b935050610241606087016100e0565b9150608086015161ffff8116811461025857600080fd5b809150509295509295909350565b60008251610278818460208701610112565b9190910192915050565b8281526000825161029a816020850160208701610112565b919091016020019392505050565b60805160a05160c05160e0516109636102f66000396000818161024c015281816104a9015261067b0152600061032b0152600061038d01526000818161019601526102fb01526109636000f3fe6080604052600436106100915760003560e01c8063753e9ef011610059578063753e9ef0146101845780639a8a0592146101b8578063b3a0fb32146101d3578063b9209e3314610201578063da25b7251461023a57600080fd5b806302fd920f146100965780630db065f4146100ab57806316fed3e2146100f05780634cff9f1d14610130578063599fe3f114610150575b600080fd5b6100a96100a4366004610745565b61026e565b005b3480156100b757600080fd5b506100db6100c6366004610794565b60006020819052908152604090205460ff1681565b60405190151581526020015b60405180910390f35b3480156100fc57600080fd5b506002546101189064010000000090046001600160a01b031681565b6040516001600160a01b0390911681526020016100e7565b34801561013c57600080fd5b506100a961014b3660046107b6565b61058e565b34801561015c57600080fd5b506002546101719062010000900461ffff1681565b60405161ffff90911681526020016100e7565b34801561019057600080fd5b506101187f000000000000000000000000000000000000000000000000000000000000000081565b3480156101c457600080fd5b506002546101719061ffff1681565b3480156101df57600080fd5b506101f36101ee3660046107f2565b610646565b6040519081526020016100e7565b34801561020d57600080fd5b506100db61021c366004610794565b6001600160a01b031660009081526020819052604090205460ff1690565b34801561024657600080fd5b506101187f000000000000000000000000000000000000000000000000000000000000000081565b60025464010000000090046001600160a01b03166102c65760405162461bcd60e51b815260206004820152601060248201526f149958d95a5d995c881b9bdd081cd95d60821b60448201526064015b60405180910390fd5b60008281526001602052604090205460ff16156102f957604051633c7fd51360e11b8152600481018390526024016102bd565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633bc778e3847f000000000000000000000000000000000000000000000000000000000000000061038a88604051602001610376919060609190911b6bffffffffffffffffffffffff1916815260140190565b6040516020818303038152906040526106f4565b867f0000000000000000000000000000000000000000000000000000000000000000876040518763ffffffff1660e01b81526004016103ce9695949392919061080b565b60006040518083038186803b1580156103e657600080fd5b505afa1580156103fa573d6000803e3d6000fd5b5050506000838152600160208181526040808420805460ff199081168517909155338552848352938190208054909416909217909255518481527ff786e7f77ede00a02a5464f8f0555798f42ba99a4a920ef2778db8d75e4656f792500160405180910390a1604080513360208201528082018490528151808203830181526060909101909152600061048c81610646565b6002546040516347f66e8160e11b81529192506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811692638fecdd029285926105009261ffff62010000840416926401000000009004909116908890600090620186a090600401610867565b60206040518083038185885af115801561051e573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061054391906108c3565b508151604080514281526020810184905280820192909252517f89f9a6415e474869d272c8a87f7097a41d9af64b89db5dbc6d22e570d6e99d779181900360600190a1505050505050565b60025464010000000090046001600160a01b0316156105c057604051636557fd5f60e11b815260040160405180910390fd5b6002805462010000600160c01b0319166201000061ffff8516908102640100000000600160c01b031916919091176401000000006001600160a01b038516908102919091179092556040805191825260208201929092527f35070cf5f0a4b65187912653f3035c83120725ea3e4523c8c26af4d834ae4df6910160405180910390a15050565b60025460405163c23ee3c360e01b81526201000090910461ffff16600482015260248101829052620186a060448201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063c23ee3c3906064016040805180830381865afa1580156106c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ed91906108ed565b5092915050565b60006008826040516020016107099190610911565b60408051601f198184030181529190528051602090910120901c92915050565b80356001600160a01b038116811461074057600080fd5b919050565b600080600080610160858703121561075c57600080fd5b61076585610729565b93506020850135925060408501359150610160850186101561078657600080fd5b509194909350909160600190565b6000602082840312156107a657600080fd5b6107af82610729565b9392505050565b600080604083850312156107c957600080fd5b823561ffff811681146107db57600080fd5b91506107e960208401610729565b90509250929050565b60006020828403121561080457600080fd5b5035919050565b60006101a0820190508782528660208301528560408301528460608301528360808301526101008360a0840137979650505050505050565b60005b8381101561085e578181015183820152602001610846565b50506000910152565b61ffff8616815260018060a01b038516602082015260a06040820152600084518060a084015261089e8160c0850160208901610843565b606083019490945250608081019190915260c0601f909201601f191601019392505050565b6000602082840312156108d557600080fd5b815167ffffffffffffffff811681146107af57600080fd5b6000806040838503121561090057600080fd5b505080516020909101519092909150565b60008251610923818460208701610843565b919091019291505056fea2646970667358221220b65a98238f6866ad8ed699d48223102fdb1b9c627f9c3fabf5598a904460f4f364736f6c634300081b003300000000000000000000000057f928158c3ee7cdad1e4d8642503c4d0201f61100000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000010000000000000000000000000027428dd2d3dd32a4d7f7c497eaaa23130d894911000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000246170705f39663363336334363764626662376336313636373162316230376333663232310000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000067665726966790000000000000000000000000000000000000000000000000000", + "nonce": "0x4", + "chainId": "0xa" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x307d5d", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "transactionHash": "0x016fc69c527949c9839c4356a9153f52942e1cb1aea9fe24ec7ad21d50272058", + "transactionIndex": "0x9", + "blockHash": "0x9e691fc72c156d2b60ff95020be0a2b633059f2a383c8bf7b5309d785fa8530f", + "blockNumber": "0x774794a", + "gasUsed": "0x94776", + "effectiveGasPrice": "0x1b3ba3", + "from": "0x09abfabaf4b2071759bc1a432b6f4c62ca4d4736", + "to": null, + "contractAddress": "0x859a661a05c3f2fbec2f08a9d2656f0092b3ce7a", + "l1BaseFeeScalar": "0x146b", + "l1BlobBaseFee": "0x1", + "l1BlobBaseFeeScalar": "0xf79c5", + "l1Fee": "0x35c1075661", + "l1GasPrice": "0x51dabd48", + "l1GasUsed": "0x7da2" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1725746260, + "chain": 10, + "commit": "dfbe23a" +} \ No newline at end of file diff --git a/packages/foundry/broadcast/Deploy.s.sol/10/run-latest.json b/packages/foundry/broadcast/Deploy.s.sol/10/run-latest.json index 43b4b7a..a2fc708 100644 --- a/packages/foundry/broadcast/Deploy.s.sol/10/run-latest.json +++ b/packages/foundry/broadcast/Deploy.s.sol/10/run-latest.json @@ -1,22 +1,24 @@ { "transactions": [ { - "hash": "0x291121e3df556b3d4117a37c775acd6b18f2bbb5adc2b0eec0468bf1ca6c252c", + "hash": "0x016fc69c527949c9839c4356a9153f52942e1cb1aea9fe24ec7ad21d50272058", "transactionType": "CREATE", "contractName": "FairDrop", - "contractAddress": "0xeb98b67d22c2b105891a20f337bf2b185a8ceee8", + "contractAddress": "0x859a661a05c3f2fbec2f08a9d2656f0092b3ce7a", "function": null, "arguments": [ "0x57f928158C3EE7CDad1e4D8642503c4D0201f611", "app_9f3c3c467dbfb7c616671b1b07c3f221", - "verify" + "verify", + "0x27428DD2d3DD32A4D7f7C497eAaa23130d894911", + "10" ], "transaction": { "from": "0x09abfabaf4b2071759bc1a432b6f4c62ca4d4736", - "gas": "0x58c09", + "gas": "0xc0efe", "value": "0x0", - "input": "0x60e0604052600160c05234801561001557600080fd5b5060405161066238038061066283398101604081905261003491610185565b6001600160a01b0383166080526040516100819061006f9061005a90859060200161020d565b60408051601f1981840301815291905261008d565b8260405160200161005a929190610229565b60a0525061024f915050565b60006008826040516020016100a2919061020d565b60408051601f198184030181529190528051602090910120901c92915050565b634e487b7160e01b600052604160045260246000fd5b60005b838110156100f35781810151838201526020016100db565b50506000910152565b600082601f83011261010d57600080fd5b81516001600160401b03811115610126576101266100c2565b604051601f8201601f19908116603f011681016001600160401b0381118282101715610154576101546100c2565b60405281815283820160200185101561016c57600080fd5b61017d8260208301602087016100d8565b949350505050565b60008060006060848603121561019a57600080fd5b83516001600160a01b03811681146101b157600080fd5b60208501519093506001600160401b038111156101cd57600080fd5b6101d9868287016100fc565b604086015190935090506001600160401b038111156101f757600080fd5b610203868287016100fc565b9150509250925092565b6000825161021f8184602087016100d8565b9190910192915050565b828152600082516102418160208501602087016100d8565b919091016020019392505050565b60805160a05160c0516103de6102846000396000610144015260006101a6015260008181604b015261011401526103de6000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063753e9ef014610046578063b9209e331461008a578063e9b70553146100c6575b600080fd5b61006d7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b6100b66100983660046102d0565b6001600160a01b031660009081526020819052604090205460ff1690565b6040519015158152602001610081565b6100d96100d43660046102f2565b6100db565b005b60008281526001602052604090205460ff161561011257604051633c7fd51360e11b81526004810183905260240160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633bc778e3847f00000000000000000000000000000000000000000000000000000000000000006101a38860405160200161018f919060609190911b6bffffffffffffffffffffffff1916815260140190565b60405160208183030381529060405261027f565b867f0000000000000000000000000000000000000000000000000000000000000000876040518763ffffffff1660e01b81526004016101e796959493929190610341565b60006040518083038186803b1580156101ff57600080fd5b505afa158015610213573d6000803e3d6000fd5b5050506000838152600160208181526040808420805460ff199081168517909155338552848352938190208054909416909217909255518481527ff786e7f77ede00a02a5464f8f0555798f42ba99a4a920ef2778db8d75e4656f792500160405180910390a150505050565b60006008826040516020016102949190610379565b60408051601f198184030181529190528051602090910120901c92915050565b80356001600160a01b03811681146102cb57600080fd5b919050565b6000602082840312156102e257600080fd5b6102eb826102b4565b9392505050565b600080600080610160858703121561030957600080fd5b610312856102b4565b93506020850135925060408501359150610160850186101561033357600080fd5b509194909350909160600190565b60006101a0820190508782528660208301528560408301528460608301528360808301526101008360a0840137979650505050505050565b6000825160005b8181101561039a5760208186018101518583015201610380565b50600092019182525091905056fea2646970667358221220a150528889a665fad4d0bd01198f093975703812d5dddfd3bb184c3b51f49b5864736f6c634300081b003300000000000000000000000057f928158c3ee7cdad1e4d8642503c4d0201f611000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000246170705f39663363336334363764626662376336313636373162316230376333663232310000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000067665726966790000000000000000000000000000000000000000000000000000", - "nonce": "0x1", + "input": "0x610100604052600160c05234801561001657600080fd5b50604051610c59380380610c59833981016040819052610035916101bf565b6001600160a01b03808616608052821660e0526040516100889061007690610061908790602001610266565b60408051601f198184030181529190526100ab565b84604051602001610061929190610282565b60a0526002805461ffff191661ffff92909216919091179055506102a892505050565b60006008826040516020016100c09190610266565b60408051601f198184030181529190528051602090910120901c92915050565b80516001600160a01b03811681146100f757600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561012d578181015183820152602001610115565b50506000910152565b600082601f83011261014757600080fd5b81516001600160401b03811115610160576101606100fc565b604051601f8201601f19908116603f011681016001600160401b038111828210171561018e5761018e6100fc565b6040528181528382016020018510156101a657600080fd5b6101b7826020830160208701610112565b949350505050565b600080600080600060a086880312156101d757600080fd5b6101e0866100e0565b60208701519095506001600160401b038111156101fc57600080fd5b61020888828901610136565b604088015190955090506001600160401b0381111561022657600080fd5b61023288828901610136565b935050610241606087016100e0565b9150608086015161ffff8116811461025857600080fd5b809150509295509295909350565b60008251610278818460208701610112565b9190910192915050565b8281526000825161029a816020850160208701610112565b919091016020019392505050565b60805160a05160c05160e0516109636102f66000396000818161024c015281816104a9015261067b0152600061032b0152600061038d01526000818161019601526102fb01526109636000f3fe6080604052600436106100915760003560e01c8063753e9ef011610059578063753e9ef0146101845780639a8a0592146101b8578063b3a0fb32146101d3578063b9209e3314610201578063da25b7251461023a57600080fd5b806302fd920f146100965780630db065f4146100ab57806316fed3e2146100f05780634cff9f1d14610130578063599fe3f114610150575b600080fd5b6100a96100a4366004610745565b61026e565b005b3480156100b757600080fd5b506100db6100c6366004610794565b60006020819052908152604090205460ff1681565b60405190151581526020015b60405180910390f35b3480156100fc57600080fd5b506002546101189064010000000090046001600160a01b031681565b6040516001600160a01b0390911681526020016100e7565b34801561013c57600080fd5b506100a961014b3660046107b6565b61058e565b34801561015c57600080fd5b506002546101719062010000900461ffff1681565b60405161ffff90911681526020016100e7565b34801561019057600080fd5b506101187f000000000000000000000000000000000000000000000000000000000000000081565b3480156101c457600080fd5b506002546101719061ffff1681565b3480156101df57600080fd5b506101f36101ee3660046107f2565b610646565b6040519081526020016100e7565b34801561020d57600080fd5b506100db61021c366004610794565b6001600160a01b031660009081526020819052604090205460ff1690565b34801561024657600080fd5b506101187f000000000000000000000000000000000000000000000000000000000000000081565b60025464010000000090046001600160a01b03166102c65760405162461bcd60e51b815260206004820152601060248201526f149958d95a5d995c881b9bdd081cd95d60821b60448201526064015b60405180910390fd5b60008281526001602052604090205460ff16156102f957604051633c7fd51360e11b8152600481018390526024016102bd565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633bc778e3847f000000000000000000000000000000000000000000000000000000000000000061038a88604051602001610376919060609190911b6bffffffffffffffffffffffff1916815260140190565b6040516020818303038152906040526106f4565b867f0000000000000000000000000000000000000000000000000000000000000000876040518763ffffffff1660e01b81526004016103ce9695949392919061080b565b60006040518083038186803b1580156103e657600080fd5b505afa1580156103fa573d6000803e3d6000fd5b5050506000838152600160208181526040808420805460ff199081168517909155338552848352938190208054909416909217909255518481527ff786e7f77ede00a02a5464f8f0555798f42ba99a4a920ef2778db8d75e4656f792500160405180910390a1604080513360208201528082018490528151808203830181526060909101909152600061048c81610646565b6002546040516347f66e8160e11b81529192506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811692638fecdd029285926105009261ffff62010000840416926401000000009004909116908890600090620186a090600401610867565b60206040518083038185885af115801561051e573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061054391906108c3565b508151604080514281526020810184905280820192909252517f89f9a6415e474869d272c8a87f7097a41d9af64b89db5dbc6d22e570d6e99d779181900360600190a1505050505050565b60025464010000000090046001600160a01b0316156105c057604051636557fd5f60e11b815260040160405180910390fd5b6002805462010000600160c01b0319166201000061ffff8516908102640100000000600160c01b031916919091176401000000006001600160a01b038516908102919091179092556040805191825260208201929092527f35070cf5f0a4b65187912653f3035c83120725ea3e4523c8c26af4d834ae4df6910160405180910390a15050565b60025460405163c23ee3c360e01b81526201000090910461ffff16600482015260248101829052620186a060448201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063c23ee3c3906064016040805180830381865afa1580156106c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106ed91906108ed565b5092915050565b60006008826040516020016107099190610911565b60408051601f198184030181529190528051602090910120901c92915050565b80356001600160a01b038116811461074057600080fd5b919050565b600080600080610160858703121561075c57600080fd5b61076585610729565b93506020850135925060408501359150610160850186101561078657600080fd5b509194909350909160600190565b6000602082840312156107a657600080fd5b6107af82610729565b9392505050565b600080604083850312156107c957600080fd5b823561ffff811681146107db57600080fd5b91506107e960208401610729565b90509250929050565b60006020828403121561080457600080fd5b5035919050565b60006101a0820190508782528660208301528560408301528460608301528360808301526101008360a0840137979650505050505050565b60005b8381101561085e578181015183820152602001610846565b50506000910152565b61ffff8616815260018060a01b038516602082015260a06040820152600084518060a084015261089e8160c0850160208901610843565b606083019490945250608081019190915260c0601f909201601f191601019392505050565b6000602082840312156108d557600080fd5b815167ffffffffffffffff811681146107af57600080fd5b6000806040838503121561090057600080fd5b505080516020909101519092909150565b60008251610923818460208701610843565b919091019291505056fea2646970667358221220b65a98238f6866ad8ed699d48223102fdb1b9c627f9c3fabf5598a904460f4f364736f6c634300081b003300000000000000000000000057f928158c3ee7cdad1e4d8642503c4d0201f61100000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000010000000000000000000000000027428dd2d3dd32a4d7f7c497eaaa23130d894911000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000246170705f39663363336334363764626662376336313636373162316230376333663232310000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000067665726966790000000000000000000000000000000000000000000000000000", + "nonce": "0x4", "chainId": "0xa" }, "additionalContracts": [], @@ -26,31 +28,31 @@ "receipts": [ { "status": "0x1", - "cumulativeGasUsed": "0x8090dc", + "cumulativeGasUsed": "0x307d5d", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x0", - "transactionHash": "0x291121e3df556b3d4117a37c775acd6b18f2bbb5adc2b0eec0468bf1ca6c252c", - "transactionIndex": "0x10", - "blockHash": "0xac065f11e34a6d04475fd8a9b7606271226afa5b496a4590d7aeda6147a40f35", - "blockNumber": "0x77442a5", - "gasUsed": "0x444ce", - "effectiveGasPrice": "0x46541b", + "transactionHash": "0x016fc69c527949c9839c4356a9153f52942e1cb1aea9fe24ec7ad21d50272058", + "transactionIndex": "0x9", + "blockHash": "0x9e691fc72c156d2b60ff95020be0a2b633059f2a383c8bf7b5309d785fa8530f", + "blockNumber": "0x774794a", + "gasUsed": "0x94776", + "effectiveGasPrice": "0x1b3ba3", "from": "0x09abfabaf4b2071759bc1a432b6f4c62ca4d4736", "to": null, - "contractAddress": "0xeb98b67d22c2b105891a20f337bf2b185a8ceee8", + "contractAddress": "0x859a661a05c3f2fbec2f08a9d2656f0092b3ce7a", "l1BaseFeeScalar": "0x146b", "l1BlobBaseFee": "0x1", "l1BlobBaseFeeScalar": "0xf79c5", - "l1Fee": "0x2b71de316d", - "l1GasPrice": "0x72f1d24f", - "l1GasUsed": "0x484f" + "l1Fee": "0x35c1075661", + "l1GasPrice": "0x51dabd48", + "l1GasUsed": "0x7da2" } ], "libraries": [], "pending": [], "returns": {}, - "timestamp": 1725718281, + "timestamp": 1725746260, "chain": 10, - "commit": "80efa1e" + "commit": "dfbe23a" } \ No newline at end of file diff --git a/packages/foundry/broadcast/Deploy.s.sol/42161/run-1725746272.json b/packages/foundry/broadcast/Deploy.s.sol/42161/run-1725746272.json new file mode 100644 index 0000000..cefa57f --- /dev/null +++ b/packages/foundry/broadcast/Deploy.s.sol/42161/run-1725746272.json @@ -0,0 +1,50 @@ +{ + "transactions": [ + { + "hash": "0x06404efababe29b5ae969feb9b8c620dd105285de92e169de0d4df0adb3d6bba", + "transactionType": "CREATE", + "contractName": "FairDropSatellite", + "contractAddress": "0xeb98b67d22c2b105891a20f337bf2b185a8ceee8", + "function": null, + "arguments": [ + "42161" + ], + "transaction": { + "from": "0x09abfabaf4b2071759bc1a432b6f4c62ca4d4736", + "gas": "0xc2047", + "value": "0x0", + "input": "0x6080604052348015600f57600080fd5b50604051610845380380610845833981016040819052602c916046565b6000805461ffff191661ffff92909216919091179055606f565b600060208284031215605757600080fd5b815161ffff81168114606857600080fd5b9392505050565b6107c78061007e6000396000f3fe6080604052600436106100865760003560e01c8063aad2406111610059578063aad2406114610128578063b9209e3314610168578063e35fe366146101a1578063ff6c0b7a146101d1578063fffb1f86146101f257600080fd5b80630f54cdb61461008b57806318bdffbb146100b8578063529dca32146100f85780639a8a05921461010d575b600080fd5b34801561009757600080fd5b506100a0600a81565b60405161ffff90911681526020015b60405180910390f35b3480156100c457600080fd5b506000546100e09064010000000090046001600160a01b031681565b6040516001600160a01b0390911681526020016100af565b61010b6101063660046105b6565b610212565b005b34801561011957600080fd5b506000546100a09061ffff1681565b34801561013457600080fd5b506101586101433660046106d7565b60026020526000908152604090205460ff1681565b60405190151581526020016100af565b34801561017457600080fd5b50610158610183366004610708565b6001600160a01b031660009081526001602052604090205460ff1690565b3480156101ad57600080fd5b506101586101bc366004610708565b60016020526000908152604090205460ff1681565b3480156101dd57600080fd5b506000546100a09062010000900461ffff1681565b3480156101fe57600080fd5b5061010b61020d36600461072c565b610430565b60005464010000000090046001600160a01b031661026a5760405162461bcd60e51b815260206004820152601060248201526f15995c9a599a595c881b9bdd081cd95d60821b60448201526064015b60405180910390fd5b60005483906001600160a01b0380831664010000000090920416146102d15760405162461bcd60e51b815260206004820152601860248201527f496e76616c6964207665726966696572206164647265737300000000000000006044820152606401610261565b61ffff8316600a1461033f5760405162461bcd60e51b815260206004820152603160248201527f496e76616c696420766572696669657220636861696e2049442c206e6565642060448201527013dc1d1a5b5a5cdb4818da185a5b881251607a1b6064820152608401610261565b600080878060200190518101906103569190610763565b600081815260026020526040902054919350915060ff16156103a95760405162461bcd60e51b815260206004820152600c60248201526b537962696c20416c6572742160a01b6044820152606401610261565b6001600160a01b0382166000818152600160208181526040808420805460ff199081168517909155868552600283529381902080549094169092179092558051428152918201929092529081018290527f6f49d75ec5f2e6df3ff9b23161ef348bcdf7743c2c5cea5b96d843412ee0c79a9060600160405180910390a15050505050505050565b60005464010000000090046001600160a01b03161561046257604051638952a34360e01b815260040160405180910390fd5b6000805462010000600160c01b0319166201000061ffff8516908102640100000000600160c01b031916919091176401000000006001600160a01b038516908102919091179092556040805191825260208201929092527fb7a0861155660d9f885c5ab0f386fdf0f2fcdaa3ed3b1654d5100e7428dbdc28910160405180910390a15050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610527576105276104e8565b604052919050565b600082601f83011261054057600080fd5b813567ffffffffffffffff81111561055a5761055a6104e8565b61056d601f8201601f19166020016104fe565b81815284602083860101111561058257600080fd5b816020850160208301376000918101602001919091529392505050565b803561ffff811681146105b157600080fd5b919050565b600080600080600060a086880312156105ce57600080fd5b853567ffffffffffffffff8111156105e557600080fd5b6105f18882890161052f565b955050602086013567ffffffffffffffff81111561060e57600080fd5b8601601f8101881361061f57600080fd5b803567ffffffffffffffff811115610639576106396104e8565b8060051b610649602082016104fe565b9182526020818401810192908101908b84111561066557600080fd5b6020850192505b838310156106ac57823567ffffffffffffffff81111561068b57600080fd5b61069a8d60208389010161052f565b8352506020928301929091019061066c565b9750505050604087013593506106c690506060870161059f565b949793965091946080013592915050565b6000602082840312156106e957600080fd5b5035919050565b6001600160a01b038116811461070557600080fd5b50565b60006020828403121561071a57600080fd5b8135610725816106f0565b9392505050565b6000806040838503121561073f57600080fd5b6107488361059f565b91506020830135610758816106f0565b809150509250929050565b6000806040838503121561077657600080fd5b8251610781816106f0565b602093909301519294929350505056fea264697066735822122002e7b65b7f0f10e7a2c28d072eb5994275c464920fb5533effb4eab0c3b37dbd64736f6c634300081b0033000000000000000000000000000000000000000000000000000000000000a4b1", + "nonce": "0x1", + "chainId": "0xa4b1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x11d06a", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "transactionHash": "0x06404efababe29b5ae969feb9b8c620dd105285de92e169de0d4df0adb3d6bba", + "transactionIndex": "0x5", + "blockHash": "0xd0cd7db660f91d56672cb07b8206f734013b1b6ad8bff1d7d8622d2e0a4638b1", + "blockNumber": "0xef86861", + "gasUsed": "0x90e5c", + "effectiveGasPrice": "0x989680", + "from": "0x09abfabaf4b2071759bc1a432b6f4c62ca4d4736", + "to": null, + "contractAddress": "0xeb98b67d22c2b105891a20f337bf2b185a8ceee8", + "gasUsedForL1": "0x152c3", + "l1BlockNumber": "0x13be179" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1725746272, + "chain": 42161, + "commit": "dfbe23a" +} \ No newline at end of file diff --git a/packages/foundry/broadcast/Deploy.s.sol/42161/run-latest.json b/packages/foundry/broadcast/Deploy.s.sol/42161/run-latest.json new file mode 100644 index 0000000..cefa57f --- /dev/null +++ b/packages/foundry/broadcast/Deploy.s.sol/42161/run-latest.json @@ -0,0 +1,50 @@ +{ + "transactions": [ + { + "hash": "0x06404efababe29b5ae969feb9b8c620dd105285de92e169de0d4df0adb3d6bba", + "transactionType": "CREATE", + "contractName": "FairDropSatellite", + "contractAddress": "0xeb98b67d22c2b105891a20f337bf2b185a8ceee8", + "function": null, + "arguments": [ + "42161" + ], + "transaction": { + "from": "0x09abfabaf4b2071759bc1a432b6f4c62ca4d4736", + "gas": "0xc2047", + "value": "0x0", + "input": "0x6080604052348015600f57600080fd5b50604051610845380380610845833981016040819052602c916046565b6000805461ffff191661ffff92909216919091179055606f565b600060208284031215605757600080fd5b815161ffff81168114606857600080fd5b9392505050565b6107c78061007e6000396000f3fe6080604052600436106100865760003560e01c8063aad2406111610059578063aad2406114610128578063b9209e3314610168578063e35fe366146101a1578063ff6c0b7a146101d1578063fffb1f86146101f257600080fd5b80630f54cdb61461008b57806318bdffbb146100b8578063529dca32146100f85780639a8a05921461010d575b600080fd5b34801561009757600080fd5b506100a0600a81565b60405161ffff90911681526020015b60405180910390f35b3480156100c457600080fd5b506000546100e09064010000000090046001600160a01b031681565b6040516001600160a01b0390911681526020016100af565b61010b6101063660046105b6565b610212565b005b34801561011957600080fd5b506000546100a09061ffff1681565b34801561013457600080fd5b506101586101433660046106d7565b60026020526000908152604090205460ff1681565b60405190151581526020016100af565b34801561017457600080fd5b50610158610183366004610708565b6001600160a01b031660009081526001602052604090205460ff1690565b3480156101ad57600080fd5b506101586101bc366004610708565b60016020526000908152604090205460ff1681565b3480156101dd57600080fd5b506000546100a09062010000900461ffff1681565b3480156101fe57600080fd5b5061010b61020d36600461072c565b610430565b60005464010000000090046001600160a01b031661026a5760405162461bcd60e51b815260206004820152601060248201526f15995c9a599a595c881b9bdd081cd95d60821b60448201526064015b60405180910390fd5b60005483906001600160a01b0380831664010000000090920416146102d15760405162461bcd60e51b815260206004820152601860248201527f496e76616c6964207665726966696572206164647265737300000000000000006044820152606401610261565b61ffff8316600a1461033f5760405162461bcd60e51b815260206004820152603160248201527f496e76616c696420766572696669657220636861696e2049442c206e6565642060448201527013dc1d1a5b5a5cdb4818da185a5b881251607a1b6064820152608401610261565b600080878060200190518101906103569190610763565b600081815260026020526040902054919350915060ff16156103a95760405162461bcd60e51b815260206004820152600c60248201526b537962696c20416c6572742160a01b6044820152606401610261565b6001600160a01b0382166000818152600160208181526040808420805460ff199081168517909155868552600283529381902080549094169092179092558051428152918201929092529081018290527f6f49d75ec5f2e6df3ff9b23161ef348bcdf7743c2c5cea5b96d843412ee0c79a9060600160405180910390a15050505050505050565b60005464010000000090046001600160a01b03161561046257604051638952a34360e01b815260040160405180910390fd5b6000805462010000600160c01b0319166201000061ffff8516908102640100000000600160c01b031916919091176401000000006001600160a01b038516908102919091179092556040805191825260208201929092527fb7a0861155660d9f885c5ab0f386fdf0f2fcdaa3ed3b1654d5100e7428dbdc28910160405180910390a15050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610527576105276104e8565b604052919050565b600082601f83011261054057600080fd5b813567ffffffffffffffff81111561055a5761055a6104e8565b61056d601f8201601f19166020016104fe565b81815284602083860101111561058257600080fd5b816020850160208301376000918101602001919091529392505050565b803561ffff811681146105b157600080fd5b919050565b600080600080600060a086880312156105ce57600080fd5b853567ffffffffffffffff8111156105e557600080fd5b6105f18882890161052f565b955050602086013567ffffffffffffffff81111561060e57600080fd5b8601601f8101881361061f57600080fd5b803567ffffffffffffffff811115610639576106396104e8565b8060051b610649602082016104fe565b9182526020818401810192908101908b84111561066557600080fd5b6020850192505b838310156106ac57823567ffffffffffffffff81111561068b57600080fd5b61069a8d60208389010161052f565b8352506020928301929091019061066c565b9750505050604087013593506106c690506060870161059f565b949793965091946080013592915050565b6000602082840312156106e957600080fd5b5035919050565b6001600160a01b038116811461070557600080fd5b50565b60006020828403121561071a57600080fd5b8135610725816106f0565b9392505050565b6000806040838503121561073f57600080fd5b6107488361059f565b91506020830135610758816106f0565b809150509250929050565b6000806040838503121561077657600080fd5b8251610781816106f0565b602093909301519294929350505056fea264697066735822122002e7b65b7f0f10e7a2c28d072eb5994275c464920fb5533effb4eab0c3b37dbd64736f6c634300081b0033000000000000000000000000000000000000000000000000000000000000a4b1", + "nonce": "0x1", + "chainId": "0xa4b1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x11d06a", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "transactionHash": "0x06404efababe29b5ae969feb9b8c620dd105285de92e169de0d4df0adb3d6bba", + "transactionIndex": "0x5", + "blockHash": "0xd0cd7db660f91d56672cb07b8206f734013b1b6ad8bff1d7d8622d2e0a4638b1", + "blockNumber": "0xef86861", + "gasUsed": "0x90e5c", + "effectiveGasPrice": "0x989680", + "from": "0x09abfabaf4b2071759bc1a432b6f4c62ca4d4736", + "to": null, + "contractAddress": "0xeb98b67d22c2b105891a20f337bf2b185a8ceee8", + "gasUsedForL1": "0x152c3", + "l1BlockNumber": "0x13be179" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1725746272, + "chain": 42161, + "commit": "dfbe23a" +} \ No newline at end of file diff --git a/packages/foundry/deploy.sh b/packages/foundry/deploy.sh index 1e2e69e..3bcbf7a 100755 --- a/packages/foundry/deploy.sh +++ b/packages/foundry/deploy.sh @@ -1,11 +1,25 @@ #!/bin/bash + +# Deploy to Optimism forge script script/Deploy.s.sol \ - --rpc-url "https://opt-mainnet.g.alchemy.com/v2/$ALCHEMY_API_KEY" \ + --rpc-url "$OPTIMISM_RPC_URL" \ --broadcast \ --legacy \ --ffi \ --froms $DEPLOYER_ADDRESS \ --private-key $DEPLOYER_PRIVATE_KEY \ - --sender $DEPLOYER_ADDRESS \ - && node scripts-js/generateTsAbis.js + --sender $DEPLOYER_ADDRESS + +# Deploy to Arbitrum +forge script script/Deploy.s.sol \ + --rpc-url "$ARBITRUM_RPC_URL" \ + --broadcast \ + --legacy \ + --ffi \ + --froms $DEPLOYER_ADDRESS \ + --private-key $DEPLOYER_PRIVATE_KEY \ + --sender $DEPLOYER_ADDRESS + +# Generate TypeScript ABIs +node scripts-js/generateTsAbis.js diff --git a/packages/foundry/deployments/10.json b/packages/foundry/deployments/10.json index 34cc346..16dfa5b 100644 --- a/packages/foundry/deployments/10.json +++ b/packages/foundry/deployments/10.json @@ -1,3 +1,4 @@ { + "0x859A661A05C3F2FBec2f08a9D2656F0092b3Ce7a": "FairDrop", "networkName": "Optimism" } \ No newline at end of file diff --git a/packages/foundry/deployments/42161.json b/packages/foundry/deployments/42161.json new file mode 100644 index 0000000..373a15f --- /dev/null +++ b/packages/foundry/deployments/42161.json @@ -0,0 +1,4 @@ +{ + "0xEb98b67D22c2B105891a20f337Bf2b185A8ceee8": "FairDropSatellite", + "networkName": "Arbitrum One" +} \ No newline at end of file diff --git a/packages/foundry/sanity.sh b/packages/foundry/sanity.sh new file mode 100755 index 0000000..5662b29 --- /dev/null +++ b/packages/foundry/sanity.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +# Ensure environment variables are set +if [ -z "$OPTIMISM_RPC_URL" ] || [ -z "$ARBITRUM_RPC_URL" ] || [ -z "$DEPLOYER_PRIVATE_KEY" ]; then + echo "Error: Please set OPTIMISM_RPC_URL, ARBITRUM_RPC_URL, and DEPLOYER_PRIVATE_KEY environment variables." + exit 1 +fi + +# Run the Sanity script +forge script script/Sanity.s.sol \ + --ffi \ + --private-key $DEPLOYER_PRIVATE_KEY diff --git a/packages/foundry/script/Sanity.s.sol b/packages/foundry/script/Sanity.s.sol new file mode 100644 index 0000000..b923e90 --- /dev/null +++ b/packages/foundry/script/Sanity.s.sol @@ -0,0 +1,59 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.19; + +import "forge-std/Script.sol"; +import "../contracts/FairDrop.sol"; + +contract Sanity is Script { + function run() external { + uint256 deployerPrivateKey = vm.envUint("DEPLOYER_PRIVATE_KEY"); + address deployerAddress = vm.addr(deployerPrivateKey); + + console.log("Deployment Information:"); + console.log("------------------------"); + console.log("Deployer Address:", deployerAddress); + + // Check Optimism + vm.selectFork(vm.createFork(vm.envString("OPTIMISM_RPC_URL"))); + uint256 optimismBalance = deployerAddress.balance; + console.log("Optimism Balance:", optimismBalance); + + // Check Arbitrum + vm.selectFork(vm.createFork(vm.envString("ARBITRUM_RPC_URL"))); + uint256 arbitrumBalance = deployerAddress.balance; + console.log("Arbitrum Balance:", arbitrumBalance); + + // Display contract information + console.log("\nContract Information:"); + console.log("------------------------"); + console.log("FairDrop will be deployed on Optimism (Chain ID: 10)"); + console.log( + "FairDropSatellite will be deployed on Arbitrum (Chain ID: 42161)" + ); + + // Display WorldID and Wormhole information + console.log("\nExternal Contracts:"); + console.log("------------------------"); + console.log( + "WorldID (Optimism):", 0x57f928158C3EE7CDad1e4D8642503c4D0201f611 + ); + console.log("Wormhole Relayer:", 0x27428DD2d3DD32A4D7f7C497eAaa23130d894911); + + console.log("\nDeployment Readiness:"); + console.log("------------------------"); + if (optimismBalance > 0 && arbitrumBalance > 0) { + console.log("Deployer has balance on both chains"); + } else { + console.log( + "Warning: Deployer may not have sufficient balance on one or both chains" + ); + } + + console.log("\nNext Steps:"); + console.log( + "1. Ensure you have sufficient ETH on both Optimism and Arbitrum for deployment" + ); + console.log("2. Review the contract parameters and external addresses"); + console.log("3. Run the deployment script when ready"); + } +} diff --git a/packages/nextjs/components/WorldCoinVerification.tsx b/packages/nextjs/components/WorldCoinVerification.tsx index 9e014cb..53a6cad 100644 --- a/packages/nextjs/components/WorldCoinVerification.tsx +++ b/packages/nextjs/components/WorldCoinVerification.tsx @@ -20,7 +20,7 @@ export const WorldCoinVerification = () => { try { const res = await fairDrop( { - functionName: "verifyAndExecute", + functionName: "verifyAndPropagate", args: [address, BigInt(result.merkle_root), BigInt(result.nullifier_hash), unpackedProof], }, { diff --git a/packages/nextjs/contracts/deployedContracts.ts b/packages/nextjs/contracts/deployedContracts.ts index b76b0ac..8cc7cf6 100644 --- a/packages/nextjs/contracts/deployedContracts.ts +++ b/packages/nextjs/contracts/deployedContracts.ts @@ -7,7 +7,7 @@ import { GenericContractsDeclaration } from "~~/utils/scaffold-eth/contract"; const deployedContracts = { 10: { FairDrop: { - address: "0xeb98b67d22c2b105891a20f337bf2b185a8ceee8", + address: "0x859a661a05c3f2fbec2f08a9d2656f0092b3ce7a", abi: [ { type: "constructor", @@ -15,7 +15,7 @@ const deployedContracts = { { name: "_worldId", type: "address", - internalType: "contract IWorldID", + internalType: "address", }, { name: "_appId", @@ -27,9 +27,51 @@ const deployedContracts = { type: "string", internalType: "string", }, + { + name: "_wormholeRelayer", + type: "address", + internalType: "address", + }, + { + name: "_chainId", + type: "uint16", + internalType: "uint16", + }, ], stateMutability: "nonpayable", }, + { + type: "function", + name: "chainId", + inputs: [], + outputs: [ + { + name: "", + type: "uint16", + internalType: "uint16", + }, + ], + stateMutability: "view", + }, + { + type: "function", + name: "getDeliveryQuote", + inputs: [ + { + name: "receiverValue", + type: "uint256", + internalType: "uint256", + }, + ], + outputs: [ + { + name: "cost", + type: "uint256", + internalType: "uint256", + }, + ], + stateMutability: "view", + }, { type: "function", name: "isVerified", @@ -51,7 +93,70 @@ const deployedContracts = { }, { type: "function", - name: "verifyAndExecute", + name: "receiverAddress", + inputs: [], + outputs: [ + { + name: "", + type: "address", + internalType: "address", + }, + ], + stateMutability: "view", + }, + { + type: "function", + name: "receiverChainId", + inputs: [], + outputs: [ + { + name: "", + type: "uint16", + internalType: "uint16", + }, + ], + stateMutability: "view", + }, + { + type: "function", + name: "setReceiver", + inputs: [ + { + name: "_receiverChainId", + type: "uint16", + internalType: "uint16", + }, + { + name: "_receiverAddress", + type: "address", + internalType: "address", + }, + ], + outputs: [], + stateMutability: "nonpayable", + }, + { + type: "function", + name: "verified", + inputs: [ + { + name: "", + type: "address", + internalType: "address", + }, + ], + outputs: [ + { + name: "", + type: "bool", + internalType: "bool", + }, + ], + stateMutability: "view", + }, + { + type: "function", + name: "verifyAndPropagate", inputs: [ { name: "signal", @@ -75,7 +180,7 @@ const deployedContracts = { }, ], outputs: [], - stateMutability: "nonpayable", + stateMutability: "payable", }, { type: "function", @@ -90,6 +195,63 @@ const deployedContracts = { ], stateMutability: "view", }, + { + type: "function", + name: "wormholeRelayer", + inputs: [], + outputs: [ + { + name: "", + type: "address", + internalType: "contract IWormholeRelayer", + }, + ], + stateMutability: "view", + }, + { + type: "event", + name: "ReceiverSet", + inputs: [ + { + name: "chainId", + type: "uint16", + indexed: false, + internalType: "uint16", + }, + { + name: "receiverAddress", + type: "address", + indexed: false, + internalType: "address", + }, + ], + anonymous: false, + }, + { + type: "event", + name: "SentForDelivery", + inputs: [ + { + name: "timestamp", + type: "uint256", + indexed: false, + internalType: "uint256", + }, + { + name: "deliveryQuote", + type: "uint256", + indexed: false, + internalType: "uint256", + }, + { + name: "payloadLength", + type: "uint256", + indexed: false, + internalType: "uint256", + }, + ], + anonymous: false, + }, { type: "event", name: "Verified", @@ -114,8 +276,15 @@ const deployedContracts = { }, ], }, + { + type: "error", + name: "ReceiverAlreadySet", + inputs: [], + }, ], - inheritedFunctions: {}, + inheritedFunctions: { + receiveWormholeMessages: "lib/wormhole-solidity-sdk/src/interfaces/IWormholeReceiver.sol", + }, }, }, 31337: { @@ -128,7 +297,7 @@ const deployedContracts = { { name: "_worldId", type: "address", - internalType: "contract IWorldID", + internalType: "address", }, { name: "_appId", @@ -140,9 +309,51 @@ const deployedContracts = { type: "string", internalType: "string", }, + { + name: "_wormholeRelayer", + type: "address", + internalType: "address", + }, + { + name: "_chainId", + type: "uint16", + internalType: "uint16", + }, ], stateMutability: "nonpayable", }, + { + type: "function", + name: "chainId", + inputs: [], + outputs: [ + { + name: "", + type: "uint16", + internalType: "uint16", + }, + ], + stateMutability: "view", + }, + { + type: "function", + name: "getDeliveryQuote", + inputs: [ + { + name: "receiverValue", + type: "uint256", + internalType: "uint256", + }, + ], + outputs: [ + { + name: "cost", + type: "uint256", + internalType: "uint256", + }, + ], + stateMutability: "view", + }, { type: "function", name: "isVerified", @@ -164,7 +375,70 @@ const deployedContracts = { }, { type: "function", - name: "verifyAndExecute", + name: "receiverAddress", + inputs: [], + outputs: [ + { + name: "", + type: "address", + internalType: "address", + }, + ], + stateMutability: "view", + }, + { + type: "function", + name: "receiverChainId", + inputs: [], + outputs: [ + { + name: "", + type: "uint16", + internalType: "uint16", + }, + ], + stateMutability: "view", + }, + { + type: "function", + name: "setReceiver", + inputs: [ + { + name: "_receiverChainId", + type: "uint16", + internalType: "uint16", + }, + { + name: "_receiverAddress", + type: "address", + internalType: "address", + }, + ], + outputs: [], + stateMutability: "nonpayable", + }, + { + type: "function", + name: "verified", + inputs: [ + { + name: "", + type: "address", + internalType: "address", + }, + ], + outputs: [ + { + name: "", + type: "bool", + internalType: "bool", + }, + ], + stateMutability: "view", + }, + { + type: "function", + name: "verifyAndPropagate", inputs: [ { name: "signal", @@ -188,7 +462,7 @@ const deployedContracts = { }, ], outputs: [], - stateMutability: "nonpayable", + stateMutability: "payable", }, { type: "function", @@ -203,6 +477,63 @@ const deployedContracts = { ], stateMutability: "view", }, + { + type: "function", + name: "wormholeRelayer", + inputs: [], + outputs: [ + { + name: "", + type: "address", + internalType: "contract IWormholeRelayer", + }, + ], + stateMutability: "view", + }, + { + type: "event", + name: "ReceiverSet", + inputs: [ + { + name: "chainId", + type: "uint16", + indexed: false, + internalType: "uint16", + }, + { + name: "receiverAddress", + type: "address", + indexed: false, + internalType: "address", + }, + ], + anonymous: false, + }, + { + type: "event", + name: "SentForDelivery", + inputs: [ + { + name: "timestamp", + type: "uint256", + indexed: false, + internalType: "uint256", + }, + { + name: "deliveryQuote", + type: "uint256", + indexed: false, + internalType: "uint256", + }, + { + name: "payloadLength", + type: "uint256", + indexed: false, + internalType: "uint256", + }, + ], + anonymous: false, + }, { type: "event", name: "Verified", @@ -227,8 +558,245 @@ const deployedContracts = { }, ], }, + { + type: "error", + name: "ReceiverAlreadySet", + inputs: [], + }, + ], + inheritedFunctions: { + receiveWormholeMessages: "lib/wormhole-solidity-sdk/src/interfaces/IWormholeReceiver.sol", + }, + }, + }, + 42161: { + FairDropSatellite: { + address: "0xeb98b67d22c2b105891a20f337bf2b185a8ceee8", + abi: [ + { + type: "constructor", + inputs: [ + { + name: "_chainId", + type: "uint16", + internalType: "uint16", + }, + ], + stateMutability: "nonpayable", + }, + { + type: "function", + name: "OPTIMISM_CHAIN_ID", + inputs: [], + outputs: [ + { + name: "", + type: "uint16", + internalType: "uint16", + }, + ], + stateMutability: "view", + }, + { + type: "function", + name: "chainId", + inputs: [], + outputs: [ + { + name: "", + type: "uint16", + internalType: "uint16", + }, + ], + stateMutability: "view", + }, + { + type: "function", + name: "isVerified", + inputs: [ + { + name: "user", + type: "address", + internalType: "address", + }, + ], + outputs: [ + { + name: "", + type: "bool", + internalType: "bool", + }, + ], + stateMutability: "view", + }, + { + type: "function", + name: "receiveWormholeMessages", + inputs: [ + { + name: "payload", + type: "bytes", + internalType: "bytes", + }, + { + name: "", + type: "bytes[]", + internalType: "bytes[]", + }, + { + name: "sourceAddress", + type: "bytes32", + internalType: "bytes32", + }, + { + name: "sourceChain", + type: "uint16", + internalType: "uint16", + }, + { + name: "", + type: "bytes32", + internalType: "bytes32", + }, + ], + outputs: [], + stateMutability: "payable", + }, + { + type: "function", + name: "setVerifier", + inputs: [ + { + name: "_verifierChainId", + type: "uint16", + internalType: "uint16", + }, + { + name: "_verifierAddress", + type: "address", + internalType: "address", + }, + ], + outputs: [], + stateMutability: "nonpayable", + }, + { + type: "function", + name: "usedNullifiers", + inputs: [ + { + name: "", + type: "uint256", + internalType: "uint256", + }, + ], + outputs: [ + { + name: "", + type: "bool", + internalType: "bool", + }, + ], + stateMutability: "view", + }, + { + type: "function", + name: "verifiedUsers", + inputs: [ + { + name: "", + type: "address", + internalType: "address", + }, + ], + outputs: [ + { + name: "", + type: "bool", + internalType: "bool", + }, + ], + stateMutability: "view", + }, + { + type: "function", + name: "verifierAddress", + inputs: [], + outputs: [ + { + name: "", + type: "address", + internalType: "address", + }, + ], + stateMutability: "view", + }, + { + type: "function", + name: "verifierChainId", + inputs: [], + outputs: [ + { + name: "", + type: "uint16", + internalType: "uint16", + }, + ], + stateMutability: "view", + }, + { + type: "event", + name: "VerificationPropagated", + inputs: [ + { + name: "timestamp", + type: "uint256", + indexed: false, + internalType: "uint256", + }, + { + name: "user", + type: "address", + indexed: false, + internalType: "address", + }, + { + name: "nullifierHash", + type: "uint256", + indexed: false, + internalType: "uint256", + }, + ], + anonymous: false, + }, + { + type: "event", + name: "VerifierSet", + inputs: [ + { + name: "chainId", + type: "uint16", + indexed: false, + internalType: "uint16", + }, + { + name: "verifierAddress", + type: "address", + indexed: false, + internalType: "address", + }, + ], + anonymous: false, + }, + { + type: "error", + name: "VerifierAlreadySet", + inputs: [], + }, ], - inheritedFunctions: {}, + inheritedFunctions: { + receiveWormholeMessages: "lib/wormhole-solidity-sdk/src/interfaces/IWormholeReceiver.sol", + }, }, }, } as const;