@q-dev/gdk-sdk
Version:
Typescript Library to interact with GDK Contracts
230 lines (229 loc) • 24.2 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "ForeignICPTreasuryConnector",
"sourceName": "contracts/presets/ICP/ForeignICPTreasuryConnector.sol",
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "icpCanister_",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint8",
"name": "version",
"type": "uint8"
}
],
"name": "Initialized",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "token",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "MessageReceived",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address[]",
"name": "newOwners",
"type": "address[]"
}
],
"name": "OwnersAdded",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address[]",
"name": "removedOwners",
"type": "address[]"
}
],
"name": "OwnersRemoved",
"type": "event"
},
{
"inputs": [
{
"internalType": "address[]",
"name": "newOwners_",
"type": "address[]"
}
],
"name": "addOwners",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "token_",
"type": "address"
}
],
"name": "getERC20Balance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getNativeBalance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getOwners",
"outputs": [
{
"internalType": "address[]",
"name": "",
"type": "address[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "token_",
"type": "address"
},
{
"internalType": "address",
"name": "receiver_",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount_",
"type": "uint256"
}
],
"name": "handle",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "address_",
"type": "address"
}
],
"name": "isOwner",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "isTreasuryOwner",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address[]",
"name": "oldOwners_",
"type": "address[]"
}
],
"name": "removeOwners",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "renounceOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"stateMutability": "payable",
"type": "receive"
}
],
"bytecode": "0x60806040523480156200001157600080fd5b506040516200161c3803806200161c8339810160408190526200003491620003bb565b600054610100900460ff1615808015620000555750600054600160ff909116105b80620000715750303b15801562000071575060005460ff166001145b620000995760405162461bcd60e51b8152600401620000909062000433565b60405180910390fd5b6000805460ff191660011790558015620000bd576000805461ff0019166101001790555b620000c76200013b565b620000e5620000df6001600160a01b0384166200017c565b620001da565b801562000133576000805461ff00191690556040517f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906200012a9060019062000462565b60405180910390a15b50506200063c565b600054610100900460ff16620001655760405162461bcd60e51b81526004016200009090620004b9565b6200017a62000174336200017c565b620001f2565b565b604080516001808252818301909252606091602080830190803683370190505090508181600081518110620001b557620001b5620004cb565b60200260200101906001600160a01b031690816001600160a01b031681525050919050565b620001e462000269565b620001ef81620001f2565b50565b620001ff60018262000293565b6200020d60016000620002ec565b156200022d5760405162461bcd60e51b8152600401620000909062000528565b7f5fd1e185ef572e7f662fcc63b7c9e778b996190372868af5fe137132c811398e816040516200025e9190620005a4565b60405180910390a150565b620002743362000313565b6200017a5760405162461bcd60e51b81526004016200009090620005f8565b60005b8151811015620002e757620002d1828281518110620002b957620002b9620004cb565b6020026020010151846200032260201b90919060201c565b5080620002de8162000620565b91505062000296565b505050565b6001600160a01b038116600090815260018301602052604081205415155b90505b92915050565b60006200030d600183620002ec565b60006200030a836001600160a01b03841660008181526001830160205260408120546200037c575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556200030d565b5060006200030d565b60006001600160a01b0382166200030d565b620003a28162000385565b8114620001ef57600080fd5b80516200030d8162000397565b600060208284031215620003d257620003d2600080fd5b6000620003e08484620003ae565b949350505050565b602e8152602081017f496e697469616c697a61626c653a20636f6e747261637420697320616c72656181526d191e481a5b9a5d1a585b1a5e995960921b602082015290505b60400190565b602080825281016200030d81620003e8565b600060ff82166200030d565b6200045c8162000445565b82525050565b602081016200030d828462000451565b602b8152602081017f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206981526a6e697469616c697a696e6760a81b602082015290506200042d565b602080825281016200030d8162000472565b634e487b7160e01b600052603260045260246000fd5b602b8152602081017f4d756c74694f776e61626c653a207a65726f20616464726573732063616e206e81526a1bdd08189948185919195960aa1b602082015290506200042d565b602080825281016200030d81620004e1565b6200045c8162000385565b6200055182826200053a565b5060200190565b600062000563825190565b808452602093840193830160005b828110156200059a57815162000588878262000545565b96505060208201915060010162000571565b5093949350505050565b602080825281016200030a818462000558565b60258152602081017f4d756c74694f776e61626c653a2063616c6c6572206973206e6f74207468652081526437bbb732b960d91b602082015290506200042d565b602080825281016200030d81620005b7565b634e487b7160e01b600052601160045260246000fd5b6000600182016200063557620006356200060a565b5060010190565b610fd0806200064c6000396000f3fe60806040526004361061008a5760003560e01c8063715018a611610059578063715018a61461012e57806388a9d55414610143578063a0e67e2b1461015f578063a9a5e3af14610181578063b588d225146101a157600080fd5b80632ef1bced146100965780632f54bf6e146100b8578063556e108e146100ee5780636c46a2c51461010e57600080fd5b3661009157005b600080fd5b3480156100a257600080fd5b506100b66100b13660046109f6565b6101c1565b005b3480156100c457600080fd5b506100d86100d3366004610a46565b61022d565b6040516100e59190610a71565b60405180910390f35b3480156100fa57600080fd5b506100d8610109366004610a46565b610240565b34801561011a57600080fd5b506100b6610129366004610b84565b61024b565b34801561013a57600080fd5b506100b661025f565b34801561014f57600080fd5b50475b6040516100e59190610bc5565b34801561016b57600080fd5b5061017461027a565b6040516100e59190610c3a565b34801561018d57600080fd5b506100b661019c366004610b84565b61028b565b3480156101ad57600080fd5b506101526101bc366004610a46565b61029c565b6101c961030c565b6101dd6001600160a01b038416838361033a565b816001600160a01b0316836001600160a01b03167fe355996e2996142ac85dc67216bbb3fc359221d123a11cdfeee89bc680e99708836040516102209190610bc5565b60405180910390a3505050565b600061023a6001836103fb565b92915050565b600061023a8261022d565b61025361030c565b61025c81610420565b50565b61026761030c565b6102786102733361048e565b6104e9565b565b60606102866001610523565b905090565b61029361030c565b61025c816104e9565b6040516370a0823160e01b81526000906001600160a01b038316906370a08231906102cb903090600401610c4b565b602060405180830381865afa1580156102e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061023a9190610c64565b6103153361022d565b6102785760405162461bcd60e51b815260040161033190610cc7565b60405180910390fd5b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016103e257600080836001600160a01b03168360405160006040518083038185875af1925050503d80600081146103ad576040519150601f19603f3d011682016040523d82523d6000602084013e6103b2565b606091505b50915091506103da8282604051806060016040528060358152602001610f6660359139610530565b505050505050565b6103f66001600160a01b0384168383610549565b505050565b6001600160a01b038116600090815260018301602052604081205415155b9392505050565b61042b60018261059f565b610437600160006103fb565b156104545760405162461bcd60e51b815260040161033190610d1d565b7f5fd1e185ef572e7f662fcc63b7c9e778b996190372868af5fe137132c811398e816040516104839190610c3a565b60405180910390a150565b6040805160018082528183019092526060916020808301908036833701905050905081816000815181106104c4576104c4610d2d565b60200260200101906001600160a01b031690816001600160a01b031681525050919050565b6104f46001826105ea565b7f0bbb8c3531454b5141cebfe14eba43275a099c31e3357a4653412a08b05ce0cc816040516104839190610c3a565b6060600061041983610635565b6060831561053f575081610419565b6104198383610691565b6103f68363a9059cbb60e01b8484604051602401610568929190610d43565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526106bb565b60005b81518110156103f6576105d78282815181106105c0576105c0610d2d565b60200260200101518461074d90919063ffffffff16565b50806105e281610d74565b9150506105a2565b60005b81518110156103f65761062282828151811061060b5761060b610d2d565b60200260200101518461076290919063ffffffff16565b508061062d81610d74565b9150506105ed565b60608160000180548060200260200160405190810160405280929190818152602001828054801561068557602002820191906000526020600020905b815481526020019060010190808311610671575b50505050509050919050565b8151156106a15781518083602001fd5b8060405162461bcd60e51b81526004016103319190610de3565b6000610710826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166107779092919063ffffffff16565b90508051600014806107315750808060200190518101906107319190610e07565b6103f65760405162461bcd60e51b815260040161033190610e6d565b6000610419836001600160a01b03841661078e565b6000610419836001600160a01b0384166107dd565b606061078684846000856108d0565b949350505050565b60008181526001830160205260408120546107d55750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561023a565b50600061023a565b600081815260018301602052604081205480156108c6576000610801600183610e7d565b855490915060009061081590600190610e7d565b905081811461087a57600086600001828154811061083557610835610d2d565b906000526020600020015490508087600001848154811061085857610858610d2d565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061088b5761088b610e90565b60019003818190600052602060002001600090559055856001016000868152602001908152602001600020600090556001935050505061023a565b600091505061023a565b6060824710156108f25760405162461bcd60e51b815260040161033190610ee7565b600080866001600160a01b0316858760405161090e9190610f19565b60006040518083038185875af1925050503d806000811461094b576040519150601f19603f3d011682016040523d82523d6000602084013e610950565b606091505b50915091506109618783838761096c565b979650505050505050565b606083156109ab5782516000036109a4576001600160a01b0385163b6109a45760405162461bcd60e51b815260040161033190610f55565b5081610786565b6107868383610691565b60006001600160a01b03821661023a565b6109cf816109b5565b811461025c57600080fd5b803561023a816109c6565b806109cf565b803561023a816109e5565b600080600060608486031215610a0e57610a0e600080fd5b6000610a1a86866109da565b9350506020610a2b868287016109da565b9250506040610a3c868287016109eb565b9150509250925092565b600060208284031215610a5b57610a5b600080fd5b600061078684846109da565b8015155b82525050565b6020810161023a8284610a67565b634e487b7160e01b600052604160045260246000fd5b601f19601f830116810181811067ffffffffffffffff82111715610abb57610abb610a7f565b6040525050565b6000610acd60405190565b9050610ad98282610a95565b919050565b600067ffffffffffffffff821115610af857610af8610a7f565b5060209081020190565b6000610b15610b1084610ade565b610ac2565b83815290506020808201908402830185811115610b3457610b34600080fd5b835b81811015610b5657610b4887826109da565b835260209283019201610b36565b5050509392505050565b600082601f830112610b7457610b74600080fd5b8135610786848260208601610b02565b600060208284031215610b9957610b99600080fd5b813567ffffffffffffffff811115610bb357610bb3600080fd5b61078684828501610b60565b80610a6b565b6020810161023a8284610bbf565b610a6b816109b5565b610be68282610bd3565b5060200190565b60200190565b6000610bfd825190565b808452602093840193830160005b82811015610c30578151610c1f8782610bdc565b965050602082019150600101610c0b565b5093949350505050565b602080825281016104198184610bf3565b6020810161023a8284610bd3565b805161023a816109e5565b600060208284031215610c7957610c79600080fd5b60006107868484610c59565b60258152602081017f4d756c74694f776e61626c653a2063616c6c6572206973206e6f74207468652081526437bbb732b960d91b602082015290505b60400190565b6020808252810161023a81610c85565b602b8152602081017f4d756c74694f776e61626c653a207a65726f20616464726573732063616e206e81526a1bdd08189948185919195960aa1b60208201529050610cc1565b6020808252810161023a81610cd7565b634e487b7160e01b600052603260045260246000fd5b60408101610d518285610bd3565b6104196020830184610bbf565b634e487b7160e01b600052601160045260246000fd5b600060018201610d8657610d86610d5e565b5060010190565b60005b83811015610da8578181015183820152602001610d90565b50506000910152565b6000610dbb825190565b808452602084019350610dd2818560208601610d8d565b601f01601f19169290920192915050565b602080825281016104198184610db1565b8015156109cf565b805161023a81610df4565b600060208284031215610e1c57610e1c600080fd5b60006107868484610dfc565b602a8152602081017f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b60208201529050610cc1565b6020808252810161023a81610e28565b8181038181111561023a5761023a610d5e565b634e487b7160e01b600052603160045260246000fd5b60268152602081017f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b60208201529050610cc1565b6020808252810161023a81610ea6565b6000610f01825190565b610f0f818560208601610d8d565b9290920192915050565b61023a8183610ef7565b601d8152602081017f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000081529050610bed565b6020808252810161023a81610f2356fe5b5147444b2d3031393030305d2d5472616e7366657272696e67206f66206e61746976652063757272656e6379206661696c65642ea264697066735822122023929f15307846c8c87e5c744ad85332bdc93cc321da2c41deed51ca7de31ea964736f6c63430008140033",
"deployedBytecode": "0x60806040526004361061008a5760003560e01c8063715018a611610059578063715018a61461012e57806388a9d55414610143578063a0e67e2b1461015f578063a9a5e3af14610181578063b588d225146101a157600080fd5b80632ef1bced146100965780632f54bf6e146100b8578063556e108e146100ee5780636c46a2c51461010e57600080fd5b3661009157005b600080fd5b3480156100a257600080fd5b506100b66100b13660046109f6565b6101c1565b005b3480156100c457600080fd5b506100d86100d3366004610a46565b61022d565b6040516100e59190610a71565b60405180910390f35b3480156100fa57600080fd5b506100d8610109366004610a46565b610240565b34801561011a57600080fd5b506100b6610129366004610b84565b61024b565b34801561013a57600080fd5b506100b661025f565b34801561014f57600080fd5b50475b6040516100e59190610bc5565b34801561016b57600080fd5b5061017461027a565b6040516100e59190610c3a565b34801561018d57600080fd5b506100b661019c366004610b84565b61028b565b3480156101ad57600080fd5b506101526101bc366004610a46565b61029c565b6101c961030c565b6101dd6001600160a01b038416838361033a565b816001600160a01b0316836001600160a01b03167fe355996e2996142ac85dc67216bbb3fc359221d123a11cdfeee89bc680e99708836040516102209190610bc5565b60405180910390a3505050565b600061023a6001836103fb565b92915050565b600061023a8261022d565b61025361030c565b61025c81610420565b50565b61026761030c565b6102786102733361048e565b6104e9565b565b60606102866001610523565b905090565b61029361030c565b61025c816104e9565b6040516370a0823160e01b81526000906001600160a01b038316906370a08231906102cb903090600401610c4b565b602060405180830381865afa1580156102e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061023a9190610c64565b6103153361022d565b6102785760405162461bcd60e51b815260040161033190610cc7565b60405180910390fd5b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016103e257600080836001600160a01b03168360405160006040518083038185875af1925050503d80600081146103ad576040519150601f19603f3d011682016040523d82523d6000602084013e6103b2565b606091505b50915091506103da8282604051806060016040528060358152602001610f6660359139610530565b505050505050565b6103f66001600160a01b0384168383610549565b505050565b6001600160a01b038116600090815260018301602052604081205415155b9392505050565b61042b60018261059f565b610437600160006103fb565b156104545760405162461bcd60e51b815260040161033190610d1d565b7f5fd1e185ef572e7f662fcc63b7c9e778b996190372868af5fe137132c811398e816040516104839190610c3a565b60405180910390a150565b6040805160018082528183019092526060916020808301908036833701905050905081816000815181106104c4576104c4610d2d565b60200260200101906001600160a01b031690816001600160a01b031681525050919050565b6104f46001826105ea565b7f0bbb8c3531454b5141cebfe14eba43275a099c31e3357a4653412a08b05ce0cc816040516104839190610c3a565b6060600061041983610635565b6060831561053f575081610419565b6104198383610691565b6103f68363a9059cbb60e01b8484604051602401610568929190610d43565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526106bb565b60005b81518110156103f6576105d78282815181106105c0576105c0610d2d565b60200260200101518461074d90919063ffffffff16565b50806105e281610d74565b9150506105a2565b60005b81518110156103f65761062282828151811061060b5761060b610d2d565b60200260200101518461076290919063ffffffff16565b508061062d81610d74565b9150506105ed565b60608160000180548060200260200160405190810160405280929190818152602001828054801561068557602002820191906000526020600020905b815481526020019060010190808311610671575b50505050509050919050565b8151156106a15781518083602001fd5b8060405162461bcd60e51b81526004016103319190610de3565b6000610710826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166107779092919063ffffffff16565b90508051600014806107315750808060200190518101906107319190610e07565b6103f65760405162461bcd60e51b815260040161033190610e6d565b6000610419836001600160a01b03841661078e565b6000610419836001600160a01b0384166107dd565b606061078684846000856108d0565b949350505050565b60008181526001830160205260408120546107d55750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561023a565b50600061023a565b600081815260018301602052604081205480156108c6576000610801600183610e7d565b855490915060009061081590600190610e7d565b905081811461087a57600086600001828154811061083557610835610d2d565b906000526020600020015490508087600001848154811061085857610858610d2d565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061088b5761088b610e90565b60019003818190600052602060002001600090559055856001016000868152602001908152602001600020600090556001935050505061023a565b600091505061023a565b6060824710156108f25760405162461bcd60e51b815260040161033190610ee7565b600080866001600160a01b0316858760405161090e9190610f19565b60006040518083038185875af1925050503d806000811461094b576040519150601f19603f3d011682016040523d82523d6000602084013e610950565b606091505b50915091506109618783838761096c565b979650505050505050565b606083156109ab5782516000036109a4576001600160a01b0385163b6109a45760405162461bcd60e51b815260040161033190610f55565b5081610786565b6107868383610691565b60006001600160a01b03821661023a565b6109cf816109b5565b811461025c57600080fd5b803561023a816109c6565b806109cf565b803561023a816109e5565b600080600060608486031215610a0e57610a0e600080fd5b6000610a1a86866109da565b9350506020610a2b868287016109da565b9250506040610a3c868287016109eb565b9150509250925092565b600060208284031215610a5b57610a5b600080fd5b600061078684846109da565b8015155b82525050565b6020810161023a8284610a67565b634e487b7160e01b600052604160045260246000fd5b601f19601f830116810181811067ffffffffffffffff82111715610abb57610abb610a7f565b6040525050565b6000610acd60405190565b9050610ad98282610a95565b919050565b600067ffffffffffffffff821115610af857610af8610a7f565b5060209081020190565b6000610b15610b1084610ade565b610ac2565b83815290506020808201908402830185811115610b3457610b34600080fd5b835b81811015610b5657610b4887826109da565b835260209283019201610b36565b5050509392505050565b600082601f830112610b7457610b74600080fd5b8135610786848260208601610b02565b600060208284031215610b9957610b99600080fd5b813567ffffffffffffffff811115610bb357610bb3600080fd5b61078684828501610b60565b80610a6b565b6020810161023a8284610bbf565b610a6b816109b5565b610be68282610bd3565b5060200190565b60200190565b6000610bfd825190565b808452602093840193830160005b82811015610c30578151610c1f8782610bdc565b965050602082019150600101610c0b565b5093949350505050565b602080825281016104198184610bf3565b6020810161023a8284610bd3565b805161023a816109e5565b600060208284031215610c7957610c79600080fd5b60006107868484610c59565b60258152602081017f4d756c74694f776e61626c653a2063616c6c6572206973206e6f74207468652081526437bbb732b960d91b602082015290505b60400190565b6020808252810161023a81610c85565b602b8152602081017f4d756c74694f776e61626c653a207a65726f20616464726573732063616e206e81526a1bdd08189948185919195960aa1b60208201529050610cc1565b6020808252810161023a81610cd7565b634e487b7160e01b600052603260045260246000fd5b60408101610d518285610bd3565b6104196020830184610bbf565b634e487b7160e01b600052601160045260246000fd5b600060018201610d8657610d86610d5e565b5060010190565b60005b83811015610da8578181015183820152602001610d90565b50506000910152565b6000610dbb825190565b808452602084019350610dd2818560208601610d8d565b601f01601f19169290920192915050565b602080825281016104198184610db1565b8015156109cf565b805161023a81610df4565b600060208284031215610e1c57610e1c600080fd5b60006107868484610dfc565b602a8152602081017f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b60208201529050610cc1565b6020808252810161023a81610e28565b8181038181111561023a5761023a610d5e565b634e487b7160e01b600052603160045260246000fd5b60268152602081017f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b60208201529050610cc1565b6020808252810161023a81610ea6565b6000610f01825190565b610f0f818560208601610d8d565b9290920192915050565b61023a8183610ef7565b601d8152602081017f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000081529050610bed565b6020808252810161023a81610f2356fe5b5147444b2d3031393030305d2d5472616e7366657272696e67206f66206e61746976652063757272656e6379206661696c65642ea264697066735822122023929f15307846c8c87e5c744ad85332bdc93cc321da2c41deed51ca7de31ea964736f6c63430008140033",
"linkReferences": {},
"deployedLinkReferences": {}
}