@functionx_io/contracts
Version:
Smart Contract library for Solidity
318 lines (317 loc) • 23 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "BridgeCallContextTest",
"sourceName": "contracts/test/BridgeCallContextTest.sol",
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "_fxBridge",
"type": "address"
},
{
"internalType": "address",
"name": "_receiver",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "amounts",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "data",
"outputs": [
{
"internalType": "bytes",
"name": "",
"type": "bytes"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "dstChain",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "fxBridge",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "gasLimit",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "memo",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
},
{
"internalType": "address",
"name": "",
"type": "address"
},
{
"internalType": "address[]",
"name": "_tokens",
"type": "address[]"
},
{
"internalType": "uint256[]",
"name": "_amounts",
"type": "uint256[]"
},
{
"internalType": "bytes",
"name": "",
"type": "bytes"
},
{
"internalType": "bytes",
"name": "",
"type": "bytes"
}
],
"name": "onBridgeCall",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "",
"type": "bytes"
}
],
"name": "onRevert",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "quoteId",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "receiver",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "refund",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "retryBridgeCall",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "_dstChain",
"type": "string"
},
{
"internalType": "address",
"name": "_refund",
"type": "address"
},
{
"internalType": "address[]",
"name": "_tokens",
"type": "address[]"
},
{
"internalType": "uint256[]",
"name": "_amounts",
"type": "uint256[]"
},
{
"internalType": "address",
"name": "_to",
"type": "address"
},
{
"internalType": "bytes",
"name": "_data",
"type": "bytes"
},
{
"internalType": "uint256",
"name": "_quoteId",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_gasLimit",
"type": "uint256"
},
{
"internalType": "string",
"name": "_memo",
"type": "string"
}
],
"name": "setBridgeCallParams",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bool",
"name": "_retry",
"type": "bool"
}
],
"name": "setRetryBridgeCall",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "to",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "tokens",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
}
],
"bytecode": "0x608060405234801561001057600080fd5b5060405161107b38038061107b83398101604081905261002f9161007c565b600080546001600160a01b039384166001600160a01b031991821617909155600180549290931691161790556100af565b80516001600160a01b038116811461007757600080fd5b919050565b6000806040838503121561008f57600080fd5b61009883610060565b91506100a660208401610060565b90509250929050565b610fbd806100be6000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c806361fd169211610097578063ba1521bf11610066578063ba1521bf14610209578063e31fc2051461021c578063f68016b714610248578063f7260d3e1461025157600080fd5b806361fd1692146101c257806373d4a13a146101d55780638fed6063146101dd5780639a8594b4146101e557600080fd5b80634f64b2be116100d35780634f64b2be1461017457806357ffc0921461018757806358c3b8701461019a578063590e1ae3146101af57600080fd5b8063131519811461010557806330bac4f41461013557806332e1e16e1461014c57806345f0a44f14610161575b600080fd5b600654610118906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b61013e60085481565b60405190815260200161012c565b61015f61015a36600461094c565b610264565b005b61013e61016f366004610993565b610449565b610118610182366004610993565b61046a565b61015f610195366004610ab9565b610494565b6101a26105d3565b60405161012c9190610bd3565b600354610118906001600160a01b031681565b600054610118906001600160a01b031681565b6101a2610661565b6101a261066e565b6001546101f990600160a01b900460ff1681565b604051901515815260200161012c565b61015f610217366004610bed565b61067b565b61015f61022a366004610d05565b60018054911515600160a01b0260ff60a01b19909216919091179055565b61013e60095481565b600154610118906001600160a01b031681565b6000546001600160a01b031633146102b45760405162461bcd60e51b815260206004820152600e60248201526d6f6e6c792066782062726964676560901b60448201526064015b60405180910390fd5b60005b60045481101561039857600481815481106102d4576102d4610d22565b60009182526020822001549054600580546001600160a01b039384169363095ea7b3931691908590811061030a5761030a610d22565b6000918252602090912001546040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015610361573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103859190610d38565b508061039081610d55565b9150506102b7565b50600154600160a01b900460ff166103ae575050565b60005460035460065460085460095460405163736b4f6f60e11b81526001600160a01b039586169563e6d69ede95610401956002959183169460049460059490921692600792909190600a908701610e9a565b6020604051808303816000875af1158015610420573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104449190610f6e565b505050565b6005818154811061045957600080fd5b600091825260209091200154905081565b6004818154811061047a57600080fd5b6000918252602090912001546001600160a01b0316905081565b6000546001600160a01b031633146104df5760405162461bcd60e51b815260206004820152600e60248201526d6f6e6c792066782062726964676560901b60448201526064016102ab565b60005b84518110156105ca578481815181106104fd576104fd610d22565b60200260200101516001600160a01b031663a9059cbb600160009054906101000a90046001600160a01b031686848151811061053b5761053b610d22565b60200260200101516040518363ffffffff1660e01b81526004016105749291906001600160a01b03929092168252602082015260400190565b6020604051808303816000875af1158015610593573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b79190610d38565b50806105c281610d55565b9150506104e2565b50505050505050565b600a80546105e090610d7e565b80601f016020809104026020016040519081016040528092919081815260200182805461060c90610d7e565b80156106595780601f1061062e57610100808354040283529160200191610659565b820191906000526020600020905b81548152906001019060200180831161063c57829003601f168201915b505050505081565b600780546105e090610d7e565b600280546105e090610d7e565b85518751146106be5760405162461bcd60e51b815260206004820152600f60248201526e0d8cadccee8d040dad2e6dac2e8c6d608b1b60448201526064016102ab565b88516106d19060029060208c019061076d565b50600380546001600160a01b0319166001600160a01b038a1617905586516107009060049060208a01906107f1565b508551610714906005906020890190610846565b50600680546001600160a01b0319166001600160a01b038716179055835161074390600790602087019061076d565b5060088390556009829055805161076190600a90602084019061076d565b50505050505050505050565b82805461077990610d7e565b90600052602060002090601f01602090048101928261079b57600085556107e1565b82601f106107b457805160ff19168380011785556107e1565b828001600101855582156107e1579182015b828111156107e15782518255916020019190600101906107c6565b506107ed929150610880565b5090565b8280548282559060005260206000209081019282156107e1579160200282015b828111156107e157825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190610811565b8280548282559060005260206000209081019282156107e157916020028201828111156107e15782518255916020019190600101906107c6565b5b808211156107ed5760008155600101610881565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156108d4576108d4610895565b604052919050565b600082601f8301126108ed57600080fd5b813567ffffffffffffffff81111561090757610907610895565b61091a601f8201601f19166020016108ab565b81815284602083860101111561092f57600080fd5b816020850160208301376000918101602001919091529392505050565b6000806040838503121561095f57600080fd5b82359150602083013567ffffffffffffffff81111561097d57600080fd5b610989858286016108dc565b9150509250929050565b6000602082840312156109a557600080fd5b5035919050565b80356001600160a01b03811681146109c357600080fd5b919050565b600067ffffffffffffffff8211156109e2576109e2610895565b5060051b60200190565b600082601f8301126109fd57600080fd5b81356020610a12610a0d836109c8565b6108ab565b82815260059290921b84018101918181019086841115610a3157600080fd5b8286015b84811015610a5357610a46816109ac565b8352918301918301610a35565b509695505050505050565b600082601f830112610a6f57600080fd5b81356020610a7f610a0d836109c8565b82815260059290921b84018101918181019086841115610a9e57600080fd5b8286015b84811015610a535780358352918301918301610aa2565b60008060008060008060c08789031215610ad257600080fd5b610adb876109ac565b9550610ae9602088016109ac565b9450604087013567ffffffffffffffff80821115610b0657600080fd5b610b128a838b016109ec565b95506060890135915080821115610b2857600080fd5b610b348a838b01610a5e565b94506080890135915080821115610b4a57600080fd5b610b568a838b016108dc565b935060a0890135915080821115610b6c57600080fd5b50610b7989828a016108dc565b9150509295509295509295565b6000815180845260005b81811015610bac57602081850181015186830182015201610b90565b81811115610bbe576000602083870101525b50601f01601f19169290920160200192915050565b602081526000610be66020830184610b86565b9392505050565b60008060008060008060008060006101208a8c031215610c0c57600080fd5b893567ffffffffffffffff80821115610c2457600080fd5b610c308d838e016108dc565b9a50610c3e60208d016109ac565b995060408c0135915080821115610c5457600080fd5b610c608d838e016109ec565b985060608c0135915080821115610c7657600080fd5b610c828d838e01610a5e565b9750610c9060808d016109ac565b965060a08c0135915080821115610ca657600080fd5b610cb28d838e016108dc565b955060c08c0135945060e08c013593506101008c0135915080821115610cd757600080fd5b50610ce48c828d016108dc565b9150509295985092959850929598565b8015158114610d0257600080fd5b50565b600060208284031215610d1757600080fd5b8135610be681610cf4565b634e487b7160e01b600052603260045260246000fd5b600060208284031215610d4a57600080fd5b8151610be681610cf4565b6000600019821415610d7757634e487b7160e01b600052601160045260246000fd5b5060010190565b600181811c90821680610d9257607f821691505b60208210811415610db357634e487b7160e01b600052602260045260246000fd5b50919050565b8054600090600181811c9080831680610dd357607f831692505b6020808410821415610df557634e487b7160e01b600052602260045260246000fd5b838852818015610e0c5760018114610e2057610e4e565b60ff19861689830152604089019650610e4e565b876000528160002060005b86811015610e465781548b8201850152908501908301610e2b565b8a0183019750505b50505050505092915050565b6000815480845260208085019450836000528060002060005b83811015610e8f57815487529582019560019182019101610e73565b509495945050505050565b6000610120808352610eae8184018d610db9565b6001600160a01b038c811660208681019190915285830360408701528c5480845260008e8152828120955091938401915b81811015610efd578554841683526001958601959285019201610edf565b50508581036060870152610f11818d610e5a565b9350505050610f2b60808401896001600160a01b03169052565b82810360a0840152610f3d8188610db9565b90508560c08401528460e0840152828103610100840152610f5e8185610db9565b9c9b505050505050505050505050565b600060208284031215610f8057600080fd5b505191905056fea2646970667358221220b8f4b79bef3c0f23df1c21ab9d6670bea3a029d42ea409fc829b92516c95c23464736f6c634300080a0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101005760003560e01c806361fd169211610097578063ba1521bf11610066578063ba1521bf14610209578063e31fc2051461021c578063f68016b714610248578063f7260d3e1461025157600080fd5b806361fd1692146101c257806373d4a13a146101d55780638fed6063146101dd5780639a8594b4146101e557600080fd5b80634f64b2be116100d35780634f64b2be1461017457806357ffc0921461018757806358c3b8701461019a578063590e1ae3146101af57600080fd5b8063131519811461010557806330bac4f41461013557806332e1e16e1461014c57806345f0a44f14610161575b600080fd5b600654610118906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b61013e60085481565b60405190815260200161012c565b61015f61015a36600461094c565b610264565b005b61013e61016f366004610993565b610449565b610118610182366004610993565b61046a565b61015f610195366004610ab9565b610494565b6101a26105d3565b60405161012c9190610bd3565b600354610118906001600160a01b031681565b600054610118906001600160a01b031681565b6101a2610661565b6101a261066e565b6001546101f990600160a01b900460ff1681565b604051901515815260200161012c565b61015f610217366004610bed565b61067b565b61015f61022a366004610d05565b60018054911515600160a01b0260ff60a01b19909216919091179055565b61013e60095481565b600154610118906001600160a01b031681565b6000546001600160a01b031633146102b45760405162461bcd60e51b815260206004820152600e60248201526d6f6e6c792066782062726964676560901b60448201526064015b60405180910390fd5b60005b60045481101561039857600481815481106102d4576102d4610d22565b60009182526020822001549054600580546001600160a01b039384169363095ea7b3931691908590811061030a5761030a610d22565b6000918252602090912001546040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015610361573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103859190610d38565b508061039081610d55565b9150506102b7565b50600154600160a01b900460ff166103ae575050565b60005460035460065460085460095460405163736b4f6f60e11b81526001600160a01b039586169563e6d69ede95610401956002959183169460049460059490921692600792909190600a908701610e9a565b6020604051808303816000875af1158015610420573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104449190610f6e565b505050565b6005818154811061045957600080fd5b600091825260209091200154905081565b6004818154811061047a57600080fd5b6000918252602090912001546001600160a01b0316905081565b6000546001600160a01b031633146104df5760405162461bcd60e51b815260206004820152600e60248201526d6f6e6c792066782062726964676560901b60448201526064016102ab565b60005b84518110156105ca578481815181106104fd576104fd610d22565b60200260200101516001600160a01b031663a9059cbb600160009054906101000a90046001600160a01b031686848151811061053b5761053b610d22565b60200260200101516040518363ffffffff1660e01b81526004016105749291906001600160a01b03929092168252602082015260400190565b6020604051808303816000875af1158015610593573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b79190610d38565b50806105c281610d55565b9150506104e2565b50505050505050565b600a80546105e090610d7e565b80601f016020809104026020016040519081016040528092919081815260200182805461060c90610d7e565b80156106595780601f1061062e57610100808354040283529160200191610659565b820191906000526020600020905b81548152906001019060200180831161063c57829003601f168201915b505050505081565b600780546105e090610d7e565b600280546105e090610d7e565b85518751146106be5760405162461bcd60e51b815260206004820152600f60248201526e0d8cadccee8d040dad2e6dac2e8c6d608b1b60448201526064016102ab565b88516106d19060029060208c019061076d565b50600380546001600160a01b0319166001600160a01b038a1617905586516107009060049060208a01906107f1565b508551610714906005906020890190610846565b50600680546001600160a01b0319166001600160a01b038716179055835161074390600790602087019061076d565b5060088390556009829055805161076190600a90602084019061076d565b50505050505050505050565b82805461077990610d7e565b90600052602060002090601f01602090048101928261079b57600085556107e1565b82601f106107b457805160ff19168380011785556107e1565b828001600101855582156107e1579182015b828111156107e15782518255916020019190600101906107c6565b506107ed929150610880565b5090565b8280548282559060005260206000209081019282156107e1579160200282015b828111156107e157825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190610811565b8280548282559060005260206000209081019282156107e157916020028201828111156107e15782518255916020019190600101906107c6565b5b808211156107ed5760008155600101610881565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156108d4576108d4610895565b604052919050565b600082601f8301126108ed57600080fd5b813567ffffffffffffffff81111561090757610907610895565b61091a601f8201601f19166020016108ab565b81815284602083860101111561092f57600080fd5b816020850160208301376000918101602001919091529392505050565b6000806040838503121561095f57600080fd5b82359150602083013567ffffffffffffffff81111561097d57600080fd5b610989858286016108dc565b9150509250929050565b6000602082840312156109a557600080fd5b5035919050565b80356001600160a01b03811681146109c357600080fd5b919050565b600067ffffffffffffffff8211156109e2576109e2610895565b5060051b60200190565b600082601f8301126109fd57600080fd5b81356020610a12610a0d836109c8565b6108ab565b82815260059290921b84018101918181019086841115610a3157600080fd5b8286015b84811015610a5357610a46816109ac565b8352918301918301610a35565b509695505050505050565b600082601f830112610a6f57600080fd5b81356020610a7f610a0d836109c8565b82815260059290921b84018101918181019086841115610a9e57600080fd5b8286015b84811015610a535780358352918301918301610aa2565b60008060008060008060c08789031215610ad257600080fd5b610adb876109ac565b9550610ae9602088016109ac565b9450604087013567ffffffffffffffff80821115610b0657600080fd5b610b128a838b016109ec565b95506060890135915080821115610b2857600080fd5b610b348a838b01610a5e565b94506080890135915080821115610b4a57600080fd5b610b568a838b016108dc565b935060a0890135915080821115610b6c57600080fd5b50610b7989828a016108dc565b9150509295509295509295565b6000815180845260005b81811015610bac57602081850181015186830182015201610b90565b81811115610bbe576000602083870101525b50601f01601f19169290920160200192915050565b602081526000610be66020830184610b86565b9392505050565b60008060008060008060008060006101208a8c031215610c0c57600080fd5b893567ffffffffffffffff80821115610c2457600080fd5b610c308d838e016108dc565b9a50610c3e60208d016109ac565b995060408c0135915080821115610c5457600080fd5b610c608d838e016109ec565b985060608c0135915080821115610c7657600080fd5b610c828d838e01610a5e565b9750610c9060808d016109ac565b965060a08c0135915080821115610ca657600080fd5b610cb28d838e016108dc565b955060c08c0135945060e08c013593506101008c0135915080821115610cd757600080fd5b50610ce48c828d016108dc565b9150509295985092959850929598565b8015158114610d0257600080fd5b50565b600060208284031215610d1757600080fd5b8135610be681610cf4565b634e487b7160e01b600052603260045260246000fd5b600060208284031215610d4a57600080fd5b8151610be681610cf4565b6000600019821415610d7757634e487b7160e01b600052601160045260246000fd5b5060010190565b600181811c90821680610d9257607f821691505b60208210811415610db357634e487b7160e01b600052602260045260246000fd5b50919050565b8054600090600181811c9080831680610dd357607f831692505b6020808410821415610df557634e487b7160e01b600052602260045260246000fd5b838852818015610e0c5760018114610e2057610e4e565b60ff19861689830152604089019650610e4e565b876000528160002060005b86811015610e465781548b8201850152908501908301610e2b565b8a0183019750505b50505050505092915050565b6000815480845260208085019450836000528060002060005b83811015610e8f57815487529582019560019182019101610e73565b509495945050505050565b6000610120808352610eae8184018d610db9565b6001600160a01b038c811660208681019190915285830360408701528c5480845260008e8152828120955091938401915b81811015610efd578554841683526001958601959285019201610edf565b50508581036060870152610f11818d610e5a565b9350505050610f2b60808401896001600160a01b03169052565b82810360a0840152610f3d8188610db9565b90508560c08401528460e0840152828103610100840152610f5e8185610db9565b9c9b505050505050505050505050565b600060208284031215610f8057600080fd5b505191905056fea2646970667358221220b8f4b79bef3c0f23df1c21ab9d6670bea3a029d42ea409fc829b92516c95c23464736f6c634300080a0033",
"linkReferences": {},
"deployedLinkReferences": {}
}