diff --git a/solidity/.gitignore b/solidity/.gitignore index 2f935bac..8d06f635 100644 --- a/solidity/.gitignore +++ b/solidity/.gitignore @@ -5,9 +5,10 @@ cache/ out/ # Ignores development broadcast logs -!/broadcast -/broadcast/*/31337/ -/broadcast/**/dry-run/ + +/broadcast/**/dry-run +/broadcast/**/*.json +!/broadcast/**/*-latest.json # Docs docs/ diff --git a/solidity/broadcast/Adapter.s.sol/11155111/swap-latest.json b/solidity/broadcast/Adapter.s.sol/11155111/swap-latest.json new file mode 100644 index 00000000..15ddfba4 --- /dev/null +++ b/solidity/broadcast/Adapter.s.sol/11155111/swap-latest.json @@ -0,0 +1,156 @@ +{ + "transactions": [ + { + "hash": "0x9b3b567ec90fc3a263f1784f57f942ac52ab4e609c23ba794de944fc1b512d34", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x87415715056da7a5eb1a30e53c4f4d20b44db71d", + "function": "swap(address,uint256,uint256,string,bytes)", + "arguments": [ + "0xF6652f1dB7a7b48d9A6c515Ad759C0464E16559c", + "100000000000000000", + "56", + "\"0xADA2de876567a06eD79b0B29ae6aB2e142129E51\"", + "0x" + ], + "transaction": { + "from": "0xada2de876567a06ed79b0b29ae6ab2e142129e51", + "to": "0x87415715056da7a5eb1a30e53c4f4d20b44db71d", + "gas": "0x44b66", + "value": "0x0", + "input": "0xe4b81541000000000000000000000000f6652f1db7a7b48d9a6c515ad759c0464e16559c000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000000000000000003800000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000002a307841444132646538373635363761303665443739623042323961653661423265313432313239453531000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x23", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x659262", + "logs": [ + { + "address": "0xf6652f1db7a7b48d9a6c515ad759c0464e16559c", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000ada2de876567a06ed79b0b29ae6ab2e142129e51", + "0x00000000000000000000000087415715056da7a5eb1a30e53c4f4d20b44db71d" + ], + "data": "0x000000000000000000000000000000000000000000000000016345785d8a0000", + "blockHash": "0x658d5ae6a577714c7507e7b5911d26429280d6a0922a2be3f4502d577985527a", + "blockNumber": "0x610ff6", + "transactionHash": "0x9b3b567ec90fc3a263f1784f57f942ac52ab4e609c23ba794de944fc1b512d34", + "transactionIndex": "0x38", + "logIndex": "0x51", + "removed": false + }, + { + "address": "0xf6652f1db7a7b48d9a6c515ad759c0464e16559c", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x00000000000000000000000087415715056da7a5eb1a30e53c4f4d20b44db71d", + "0x000000000000000000000000b4888613f7bd5a5f91c190a1d305f23c6317b9d3" + ], + "data": "0x000000000000000000000000000000000000000000000000016345785d8a0000", + "blockHash": "0x658d5ae6a577714c7507e7b5911d26429280d6a0922a2be3f4502d577985527a", + "blockNumber": "0x610ff6", + "transactionHash": "0x9b3b567ec90fc3a263f1784f57f942ac52ab4e609c23ba794de944fc1b512d34", + "transactionIndex": "0x38", + "logIndex": "0x52", + "removed": false + }, + { + "address": "0xf6652f1db7a7b48d9a6c515ad759c0464e16559c", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000087415715056da7a5eb1a30e53c4f4d20b44db71d", + "0x000000000000000000000000b4888613f7bd5a5f91c190a1d305f23c6317b9d3" + ], + "data": "0x000000000000000000000000000000000000000000000000016345785d8a0000", + "blockHash": "0x658d5ae6a577714c7507e7b5911d26429280d6a0922a2be3f4502d577985527a", + "blockNumber": "0x610ff6", + "transactionHash": "0x9b3b567ec90fc3a263f1784f57f942ac52ab4e609c23ba794de944fc1b512d34", + "transactionIndex": "0x38", + "logIndex": "0x53", + "removed": false + }, + { + "address": "0xab4142adbf12c4403012d413945be641e12237b5", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x00000000000000000000000087415715056da7a5eb1a30e53c4f4d20b44db71d" + ], + "data": "0x000000000000000000000000000000000000000000000000016345785d8a0000", + "blockHash": "0x658d5ae6a577714c7507e7b5911d26429280d6a0922a2be3f4502d577985527a", + "blockNumber": "0x610ff6", + "transactionHash": "0x9b3b567ec90fc3a263f1784f57f942ac52ab4e609c23ba794de944fc1b512d34", + "transactionIndex": "0x38", + "logIndex": "0x54", + "removed": false + }, + { + "address": "0xb4888613f7bd5a5f91c190a1d305f23c6317b9d3", + "topics": [ + "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c" + ], + "data": "0x00000000000000000000000087415715056da7a5eb1a30e53c4f4d20b44db71d000000000000000000000000000000000000000000000000016345785d8a0000", + "blockHash": "0x658d5ae6a577714c7507e7b5911d26429280d6a0922a2be3f4502d577985527a", + "blockNumber": "0x610ff6", + "transactionHash": "0x9b3b567ec90fc3a263f1784f57f942ac52ab4e609c23ba794de944fc1b512d34", + "transactionIndex": "0x38", + "logIndex": "0x55", + "removed": false + }, + { + "address": "0xab4142adbf12c4403012d413945be641e12237b5", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x00000000000000000000000087415715056da7a5eb1a30e53c4f4d20b44db71d", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x000000000000000000000000000000000000000000000000016345785d8a0000", + "blockHash": "0x658d5ae6a577714c7507e7b5911d26429280d6a0922a2be3f4502d577985527a", + "blockNumber": "0x610ff6", + "transactionHash": "0x9b3b567ec90fc3a263f1784f57f942ac52ab4e609c23ba794de944fc1b512d34", + "transactionIndex": "0x38", + "logIndex": "0x56", + "removed": false + }, + { + "address": "0x87415715056da7a5eb1a30e53c4f4d20b44db71d", + "topics": [ + "0x9b706941b48091a1c675b439064f40b9d43c577d9c7134cce93179b9b0bf2a52", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000ea0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f6652f1db7a7b48d9a6c515ad759c0464e16559c0000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000ada2de876567a06ed79b0b29ae6ab2e142129e51000000000000000000000000000000000000000000000000000000000000002a30784144413264653837363536376130366544373962304232396165366142326531343231323945353100000000000000000000000000000000000000000000", + "blockHash": "0x658d5ae6a577714c7507e7b5911d26429280d6a0922a2be3f4502d577985527a", + "blockNumber": "0x610ff6", + "transactionHash": "0x9b3b567ec90fc3a263f1784f57f942ac52ab4e609c23ba794de944fc1b512d34", + "transactionIndex": "0x38", + "logIndex": "0x57", + "removed": false + } + ], + "logsBloom": "0x01000000001000000000008000000000000008000000000000000200000000000000000000000000000000000008000000000000000000000000000010224000000000000000000000000008000000000000000000000000000000008000000000000000020000000000000000100800000000000000000000000010002000000000000000003000000000000800000000000001400000000800000000000000020000000000000000400000000000002800000000000000000000000000000200000002000000000000000000000000000000000000000800000000000020002010080000000000000000000800000000000000000000400000000000000000", + "type": "0x2", + "transactionHash": "0x9b3b567ec90fc3a263f1784f57f942ac52ab4e609c23ba794de944fc1b512d34", + "transactionIndex": "0x38", + "blockHash": "0x658d5ae6a577714c7507e7b5911d26429280d6a0922a2be3f4502d577985527a", + "blockNumber": "0x610ff6", + "gasUsed": "0x2efba", + "effectiveGasPrice": "0x5c2382221", + "from": "0xada2de876567a06ed79b0b29ae6ab2e142129e51", + "to": "0x87415715056da7a5eb1a30e53c4f4d20b44db71d", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1721725469, + "chain": 11155111, + "commit": "459acd0" +} \ No newline at end of file diff --git a/solidity/broadcast/Deploy.sol/11155111/run-latest.json b/solidity/broadcast/Deploy.sol/11155111/run-latest.json new file mode 100644 index 00000000..b04d6dc8 --- /dev/null +++ b/solidity/broadcast/Deploy.sol/11155111/run-latest.json @@ -0,0 +1,358 @@ +{ + "transactions": [ + { + "hash": "0xc3ae2beb7212b20883d3ea65602debebbe648f9f11dd4fa3a5172b19d64ad25a", + "transactionType": "CREATE", + "contractName": "XERC20Registry", + "contractAddress": "0x2ebc8a27ece2203c9d413a5c655fac7fb7d83262", + "function": null, + "arguments": null, + "transaction": { + "from": "0xada2de876567a06ed79b0b29ae6ab2e142129e51", + "gas": "0xc4f07", + "value": "0x0", + "input": "0x6080604052348015600e575f80fd5b5060175f33601c565b5060c2565b5f828152602081815260408083206001600160a01b038516845290915281205460ff1660b9575f838152602081815260408083206001600160a01b03861684529091529020805460ff1916600117905560723390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a450600160bc565b505f5b92915050565b6109c0806100cf5f395ff3fe608060405234801561000f575f80fd5b50600436106100e5575f3560e01c806373255e66116100885780639de567f0116100635780639de567f014610241578063a217fddf14610254578063d547741f1461025b578063f68e95531461026e575f80fd5b806373255e6614610208578063742978da1461021b57806391d148541461022e575f80fd5b80632b1de544116100c35780632b1de544146101565780632f2ff15d1461019657806336568abe146101a95780635a374b69146101bc575f80fd5b806301ffc9a7146100e95780630fbc01a114610111578063248a9ca314610126575b5f80fd5b6100fc6100f73660046108c1565b610295565b60405190151581526020015b60405180910390f35b61012461011f36600461090a565b6102cb565b005b610148610134366004610934565b5f9081526020819052604090206001015490565b604051908152602001610108565b61017e610164366004610934565b60016020525f90815260409020546001600160a01b031681565b6040516001600160a01b039091168152602001610108565b6101246101a436600461090a565b61041b565b6101246101b736600461090a565b610445565b6101eb6101ca36600461094b565b60026020525f9081526040902080546001909101546001600160a01b031682565b604080519283526001600160a01b03909116602083015201610108565b61012461021636600461094b565b61047d565b6101eb61022936600461094b565b6105a5565b6100fc61023c36600461090a565b6106b8565b6101eb61024f366004610934565b6106e0565b6101485f81565b61012461026936600461090a565b61075b565b6101487fd6b769dbdbf190871759edfb79bd17eda0005e1b8c3b6b3f5b480b5604ad501481565b5f6001600160e01b03198216637965db0b60e01b14806102c557506301ffc9a760e01b6001600160e01b03198316145b92915050565b6102f57fd6b769dbdbf190871759edfb79bd17eda0005e1b8c3b6b3f5b480b5604ad5014336106b8565b61032557335b604051637480465760e11b81526001600160a01b0390911660048201526024015b60405180910390fd5b5f828152600160205260409020546001600160a01b03161561037d5760405162461bcd60e51b8152602060048201526011602482015270105b1c9958591e549959da5cdd195c9959607a1b604482015260640161031c565b5f82815260016020818152604080842080546001600160a01b038781166001600160a01b03199283168117909355835180850185528981528086018481528489526002875297859020905181559651969095018054969095169516949094179092558151858152908101929092527f9fae3f3d1266a9a49efc7532fecf31796638f514e9204d3e00ca5f45740441a191015b60405180910390a15050565b5f828152602081905260409020600101546104358161077f565b61043f838361078c565b50505050565b6001600160a01b038116331461046e5760405163334bd91960e11b815260040160405180910390fd5b610478828261081b565b505050565b6104a77fd6b769dbdbf190871759edfb79bd17eda0005e1b8c3b6b3f5b480b5604ad5014336106b8565b6104b157336102fb565b6001600160a01b038082165f9081526002602090815260409182902082518084019093528054835260010154909216918101829052906105235760405162461bcd60e51b815260206004820152600d60248201526c139bdd149959da5cdd195c9959609a1b604482015260640161031c565b80515f90815260016020818152604080842080546001600160a01b031990811690915582860180516001600160a01b039081168752600285528387209687559590940180549091169055845192518151938452909316908201527fe7860272079696782f961197cc3a463b0fbb45425467388f231515c8ba600f98910161040f565b6001600160a01b038082165f9081526002602090815260408083208151808301909252805482526001015490931690830181905290918291158015906105eb5750805115155b156106025780516020909101519094909350915050565b604080516001600160a01b03861660208201525f9160019183910160405160208183030381529060405261063590610964565b815260208082019290925260409081015f908120546001600160a01b0390811680835260028552918390208351808501909452805484526001015416928201839052909350915015610694575080516020909101519094909350915050565b60405163bfc6c33760e01b81526001600160a01b038616600482015260240161031c565b5f918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b5f818152600160208181526040808420546001600160a01b039081168086526002845282862083518085019094528054845290940154169181018290528392916107485760405163bfc6c33760e01b81526001600160a01b038616600482015260240161031c565b8051602090910151909590945092505050565b5f828152602081905260409020600101546107758161077f565b61043f838361081b565b6107898133610884565b50565b5f61079783836106b8565b610814575f838152602081815260408083206001600160a01b03861684529091529020805460ff191660011790556107cc3390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45060016102c5565b505f6102c5565b5f61082683836106b8565b15610814575f838152602081815260408083206001600160a01b0386168085529252808320805460ff1916905551339286917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45060016102c5565b61088e82826106b8565b6108bd5760405163e2517d3f60e01b81526001600160a01b03821660048201526024810183905260440161031c565b5050565b5f602082840312156108d1575f80fd5b81356001600160e01b0319811681146108e8575f80fd5b9392505050565b80356001600160a01b0381168114610905575f80fd5b919050565b5f806040838503121561091b575f80fd5b8235915061092b602084016108ef565b90509250929050565b5f60208284031215610944575f80fd5b5035919050565b5f6020828403121561095b575f80fd5b6108e8826108ef565b80516020808301519190811015610984575f198160200360031b1b821691505b5091905056fea2646970667358221220b4299d4b7a323fd8e5cb67aa1ee9244f61d4c509e7087e932d40416fd25e670064736f6c63430008190033", + "nonce": "0xf", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x5951587331f7a13bbd341a03151db490037ca19cbe5b359f1c75047c4c953e23", + "transactionType": "CREATE", + "contractName": "Adapter", + "contractAddress": "0x87415715056da7a5eb1a30e53c4f4d20b44db71d", + "function": null, + "arguments": ["0x2EbC8A27ECe2203c9d413A5C655FaC7fB7d83262"], + "transaction": { + "from": "0xada2de876567a06ed79b0b29ae6ab2e142129e51", + "gas": "0x1d6b86", + "value": "0x0", + "input": "0x608060405234801561000f575f80fd5b506040516119f73803806119f783398101604081905261002e916100d1565b338061005357604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b61005c81610082565b50600280546001600160a01b0319166001600160a01b03929092169190911790556100fe565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f602082840312156100e1575f80fd5b81516001600160a01b03811681146100f7575f80fd5b9392505050565b6118ec8061010b5f395ff3fe60806040526004361061009a575f3560e01c80638da5cb5b116100625780638da5cb5b1461016f578063b70a0d541461018b578063c4785bf6146101c9578063c83f0cee146101dc578063e4b81541146101ef578063f2fde38b1461020e575f80fd5b80632e7f0b501461009e578063424b6625146100bf578063715018a6146100de5780637b103999146100f257806389702d4b1461012e575b5f80fd5b3480156100a9575f80fd5b506100bd6100b8366004611308565b61022d565b005b3480156100ca575f80fd5b506100bd6100d93660046113fb565b610722565b3480156100e9575f80fd5b506100bd610778565b3480156100fd575f80fd5b50600254610111906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b348015610139575f80fd5b506101617f26d9f1fabb4e0554841202b52d725e2426dda2be4cafcb362eb73f9fb813d60981565b604051908152602001610125565b34801561017a575f80fd5b505f546001600160a01b0316610111565b348015610196575f80fd5b506101b96101a5366004611489565b60036020525f908152604090205460ff1681565b6040519015158152602001610125565b6100bd6101d73660046114a0565b61078b565b6100bd6101ea366004611508565b610993565b3480156101fa575f80fd5b506100bd610209366004611542565b6109b0565b348015610219575f80fd5b506100bd6102283660046115c6565b610c88565b60025460608301516040516309de567f60e41b815260048101919091525f916001600160a01b031690639de567f0906024016040805180830381865afa158015610279573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061029d91906115e1565b6040516333cb8d5960e01b81523060048201529092505f91506001600160a01b038316906333cb8d5990602401602060405180830381865afa1580156102e5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610309919061160f565b604051636dc4607560e11b81529091506001600160a01b0382169063db88c0ea9061033a9087908790600401611713565b6020604051808303815f875af1158015610356573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061037a91906117c5565b610396576040516282b42960e81b815260040160405180910390fd5b5f826001600160a01b0316631e35c99a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103d3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103f7919061160f565b60c08601519091501561063457826001600160a01b0316630ee046296040518163ffffffff1660e01b8152600401602060405180830381865afa158015610440573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061046491906117c5565b156105bd5760c08501516040516340c10f1960e01b815230600482015260248101919091526001600160a01b038416906340c10f19906044015f604051808303815f87803b1580156104b4575f80fd5b505af11580156104c6573d5f803e3d5ffd5b5050505060c085015160405163095ea7b360e01b81526001600160a01b03838116600483015260248201929092529084169063095ea7b3906044016020604051808303815f875af115801561051d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061054191906117c5565b5061010085015160c086015160405163040b850f60e31b81526001600160a01b0384169263205c28789261058b926004016001600160a01b03929092168252602082015260400190565b5f604051808303815f87803b1580156105a2575f80fd5b505af11580156105b4573d5f803e3d5ffd5b50505050610634565b61010085015160c08601516040516340c10f1960e01b81526001600160a01b038616926340c10f1992610606926004016001600160a01b03929092168252602082015260400190565b5f604051808303815f87803b15801561061d575f80fd5b505af115801561062f573d5f803e3d5ffd5b505050505b61012085015151156106f3575f63a31b451d60e01b86610120015160405160240161065f91906117e4565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915290506103e85f6106be825a6106a691906117f6565b6101008a01516001600160a01b0316905f8087610cc5565b509050806106ef576040517f2d4705ea4566ac4e054a7a62a1bd990db337265226fd452861216f9f8d582121905f90a15b5050505b6040517f97088ec3606cfe8cc112180570d03fcde05f9b8e1bfef8e27784eaf5dd5691b6905f90a15050505050565b61077185858585858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920182905250604080516020810190915290815292506109b0915050565b5050505050565b610780610d4b565b6107895f610d77565b565b345f8190036107ad5760405163162908e360e11b815260040160405180910390fd5b6002546040516309de567f60e41b81525f600482018190529182916001600160a01b0390911690639de567f0906024016040805180830381865afa1580156107f7573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061081b91906115e1565b915091505f816001600160a01b0316631e35c99a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561085c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610880919061160f565b90506001600160a01b038116158015906108f75750806001600160a01b031663479d39766040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108d1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108f591906117c5565b155b1561091557604051631115766760e01b815260040160405180910390fd5b6001600160a01b0381161561097c57604051631194830160e31b81523060048201526001600160a01b03821690638ca418089086906024015f604051808303818588803b158015610964575f80fd5b505af1158015610976573d5f803e3d5ffd5b50505050505b61098a8383868a8a8a610dc6565b50505050505050565b6109ac828260405180602001604052805f81525061078b565b5050565b6001600160a01b0385166109e757604051637330680360e01b81526001600160a01b03861660048201526024015b60405180910390fd5b5f8411610a075760405163162908e360e11b815260040160405180910390fd5b600254604051633a14bc6d60e11b81526001600160a01b0387811660048301525f92839291169063742978da906024016040805180830381865afa158015610a51573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a7591906115e1565b915091505f816001600160a01b0316631e35c99a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ab6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ada919061160f565b9050826001600160a01b03821615801590610b505750816001600160a01b031663479d39766040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b2c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b5091906117c5565b15610b6e57604051631115766760e01b815260040160405180910390fd5b610b7a8933308b61100b565b6001600160a01b03821615801590610ba35750806001600160a01b0316896001600160a01b0316145b15610c6f5760405163095ea7b360e01b81526001600160a01b038381166004830152602482018a90528a169063095ea7b3906044016020604051808303815f875af1158015610bf4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c1891906117c5565b5060405163b6b55f2560e01b8152600481018990526001600160a01b0383169063b6b55f25906024015f604051808303815f87803b158015610c58575f80fd5b505af1158015610c6a573d5f803e3d5ffd5b505050505b610c7d84848a8a8a8a610dc6565b505050505050505050565b610c90610d4b565b6001600160a01b038116610cb957604051631e4fbdf760e01b81525f60048201526024016109de565b610cc281610d77565b50565b5f60605f805f8661ffff1667ffffffffffffffff811115610ce857610ce8611207565b6040519080825280601f01601f191660200182016040528015610d12576020820181803683370190505b5090505f808751602089018b8e8ef191503d925086831115610d32578692505b828152825f602083013e90999098509650505050505050565b5f546001600160a01b031633146107895760405163118cdaa760e01b81523360048201526024016109de565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f856001600160a01b031663c762819b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e03573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e27919061160f565b90505f6001600160a01b03821615610f1e57604051634594558f60e11b81526001600160a01b03888116600483015260248201889052831690638b28ab1e90604401602060405180830381865afa158015610e84573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ea89190611815565b60405163095ea7b360e01b81526001600160a01b038481166004830152602482018390529192509088169063095ea7b3906044016020604051808303815f875af1158015610ef8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f1c91906117c5565b505b604051632770a7eb60e21b8152306004820152602481018790526001600160a01b03881690639dc29fac906044015f604051808303815f87803b158015610f63575f80fd5b505af1158015610f75573d5f803e3d5ffd5b505060015460408051602081019091529092507f9b706941b48091a1c675b439064f40b9d43c577d9c7134cce93179b9b0bf2a52915080838c8a610fb9888e6117f6565b8b51604051610fd4959493929133918f908f90602001611843565b60408051601f19818403018152918152915251610ff19190611889565b60405180910390a250506001805481019055505050505050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b17905261106590859061106b565b50505050565b5f61107f6001600160a01b038416836110d1565b905080515f141580156110a35750808060200190518101906110a191906117c5565b155b156110cc57604051635274afe760e01b81526001600160a01b03841660048201526024016109de565b505050565b60606110de83835f6110e7565b90505b92915050565b60608147101561110c5760405163cd78605960e01b81523060048201526024016109de565b5f80856001600160a01b0316848660405161112791906118ab565b5f6040518083038185875af1925050503d805f8114611161576040519150601f19603f3d011682016040523d82523d5f602084013e611166565b606091505b5091509150611176868383611182565b925050505b9392505050565b60608261119757611192826111de565b61117b565b81511580156111ae57506001600160a01b0384163b155b156111d757604051639996b31560e01b81526001600160a01b03851660048201526024016109de565b508061117b565b8051156111ee5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b634e487b7160e01b5f52604160045260245ffd5b604051610140810167ffffffffffffffff8111828210171561123f5761123f611207565b60405290565b6001600160a01b0381168114610cc2575f80fd5b803561126481611245565b919050565b5f82601f830112611278575f80fd5b813567ffffffffffffffff8082111561129357611293611207565b604051601f8301601f19908116603f011681019082821181831017156112bb576112bb611207565b816040528381528660208588010111156112d3575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f60408284031215611302575f80fd5b50919050565b5f8060408385031215611319575f80fd5b823567ffffffffffffffff80821115611330575f80fd5b908401906101408287031215611344575f80fd5b61134c61121b565b823581526020830135602082015260408301356040820152606083013560608201526080830135608082015260a083013560a082015260c083013560c082015260e083013560e08201526101006113a4818501611259565b9082015261012083810135838111156113bb575f80fd5b6113c789828701611269565b8284015250508094505060208501359150808211156113e4575f80fd5b506113f1858286016112f2565b9150509250929050565b5f805f805f6080868803121561140f575f80fd5b853561141a81611245565b94506020860135935060408601359250606086013567ffffffffffffffff80821115611444575f80fd5b818801915088601f830112611457575f80fd5b813581811115611465575f80fd5b896020828501011115611476575f80fd5b9699959850939650602001949392505050565b5f60208284031215611499575f80fd5b5035919050565b5f805f606084860312156114b2575f80fd5b83359250602084013567ffffffffffffffff808211156114d0575f80fd5b6114dc87838801611269565b935060408601359150808211156114f1575f80fd5b506114fe86828701611269565b9150509250925092565b5f8060408385031215611519575f80fd5b82359150602083013567ffffffffffffffff811115611536575f80fd5b6113f185828601611269565b5f805f805f60a08688031215611556575f80fd5b853561156181611245565b94506020860135935060408601359250606086013567ffffffffffffffff8082111561158b575f80fd5b61159789838a01611269565b935060808801359150808211156115ac575f80fd5b506115b988828901611269565b9150509295509295909350565b5f602082840312156115d6575f80fd5b813561117b81611245565b5f80604083850312156115f2575f80fd5b82519150602083015161160481611245565b809150509250929050565b5f6020828403121561161f575f80fd5b815161117b81611245565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b5f808335601e1984360301811261166d575f80fd5b830160208101925035905067ffffffffffffffff81111561168c575f80fd5b80360382131561169a575f80fd5b9250929050565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b5f6116d48283611658565b604085526116e66040860182846116a1565b9150506116f66020840184611658565b85830360208701526117098382846116a1565b9695505050505050565b60408152825160408201526020830151606082015260408301516080820152606083015160a0820152608083015160c082015260a083015160e08201525f60c0840151610100818185015260e086015191506101208281860152818701519250610140915061178c828601846001600160a01b03169052565b86015161016085019190915290506117a861018084018261162a565b905082810360208401526117bc81856116c9565b95945050505050565b5f602082840312156117d5575f80fd5b8151801515811461117b575f80fd5b602081525f6110de602083018461162a565b818103818111156110e157634e487b7160e01b5f52601160045260245ffd5b5f60208284031215611825575f80fd5b5051919050565b5f81518060208401855e5f93019283525090919050565b8881528760208201528660408201528560608201528460808201528360a08201525f61187b61187560c084018661182c565b8461182c565b9a9950505050505050505050565b602081525f82516020808401526118a3604084018261162a565b949350505050565b5f6110de828461182c56fea264697066735822122004e413fc9a51c8a0f4bfba9f39f234799f04b684eca81db65c05f2cb67fc0f6264736f6c634300081900330000000000000000000000002ebc8a27ece2203c9d413a5c655fac7fb7d83262", + "nonce": "0x10", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x880bad3c572a8e008c7061989a7137eb0d4c0a3cd1d3df84c19a00a20b944d2e", + "transactionType": "CREATE", + "contractName": "ERC20Test", + "contractAddress": "0xf6652f1db7a7b48d9a6c515ad759c0464e16559c", + "function": null, + "arguments": ["\"Token A\"", "\"TKN A\"", "1000000000000000000000"], + "transaction": { + "from": "0xada2de876567a06ed79b0b29ae6ab2e142129e51", + "gas": "0xb3e4b", + "value": "0x0", + "input": "0x608060405234801561000f575f80fd5b50604051610b20380380610b2083398101604081905261002e91610262565b8282600361003c838261034d565b506004610049828261034d565b505050600581905561005b3382610063565b505050610431565b6001600160a01b0382166100915760405163ec442f0560e01b81525f60048201526024015b60405180910390fd5b61009c5f83836100a0565b5050565b6001600160a01b0383166100ca578060025f8282546100bf919061040c565b9091555061013a9050565b6001600160a01b0383165f908152602081905260409020548181101561011c5760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401610088565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b03821661015657600280548290039055610174565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516101b991815260200190565b60405180910390a3505050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f8301126101e9575f80fd5b81516001600160401b0380821115610203576102036101c6565b604051601f8301601f19908116603f0116810190828211818310171561022b5761022b6101c6565b81604052838152866020858801011115610243575f80fd5b8360208701602083015e5f602085830101528094505050505092915050565b5f805f60608486031215610274575f80fd5b83516001600160401b038082111561028a575f80fd5b610296878388016101da565b945060208601519150808211156102ab575f80fd5b506102b8868287016101da565b925050604084015190509250925092565b600181811c908216806102dd57607f821691505b6020821081036102fb57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561034857805f5260205f20601f840160051c810160208510156103265750805b601f840160051c820191505b81811015610345575f8155600101610332565b50505b505050565b81516001600160401b03811115610366576103666101c6565b61037a8161037484546102c9565b84610301565b602080601f8311600181146103ad575f84156103965750858301515b5f19600386901b1c1916600185901b178555610404565b5f85815260208120601f198616915b828110156103db578886015182559484019460019091019084016103bc565b50858210156103f857878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b8082018082111561042b57634e487b7160e01b5f52601160045260245ffd5b92915050565b6106e28061043e5f395ff3fe608060405234801561000f575f80fd5b5060043610610090575f3560e01c8063313ce56711610063578063313ce567146100fa57806370a082311461010957806395d89b4114610131578063a9059cbb14610139578063dd62ed3e1461014c575f80fd5b806306fdde0314610094578063095ea7b3146100b257806318160ddd146100d557806323b872dd146100e7575b5f80fd5b61009c610184565b6040516100a99190610553565b60405180910390f35b6100c56100c03660046105a3565b610214565b60405190151581526020016100a9565b6002545b6040519081526020016100a9565b6100c56100f53660046105cb565b61022d565b604051601281526020016100a9565b6100d9610117366004610604565b6001600160a01b03165f9081526020819052604090205490565b61009c610250565b6100c56101473660046105a3565b61025f565b6100d961015a366004610624565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b60606003805461019390610655565b80601f01602080910402602001604051908101604052809291908181526020018280546101bf90610655565b801561020a5780601f106101e15761010080835404028352916020019161020a565b820191905f5260205f20905b8154815290600101906020018083116101ed57829003601f168201915b5050505050905090565b5f3361022181858561026c565b60019150505b92915050565b5f3361023a85828561027e565b6102458585856102fe565b506001949350505050565b60606004805461019390610655565b5f336102218185856102fe565b610279838383600161035b565b505050565b6001600160a01b038381165f908152600160209081526040808320938616835292905220545f1981146102f857818110156102ea57604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064015b60405180910390fd5b6102f884848484035f61035b565b50505050565b6001600160a01b03831661032757604051634b637e8f60e11b81525f60048201526024016102e1565b6001600160a01b0382166103505760405163ec442f0560e01b81525f60048201526024016102e1565b61027983838361042d565b6001600160a01b0384166103845760405163e602df0560e01b81525f60048201526024016102e1565b6001600160a01b0383166103ad57604051634a1406b160e11b81525f60048201526024016102e1565b6001600160a01b038085165f90815260016020908152604080832093871683529290522082905580156102f857826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161041f91815260200190565b60405180910390a350505050565b6001600160a01b038316610457578060025f82825461044c919061068d565b909155506104c79050565b6001600160a01b0383165f90815260208190526040902054818110156104a95760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016102e1565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b0382166104e357600280548290039055610501565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161054691815260200190565b60405180910390a3505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b038116811461059e575f80fd5b919050565b5f80604083850312156105b4575f80fd5b6105bd83610588565b946020939093013593505050565b5f805f606084860312156105dd575f80fd5b6105e684610588565b92506105f460208501610588565b9150604084013590509250925092565b5f60208284031215610614575f80fd5b61061d82610588565b9392505050565b5f8060408385031215610635575f80fd5b61063e83610588565b915061064c60208401610588565b90509250929050565b600181811c9082168061066957607f821691505b60208210810361068757634e487b7160e01b5f52602260045260245ffd5b50919050565b8082018082111561022757634e487b7160e01b5f52601160045260245ffdfea2646970667358221220ca5cc6d60be8e9fc7e8e2c28202218bf1f2ee575d37ed7f080c4880bfb3d07c564736f6c63430008190033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000003635c9adc5dea000000000000000000000000000000000000000000000000000000000000000000007546f6b656e2041000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005544b4e2041000000000000000000000000000000000000000000000000000000", + "nonce": "0x11", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x95043f92fa11f5a7e01bf389a00d2dced1d2b0dd927c0c7e58d896cf40bea706", + "transactionType": "CREATE", + "contractName": "XERC20", + "contractAddress": "0xab4142adBF12c4403012D413945Be641e12237b5", + "function": null, + "arguments": [ + "\"pToken A\"", + "\"pTKN A\"", + "0x0000000000000000000000000000000000000000" + ], + "transaction": { + "from": "0xada2de876567a06ed79b0b29ae6ab2e142129e51", + "gas": "0x215245", + "value": "0x0", + "input": "0x610180604052348015610010575f80fd5b506040516120ee3803806120ee83398101604081905261002f916102b7565b6040805180820190915260018152603160f81b602082015283908190338286600361005a83826103ba565b50600461006782826103ba565b5050506001600160a01b03811661009857604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b6100a18161015b565b506100ad8260066101ac565b610120526100bc8160076101ac565b61014052815160208084019190912060e052815190820120610100524660a05261014860e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b60805250503060c052506104d192505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b5f6020835110156101c7576101c0836101de565b90506101d8565b816101d284826103ba565b5060ff90505b92915050565b5f80829050601f81511115610208578260405163305a27a960e01b815260040161008f9190610479565b8051610213826104ae565b179392505050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f83011261023e575f80fd5b81516001600160401b03808211156102585761025861021b565b604051601f8301601f19908116603f011681019082821181831017156102805761028061021b565b81604052838152866020858801011115610298575f80fd5b8360208701602083015e5f602085830101528094505050505092915050565b5f805f606084860312156102c9575f80fd5b83516001600160401b03808211156102df575f80fd5b6102eb8783880161022f565b94506020860151915080821115610300575f80fd5b5061030d8682870161022f565b604086015190935090506001600160a01b038116811461032b575f80fd5b809150509250925092565b600181811c9082168061034a57607f821691505b60208210810361036857634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156103b557805f5260205f20601f840160051c810160208510156103935750805b601f840160051c820191505b818110156103b2575f815560010161039f565b50505b505050565b81516001600160401b038111156103d3576103d361021b565b6103e7816103e18454610336565b8461036e565b602080601f83116001811461041a575f84156104035750858301515b5f19600386901b1c1916600185901b178555610471565b5f85815260208120601f198616915b8281101561044857888601518255948401946001909101908401610429565b508582101561046557878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80516020808301519190811015610368575f1960209190910360031b1b16919050565b60805160a05160c05160e05161010051610120516101405161016051611bc261052c5f395f61030601525f610f0201525f610ed501525f610d3201525f610d0a01525f610c6501525f610c8f01525f610cb90152611bc25ff3fe608060405234801561000f575f80fd5b5060043610610208575f3560e01c806366cc57021161011f578063a08d5654116100a9578063c762819b11610079578063c762819b146104df578063ced67f0c146104f0578063d505accf14610581578063dd62ed3e14610594578063f2fde38b146105cc575f80fd5b8063a08d565414610466578063a9059cbb14610479578063aedef0ae1461048c578063c1eb7137146104b4575f80fd5b806384b0196e116100ef57806384b0196e1461040c5780638da5cb5b1461042757806395d89b4114610438578063998955d3146104405780639dc29fac14610453575f80fd5b806366cc5702146103b657806370a08231146103c9578063715018a6146103f15780637ecebe00146103f9575f80fd5b806323b872dd116101a05780633644e515116101705780633644e51514610362578063367a56ea1461036a57806340c10f191461037d578063435350b714610390578063651fd268146103a3575f80fd5b806323b872dd146102ee5780632dd3100014610301578063313ce5671461032857806333cb8d5914610337575f80fd5b80630ee04629116101db5780630ee04629146102ad57806318160ddd146102c05780631c89382a146102c85780631e35c99a146102dd575f80fd5b806305a9e0731461020c57806306fdde031461023c578063095ea7b3146102515780630c05f82c14610274575b5f80fd5b600b5461021f906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6102446105df565b6040516102339190611861565b61026461025f36600461188e565b61066f565b6040519015158152602001610233565b61029f6102823660046118b6565b6001600160a01b03165f908152600a602052604090206002015490565b604051908152602001610233565b6009546001600160a01b03161515610264565b60025461029f565b6102db6102d63660046118b6565b610688565b005b6009546001600160a01b031661021f565b6102646102fc3660046118cf565b610776565b61021f7f000000000000000000000000000000000000000000000000000000000000000081565b60405160128152602001610233565b61021f6103453660046118b6565b6001600160a01b039081165f908152600c60205260409020541690565b61029f61079b565b6102db610378366004611908565b6107a9565b6102db61038b36600461188e565b610815565b6102db61039e3660046118b6565b610824565b61029f6103b13660046118b6565b61087a565b60095461021f906001600160a01b031681565b61029f6103d73660046118b6565b6001600160a01b03165f9081526020819052604090205490565b6102db6108ad565b61029f6104073660046118b6565b6108c0565b6104146108dd565b6040516102339796959493929190611939565b6005546001600160a01b031661021f565b61024461091f565b61029f61044e3660046118b6565b61092e565b6102db61046136600461188e565b610964565b6102db6104743660046119d0565b61098a565b61026461048736600461188e565b6109ef565b61021f61049a3660046118b6565b600c6020525f90815260409020546001600160a01b031681565b61029f6104c23660046118b6565b6001600160a01b03165f908152600a602052604090206006015490565b600b546001600160a01b031661021f565b6105736104fe3660046118b6565b600a60209081525f9182526040918290208251608080820185528254825260018301548285015260028301548286015260038301546060808401919091528551918201865260048401548252600584015494820194909452600683015494810194909452600790910154918301919091529082565b604051610233929190611a00565b6102db61058f366004611a4c565b6109fc565b61029f6105a2366004611908565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b6102db6105da3660046118b6565b610b32565b6060600380546105ee90611ab9565b80601f016020809104026020016040519081016040528092919081815260200182805461061a90611ab9565b80156106655780601f1061063c57610100808354040283529160200191610665565b820191905f5260205f20905b81548152906001019060200180831161064857829003601f168201915b5050505050905090565b5f3361067c818585610b6f565b60019150505b92915050565b600b546001600160a01b03166106b857600b80546001600160a01b0319166001600160a01b0383161790556106e3565b600b546001600160a01b031633146106e357604051631b4a626160e01b815260040160405180910390fd5b806001600160a01b03163b5f0361072157600b546040516322a2d07b60e21b81526001600160a01b0390911660048201526024015b60405180910390fd5b600b80546001600160a01b0319166001600160a01b0383169081179091556040519081527f0a0717c606b1b26e8027bffda59d8c449bcc328be19822c4bfc053ce6d4f2933906020015b60405180910390a150565b5f33610783858285610b81565b61078e858585610bfc565b60019150505b9392505050565b5f6107a4610c59565b905090565b6107b1610d82565b6001600160a01b038281165f908152600c602090815260409182902080546001600160a01b031916938516938417905590519182527fe6a2f6e9cf996ea440cfce3e2154838c705cbcf6b48e37cca8b80ce21e4b7d0c910160405180910390a15050565b610820338383610daf565b5050565b61082c610d82565b600980546001600160a01b0319166001600160a01b0383169081179091556040519081527ffa2e15ea41196e438f0593ecdd6036acd83bdfcd39d627b77c17eab43f376a399060200161076b565b6001600160a01b0381165f908152600a602052604081206003810154600282015482546001909301546106829390610e07565b6108b5610d82565b6108be5f610e7d565b565b6001600160a01b0381165f90815260086020526040812054610682565b5f6060805f805f60606108ee610ece565b6108f6610efb565b604080515f80825260208201909252600f60f81b9b939a50919850469750309650945092509050565b6060600480546105ee90611ab9565b6001600160a01b0381165f908152600a602052604081206007810154600682015460048301546005909301546106829390610e07565b336001600160a01b0383161461097f5761097f823383610b81565b610820338383610f28565b610992610d82565b61099c83836110a9565b6109a68382611149565b60408051838152602081018390526001600160a01b038516917f93f3bbfe8cfb354ec059175107653f49f6eb479a8622a7d83866ea015435c944910160405180910390a2505050565b5f3361067c818585610bfc565b83421115610a205760405163313c898160e11b815260048101859052602401610718565b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610a6b8c6001600160a01b03165f90815260086020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090505f610ac5826111ef565b90505f610ad48287878761121b565b9050896001600160a01b0316816001600160a01b031614610b1b576040516325c0072360e11b81526001600160a01b0380831660048301528b166024820152604401610718565b610b268a8a8a610b6f565b50505050505050505050565b610b3a610d82565b6001600160a01b038116610b6357604051631e4fbdf760e01b81525f6004820152602401610718565b610b6c81610e7d565b50565b610b7c8383836001611247565b505050565b6001600160a01b038381165f908152600160209081526040808320938616835292905220545f198114610bf65781811015610be857604051637dc7a0d960e11b81526001600160a01b03841660048201526024810182905260448101839052606401610718565b610bf684848484035f611247565b50505050565b6001600160a01b038316610c2557604051634b637e8f60e11b81525f6004820152602401610718565b6001600160a01b038216610c4e5760405163ec442f0560e01b81525f6004820152602401610718565b610b7c838383611319565b5f306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015610cb157507f000000000000000000000000000000000000000000000000000000000000000046145b15610cdb57507f000000000000000000000000000000000000000000000000000000000000000090565b6107a4604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b6005546001600160a01b031633146108be5760405163118cdaa760e01b8152336004820152602401610718565b6009546001600160a01b03848116911614610dfd575f610dce8461087a565b905081811015610df1576040516305b4215560e11b815260040160405180910390fd5b610dfb848361143f565b505b610b7c8282611492565b83838114610e755742610e1d6201518085611b05565b11610e29575082610e75565b42610e376201518085611b05565b1115610e75575f610e488442611b18565b90505f610e558483611b2b565b610e5f9084611b05565b9050858111610e6e5780610e70565b855b925050505b949350505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b60606107a47f000000000000000000000000000000000000000000000000000000000000000060066114c6565b60606107a47f000000000000000000000000000000000000000000000000000000000000000060076114c6565b6009545f906001600160a01b031615610faf57600b54604051634594558f60e11b8152306004820152602481018490526001600160a01b0390911690638b28ab1e90604401602060405180830381865afa158015610f88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fac9190611b42565b90505b81811115610fd057604051631294074960e01b815260040160405180910390fd5b5f610fdb8284611b18565b6009549091506001600160a01b0386811691161461102c575f610ffd8661092e565b905081811015611020576040516305b4215560e11b815260040160405180910390fd5b61102a868361156f565b505b811561109857600b54604051632b1e63d960e01b8152336004820152306024820152604481018490526001600160a01b0390911690632b1e63d9906064015f604051808303815f87803b158015611081575f80fd5b505af1158015611093573d5f803e3d5ffd5b505050505b6110a284826115c6565b5050505050565b6001600160a01b0382165f908152600a6020526040812060020154906110ce8461087a565b6001600160a01b0385165f908152600a6020526040902060020184905590506110f88383836115fa565b6001600160a01b0385165f908152600a60205260409020600301556111206201518084611b59565b6001600160a01b039094165f908152600a60205260409020600181019490945550504290915550565b6001600160a01b0382165f908152600a60205260408120600601549061116e8461092e565b6001600160a01b0385165f908152600a6020526040902060060184905590506111988383836115fa565b6001600160a01b0385165f908152600a60205260409020600701556111c06201518084611b59565b6001600160a01b039094165f908152600a60205260409020600581019490945550504260049092019190915550565b5f6106826111fb610c59565b8360405161190160f01b8152600281019290925260228201526042902090565b5f805f8061122b8888888861164f565b92509250925061123b8282611717565b50909695505050505050565b6001600160a01b0384166112705760405163e602df0560e01b81525f6004820152602401610718565b6001600160a01b03831661129957604051634a1406b160e11b81525f6004820152602401610718565b6001600160a01b038085165f9081526001602090815260408083209387168352929052208290558015610bf657826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161130b91815260200190565b60405180910390a350505050565b6001600160a01b038316611343578060025f8282546113389190611b05565b909155506113b39050565b6001600160a01b0383165f90815260208190526040902054818110156113955760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401610718565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b0382166113cf576002805482900390556113ed565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161143291815260200190565b60405180910390a3505050565b5f6114498361087a565b6001600160a01b0384165f908152600a60205260409020429055905061146f8282611b18565b6001600160a01b039093165f908152600a60205260409020600301929092555050565b6001600160a01b0382166114bb5760405163ec442f0560e01b81525f6004820152602401610718565b6108205f8383611319565b606060ff83146114e0576114d9836117cf565b9050610682565b8180546114ec90611ab9565b80601f016020809104026020016040519081016040528092919081815260200182805461151890611ab9565b80156115635780601f1061153a57610100808354040283529160200191611563565b820191905f5260205f20905b81548152906001019060200180831161154657829003601f168201915b50505050509050610682565b5f6115798361092e565b6001600160a01b0384165f908152600a602052604090204260049091015590506115a38282611b18565b6001600160a01b039093165f908152600a60205260409020600701929092555050565b6001600160a01b0382166115ef57604051634b637e8f60e11b81525f6004820152602401610718565b610820825f83611319565b5f808484111561162e5761160e8585611b18565b905080831161161d575f611627565b6116278184611b18565b9150611647565b6116388486611b18565b90506116448184611b05565b91505b509392505050565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561168857505f9150600390508261170d565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa1580156116d9573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b03811661170457505f92506001915082905061170d565b92505f91508190505b9450945094915050565b5f82600381111561172a5761172a611b78565b03611733575050565b600182600381111561174757611747611b78565b036117655760405163f645eedf60e01b815260040160405180910390fd5b600282600381111561177957611779611b78565b0361179a5760405163fce698f760e01b815260048101829052602401610718565b60038260038111156117ae576117ae611b78565b03610820576040516335e2f38360e21b815260048101829052602401610718565b60605f6117db8361180c565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b5f60ff8216601f81111561068257604051632cd44ac360e21b815260040160405180910390fd5b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6107946020830184611833565b80356001600160a01b0381168114611889575f80fd5b919050565b5f806040838503121561189f575f80fd5b6118a883611873565b946020939093013593505050565b5f602082840312156118c6575f80fd5b61079482611873565b5f805f606084860312156118e1575f80fd5b6118ea84611873565b92506118f860208501611873565b9150604084013590509250925092565b5f8060408385031215611919575f80fd5b61192283611873565b915061193060208401611873565b90509250929050565b60ff60f81b881681525f602060e0602084015261195960e084018a611833565b838103604085015261196b818a611833565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825260208088019350909101905f5b818110156119be578351835292840192918401916001016119a2565b50909c9b505050505050505050505050565b5f805f606084860312156119e2575f80fd5b6119eb84611873565b95602085013595506040909401359392505050565b82518152602080840151818301526040808501518184015260608086015181850152845160808501529184015160a084015283015160c083015282015160e08201526101008101610794565b5f805f805f805f60e0888a031215611a62575f80fd5b611a6b88611873565b9650611a7960208901611873565b95506040880135945060608801359350608088013560ff81168114611a9c575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b600181811c90821680611acd57607f821691505b602082108103611aeb57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561068257610682611af1565b8181038181111561068257610682611af1565b808202811582820484141761068257610682611af1565b5f60208284031215611b52575f80fd5b5051919050565b5f82611b7357634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52602160045260245ffdfea2646970667358221220a1b437412466b5b75af15d0c85fadfd2028c457e8a552686eb7f3a7553b0737c64736f6c63430008190033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000870546f6b656e2041000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000670544b4e20410000000000000000000000000000000000000000000000000000", + "nonce": "0x12", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x21ad0acd191f82e2f9ba99484c764ef21d8e3074100744d026a732280563a7f5", + "transactionType": "CREATE", + "contractName": "XERC20Lockbox", + "contractAddress": "0xB4888613F7BD5A5f91c190A1d305f23C6317B9D3", + "function": null, + "arguments": [ + "0xab4142adBF12c4403012D413945Be641e12237b5", + "0xF6652f1dB7a7b48d9A6c515Ad759C0464E16559c", + "false" + ], + "transaction": { + "from": "0xada2de876567a06ed79b0b29ae6ab2e142129e51", + "gas": "0xd6448", + "value": "0x0", + "input": "0x60e060405234801561000f575f80fd5b50604051610c77380380610c7783398101604081905261002e91610066565b6001600160a01b03928316608052911660a052151560c0526100ae565b80516001600160a01b0381168114610061575f80fd5b919050565b5f805f60608486031215610078575f80fd5b6100818461004b565b925061008f6020850161004b565b9150604084015180151581146100a3575f80fd5b809150509250925092565b60805160a05160c051610b3e6101395f395f818160e9015281816101f90152818161025e015281816102a6015281816102ef0152818161033401526106fe01525f81816101ae0152818161036401526107a501525f8181610144015281816103b20152818161049f015281816104ca0152818161055f01528181610605015261068e0152610b3e5ff3fe608060405260043610610087575f3560e01c8063b20a0fb911610057578063b20a0fb914610133578063b6b55f251461017e578063cc4aa2041461019d578063db6b5246146101d0578063ffaad6a5146101d8575f80fd5b8063205c28781461009a5780632e1a7d4d146100b9578063479d3976146100d85780638ca4180814610120575f80fd5b36610096576100946101f7565b005b5f80fd5b3480156100a5575f80fd5b506100946100b4366004610a26565b610241565b3480156100c4575f80fd5b506100946100d3366004610a50565b61024f565b3480156100e3575f80fd5b5061010b7f000000000000000000000000000000000000000000000000000000000000000081565b60405190151581526020015b60405180910390f35b61009461012e366004610a67565b61025c565b34801561013e575f80fd5b506101667f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610117565b348015610189575f80fd5b50610094610198366004610a50565b6102a4565b3480156101a8575f80fd5b506101667f000000000000000000000000000000000000000000000000000000000000000081565b6100946101f7565b3480156101e3575f80fd5b506100946101f2366004610a26565b6102ed565b7f000000000000000000000000000000000000000000000000000000000000000061023557604051638467cb4b60e01b815260040160405180910390fd5b61023f3334610332565b565b61024b8282610450565b5050565b6102593382610450565b50565b7f000000000000000000000000000000000000000000000000000000000000000061029a57604051638467cb4b60e01b815260040160405180910390fd5b6102598134610332565b7f0000000000000000000000000000000000000000000000000000000000000000156102e357604051630237493d60e51b815260040160405180910390fd5b6102593382610332565b7f00000000000000000000000000000000000000000000000000000000000000001561032c57604051630237493d60e51b815260040160405180910390fd5b61024b82825b7f000000000000000000000000000000000000000000000000000000000000000061038c5761038c6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163330846107d3565b6040516340c10f1960e01b81526001600160a01b038381166004830152602482018390527f000000000000000000000000000000000000000000000000000000000000000016906340c10f19906044015f604051808303815f87803b1580156103f3575f80fd5b505af1158015610405573d5f803e3d5ffd5b5050604080516001600160a01b0386168152602081018590527fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c935001905060405180910390a15050565b604080516001600160a01b0384168152602081018390527f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a9424364910160405180910390a16104c76001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163330846107d3565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c762819b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610524573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105489190610a82565b604051634594558f60e11b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018590529192505f91831690638b28ab1e90604401602060405180830381865afa1580156105b8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105dc9190610a9d565b60405163095ea7b360e01b81526001600160a01b038481166004830152602482018390529192507f00000000000000000000000000000000000000000000000000000000000000009091169063095ea7b3906044016020604051808303815f875af115801561064d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106719190610ab4565b50604051632770a7eb60e21b8152306004820152602481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690639dc29fac906044015f604051808303815f87803b1580156106d7575f80fd5b505af11580156106e9573d5f803e3d5ffd5b505050505f81846106fa9190610ad3565b90507f000000000000000000000000000000000000000000000000000000000000000015610798575f856001600160a01b0316826040515f6040518083038185875af1925050503d805f811461076b576040519150601f19603f3d011682016040523d82523d5f602084013e610770565b606091505b505090508061079257604051632ae2970d60e21b815260040160405180910390fd5b506107cc565b6107cc6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168683610840565b5050505050565b6040516001600160a01b03848116602483015283811660448301526064820183905261083a9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050610876565b50505050565b6040516001600160a01b0383811660248301526044820183905261087191859182169063a9059cbb90606401610808565b505050565b5f61088a6001600160a01b038416836108dc565b905080515f141580156108ae5750808060200190518101906108ac9190610ab4565b155b1561087157604051635274afe760e01b81526001600160a01b03841660048201526024015b60405180910390fd5b60606108e983835f6108f2565b90505b92915050565b6060814710156109175760405163cd78605960e01b81523060048201526024016108d3565b5f80856001600160a01b031684866040516109329190610af2565b5f6040518083038185875af1925050503d805f811461096c576040519150601f19603f3d011682016040523d82523d5f602084013e610971565b606091505b509150915061098186838361098d565b925050505b9392505050565b6060826109a25761099d826109e9565b610986565b81511580156109b957506001600160a01b0384163b155b156109e257604051639996b31560e01b81526001600160a01b03851660048201526024016108d3565b5080610986565b8051156109f95780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6001600160a01b0381168114610259575f80fd5b5f8060408385031215610a37575f80fd5b8235610a4281610a12565b946020939093013593505050565b5f60208284031215610a60575f80fd5b5035919050565b5f60208284031215610a77575f80fd5b813561098681610a12565b5f60208284031215610a92575f80fd5b815161098681610a12565b5f60208284031215610aad575f80fd5b5051919050565b5f60208284031215610ac4575f80fd5b81518015158114610986575f80fd5b818103818111156108ec57634e487b7160e01b5f52601160045260245ffd5b5f82518060208501845e5f92019182525091905056fea2646970667358221220a37e16cef098d1d391fa30c374de79580f228bbc1024e0d28544dccc40c562cd64736f6c6343000819003300000000000000000000000006dfa5fc214204452ee23d02644e96cac43cf67a000000000000000000000000f6652f1db7a7b48d9a6c515ad759c0464e16559c0000000000000000000000000000000000000000000000000000000000000000", + "nonce": "0x13", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x8fa5e5dc5ca4c515afa4a51e22dc91c84a98efa54a9dd11237a92a808df5c32c", + "transactionType": "CALL", + "contractName": "XERC20", + "contractAddress": "0x06dfa5fc214204452ee23d02644e96cac43cf67a", + "function": "setLockbox(address)", + "arguments": ["0xa998F8F27E005dEBBAc5c6328c7D812C310991cC"], + "transaction": { + "from": "0xada2de876567a06ed79b0b29ae6ab2e142129e51", + "to": "0x06dfa5fc214204452ee23d02644e96cac43cf67a", + "gas": "0xfed2", + "value": "0x0", + "input": "0x435350b7000000000000000000000000a998f8f27e005debbac5c6328c7d812c310991cc", + "nonce": "0x14", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x8cd3cd368b30a1f55efc103a43a7c86b875de0ab5f508605b913367e46000072", + "transactionType": "CALL", + "contractName": "XERC20", + "contractAddress": "0x06dfa5fc214204452ee23d02644e96cac43cf67a", + "function": "setLimits(address,uint256,uint256)", + "arguments": [ + "0x87415715056DA7A5EB1a30E53C4F4d20B44DB71D", + "1000000000000000000", + "1000000000000000000" + ], + "transaction": { + "from": "0xada2de876567a06ed79b0b29ae6ab2e142129e51", + "to": "0x06dfa5fc214204452ee23d02644e96cac43cf67a", + "gas": "0x4529e", + "value": "0x0", + "input": "0xa08d565400000000000000000000000087415715056da7a5eb1a30e53c4f4d20b44db71d0000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a7640000", + "nonce": "0x15", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xd5c760", + "logs": [ + { + "address": "0x2ebc8a27ece2203c9d413a5c655fac7fb7d83262", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000ada2de876567a06ed79b0b29ae6ab2e142129e51", + "0x000000000000000000000000ada2de876567a06ed79b0b29ae6ab2e142129e51" + ], + "data": "0x", + "blockHash": "0xc25030e8f20073e874d93ed254cbff35d64b2d586eedb7c62848732c25c79833", + "blockNumber": "0x60feef", + "transactionHash": "0xc3ae2beb7212b20883d3ea65602debebbe648f9f11dd4fa3a5172b19d64ad25a", + "transactionIndex": "0x5d", + "logIndex": "0xa7", + "removed": false + } + ], + "logsBloom": "0x00000004000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000024000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000001000000000000000000000000000100000000000000000000000000000000100000000000020002000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xc3ae2beb7212b20883d3ea65602debebbe648f9f11dd4fa3a5172b19d64ad25a", + "transactionIndex": "0x5d", + "blockHash": "0xc25030e8f20073e874d93ed254cbff35d64b2d586eedb7c62848732c25c79833", + "blockNumber": "0x60feef", + "gasUsed": "0x977de", + "effectiveGasPrice": "0x3acfeac67", + "from": "0xada2de876567a06ed79b0b29ae6ab2e142129e51", + "to": null, + "contractAddress": "0x2ebc8a27ece2203c9d413a5c655fac7fb7d83262" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xec68db", + "logs": [ + { + "address": "0x87415715056da7a5eb1a30e53c4f4d20b44db71d", + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000ada2de876567a06ed79b0b29ae6ab2e142129e51" + ], + "data": "0x", + "blockHash": "0xc25030e8f20073e874d93ed254cbff35d64b2d586eedb7c62848732c25c79833", + "blockNumber": "0x60feef", + "transactionHash": "0x5951587331f7a13bbd341a03151db490037ca19cbe5b359f1c75047c4c953e23", + "transactionIndex": "0x5e", + "logIndex": "0xa8", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000001000000000000000000000000000000000000020000000000000000000800000000000000000000000000000000400000000000000000000000000800000000000000400000000000000000000000000000000000000000400000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020002000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x5951587331f7a13bbd341a03151db490037ca19cbe5b359f1c75047c4c953e23", + "transactionIndex": "0x5e", + "blockHash": "0xc25030e8f20073e874d93ed254cbff35d64b2d586eedb7c62848732c25c79833", + "blockNumber": "0x60feef", + "gasUsed": "0x16a17b", + "effectiveGasPrice": "0x3acfeac67", + "from": "0xada2de876567a06ed79b0b29ae6ab2e142129e51", + "to": null, + "contractAddress": "0x87415715056da7a5eb1a30e53c4f4d20b44db71d" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xf50eee", + "logs": [ + { + "address": "0xf6652f1db7a7b48d9a6c515ad759c0464e16559c", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000ada2de876567a06ed79b0b29ae6ab2e142129e51" + ], + "data": "0x00000000000000000000000000000000000000000000003635c9adc5dea00000", + "blockHash": "0xc25030e8f20073e874d93ed254cbff35d64b2d586eedb7c62848732c25c79833", + "blockNumber": "0x60feef", + "transactionHash": "0x880bad3c572a8e008c7061989a7137eb0d4c0a3cd1d3df84c19a00a20b944d2e", + "transactionIndex": "0x5f", + "logIndex": "0xa9", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000008000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000010000000000000000000000000000008000000000000000000000000000000000000000000000000020000000000000000000800000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000200000002000000000000000000000000000000000000000000000000000020002000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x880bad3c572a8e008c7061989a7137eb0d4c0a3cd1d3df84c19a00a20b944d2e", + "transactionIndex": "0x5f", + "blockHash": "0xc25030e8f20073e874d93ed254cbff35d64b2d586eedb7c62848732c25c79833", + "blockNumber": "0x60feef", + "gasUsed": "0x8a613", + "effectiveGasPrice": "0x3acfeac67", + "from": "0xada2de876567a06ed79b0b29ae6ab2e142129e51", + "to": null, + "contractAddress": "0xf6652f1db7a7b48d9a6c515ad759c0464e16559c" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x10eb0ad", + "logs": [ + { + "address": "0x06dfa5fc214204452ee23d02644e96cac43cf67a", + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000ada2de876567a06ed79b0b29ae6ab2e142129e51" + ], + "data": "0x", + "blockHash": "0xc25030e8f20073e874d93ed254cbff35d64b2d586eedb7c62848732c25c79833", + "blockNumber": "0x60feef", + "transactionHash": "0xc445cb145055ae660662f1008daae5a05f230d5f8a0b94cc9684c17162780cb7", + "transactionIndex": "0x60", + "logIndex": "0xaa", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000810000000000000002000000000000000000000000001000000000000000000000000000000000000020000000000000000000800000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020002000000000000000000000000000000000000000000002000000000000000000", + "type": "0x2", + "transactionHash": "0xc445cb145055ae660662f1008daae5a05f230d5f8a0b94cc9684c17162780cb7", + "transactionIndex": "0x60", + "blockHash": "0xc25030e8f20073e874d93ed254cbff35d64b2d586eedb7c62848732c25c79833", + "blockNumber": "0x60feef", + "gasUsed": "0x19a1bf", + "effectiveGasPrice": "0x3acfeac67", + "from": "0xada2de876567a06ed79b0b29ae6ab2e142129e51", + "to": null, + "contractAddress": "0x06dfa5fc214204452ee23d02644e96cac43cf67a" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x118fdd1", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x21ad0acd191f82e2f9ba99484c764ef21d8e3074100744d026a732280563a7f5", + "transactionIndex": "0x61", + "blockHash": "0xc25030e8f20073e874d93ed254cbff35d64b2d586eedb7c62848732c25c79833", + "blockNumber": "0x60feef", + "gasUsed": "0xa4d24", + "effectiveGasPrice": "0x3acfeac67", + "from": "0xada2de876567a06ed79b0b29ae6ab2e142129e51", + "to": null, + "contractAddress": "0xa998f8f27e005debbac5c6328c7d812c310991cc" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x119b64e", + "logs": [ + { + "address": "0x06dfa5fc214204452ee23d02644e96cac43cf67a", + "topics": [ + "0xfa2e15ea41196e438f0593ecdd6036acd83bdfcd39d627b77c17eab43f376a39" + ], + "data": "0x000000000000000000000000a998f8f27e005debbac5c6328c7d812c310991cc", + "blockHash": "0xc25030e8f20073e874d93ed254cbff35d64b2d586eedb7c62848732c25c79833", + "blockNumber": "0x60feef", + "transactionHash": "0x8fa5e5dc5ca4c515afa4a51e22dc91c84a98efa54a9dd11237a92a808df5c32c", + "transactionIndex": "0x62", + "logIndex": "0xab", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000800000000000000002000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000002000000000000000000", + "type": "0x2", + "transactionHash": "0x8fa5e5dc5ca4c515afa4a51e22dc91c84a98efa54a9dd11237a92a808df5c32c", + "transactionIndex": "0x62", + "blockHash": "0xc25030e8f20073e874d93ed254cbff35d64b2d586eedb7c62848732c25c79833", + "blockNumber": "0x60feef", + "gasUsed": "0xb87d", + "effectiveGasPrice": "0x3acfeac67", + "from": "0xada2de876567a06ed79b0b29ae6ab2e142129e51", + "to": "0x06dfa5fc214204452ee23d02644e96cac43cf67a", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x11cd77b", + "logs": [ + { + "address": "0x06dfa5fc214204452ee23d02644e96cac43cf67a", + "topics": [ + "0x93f3bbfe8cfb354ec059175107653f49f6eb479a8622a7d83866ea015435c944", + "0x00000000000000000000000087415715056da7a5eb1a30e53c4f4d20b44db71d" + ], + "data": "0x0000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a7640000", + "blockHash": "0xc25030e8f20073e874d93ed254cbff35d64b2d586eedb7c62848732c25c79833", + "blockNumber": "0x60feef", + "transactionHash": "0x8cd3cd368b30a1f55efc103a43a7c86b875de0ab5f508605b913367e46000072", + "transactionIndex": "0x63", + "logIndex": "0xac", + "removed": false + } + ], + "logsBloom": "0x01100000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000002000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000002000000000000000000", + "type": "0x2", + "transactionHash": "0x8cd3cd368b30a1f55efc103a43a7c86b875de0ab5f508605b913367e46000072", + "transactionIndex": "0x63", + "blockHash": "0xc25030e8f20073e874d93ed254cbff35d64b2d586eedb7c62848732c25c79833", + "blockNumber": "0x60feef", + "gasUsed": "0x3212d", + "effectiveGasPrice": "0x3acfeac67", + "from": "0xada2de876567a06ed79b0b29ae6ab2e142129e51", + "to": "0x06dfa5fc214204452ee23d02644e96cac43cf67a", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1721660518, + "chain": 11155111, + "commit": "459acd0" +} diff --git a/solidity/broadcast/ERC20.s.sol/11155111/approve-latest.json b/solidity/broadcast/ERC20.s.sol/11155111/approve-latest.json new file mode 100644 index 00000000..a596f1d2 --- /dev/null +++ b/solidity/broadcast/ERC20.s.sol/11155111/approve-latest.json @@ -0,0 +1,66 @@ +{ + "transactions": [ + { + "hash": "0x453023f4ded25be3fcaa0fe7cfb202ff54adddeb3dad09e678fc1ee37b33a3ba", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xf6652f1db7a7b48d9a6c515ad759c0464e16559c", + "function": "approve(address,uint256)", + "arguments": [ + "0x87415715056DA7A5EB1a30E53C4F4d20B44DB71D", + "100000000000000000" + ], + "transaction": { + "from": "0xada2de876567a06ed79b0b29ae6ab2e142129e51", + "to": "0xf6652f1db7a7b48d9a6c515ad759c0464e16559c", + "gas": "0xfa2b", + "value": "0x0", + "input": "0x095ea7b300000000000000000000000087415715056da7a5eb1a30e53c4f4d20b44db71d000000000000000000000000000000000000000000000000016345785d8a0000", + "nonce": "0x19", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x70debf", + "logs": [ + { + "address": "0xf6652f1db7a7b48d9a6c515ad759c0464e16559c", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000ada2de876567a06ed79b0b29ae6ab2e142129e51", + "0x00000000000000000000000087415715056da7a5eb1a30e53c4f4d20b44db71d" + ], + "data": "0x000000000000000000000000000000000000000000000000016345785d8a0000", + "blockHash": "0x240f6911517d6d70c81172a703c3488feea4613439ba908eec7854d90a994191", + "blockNumber": "0x610f22", + "transactionHash": "0x453023f4ded25be3fcaa0fe7cfb202ff54adddeb3dad09e678fc1ee37b33a3ba", + "transactionIndex": "0x3f", + "logIndex": "0x45", + "removed": false + } + ], + "logsBloom": "0x01000000000000000000008000000000000008000000000000000000000000000000000000000000000000000008000000000000000000000000000010200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000800000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002010000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x453023f4ded25be3fcaa0fe7cfb202ff54adddeb3dad09e678fc1ee37b33a3ba", + "transactionIndex": "0x3f", + "blockHash": "0x240f6911517d6d70c81172a703c3488feea4613439ba908eec7854d90a994191", + "blockNumber": "0x610f22", + "gasUsed": "0xb51f", + "effectiveGasPrice": "0x74136155c", + "from": "0xada2de876567a06ed79b0b29ae6ab2e142129e51", + "to": "0xf6652f1db7a7b48d9a6c515ad759c0464e16559c", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1721722363, + "chain": 11155111, + "commit": "459acd0" +} \ No newline at end of file diff --git a/solidity/broadcast/RegisterXERC20.s.sol/11155111/grantRegistrarRole-latest.json b/solidity/broadcast/RegisterXERC20.s.sol/11155111/grantRegistrarRole-latest.json new file mode 100644 index 00000000..9dc013c5 --- /dev/null +++ b/solidity/broadcast/RegisterXERC20.s.sol/11155111/grantRegistrarRole-latest.json @@ -0,0 +1,67 @@ +{ + "transactions": [ + { + "hash": "0x5769cfb828a3a909aa338b3ff62f419c1df773c936c940964b0dd8854d3fb018", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x2ebc8a27ece2203c9d413a5c655fac7fb7d83262", + "function": "grantRole(bytes32,address)", + "arguments": [ + "0xd6b769dbdbf190871759edfb79bd17eda0005e1b8c3b6b3f5b480b5604ad5014", + "0xADA2de876567a06eD79b0B29ae6aB2e142129E51" + ], + "transaction": { + "from": "0xada2de876567a06ed79b0b29ae6ab2e142129e51", + "to": "0x2ebc8a27ece2203c9d413a5c655fac7fb7d83262", + "gas": "0x1260f", + "value": "0x0", + "input": "0x2f2ff15dd6b769dbdbf190871759edfb79bd17eda0005e1b8c3b6b3f5b480b5604ad5014000000000000000000000000ada2de876567a06ed79b0b29ae6ab2e142129e51", + "nonce": "0x16", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xa0acf8", + "logs": [ + { + "address": "0x2ebc8a27ece2203c9d413a5c655fac7fb7d83262", + "topics": [ + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", + "0xd6b769dbdbf190871759edfb79bd17eda0005e1b8c3b6b3f5b480b5604ad5014", + "0x000000000000000000000000ada2de876567a06ed79b0b29ae6ab2e142129e51", + "0x000000000000000000000000ada2de876567a06ed79b0b29ae6ab2e142129e51" + ], + "data": "0x", + "blockHash": "0x63c9bbc716d88a1ef1c43b337c41702a76fa2b0e341ebd7823961889a6d17512", + "blockNumber": "0x610e76", + "transactionHash": "0x5769cfb828a3a909aa338b3ff62f419c1df773c936c940964b0dd8854d3fb018", + "transactionIndex": "0x44", + "logIndex": "0x5a", + "removed": false + } + ], + "logsBloom": "0x00000004000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000001000000000000000001000000000100000000000000000000000000000000100000000000000002000000000000000000000000000000000000000000000000000000000000800", + "type": "0x2", + "transactionHash": "0x5769cfb828a3a909aa338b3ff62f419c1df773c936c940964b0dd8854d3fb018", + "transactionIndex": "0x44", + "blockHash": "0x63c9bbc716d88a1ef1c43b337c41702a76fa2b0e341ebd7823961889a6d17512", + "blockNumber": "0x610e76", + "gasUsed": "0xc911", + "effectiveGasPrice": "0x180b9f178", + "from": "0xada2de876567a06ed79b0b29ae6ab2e142129e51", + "to": "0x2ebc8a27ece2203c9d413a5c655fac7fb7d83262", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1721719768, + "chain": 11155111, + "commit": "459acd0" +} \ No newline at end of file diff --git a/solidity/broadcast/RegisterXERC20.s.sol/11155111/run-latest.json b/solidity/broadcast/RegisterXERC20.s.sol/11155111/run-latest.json new file mode 100644 index 00000000..27a23144 --- /dev/null +++ b/solidity/broadcast/RegisterXERC20.s.sol/11155111/run-latest.json @@ -0,0 +1,64 @@ +{ + "transactions": [ + { + "hash": "0xa83a610bbbc9afedee64106269b8f4465612d7f7d184e006531fd85d88bbc400", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x2ebc8a27ece2203c9d413a5c655fac7fb7d83262", + "function": "registerXERC20(bytes32,address)", + "arguments": [ + "0x000000000000000000000000f6652f1db7a7b48d9a6c515ad759c0464e16559c", + "0x06DfA5fc214204452eE23D02644e96Cac43CF67A" + ], + "transaction": { + "from": "0xada2de876567a06ed79b0b29ae6ab2e142129e51", + "to": "0x2ebc8a27ece2203c9d413a5c655fac7fb7d83262", + "gas": "0x21159", + "value": "0x0", + "input": "0x0fbc01a1000000000000000000000000f6652f1db7a7b48d9a6c515ad759c0464e16559c00000000000000000000000006dfa5fc214204452ee23d02644e96cac43cf67a", + "nonce": "0x17", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xa9044a", + "logs": [ + { + "address": "0x2ebc8a27ece2203c9d413a5c655fac7fb7d83262", + "topics": [ + "0x9fae3f3d1266a9a49efc7532fecf31796638f514e9204d3e00ca5f45740441a1" + ], + "data": "0x000000000000000000000000f6652f1db7a7b48d9a6c515ad759c0464e16559c00000000000000000000000006dfa5fc214204452ee23d02644e96cac43cf67a", + "blockHash": "0xc70b12694f56f0ea907423523af75d2f1cb44b567918b99ef3bf8aa91c46742c", + "blockNumber": "0x610e78", + "transactionHash": "0xa83a610bbbc9afedee64106269b8f4465612d7f7d184e006531fd85d88bbc400", + "transactionIndex": "0x48", + "logIndex": "0x98", + "removed": false + } + ], + "logsBloom": "0x00000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xa83a610bbbc9afedee64106269b8f4465612d7f7d184e006531fd85d88bbc400", + "transactionIndex": "0x48", + "blockHash": "0xc70b12694f56f0ea907423523af75d2f1cb44b567918b99ef3bf8aa91c46742c", + "blockNumber": "0x610e78", + "gasUsed": "0x169f3", + "effectiveGasPrice": "0x17d947e0d", + "from": "0xada2de876567a06ed79b0b29ae6ab2e142129e51", + "to": "0x2ebc8a27ece2203c9d413a5c655fac7fb7d83262", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1721719790, + "chain": 11155111, + "commit": "459acd0" +} \ No newline at end of file diff --git a/solidity/broadcast/XERC20.s.sol/11155111/setLimits-latest.json b/solidity/broadcast/XERC20.s.sol/11155111/setLimits-latest.json new file mode 100644 index 00000000..89eaf7dc --- /dev/null +++ b/solidity/broadcast/XERC20.s.sol/11155111/setLimits-latest.json @@ -0,0 +1,66 @@ +{ + "transactions": [ + { + "hash": "0x55034e28ebbd506dd0e2aba8a06f620061c4a988d1fd8e9bac3412fd20739442", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xab4142adbf12c4403012d413945be641e12237b5", + "function": "setLimits(address,uint256,uint256)", + "arguments": [ + "0x87415715056DA7A5EB1a30E53C4F4d20B44DB71D", + "10000000000000000000", + "1000000000000000000" + ], + "transaction": { + "from": "0xada2de876567a06ed79b0b29ae6ab2e142129e51", + "to": "0xab4142adbf12c4403012d413945be641e12237b5", + "gas": "0x4529e", + "value": "0x0", + "input": "0xa08d565400000000000000000000000087415715056da7a5eb1a30e53c4f4d20b44db71d0000000000000000000000000000000000000000000000008ac7230489e800000000000000000000000000000000000000000000000000000de0b6b3a7640000", + "nonce": "0x1e", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x7f8e0c", + "logs": [ + { + "address": "0xab4142adbf12c4403012d413945be641e12237b5", + "topics": [ + "0x93f3bbfe8cfb354ec059175107653f49f6eb479a8622a7d83866ea015435c944", + "0x00000000000000000000000087415715056da7a5eb1a30e53c4f4d20b44db71d" + ], + "data": "0x0000000000000000000000000000000000000000000000008ac7230489e800000000000000000000000000000000000000000000000000000de0b6b3a7640000", + "blockHash": "0x611ed2be16b91bb68b378640261df26e96e1ba935567f1a45301346988bb04e4", + "blockNumber": "0x610f9b", + "transactionHash": "0x55034e28ebbd506dd0e2aba8a06f620061c4a988d1fd8e9bac3412fd20739442", + "transactionIndex": "0x4d", + "logIndex": "0x62", + "removed": false + } + ], + "logsBloom": "0x01100000000000000000000000000000000008000000000000000200000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x55034e28ebbd506dd0e2aba8a06f620061c4a988d1fd8e9bac3412fd20739442", + "transactionIndex": "0x4d", + "blockHash": "0x611ed2be16b91bb68b378640261df26e96e1ba935567f1a45301346988bb04e4", + "blockNumber": "0x610f9b", + "gasUsed": "0x3212d", + "effectiveGasPrice": "0x4ca3724f1", + "from": "0xada2de876567a06ed79b0b29ae6ab2e142129e51", + "to": "0xab4142adbf12c4403012d413945be641e12237b5", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1721724198, + "chain": 11155111, + "commit": "459acd0" +} \ No newline at end of file diff --git a/solidity/broadcast/XERC20.s.sol/11155111/setLockbox-latest.json b/solidity/broadcast/XERC20.s.sol/11155111/setLockbox-latest.json new file mode 100644 index 00000000..6191280b --- /dev/null +++ b/solidity/broadcast/XERC20.s.sol/11155111/setLockbox-latest.json @@ -0,0 +1,63 @@ +{ + "transactions": [ + { + "hash": "0x39f99a7d2aaa2fe3133d4f921ba9875c52daae723baa99d6cf3e8932f12b61b3", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xab4142adbf12c4403012d413945be641e12237b5", + "function": "setLockbox(address)", + "arguments": [ + "0xB4888613F7BD5A5f91c190A1d305f23C6317B9D3" + ], + "transaction": { + "from": "0xada2de876567a06ed79b0b29ae6ab2e142129e51", + "to": "0xab4142adbf12c4403012d413945be641e12237b5", + "gas": "0xa29f", + "value": "0x0", + "input": "0x435350b7000000000000000000000000b4888613f7bd5a5f91c190a1d305f23c6317b9d3", + "nonce": "0x22", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xce48aa", + "logs": [ + { + "address": "0xab4142adbf12c4403012d413945be641e12237b5", + "topics": [ + "0xfa2e15ea41196e438f0593ecdd6036acd83bdfcd39d627b77c17eab43f376a39" + ], + "data": "0x000000000000000000000000b4888613f7bd5a5f91c190a1d305f23c6317b9d3", + "blockHash": "0x39705880f40e97e3223e34ad06d5e41b94a3310f244c33544abadf7b14678e78", + "blockNumber": "0x610ff1", + "transactionHash": "0x39f99a7d2aaa2fe3133d4f921ba9875c52daae723baa99d6cf3e8932f12b61b3", + "transactionIndex": "0x58", + "logIndex": "0x79", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000080000000004000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x39f99a7d2aaa2fe3133d4f921ba9875c52daae723baa99d6cf3e8932f12b61b3", + "transactionIndex": "0x58", + "blockHash": "0x39705880f40e97e3223e34ad06d5e41b94a3310f244c33544abadf7b14678e78", + "blockNumber": "0x610ff1", + "gasUsed": "0x75bd", + "effectiveGasPrice": "0x5d7e4dd7b", + "from": "0xada2de876567a06ed79b0b29ae6ab2e142129e51", + "to": "0xab4142adbf12c4403012d413945be641e12237b5", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1721725399, + "chain": 11155111, + "commit": "459acd0" +} \ No newline at end of file diff --git a/solidity/broadcast/XERC20Registry.s.sol/11155111/deregisterPair-latest.json b/solidity/broadcast/XERC20Registry.s.sol/11155111/deregisterPair-latest.json new file mode 100644 index 00000000..c41f0d94 --- /dev/null +++ b/solidity/broadcast/XERC20Registry.s.sol/11155111/deregisterPair-latest.json @@ -0,0 +1,63 @@ +{ + "transactions": [ + { + "hash": "0x76babe91b4131bd92e312b8b081e0003c4ee47044d04aa8a676c4fff4de91acf", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x2ebc8a27ece2203c9d413a5c655fac7fb7d83262", + "function": "deregisterXERC20(address)", + "arguments": [ + "0x06DfA5fc214204452eE23D02644e96Cac43CF67A" + ], + "transaction": { + "from": "0xada2de876567a06ed79b0b29ae6ab2e142129e51", + "to": "0x2ebc8a27ece2203c9d413a5c655fac7fb7d83262", + "gas": "0xb0df", + "value": "0x0", + "input": "0x73255e6600000000000000000000000006dfa5fc214204452ee23d02644e96cac43cf67a", + "nonce": "0x1c", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x1214408", + "logs": [ + { + "address": "0x2ebc8a27ece2203c9d413a5c655fac7fb7d83262", + "topics": [ + "0xe7860272079696782f961197cc3a463b0fbb45425467388f231515c8ba600f98" + ], + "data": "0x000000000000000000000000f6652f1db7a7b48d9a6c515ad759c0464e16559c00000000000000000000000006dfa5fc214204452ee23d02644e96cac43cf67a", + "blockHash": "0xccccc52f7e2045766075b212a17a2de99e739be8b92c003d9d8da3edd22701bb", + "blockNumber": "0x610f7e", + "transactionHash": "0x76babe91b4131bd92e312b8b081e0003c4ee47044d04aa8a676c4fff4de91acf", + "transactionIndex": "0x82", + "logIndex": "0xe2", + "removed": false + } + ], + "logsBloom": "0x00000000100400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x76babe91b4131bd92e312b8b081e0003c4ee47044d04aa8a676c4fff4de91acf", + "transactionIndex": "0x82", + "blockHash": "0xccccc52f7e2045766075b212a17a2de99e739be8b92c003d9d8da3edd22701bb", + "blockNumber": "0x610f7e", + "gasUsed": "0x800e", + "effectiveGasPrice": "0x659e0d94a", + "from": "0xada2de876567a06ed79b0b29ae6ab2e142129e51", + "to": "0x2ebc8a27ece2203c9d413a5c655fac7fb7d83262", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1721723812, + "chain": 11155111, + "commit": "459acd0" +} \ No newline at end of file diff --git a/solidity/broadcast/XERC20Registry.s.sol/11155111/registerPair-latest.json b/solidity/broadcast/XERC20Registry.s.sol/11155111/registerPair-latest.json new file mode 100644 index 00000000..70e5ffdd --- /dev/null +++ b/solidity/broadcast/XERC20Registry.s.sol/11155111/registerPair-latest.json @@ -0,0 +1,64 @@ +{ + "transactions": [ + { + "hash": "0xbac935de34576facf2325e3c8b8eb05e743355eb8404c30e5ffc13c3d9a60efe", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x2ebc8a27ece2203c9d413a5c655fac7fb7d83262", + "function": "registerXERC20(bytes32,address)", + "arguments": [ + "0x000000000000000000000000f6652f1db7a7b48d9a6c515ad759c0464e16559c", + "0xab4142adBF12c4403012D413945Be641e12237b5" + ], + "transaction": { + "from": "0xada2de876567a06ed79b0b29ae6ab2e142129e51", + "to": "0x2ebc8a27ece2203c9d413a5c655fac7fb7d83262", + "gas": "0x21159", + "value": "0x0", + "input": "0x0fbc01a1000000000000000000000000f6652f1db7a7b48d9a6c515ad759c0464e16559c000000000000000000000000ab4142adbf12c4403012d413945be641e12237b5", + "nonce": "0x1d", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x78479a", + "logs": [ + { + "address": "0x2ebc8a27ece2203c9d413a5c655fac7fb7d83262", + "topics": [ + "0x9fae3f3d1266a9a49efc7532fecf31796638f514e9204d3e00ca5f45740441a1" + ], + "data": "0x000000000000000000000000f6652f1db7a7b48d9a6c515ad759c0464e16559c000000000000000000000000ab4142adbf12c4403012d413945be641e12237b5", + "blockHash": "0xef5c1c4bb9dd262bee0bac4e1b7cef3ee3b5c2e7174b67cb1d1669331ca214e7", + "blockNumber": "0x610f80", + "transactionHash": "0xbac935de34576facf2325e3c8b8eb05e743355eb8404c30e5ffc13c3d9a60efe", + "transactionIndex": "0x3e", + "logIndex": "0x4e", + "removed": false + } + ], + "logsBloom": "0x00000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xbac935de34576facf2325e3c8b8eb05e743355eb8404c30e5ffc13c3d9a60efe", + "transactionIndex": "0x3e", + "blockHash": "0xef5c1c4bb9dd262bee0bac4e1b7cef3ee3b5c2e7174b67cb1d1669331ca214e7", + "blockNumber": "0x610f80", + "gasUsed": "0x169f3", + "effectiveGasPrice": "0x6ef32e5b6", + "from": "0xada2de876567a06ed79b0b29ae6ab2e142129e51", + "to": "0x2ebc8a27ece2203c9d413a5c655fac7fb7d83262", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1721723835, + "chain": 11155111, + "commit": "459acd0" +} \ No newline at end of file diff --git a/solidity/foundry.toml b/solidity/foundry.toml index 9949bcdc..e4cdd4be 100644 --- a/solidity/foundry.toml +++ b/solidity/foundry.toml @@ -2,7 +2,13 @@ src = "src" out = "out" libs = ["lib"] -evm_version="cancun" +evm_version = "cancun" gas_reports = ["Adapter"] -# See more config options https://github.com/foundry-rs/foundry/blob/master/crates/config/README.md#all-options \ No newline at end of file +# See more config options https://github.com/foundry-rs/foundry/blob/master/crates/config/README.md#all-options + +[rpc_endpoints] +sepolia = "${SEPOLIA_RPC_URL}" + +[etherscan] +sepolia = { key = "${ETHERSCAN_API_KEY}" } diff --git a/solidity/script/Adapter.s.sol b/solidity/script/Adapter.s.sol new file mode 100644 index 00000000..1b73002d --- /dev/null +++ b/solidity/script/Adapter.s.sol @@ -0,0 +1,38 @@ +// SPDX-License-Identifier: UNLICENSED +pragma solidity ^0.8.13; + +import "forge-std/Script.sol"; +import "../src/Adapter.sol"; +import "../src/xerc20/XERC20.sol"; +import "../src/XERC20Registry.sol"; +import "../src/xerc20/XERC20Lockbox.sol"; +import "../src/test/ERC20Test.sol"; + +import "forge-std/console.sol"; + +contract RegisterXERC20 is Script { + function grantRegistrarRole(address registry, address registrar) external { + vm.startBroadcast(); + XERC20Registry(registry).grantRole(keccak256("REGISTRAR"), registrar); + vm.stopBroadcast(); + } + + function swap( + address adapter, + address token, + uint256 amount, + uint256 destinationChainId, + string memory recipient, + bytes memory data + ) external { + vm.startBroadcast(); + Adapter(adapter).swap( + token, + amount, + destinationChainId, + recipient, + data + ); + vm.stopBroadcast(); + } +} diff --git a/solidity/script/Adapter.sh b/solidity/script/Adapter.sh new file mode 100755 index 00000000..a50676e1 --- /dev/null +++ b/solidity/script/Adapter.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +./Script.sh "Adapter.s.sol" "$@" \ No newline at end of file diff --git a/solidity/script/Counter.s.sol b/solidity/script/Counter.s.sol deleted file mode 100644 index df9ee8b0..00000000 --- a/solidity/script/Counter.s.sol +++ /dev/null @@ -1,12 +0,0 @@ -// SPDX-License-Identifier: UNLICENSED -pragma solidity ^0.8.13; - -import {Script, console} from "forge-std/Script.sol"; - -contract CounterScript is Script { - function setUp() public {} - - function run() public { - vm.broadcast(); - } -} diff --git a/solidity/script/Deploy.s.sol b/solidity/script/Deploy.s.sol new file mode 100644 index 00000000..bfca5036 --- /dev/null +++ b/solidity/script/Deploy.s.sol @@ -0,0 +1,42 @@ +// SPDX-License-Identifier: UNLICENSED +pragma solidity ^0.8.13; + +import "forge-std/Script.sol"; +import "../src/Adapter.sol"; +import "../src/xerc20/XERC20.sol"; +import "../src/XERC20Registry.sol"; +import "../src/xerc20/XERC20Lockbox.sol"; +import "../src/test/ERC20Test.sol"; + +contract Deploy is Script { + function run() external { + // uint256 deployerPrivateKey = vm.envUint("PRIVATE_KEY"); + + vm.startBroadcast(); + string memory name = "Token A"; + string memory symbol = "TKN A"; + uint256 mintingLimit = 1 ether; + uint256 burningLimit = 1 ether; + address factory = address(0); + + XERC20Registry registry = new XERC20Registry(); + Adapter adapter = new Adapter(address(registry)); + ERC20Test erc20 = new ERC20Test(name, symbol, 1000 ether); + XERC20 xerc20 = new XERC20( + string.concat("p", name), + string.concat("p", symbol), + factory + ); + + XERC20Lockbox lockbox = new XERC20Lockbox( + address(xerc20), + address(erc20), + false + ); + + xerc20.setLockbox(address(lockbox)); + xerc20.setLimits(address(adapter), mintingLimit, burningLimit); + + vm.stopBroadcast(); + } +} diff --git a/solidity/script/ERC20.s.sol b/solidity/script/ERC20.s.sol new file mode 100644 index 00000000..7be136a1 --- /dev/null +++ b/solidity/script/ERC20.s.sol @@ -0,0 +1,13 @@ +// SPDX-License-Identifier: UNLICENSED +pragma solidity ^0.8.13; + +import "forge-std/Script.sol"; +import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; + +contract ERC20 is Script { + function approve(address erc20, address spender, uint256 amount) external { + vm.startBroadcast(); + IERC20(erc20).approve(spender, amount); + vm.stopBroadcast(); + } +} diff --git a/solidity/script/ERC20.sh b/solidity/script/ERC20.sh new file mode 100755 index 00000000..ef7dcde0 --- /dev/null +++ b/solidity/script/ERC20.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +./Script.sh "ERC20.s.sol" "$@" \ No newline at end of file diff --git a/solidity/script/README.md b/solidity/script/README.md new file mode 100644 index 00000000..3b5d19d8 --- /dev/null +++ b/solidity/script/README.md @@ -0,0 +1,48 @@ +## Scripts + +Before running scripts, you need to setup the forge keystores for deployments/contract management: + +```bash +cast wallet import testnet --interactive +``` + +Import the testnet and production private keys (they will be placed into `~/.foundry/keystores` by default). + +Create an `.env` file like the following: + +```bash +# This is used for Script.sh +RPC_URL=https://url-here.quicknode.io/ +FORGE_KEYSTORE_PASSWORD=password + +# This is used for foundry.toml +SEPOLIA_RPC_URL=https://url-here.quicknode.io/ +ETHERSCAN_API_KEY=B7FH..G +ETH_KEYSTORE_ACCOUNT=testnet +``` + +Go into the `script` folder and then interact with the relevant contract like follows: + +``` +./XERC20Registry.sh 'grantRegistrarRole(address,address)' 0x2ebc8a27ece2203c9d413a5c655fac7fb7d83262 0xADA2de876567a06eD79b0B29ae6aB2e142129E51 + +./ERC20.sh 'approve(address,address,uint256)' 0xf6652f1db7a7b48d9a6c515ad759c0464e16559c 0x87415715056da7a5eb1a30e53c4f4d20b44db71d 100000000000000000 --broadcast + +./XERC20Registry.sh 'registerPair(address,address,address)' 0x2ebc8a27ece2203c9d413a5c655fac7fb7d83262 0xf6652f1db7a7b48d9a6c515ad759c0464e16559c 0xab4142adBF12c4403012D413945Be641e12237b5 --broadcast + +./Adapter.sh 'swap(address,address,uint256,uint256,string memory,bytes memory)' 0x87415715056da7a5eb1a30e53c4f4d20b44db71d 0xf6652f1db7a7b48d9a6c515ad759c0464e16559c 100000000000000000 56 "0xADA2de876567a06eD79b0B29ae6aB2e142129E51" "0x" --broadcast +``` + +Check each `*.s.sol` contract to see the available scripts to run. + +## Single contract deployment + +```bash +forge create --chain sepolia --rpc-url "$RPC_URL" --password "$FORGE_KEYSTORE_PASSWORD" './src/xerc20/XERC20Lockbox.sol:XERC20Lockbox' --constructor-args 0xab4142adBF12c4403012D413945Be641e12237b5 0xf6652f1db7a7b48d9a6c515ad759c0464e16559c false +``` + +## Single contract verification + +```bash +forge verify-contract --chain sepolia --rpc-url "$RPC_URL" --guess-constructor-args 0xb9a85A932432B19c1959aa29Fb50DBc5957751AF +``` diff --git a/solidity/script/Script.sh b/solidity/script/Script.sh new file mode 100755 index 00000000..5216d06e --- /dev/null +++ b/solidity/script/Script.sh @@ -0,0 +1,69 @@ +#!/bin/bash + +contract=$1 +sig=$2 + +function usage1() { + local b # bold + local n # normal + b=$(tput bold) + n=$(tput sgr0) + name=./$(basename $0) + + echo "${b}Usage:${n} $name ... + + Util to easily call forge contract scripts. + +${b}Required args:${n} + + CONTRACT script name (i.e. XERC20Registry.s.sol) + FUNCTION_SIGNATURE function signature (i.e. 'registerPair(address,address,address)') + PARAMS function parameters +" +} + +function usage2() { + local b # bold + local n # normal + b=$(tput bold) + n=$(tput sgr0) + name=./$(basename $0) + + echo "${b}Usage:${n} $name ... + + Util to easily call forge contract scripts. + +${b}Required args:${n} + + FUNCTION_SIGNATURE function signature (i.e. 'registerPair(address,address,address)') + CONTRACT script name (i.e. XERC20Registry.s.sol) + PARAMS function parameters +" +} + +if [[ -z "$contract" ]]; then + echo 'Invalid contract' + usage1 + exit 1 +fi + +if [[ -z "$sig" ]]; then + echo 'Invalid signature' + usage2 + exit 1 +fi + +shift 2 + +# Perform a dry-run execution +# add --broadcast to parameters if you +# want to broadcast the tx +source ../.env +forge script \ + -vvvvv \ + --chain "${CHAIN_NAME:-sepolia}" \ + --password "$FORGE_KEYSTORE_PASSWORD" \ + --rpc-url "$RPC_URL" \ + --sig "$sig" \ + "$contract" \ + "$@" diff --git a/solidity/script/XERC20.s.sol b/solidity/script/XERC20.s.sol new file mode 100644 index 00000000..d61db091 --- /dev/null +++ b/solidity/script/XERC20.s.sol @@ -0,0 +1,24 @@ +// SPDX-License-Identifier: UNLICENSED +pragma solidity ^0.8.13; + +import "forge-std/Script.sol"; +import {IXERC20} from "../src/interfaces/IXERC20.sol"; + +contract XERC20 is Script { + function setLimits( + address xerc20, + address adapter, + uint256 mintingLimit, + uint256 burningLimit + ) external { + vm.startBroadcast(); + IXERC20(xerc20).setLimits(adapter, mintingLimit, burningLimit); + vm.stopBroadcast(); + } + + function setLockbox(address xerc20, address lockbox) external { + vm.startBroadcast(); + IXERC20(xerc20).setLockbox(lockbox); + vm.stopBroadcast(); + } +} diff --git a/solidity/script/XERC20.sh b/solidity/script/XERC20.sh new file mode 100755 index 00000000..84a2e5bd --- /dev/null +++ b/solidity/script/XERC20.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +./Script.sh "XERC20.s.sol" "$@" \ No newline at end of file diff --git a/solidity/script/XERC20Registry.s.sol b/solidity/script/XERC20Registry.s.sol new file mode 100644 index 00000000..dbf17ded --- /dev/null +++ b/solidity/script/XERC20Registry.s.sol @@ -0,0 +1,38 @@ +// SPDX-License-Identifier: UNLICENSED +pragma solidity ^0.8.13; + +import "forge-std/Script.sol"; +import "../src/Adapter.sol"; +import "../src/xerc20/XERC20.sol"; +import "../src/XERC20Registry.sol"; +import "../src/xerc20/XERC20Lockbox.sol"; +import "../src/test/ERC20Test.sol"; + +import "forge-std/console.sol"; + +contract XERC20RegistryScripts is Script { + function grantRegistrarRole(address registry, address registrar) external { + vm.startBroadcast(); + XERC20Registry(registry).grantRole(keccak256("REGISTRAR"), registrar); + vm.stopBroadcast(); + } + + function registerPair( + address registry, + address erc20, + address xerc20 + ) external { + vm.startBroadcast(); + XERC20Registry(registry).registerXERC20( + bytes32(abi.encode(erc20)), + xerc20 + ); + vm.stopBroadcast(); + } + + function deregisterPair(address registry, address xerc20) external { + vm.startBroadcast(); + XERC20Registry(registry).deregisterXERC20(xerc20); + vm.stopBroadcast(); + } +} diff --git a/solidity/script/XERC20Registry.sh b/solidity/script/XERC20Registry.sh new file mode 100755 index 00000000..f1e2b45d --- /dev/null +++ b/solidity/script/XERC20Registry.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +# Perform a dry-run execution +# add --broadcast to parameters if you +# want to broadcast the tx +./Script.sh "XERC20Registry.s.sol" "$@" \ No newline at end of file diff --git a/solidity/src/ptoken-v2/PTokenV2.sol b/solidity/src/ptoken-v2/PTokenV2.sol index 8a297f98..84d451bb 100644 --- a/solidity/src/ptoken-v2/PTokenV2.sol +++ b/solidity/src/ptoken-v2/PTokenV2.sol @@ -357,7 +357,7 @@ contract PTokenV2 is ) internal { uint256 fees; // is local? - if (lockbox != address(0)) { + if (lockbox != address(0) && feesManager != address(0)) { fees = IFeesManager(feesManager).calculateFee( address(this), _amount diff --git a/solidity/src/ptoken-v2/PTokenV2NoGSN.sol b/solidity/src/ptoken-v2/PTokenV2NoGSN.sol index 14c7e383..372b1b73 100644 --- a/solidity/src/ptoken-v2/PTokenV2NoGSN.sol +++ b/solidity/src/ptoken-v2/PTokenV2NoGSN.sol @@ -394,7 +394,7 @@ contract PTokenV2NoGSN is ) internal { uint256 fees; // is local? - if (lockbox != address(0)) { + if (lockbox != address(0) && feesManager != address(0)) { fees = IFeesManager(feesManager).calculateFee( address(this), _amount diff --git a/solidity/src/xerc20/XERC20.sol b/solidity/src/xerc20/XERC20.sol index bb5903c8..a276996a 100644 --- a/solidity/src/xerc20/XERC20.sol +++ b/solidity/src/xerc20/XERC20.sol @@ -358,7 +358,7 @@ contract XERC20 is ERC20, Ownable, IXERC20, ERC20Permit { ) internal { uint256 fees; // is local? - if (lockbox != address(0)) { + if (lockbox != address(0) && feesManager != address(0)) { fees = IFeesManager(feesManager).calculateFee( address(this), _amount