Files
smom-dbis-138/artifacts/contracts/bridge/integration/eMoneyPolicyEnforcer.sol/eMoneyPolicyEnforcer.json
2026-03-02 12:14:09 -08:00

536 lines
25 KiB
JSON

{
"_format": "hh-sol-artifact-1",
"contractName": "eMoneyPolicyEnforcer",
"sourceName": "contracts/bridge/integration/eMoneyPolicyEnforcer.sol",
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "admin",
"type": "address"
},
{
"internalType": "address",
"name": "bridgeEscrowVault_",
"type": "address"
},
{
"internalType": "address",
"name": "policyManager_",
"type": "address"
},
{
"internalType": "address",
"name": "complianceRegistry_",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "AccessControlBadConfirmation",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "bytes32",
"name": "neededRole",
"type": "bytes32"
}
],
"name": "AccessControlUnauthorizedAccount",
"type": "error"
},
{
"inputs": [],
"name": "InvalidToken",
"type": "error"
},
{
"inputs": [],
"name": "TokenNotEnabled",
"type": "error"
},
{
"inputs": [],
"name": "TransferNotAuthorized",
"type": "error"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "bytes32",
"name": "previousAdminRole",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "bytes32",
"name": "newAdminRole",
"type": "bytes32"
}
],
"name": "RoleAdminChanged",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "address",
"name": "account",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "sender",
"type": "address"
}
],
"name": "RoleGranted",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "address",
"name": "account",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "sender",
"type": "address"
}
],
"name": "RoleRevoked",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "token",
"type": "address"
},
{
"indexed": false,
"internalType": "bool",
"name": "enabled",
"type": "bool"
}
],
"name": "TokenEnabled",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "token",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "from",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"indexed": false,
"internalType": "bool",
"name": "authorized",
"type": "bool"
}
],
"name": "TransferAuthorized",
"type": "event"
},
{
"inputs": [],
"name": "DEFAULT_ADMIN_ROLE",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "ENFORCER_ROLE",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "OPERATOR_ROLE",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "bridgeEscrowVault",
"outputs": [
{
"internalType": "contract BridgeEscrowVault",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "checkTransferAuthorization",
"outputs": [
{
"internalType": "bool",
"name": "authorized",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "context",
"type": "bytes"
}
],
"name": "checkTransferAuthorizationWithContext",
"outputs": [
{
"internalType": "bool",
"name": "authorized",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "complianceRegistry",
"outputs": [
{
"internalType": "contract ComplianceRegistry",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "token",
"type": "address"
}
],
"name": "disableToken",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "token",
"type": "address"
}
],
"name": "enableToken",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "enabledTokens",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
}
],
"name": "getRoleAdmin",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "grantRole",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "hasRole",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "token",
"type": "address"
}
],
"name": "isTokenEnabled",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "policyManager",
"outputs": [
{
"internalType": "contract PolicyManager",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"internalType": "address",
"name": "callerConfirmation",
"type": "address"
}
],
"name": "renounceRole",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "revokeRole",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes4",
"name": "interfaceId",
"type": "bytes4"
}
],
"name": "supportsInterface",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
}
],
"bytecode": "0x608034620001f557601f6200103438819003918201601f191683019291906001600160401b03841183851017620001fa578160809284926040968752833981010312620001f557620000518162000210565b90620000606020820162000210565b6200009e6200007f60606200007787860162000210565b940162000210565b936200008b8162000225565b506200009781620002a5565b5062000347565b506001600160a01b03908116918215620001a7578116928315620001515716918215620000f65760018060a01b031991826001541617600155816002541617600255600354161760035551610c2f9081620003e58239f35b835162461bcd60e51b815260206004820152602e60248201527f654d6f6e6579506f6c696379456e666f726365723a207a65726f20636f6d706c60448201526d69616e636520726567697374727960901b6064820152608490fd5b845162461bcd60e51b815260206004820152602960248201527f654d6f6e6579506f6c696379456e666f726365723a207a65726f20706f6c69636044820152683c9036b0b730b3b2b960b91b6064820152608490fd5b845162461bcd60e51b815260206004820152602160248201527f654d6f6e6579506f6c696379456e666f726365723a207a65726f2062726964676044820152606560f81b6064820152608490fd5b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b0382168203620001f557565b6001600160a01b031660008181527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604081205490919060ff16620002a157818052816020526040822081835260205260408220600160ff198254161790553391600080516020620010148339815191528180a4600190565b5090565b6001600160a01b031660008181527f7a750cd587acda5aa56e770cbf6d76832999225f755bb1b14d0fb5323840765a60205260408120549091907f973ef39d76cc2c6090feab1c030bec6ab5db557f64df047a4c4f9b5953cf1df39060ff166200034257808352826020526040832082845260205260408320600160ff1982541617905560008051602062001014833981519152339380a4600190565b505090565b6001600160a01b031660008181527fee57cd81e84075558e8fcc182a1f4393f91fc97f963a136e66b7f949a62f319f60205260408120549091907f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b9299060ff166200034257808352826020526040832082845260205260408320600160ff1982541617905560008051602062001014833981519152339380a460019056fe608080604052600436101561001357600080fd5b60003560e01c90816301ffc9a7146109655750806323e27a64146108f9578063248a9ca3146108ca5780632f2ff15d1461088b57806336568abe146108445780633ef2a0df1461059c5780636439fd751461056157806368fa584414610538578063748538d91461024957806391d14854146104eb578063a217fddf146104cf578063a510fbab146102b1578063ab3dbf3b14610288578063b451cecc14610249578063c690908a1461018f578063cac89c5c14610166578063d547741f146101255763f5b541a6146100e557600080fd5b346101205760003660031901126101205760206040517f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b9298152f35b600080fd5b34610120576040366003190112610120576101646004356101446109ce565b9080600052600060205261015f600160406000200154610ac0565b610b64565b005b34610120576000366003190112610120576003546040516001600160a01b039091168152602090f35b34610120576020366003190112610120576101a86109b8565b6101b0610a46565b6001600160a01b03168015610205578060005260046020526040600020600160ff198254161790557fdaf9101d1252b2a64d581ac74c5158c51129acca2ba55c45d3477163f7070fba602060405160018152a2005b606460405162461bcd60e51b815260206004820152602060248201527f654d6f6e6579506f6c696379456e666f726365723a207a65726f20746f6b656e6044820152fd5b34610120576020366003190112610120576001600160a01b0361026a6109b8565b166000526004602052602060ff604060002054166040519015158152f35b34610120576000366003190112610120576002546040516001600160a01b039091168152602090f35b34610120576080366003190112610120576102ca6109b8565b6102d26109ce565b6102da6109e4565b6064359060018060a01b0380851691826000526020956004875260ff60406000205416156104bd57600254604080516336b1527f60e11b8082526001600160a01b0385811660048401528a81166024840152861660448301526064820189905293929091908290608490829089165afa9081156104495760009161048d575b5015610455576003546040519283526001600160a01b039182166004840152878216602484015290831660448301526064820186905287908290608490829087165afa90811561044957600091610414575b50156103de5781600080516020610bda83398151915292604092835196875260018988015216951693a460405160018152f35b81600080516020610bda83398151915292604092600089855198895288015216951693a4604051631f8e654960e11b8152600490fd5b90508681813d8311610442575b61042b81836109fa565b810103126101205761043c90610a1c565b876103ab565b503d610421565b6040513d6000823e3d90fd5b505081600080516020610bda83398151915292604092600089855198895288015216951693a4604051631f8e654960e11b8152600490fd5b6104af915060403d6040116104b6575b6104a781836109fa565b810190610a29565b5089610359565b503d61049d565b604051631fcf8c4760e11b8152600490fd5b3461012057600036600319011261012057602060405160008152f35b34610120576040366003190112610120576105046109ce565b600435600052600060205260406000209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b34610120576000366003190112610120576001546040516001600160a01b039091168152602090f35b346101205760003660031901126101205760206040517f973ef39d76cc2c6090feab1c030bec6ab5db557f64df047a4c4f9b5953cf1df38152f35b346101205760a0366003190112610120576105b56109b8565b6105bd6109ce565b906105c66109e4565b60843567ffffffffffffffff808211610120573660238301121561012057816004013590811161082e5760405191610608601f8301601f1916602001846109fa565b8183523660248383010111610120578160009260246020930183860137830101526001600160a01b03831660009081526004602052604090205460ff16156104bd57600254604051635d64662f60e01b81526001600160a01b03858116600483015286811660248301528481166044830152606480359083015260a06084830152835160a48301819052919392169183919060005b828110610816575050918160c4818560008360409884010152601f801991011681010301915afa908115610449576000916107f6575b5015610775576003546040516336b1527f60e11b81526001600160a01b038481166004830152858116602483015283811660448301526064803590830152909160209183916084918391165afa908115610449576000916107bc575b501561077557604080516064358152600160208201526001600160a01b039283169483169390921691600080516020610bda8339815191529190a4602060405160018152f35b604080516064358152600060208201526001600160a01b039283169483169390921691600080516020610bda8339815191529190a4604051631f8e654960e11b8152600490fd5b90506020813d6020116107ee575b816107d7602093836109fa565b81010312610120576107e890610a1c565b8461072f565b3d91506107ca565b61080f915060403d6040116104b6576104a781836109fa565b50846106d3565b602082820181015160c488840101528694500161069d565b634e487b7160e01b600052604160045260246000fd5b346101205760403660031901126101205761085d6109ce565b336001600160a01b038216036108795761016490600435610b64565b60405163334bd91960e11b8152600490fd5b34610120576040366003190112610120576101646004356108aa6109ce565b908060005260006020526108c5600160406000200154610ac0565b610ae6565b346101205760203660031901126101205760043560005260006020526020600160406000200154604051908152f35b34610120576020366003190112610120576109126109b8565b61091a610a46565b6001600160a01b03166000818152600460209081526040808320805460ff19169055519182527fdaf9101d1252b2a64d581ac74c5158c51129acca2ba55c45d3477163f7070fba91a2005b34610120576020366003190112610120576004359063ffffffff60e01b821680920361012057602091637965db0b60e01b81149081156109a7575b5015158152f35b6301ffc9a760e01b149050836109a0565b600435906001600160a01b038216820361012057565b602435906001600160a01b038216820361012057565b604435906001600160a01b038216820361012057565b90601f8019910116810190811067ffffffffffffffff82111761082e57604052565b5190811515820361012057565b9190826040910312610120576020610a4083610a1c565b92015190565b3360009081527fee57cd81e84075558e8fcc182a1f4393f91fc97f963a136e66b7f949a62f319f60205260409020547f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b9299060ff1615610aa25750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b80600052600060205260406000203360005260205260ff6040600020541615610aa25750565b9060009180835282602052604083209160018060a01b03169182845260205260ff60408420541615600014610b5f57808352826020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4600190565b505090565b9060009180835282602052604083209160018060a01b03169182845260205260ff604084205416600014610b5f5780835282602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a460019056fe7845e6f40fffcd30b679a2330b40d772d18a9396d019932a8bd661ce5136f828a26469706673582212206c1ff0a08b00a122510a4feca2ec90d04852ae209104479e7113ee1c320c883764736f6c634300081600332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d",
"deployedBytecode": "0x608080604052600436101561001357600080fd5b60003560e01c90816301ffc9a7146109655750806323e27a64146108f9578063248a9ca3146108ca5780632f2ff15d1461088b57806336568abe146108445780633ef2a0df1461059c5780636439fd751461056157806368fa584414610538578063748538d91461024957806391d14854146104eb578063a217fddf146104cf578063a510fbab146102b1578063ab3dbf3b14610288578063b451cecc14610249578063c690908a1461018f578063cac89c5c14610166578063d547741f146101255763f5b541a6146100e557600080fd5b346101205760003660031901126101205760206040517f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b9298152f35b600080fd5b34610120576040366003190112610120576101646004356101446109ce565b9080600052600060205261015f600160406000200154610ac0565b610b64565b005b34610120576000366003190112610120576003546040516001600160a01b039091168152602090f35b34610120576020366003190112610120576101a86109b8565b6101b0610a46565b6001600160a01b03168015610205578060005260046020526040600020600160ff198254161790557fdaf9101d1252b2a64d581ac74c5158c51129acca2ba55c45d3477163f7070fba602060405160018152a2005b606460405162461bcd60e51b815260206004820152602060248201527f654d6f6e6579506f6c696379456e666f726365723a207a65726f20746f6b656e6044820152fd5b34610120576020366003190112610120576001600160a01b0361026a6109b8565b166000526004602052602060ff604060002054166040519015158152f35b34610120576000366003190112610120576002546040516001600160a01b039091168152602090f35b34610120576080366003190112610120576102ca6109b8565b6102d26109ce565b6102da6109e4565b6064359060018060a01b0380851691826000526020956004875260ff60406000205416156104bd57600254604080516336b1527f60e11b8082526001600160a01b0385811660048401528a81166024840152861660448301526064820189905293929091908290608490829089165afa9081156104495760009161048d575b5015610455576003546040519283526001600160a01b039182166004840152878216602484015290831660448301526064820186905287908290608490829087165afa90811561044957600091610414575b50156103de5781600080516020610bda83398151915292604092835196875260018988015216951693a460405160018152f35b81600080516020610bda83398151915292604092600089855198895288015216951693a4604051631f8e654960e11b8152600490fd5b90508681813d8311610442575b61042b81836109fa565b810103126101205761043c90610a1c565b876103ab565b503d610421565b6040513d6000823e3d90fd5b505081600080516020610bda83398151915292604092600089855198895288015216951693a4604051631f8e654960e11b8152600490fd5b6104af915060403d6040116104b6575b6104a781836109fa565b810190610a29565b5089610359565b503d61049d565b604051631fcf8c4760e11b8152600490fd5b3461012057600036600319011261012057602060405160008152f35b34610120576040366003190112610120576105046109ce565b600435600052600060205260406000209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b34610120576000366003190112610120576001546040516001600160a01b039091168152602090f35b346101205760003660031901126101205760206040517f973ef39d76cc2c6090feab1c030bec6ab5db557f64df047a4c4f9b5953cf1df38152f35b346101205760a0366003190112610120576105b56109b8565b6105bd6109ce565b906105c66109e4565b60843567ffffffffffffffff808211610120573660238301121561012057816004013590811161082e5760405191610608601f8301601f1916602001846109fa565b8183523660248383010111610120578160009260246020930183860137830101526001600160a01b03831660009081526004602052604090205460ff16156104bd57600254604051635d64662f60e01b81526001600160a01b03858116600483015286811660248301528481166044830152606480359083015260a06084830152835160a48301819052919392169183919060005b828110610816575050918160c4818560008360409884010152601f801991011681010301915afa908115610449576000916107f6575b5015610775576003546040516336b1527f60e11b81526001600160a01b038481166004830152858116602483015283811660448301526064803590830152909160209183916084918391165afa908115610449576000916107bc575b501561077557604080516064358152600160208201526001600160a01b039283169483169390921691600080516020610bda8339815191529190a4602060405160018152f35b604080516064358152600060208201526001600160a01b039283169483169390921691600080516020610bda8339815191529190a4604051631f8e654960e11b8152600490fd5b90506020813d6020116107ee575b816107d7602093836109fa565b81010312610120576107e890610a1c565b8461072f565b3d91506107ca565b61080f915060403d6040116104b6576104a781836109fa565b50846106d3565b602082820181015160c488840101528694500161069d565b634e487b7160e01b600052604160045260246000fd5b346101205760403660031901126101205761085d6109ce565b336001600160a01b038216036108795761016490600435610b64565b60405163334bd91960e11b8152600490fd5b34610120576040366003190112610120576101646004356108aa6109ce565b908060005260006020526108c5600160406000200154610ac0565b610ae6565b346101205760203660031901126101205760043560005260006020526020600160406000200154604051908152f35b34610120576020366003190112610120576109126109b8565b61091a610a46565b6001600160a01b03166000818152600460209081526040808320805460ff19169055519182527fdaf9101d1252b2a64d581ac74c5158c51129acca2ba55c45d3477163f7070fba91a2005b34610120576020366003190112610120576004359063ffffffff60e01b821680920361012057602091637965db0b60e01b81149081156109a7575b5015158152f35b6301ffc9a760e01b149050836109a0565b600435906001600160a01b038216820361012057565b602435906001600160a01b038216820361012057565b604435906001600160a01b038216820361012057565b90601f8019910116810190811067ffffffffffffffff82111761082e57604052565b5190811515820361012057565b9190826040910312610120576020610a4083610a1c565b92015190565b3360009081527fee57cd81e84075558e8fcc182a1f4393f91fc97f963a136e66b7f949a62f319f60205260409020547f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b9299060ff1615610aa25750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b80600052600060205260406000203360005260205260ff6040600020541615610aa25750565b9060009180835282602052604083209160018060a01b03169182845260205260ff60408420541615600014610b5f57808352826020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4600190565b505090565b9060009180835282602052604083209160018060a01b03169182845260205260ff604084205416600014610b5f5780835282602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a460019056fe7845e6f40fffcd30b679a2330b40d772d18a9396d019932a8bd661ce5136f828a26469706673582212206c1ff0a08b00a122510a4feca2ec90d04852ae209104479e7113ee1c320c883764736f6c63430008160033",
"linkReferences": {},
"deployedLinkReferences": {}
}