diff --git a/packages/cactus-plugin-satp-hermes/foundry.toml b/packages/cactus-plugin-satp-hermes/foundry.toml index 2018a4da62..c966ded7e0 100644 --- a/packages/cactus-plugin-satp-hermes/foundry.toml +++ b/packages/cactus-plugin-satp-hermes/foundry.toml @@ -1,3 +1,4 @@ [profile.default] solc-version = "0.8.20" -evm-version = "paris" \ No newline at end of file +evm-version = "paris" +libs = ["node_modules", "lib"] \ No newline at end of file diff --git a/packages/cactus-plugin-satp-hermes/src/main/typescript/generated/SATPWrapperContract.ts b/packages/cactus-plugin-satp-hermes/src/main/typescript/generated/SATPWrapperContract.ts new file mode 100755 index 0000000000..b1f2d9df5b --- /dev/null +++ b/packages/cactus-plugin-satp-hermes/src/main/typescript/generated/SATPWrapperContract.ts @@ -0,0 +1,403 @@ +import BN from 'bn.js'; +import BigNumber from 'bignumber.js'; +import { + PromiEvent, + TransactionReceipt, + EventResponse, + EventData, + Web3ContractContext, +} from 'ethereum-abi-types-generator'; + +export interface CallOptions { + from?: string; + gasPrice?: string; + gas?: number; +} + +export interface SendOptions { + from: string; + value?: number | string | BN | BigNumber; + gasPrice?: string; + gas?: number; +} + +export interface EstimateGasOptions { + from?: string; + value?: number | string | BN | BigNumber; + gas?: number; +} + +export interface MethodPayableReturnContext { + send(options: SendOptions): PromiEvent; + send( + options: SendOptions, + callback: (error: Error, result: any) => void + ): PromiEvent; + estimateGas(options: EstimateGasOptions): Promise; + estimateGas( + options: EstimateGasOptions, + callback: (error: Error, result: any) => void + ): Promise; + encodeABI(): string; +} + +export interface MethodConstantReturnContext { + call(): Promise; + call(options: CallOptions): Promise; + call( + options: CallOptions, + callback: (error: Error, result: TCallReturn) => void + ): Promise; + encodeABI(): string; +} + +export interface MethodReturnContext extends MethodPayableReturnContext {} + +export type ContractContext = Web3ContractContext< + SATPWrapperContract, + SATPWrapperContractMethodNames, + SATPWrapperContractEventsContext, + SATPWrapperContractEvents +>; +export type SATPWrapperContractEvents = + | 'Assign' + | 'Burn' + | 'Changed' + | 'Lock' + | 'Mint' + | 'OwnershipTransferred' + | 'Unlock' + | 'Unwrap' + | 'Wrap'; +export interface SATPWrapperContractEventsContext { + Assign( + parameters: { + filter?: {}; + fromBlock?: number; + toBlock?: 'latest' | number; + topics?: string[]; + }, + callback?: (error: Error, event: EventData) => void + ): EventResponse; + Burn( + parameters: { + filter?: {}; + fromBlock?: number; + toBlock?: 'latest' | number; + topics?: string[]; + }, + callback?: (error: Error, event: EventData) => void + ): EventResponse; + Changed( + parameters: { + filter?: { id?: string | string[] }; + fromBlock?: number; + toBlock?: 'latest' | number; + topics?: string[]; + }, + callback?: (error: Error, event: EventData) => void + ): EventResponse; + Lock( + parameters: { + filter?: {}; + fromBlock?: number; + toBlock?: 'latest' | number; + topics?: string[]; + }, + callback?: (error: Error, event: EventData) => void + ): EventResponse; + Mint( + parameters: { + filter?: {}; + fromBlock?: number; + toBlock?: 'latest' | number; + topics?: string[]; + }, + callback?: (error: Error, event: EventData) => void + ): EventResponse; + OwnershipTransferred( + parameters: { + filter?: { + previousOwner?: string | string[]; + newOwner?: string | string[]; + }; + fromBlock?: number; + toBlock?: 'latest' | number; + topics?: string[]; + }, + callback?: (error: Error, event: EventData) => void + ): EventResponse; + Unlock( + parameters: { + filter?: {}; + fromBlock?: number; + toBlock?: 'latest' | number; + topics?: string[]; + }, + callback?: (error: Error, event: EventData) => void + ): EventResponse; + Unwrap( + parameters: { + filter?: {}; + fromBlock?: number; + toBlock?: 'latest' | number; + topics?: string[]; + }, + callback?: (error: Error, event: EventData) => void + ): EventResponse; + Wrap( + parameters: { + filter?: {}; + fromBlock?: number; + toBlock?: 'latest' | number; + topics?: string[]; + }, + callback?: (error: Error, event: EventData) => void + ): EventResponse; +} +export type SATPWrapperContractMethodNames = + | 'new' + | 'assign' + | 'bridge_address' + | 'burn' + | 'getAllAssetsIDs' + | 'getToken' + | 'lock' + | 'mint' + | 'owner' + | 'renounceOwnership' + | 'tokens' + | 'tokensInteractions' + | 'transferOwnership' + | 'unlock' + | 'unwrap' + | 'wrap' + | 'wrap'; +export interface TokenResponse { + contractAddress: string; + tokenType: string; + tokenId: string; + owner: string; + amount: string; +} +export interface TokensResponse { + contractAddress: string; + tokenType: string; + tokenId: string; + owner: string; + amount: string; +} +export interface TokensInteractionsResponse { + interactionType: string; + available: boolean; +} +export interface InteractionsRequest { + interactionType: string | number; + functionsSignature: string[]; + variables: string | number[][]; + available: boolean; +} +export interface AssignEventEmittedResponse { + tokenId: string; + receiver_account: string; + amount: string; +} +export interface BurnEventEmittedResponse { + tokenId: string; + amount: string; +} +export interface ChangedEventEmittedResponse { + id: string; + value: string | number[][]; +} +export interface LockEventEmittedResponse { + tokenId: string; + amount: string; +} +export interface MintEventEmittedResponse { + tokenId: string; + amount: string; +} +export interface OwnershipTransferredEventEmittedResponse { + previousOwner: string; + newOwner: string; +} +export interface UnlockEventEmittedResponse { + tokenId: string; + amount: string; +} +export interface UnwrapEventEmittedResponse { + tokenId: string; +} +export interface WrapEventEmittedResponse { + contractAddress: string; + tokenType: string | number; + tokenId: string; + owner: string; +} +export interface SATPWrapperContract { + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: constructor + * @param _bridge_address Type: address, Indexed: false + */ + 'new'(_bridge_address: string): MethodReturnContext; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param tokenId Type: string, Indexed: false + * @param receiver_account Type: address, Indexed: false + * @param amount Type: uint256, Indexed: false + */ + assign( + tokenId: string, + receiver_account: string, + amount: string + ): MethodReturnContext; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + bridge_address(): MethodConstantReturnContext; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param tokenId Type: string, Indexed: false + * @param amount Type: uint256, Indexed: false + */ + burn(tokenId: string, amount: string): MethodReturnContext; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + getAllAssetsIDs(): MethodConstantReturnContext; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + * @param tokenId Type: string, Indexed: false + */ + getToken(tokenId: string): MethodConstantReturnContext; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param tokenId Type: string, Indexed: false + * @param amount Type: uint256, Indexed: false + */ + lock(tokenId: string, amount: string): MethodReturnContext; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param tokenId Type: string, Indexed: false + * @param amount Type: uint256, Indexed: false + */ + mint(tokenId: string, amount: string): MethodReturnContext; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + */ + owner(): MethodConstantReturnContext; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + */ + renounceOwnership(): MethodReturnContext; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + * @param parameter0 Type: string, Indexed: false + */ + tokens(parameter0: string): MethodConstantReturnContext; + /** + * Payable: false + * Constant: true + * StateMutability: view + * Type: function + * @param parameter0 Type: string, Indexed: false + * @param parameter1 Type: uint8, Indexed: false + */ + tokensInteractions( + parameter0: string, + parameter1: string | number + ): MethodConstantReturnContext; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param newOwner Type: address, Indexed: false + */ + transferOwnership(newOwner: string): MethodReturnContext; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param tokenId Type: string, Indexed: false + * @param amount Type: uint256, Indexed: false + */ + unlock(tokenId: string, amount: string): MethodReturnContext; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param tokenId Type: string, Indexed: false + */ + unwrap(tokenId: string): MethodReturnContext; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param contractAddress Type: address, Indexed: false + * @param tokenType Type: uint8, Indexed: false + * @param tokenId Type: string, Indexed: false + * @param owner Type: address, Indexed: false + * @param interactions Type: tuple[], Indexed: false + */ + wrap( + contractAddress: string, + tokenType: string | number, + tokenId: string, + owner: string, + interactions: InteractionsRequest[] + ): MethodReturnContext; + /** + * Payable: false + * Constant: false + * StateMutability: nonpayable + * Type: function + * @param contractAddress Type: address, Indexed: false + * @param tokenType Type: uint8, Indexed: false + * @param tokenId Type: string, Indexed: false + * @param owner Type: address, Indexed: false + */ + wrap( + contractAddress: string, + tokenType: string | number, + tokenId: string, + owner: string + ): MethodReturnContext; +} diff --git a/packages/cactus-plugin-satp-hermes/src/solidity/generated/Context.sol/Context.json b/packages/cactus-plugin-satp-hermes/src/solidity/generated/Context.sol/Context.json new file mode 100644 index 0000000000..10c223ce86 --- /dev/null +++ b/packages/cactus-plugin-satp-hermes/src/solidity/generated/Context.sol/Context.json @@ -0,0 +1 @@ +{"abi":[],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Provides information about the current execution context, including the sender of the transaction and its data. While these are generally available via msg.sender and msg.data, they should not be accessed in such a direct manner, since when dealing with meta-transactions the account sending and paying for execution may not be the actual sender (as far as an application is concerned). This contract is only required for intermediate, library-like contracts.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/utils/Context.sol\":\"Context\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":hardhat/=node_modules/hardhat/\",\":openzeppelin-solidity/=node_modules/openzeppelin-solidity/\",\":web3js-quorum/=node_modules/web3js-quorum/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","hardhat/=node_modules/hardhat/","openzeppelin-solidity/=node_modules/openzeppelin-solidity/","web3js-quorum/=node_modules/web3js-quorum/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@openzeppelin/contracts/utils/Context.sol":"Context"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2","urls":["bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12","dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF"],"license":"MIT"}},"version":1},"id":1} \ No newline at end of file diff --git a/packages/cactus-plugin-satp-hermes/src/solidity/generated/ITraceableContract.sol/ITraceableContract.json b/packages/cactus-plugin-satp-hermes/src/solidity/generated/ITraceableContract.sol/ITraceableContract.json new file mode 100644 index 0000000000..9f45686972 --- /dev/null +++ b/packages/cactus-plugin-satp-hermes/src/solidity/generated/ITraceableContract.sol/ITraceableContract.json @@ -0,0 +1 @@ +{"abi":[{"type":"function","name":"getAllAssetsIDs","inputs":[],"outputs":[{"name":"","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"event","name":"Changed","inputs":[{"name":"id","type":"string","indexed":true,"internalType":"string"},{"name":"value","type":"bytes[]","indexed":false,"internalType":"bytes[]"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"getAllAssetsIDs()":"5137b8a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"string\",\"name\":\"id\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes[]\",\"name\":\"value\",\"type\":\"bytes[]\"}],\"name\":\"Changed\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"getAllAssetsIDs\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/solidity/ITraceableContract.sol\":\"ITraceableContract\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":hardhat/=node_modules/hardhat/\",\":openzeppelin-solidity/=node_modules/openzeppelin-solidity/\",\":web3js-quorum/=node_modules/web3js-quorum/\"]},\"sources\":{\"src/solidity/ITraceableContract.sol\":{\"keccak256\":\"0x95d8bedf23010b6a40e6a8f5d55a7d5f67866619de9efcab7fa49eb3d2488612\",\"license\":\"UNKNOWN\",\"urls\":[\"bzz-raw://003806e9e19c67b79cf4ec156b31b8515f5a27dad6d73a9d8c3878b1373935c1\",\"dweb:/ipfs/QmYPFBS2C6a1RwLTSEYhNVNUzxkDu4oh7eSs75gAcZ8KA4\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"id","type":"string","indexed":true},{"internalType":"bytes[]","name":"value","type":"bytes[]","indexed":false}],"type":"event","name":"Changed","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"getAllAssetsIDs","outputs":[{"internalType":"string[]","name":"","type":"string[]"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","hardhat/=node_modules/hardhat/","openzeppelin-solidity/=node_modules/openzeppelin-solidity/","web3js-quorum/=node_modules/web3js-quorum/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/solidity/ITraceableContract.sol":"ITraceableContract"},"evmVersion":"paris","libraries":{}},"sources":{"src/solidity/ITraceableContract.sol":{"keccak256":"0x95d8bedf23010b6a40e6a8f5d55a7d5f67866619de9efcab7fa49eb3d2488612","urls":["bzz-raw://003806e9e19c67b79cf4ec156b31b8515f5a27dad6d73a9d8c3878b1373935c1","dweb:/ipfs/QmYPFBS2C6a1RwLTSEYhNVNUzxkDu4oh7eSs75gAcZ8KA4"],"license":"UNKNOWN"}},"version":1},"id":5} \ No newline at end of file diff --git a/packages/cactus-plugin-satp-hermes/src/solidity/generated/Math.sol/Math.json b/packages/cactus-plugin-satp-hermes/src/solidity/generated/Math.sol/Math.json new file mode 100644 index 0000000000..a3f5304faf --- /dev/null +++ b/packages/cactus-plugin-satp-hermes/src/solidity/generated/Math.sol/Math.json @@ -0,0 +1 @@ +{"abi":[{"type":"error","name":"MathOverflowedMulDiv","inputs":[]}],"bytecode":{"object":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220ded3e8bc0679fcce2816c02dfd528b8736823a3e41892597fda4fd183761d13064736f6c63430008140033","sourceMap":"203:14914:3:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;203:14914:3;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220ded3e8bc0679fcce2816c02dfd528b8736823a3e41892597fda4fd183761d13064736f6c63430008140033","sourceMap":"203:14914:3:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"MathOverflowedMulDiv\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"Standard math utilities missing in the Solidity language.\",\"errors\":{\"MathOverflowedMulDiv()\":[{\"details\":\"Muldiv operation overflow.\"}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":\"Math\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":hardhat/=node_modules/hardhat/\",\":openzeppelin-solidity/=node_modules/openzeppelin-solidity/\",\":web3js-quorum/=node_modules/web3js-quorum/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"MathOverflowedMulDiv"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","hardhat/=node_modules/hardhat/","openzeppelin-solidity/=node_modules/openzeppelin-solidity/","web3js-quorum/=node_modules/web3js-quorum/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@openzeppelin/contracts/utils/math/Math.sol":"Math"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/utils/math/Math.sol":{"keccak256":"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d","urls":["bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875","dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L"],"license":"MIT"}},"version":1},"id":3} \ No newline at end of file diff --git a/packages/cactus-plugin-satp-hermes/src/solidity/generated/Ownable.sol/Ownable.json b/packages/cactus-plugin-satp-hermes/src/solidity/generated/Ownable.sol/Ownable.json new file mode 100644 index 0000000000..f83a9ee073 --- /dev/null +++ b/packages/cactus-plugin-satp-hermes/src/solidity/generated/Ownable.sol/Ownable.json @@ -0,0 +1 @@ +{"abi":[{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"OwnableInvalidOwner","inputs":[{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"OwnableUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"}]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"owner()":"8da5cb5b","renounceOwnership()":"715018a6","transferOwnership(address)":"f2fde38b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Contract module which provides a basic access control mechanism, where there is an account (an owner) that can be granted exclusive access to specific functions. The initial owner is set to the address provided by the deployer. This can later be changed with {transferOwnership}. This module is used through inheritance. It will make available the modifier `onlyOwner`, which can be applied to your functions to restrict their use to the owner.\",\"errors\":{\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}]},\"kind\":\"dev\",\"methods\":{\"constructor\":{\"details\":\"Initializes the contract setting the address provided by the deployer as the initial owner.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/access/Ownable.sol\":\"Ownable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":hardhat/=node_modules/hardhat/\",\":openzeppelin-solidity/=node_modules/openzeppelin-solidity/\",\":web3js-quorum/=node_modules/web3js-quorum/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"type":"error","name":"OwnableInvalidOwner"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"type":"error","name":"OwnableUnauthorizedAccount"},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"}],"devdoc":{"kind":"dev","methods":{"constructor":{"details":"Initializes the contract setting the address provided by the deployer as the initial owner."},"owner()":{"details":"Returns the address of the current owner."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","hardhat/=node_modules/hardhat/","openzeppelin-solidity/=node_modules/openzeppelin-solidity/","web3js-quorum/=node_modules/web3js-quorum/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@openzeppelin/contracts/access/Ownable.sol":"Ownable"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/access/Ownable.sol":{"keccak256":"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb","urls":["bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6","dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2","urls":["bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12","dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF"],"license":"MIT"}},"version":1},"id":0} \ No newline at end of file diff --git a/packages/cactus-plugin-satp-hermes/src/solidity/generated/SignedMath.sol/SignedMath.json b/packages/cactus-plugin-satp-hermes/src/solidity/generated/SignedMath.sol/SignedMath.json new file mode 100644 index 0000000000..535ade9288 --- /dev/null +++ b/packages/cactus-plugin-satp-hermes/src/solidity/generated/SignedMath.sol/SignedMath.json @@ -0,0 +1 @@ +{"abi":[],"bytecode":{"object":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220e5ae67f1789a47f54dce4fcb694aee9d701ca31c03d35dd9c4229bf994f6871464736f6c63430008140033","sourceMap":"216:1047:4:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;216:1047:4;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220e5ae67f1789a47f54dce4fcb694aee9d701ca31c03d35dd9c4229bf994f6871464736f6c63430008140033","sourceMap":"216:1047:4:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Standard signed math utilities missing in the Solidity language.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol\":\"SignedMath\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":hardhat/=node_modules/hardhat/\",\":openzeppelin-solidity/=node_modules/openzeppelin-solidity/\",\":web3js-quorum/=node_modules/web3js-quorum/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0x5f7e4076e175393767754387c962926577f1660dd9b810187b9002407656be72\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d533a1c97cd43a57cd9c465f7ee8dd0e39ae93a8fb8ff8e5303a356b081cdcc\",\"dweb:/ipfs/QmVBEei6aTnvYNZp2CHYVNKyZS4q1KkjANfY39WVXZXVoT\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","hardhat/=node_modules/hardhat/","openzeppelin-solidity/=node_modules/openzeppelin-solidity/","web3js-quorum/=node_modules/web3js-quorum/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol":"SignedMath"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol":{"keccak256":"0x5f7e4076e175393767754387c962926577f1660dd9b810187b9002407656be72","urls":["bzz-raw://7d533a1c97cd43a57cd9c465f7ee8dd0e39ae93a8fb8ff8e5303a356b081cdcc","dweb:/ipfs/QmVBEei6aTnvYNZp2CHYVNKyZS4q1KkjANfY39WVXZXVoT"],"license":"MIT"}},"version":1},"id":4} \ No newline at end of file diff --git a/packages/cactus-plugin-satp-hermes/src/solidity/generated/Strings.sol/Strings.json b/packages/cactus-plugin-satp-hermes/src/solidity/generated/Strings.sol/Strings.json new file mode 100644 index 0000000000..91ae15029a --- /dev/null +++ b/packages/cactus-plugin-satp-hermes/src/solidity/generated/Strings.sol/Strings.json @@ -0,0 +1 @@ +{"abi":[{"type":"error","name":"StringsInsufficientHexLength","inputs":[{"name":"value","type":"uint256","internalType":"uint256"},{"name":"length","type":"uint256","internalType":"uint256"}]}],"bytecode":{"object":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212200d25eac5768461b9b89befb063ab5993ce9a534edc3a14e3ebf3630f2bab43ac64736f6c63430008140033","sourceMap":"251:2847:2:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;251:2847:2;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212200d25eac5768461b9b89befb063ab5993ce9a534edc3a14e3ebf3630f2bab43ac64736f6c63430008140033","sourceMap":"251:2847:2:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"StringsInsufficientHexLength\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"String operations.\",\"errors\":{\"StringsInsufficientHexLength(uint256,uint256)\":[{\"details\":\"The `value` string doesn't fit in the specified `length`.\"}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":\"Strings\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":hardhat/=node_modules/hardhat/\",\":openzeppelin-solidity/=node_modules/openzeppelin-solidity/\",\":web3js-quorum/=node_modules/web3js-quorum/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x55f102ea785d8399c0e58d1108e2d289506dde18abc6db1b7f68c1f9f9bc5792\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e52e0a7765c943ef14e5bcf11e46e6139fa044be564881378349236bf2e3453\",\"dweb:/ipfs/QmZEeeXoFPW47amyP35gfzomF9DixqqTEPwzBakv6cZw6i\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0x5f7e4076e175393767754387c962926577f1660dd9b810187b9002407656be72\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d533a1c97cd43a57cd9c465f7ee8dd0e39ae93a8fb8ff8e5303a356b081cdcc\",\"dweb:/ipfs/QmVBEei6aTnvYNZp2CHYVNKyZS4q1KkjANfY39WVXZXVoT\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"StringsInsufficientHexLength"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","hardhat/=node_modules/hardhat/","openzeppelin-solidity/=node_modules/openzeppelin-solidity/","web3js-quorum/=node_modules/web3js-quorum/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@openzeppelin/contracts/utils/Strings.sol":"Strings"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/utils/Strings.sol":{"keccak256":"0x55f102ea785d8399c0e58d1108e2d289506dde18abc6db1b7f68c1f9f9bc5792","urls":["bzz-raw://6e52e0a7765c943ef14e5bcf11e46e6139fa044be564881378349236bf2e3453","dweb:/ipfs/QmZEeeXoFPW47amyP35gfzomF9DixqqTEPwzBakv6cZw6i"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/Math.sol":{"keccak256":"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d","urls":["bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875","dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol":{"keccak256":"0x5f7e4076e175393767754387c962926577f1660dd9b810187b9002407656be72","urls":["bzz-raw://7d533a1c97cd43a57cd9c465f7ee8dd0e39ae93a8fb8ff8e5303a356b081cdcc","dweb:/ipfs/QmVBEei6aTnvYNZp2CHYVNKyZS4q1KkjANfY39WVXZXVoT"],"license":"MIT"}},"version":1},"id":2} \ No newline at end of file diff --git a/packages/cactus-plugin-satp-hermes/src/solidity/generated/build-info/08aaa4179bf88c82656a7f352889f726.json b/packages/cactus-plugin-satp-hermes/src/solidity/generated/build-info/08aaa4179bf88c82656a7f352889f726.json new file mode 100644 index 0000000000..096c3b0645 --- /dev/null +++ b/packages/cactus-plugin-satp-hermes/src/solidity/generated/build-info/08aaa4179bf88c82656a7f352889f726.json @@ -0,0 +1 @@ +{"id":"08aaa4179bf88c82656a7f352889f726","source_id_to_path":{"0":"node_modules/@openzeppelin/contracts/access/Ownable.sol","1":"node_modules/@openzeppelin/contracts/utils/Context.sol","2":"node_modules/@openzeppelin/contracts/utils/Strings.sol","3":"node_modules/@openzeppelin/contracts/utils/math/Math.sol","4":"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol","5":"src/solidity/ITraceableContract.sol","6":"src/solidity/satp-wrapper-without-json.sol","7":"src/solidity/satp-wrapper.sol"},"language":"Solidity"} \ No newline at end of file diff --git a/packages/cactus-plugin-satp-hermes/src/solidity/generated/build-info/974845d0475a59734bc898d56133545f.json b/packages/cactus-plugin-satp-hermes/src/solidity/generated/build-info/974845d0475a59734bc898d56133545f.json new file mode 100644 index 0000000000..83723e5a30 --- /dev/null +++ b/packages/cactus-plugin-satp-hermes/src/solidity/generated/build-info/974845d0475a59734bc898d56133545f.json @@ -0,0 +1 @@ +{"id":"974845d0475a59734bc898d56133545f","source_id_to_path":{"0":"node_modules/@openzeppelin/contracts/access/Ownable.sol","1":"node_modules/@openzeppelin/contracts/utils/Context.sol","2":"node_modules/@openzeppelin/contracts/utils/Strings.sol","3":"node_modules/@openzeppelin/contracts/utils/math/Math.sol","4":"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol","5":"src/solidity/ITraceableContract.sol","6":"src/solidity/satp-wrapper-without-json.sol","7":"src/solidity/satp-wrapper.sol"},"language":"Solidity"} \ No newline at end of file diff --git a/packages/cactus-plugin-satp-hermes/src/solidity/generated/satp-wrapper-without-json.sol/SATPWrapperContract.json b/packages/cactus-plugin-satp-hermes/src/solidity/generated/satp-wrapper-without-json.sol/SATPWrapperContract.json new file mode 100644 index 0000000000..74d5babbd6 --- /dev/null +++ b/packages/cactus-plugin-satp-hermes/src/solidity/generated/satp-wrapper-without-json.sol/SATPWrapperContract.json @@ -0,0 +1 @@ +{"abi":[{"type":"constructor","inputs":[{"name":"_bridge_address","type":"address","internalType":"address"},{"name":"role_given","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"BRIDGE_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"assign","inputs":[{"name":"tokenId","type":"string","internalType":"string"},{"name":"receiver_account","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"bridge_address","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"burn","inputs":[{"name":"tokenId","type":"string","internalType":"string"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"getAllAssetsIDs","inputs":[],"outputs":[{"name":"","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"getToken","inputs":[{"name":"tokenId","type":"string","internalType":"string"}],"outputs":[{"name":"token","type":"tuple","internalType":"struct Token","components":[{"name":"contractAddress","type":"address","internalType":"address"},{"name":"tokenType","type":"string","internalType":"string"},{"name":"tokenId","type":"string","internalType":"string"},{"name":"owner","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"lock","inputs":[{"name":"tokenId","type":"string","internalType":"string"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"mint","inputs":[{"name":"tokenId","type":"string","internalType":"string"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"tokens","inputs":[{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"contractAddress","type":"address","internalType":"address"},{"name":"tokenType","type":"string","internalType":"string"},{"name":"tokenId","type":"string","internalType":"string"},{"name":"owner","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unlock","inputs":[{"name":"tokenId","type":"string","internalType":"string"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"unwrap","inputs":[{"name":"tokenId","type":"string","internalType":"string"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"wrap","inputs":[{"name":"contractAddress","type":"address","internalType":"address"},{"name":"tokenType","type":"string","internalType":"string"},{"name":"tokenId","type":"string","internalType":"string"},{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"wrapSuccess","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Assign","inputs":[{"name":"tokenId","type":"string","indexed":false,"internalType":"string"},{"name":"receiver_account","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Burn","inputs":[{"name":"tokenId","type":"string","indexed":false,"internalType":"string"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Changed","inputs":[{"name":"id","type":"string","indexed":true,"internalType":"string"},{"name":"value","type":"bytes[]","indexed":false,"internalType":"bytes[]"}],"anonymous":false},{"type":"event","name":"Lock","inputs":[{"name":"tokenId","type":"string","indexed":false,"internalType":"string"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Mint","inputs":[{"name":"tokenId","type":"string","indexed":false,"internalType":"string"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Unlock","inputs":[{"name":"tokenId","type":"string","indexed":false,"internalType":"string"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Unwrap","inputs":[{"name":"tokenId","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"Wrap","inputs":[{"name":"contractAddress","type":"address","indexed":false,"internalType":"address"},{"name":"tokenType","type":"string","indexed":false,"internalType":"string"},{"name":"tokenId","type":"string","indexed":false,"internalType":"string"},{"name":"owner","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"error","name":"InsuficientAmountLocked","inputs":[{"name":"tokenId","type":"string","internalType":"string"},{"name":"amount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"OwnableInvalidOwner","inputs":[{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"OwnableUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"}]},{"type":"error","name":"TokenAlreadyWrapped","inputs":[{"name":"tokenId","type":"string","internalType":"string"}]},{"type":"error","name":"TokenLocked","inputs":[{"name":"tokenId","type":"string","internalType":"string"}]},{"type":"error","name":"TokenNotAvailable","inputs":[{"name":"tokenId","type":"string","internalType":"string"}]},{"type":"error","name":"TokenNotLocked","inputs":[{"name":"tokenId","type":"string","internalType":"string"}]},{"type":"error","name":"TokenNotUnlocked","inputs":[{"name":"tokenId","type":"string","internalType":"string"}]}],"bytecode":{"object":"0x60806040523480156200001157600080fd5b50604051620020cb380380620020cb8339810160408190526200003491620000ea565b816001600160a01b0381166200006457604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6200006f816200009a565b50600480546001600160a01b0319166001600160a01b03939093169290921790915560015562000126565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60008060408385031215620000fe57600080fd5b82516001600160a01b03811681146200011657600080fd5b6020939093015192949293505050565b611f9580620001366000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c80638da5cb5b11610097578063c1733f6811610066578063c1733f6814610208578063d9cf884c14610228578063e1efb5961461023b578063f2fde38b1461024e57600080fd5b80638da5cb5b146101ba578063a1bc17c5146101cb578063b48272cc146101de578063b5bfddea146101f157600080fd5b80634534ba17116100d35780634534ba17146101755780635137b8a714610188578063715018a61461019d5780638d7d180b146101a757600080fd5b806304c2320b146100fa578063056b01ce146101275780631255c1891461014a575b600080fd5b61010d6101083660046118f6565b610261565b60405161011e959493929190611983565b60405180910390f35b61013a6101353660046119cd565b6103bf565b604051901515815260200161011e565b60045461015d906001600160a01b031681565b6040516001600160a01b03909116815260200161011e565b61013a610183366004611a29565b61058e565b610190610792565b60405161011e9190611a80565b6101a561086b565b005b61013a6101b5366004611ae2565b61087f565b6000546001600160a01b031661015d565b61013a6101d93660046118f6565b610b19565b61013a6101ec3660046119cd565b610d14565b6101fa60015481565b60405190815260200161011e565b61021b6102163660046118f6565b610ef4565b60405161011e9190611b67565b61013a6102363660046119cd565b6110b9565b61013a6102493660046119cd565b6113e6565b6101a561025c366004611bd7565b6115c5565b8051602081830181018051600282529282019190930120915280546001820180546001600160a01b03909216929161029890611bf2565b80601f01602080910402602001604051908101604052809291908181526020018280546102c490611bf2565b80156103115780601f106102e657610100808354040283529160200191610311565b820191906000526020600020905b8154815290600101906020018083116102f457829003601f168201915b50505050509080600201805461032690611bf2565b80601f016020809104026020016040519081016040528092919081815260200182805461035290611bf2565b801561039f5780601f106103745761010080835404028352916020019161039f565b820191906000526020600020905b81548152906001019060200180831161038257829003601f168201915b50505050600383015460049093015491926001600160a01b031691905085565b60006103c9611603565b60006001600160a01b03166002846040516103e49190611c2c565b908152604051908190036020019020546001600160a01b031603610426578260405163c0bab25f60e01b815260040161041d9190611c48565b60405180910390fd5b60006002846040516104389190611c2c565b90815260405190819003602001812054306024830152604482018590526001600160a01b03169060640160408051601f198184030181529181526020820180516001600160e01b03166340c10f1960e01b179052516104979190611c2c565b6000604051808303816000865af19150503d80600081146104d4576040519150601f19603f3d011682016040523d82523d6000602084013e6104d9565b606091505b50509050806105235760405162461bcd60e51b81526020600482015260166024820152751b5a5b9d08185cdcd95d0818d85b1b0819985a5b195960521b604482015260640161041d565b826002856040516105349190611c2c565b9081526020016040518091039020600401819055507f0a4e1e5035320483d096cf114513007c4eda3853a4dca806da2d9faec60470a6848460405161057a929190611c5b565b60405180910390a160019150505b92915050565b6000610598611603565b816002856040516105a99190611c2c565b90815260200160405180910390206004015410156106095760405162461bcd60e51b815260206004820181905260248201527f61737369676e206173736574206173736574206973206e6f74206c6f636b6564604482015260640161041d565b600060028560405161061b9190611c2c565b908152604051908190036020018120543060248301526001600160a01b03868116604484015260648301869052169060840160408051601f198184030181529181526020820180516001600160e01b0316632fa96a2760e11b179052516106829190611c2c565b6000604051808303816000865af19150503d80600081146106bf576040519150601f19603f3d011682016040523d82523d6000602084013e6106c4565b606091505b50509050806107155760405162461bcd60e51b815260206004820152601860248201527f61737369676e2061737365742063616c6c206661696c65640000000000000000604482015260640161041d565b826002866040516107269190611c2c565b908152602001604051809103902060040160008282546107469190611c93565b90915550506040517f0b3112bdbedc0251766a323a5c6ad4df77174bbc08bd61b944815ad9efe8d54c9061077f90879087908790611ca6565b60405180910390a1506001949350505050565b60606003805480602002602001604051908101604052809291908181526020016000905b828210156108625783829060005260206000200180546107d590611bf2565b80601f016020809104026020016040519081016040528092919081815260200182805461080190611bf2565b801561084e5780601f106108235761010080835404028352916020019161084e565b820191906000526020600020905b81548152906001019060200180831161083157829003601f168201915b5050505050815260200190600101906107b6565b50505050905090565b610873611603565b61087d6000611630565b565b6000610889611603565b60006001600160a01b03166002846040516108a49190611c2c565b908152604051908190036020019020546001600160a01b0316146108dd57826040516319eac8d160e21b815260040161041d9190611c48565b60015460405160248101919091523060448201526000906001600160a01b0387169060640160408051601f198184030181529181526020820180516001600160e01b03166328545c0d60e01b179052516109379190611c2c565b6000604051808303816000865af19150503d8060008114610974576040519150601f19603f3d011682016040523d82523d6000602084013e610979565b606091505b50509050806109c2576002846040516109929190611c2c565b9081526040519081900360200181205463118cdaa760e01b82526001600160a01b0316600482015260240161041d565b6040518060a00160405280876001600160a01b03168152602001868152602001858152602001846001600160a01b031681526020016000815250600285604051610a0c9190611c2c565b90815260405160209181900382019020825181546001600160a01b0319166001600160a01b03909116178155908201516001820190610a4b9082611d23565b5060408201516002820190610a609082611d23565b506060820151600382810180546001600160a01b0319166001600160a01b039093169290921790915560809092015160049091015580546001810182556000919091527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b01610acf8582611d23565b507f57951acaa6aa023b66ff5ae829f011ec74aedd1a40654570a33708280743e88186868686604051610b059493929190611de3565b60405180910390a150600195945050505050565b6000610b23611603565b60006001600160a01b0316600283604051610b3e9190611c2c565b908152604051908190036020019020546001600160a01b031603610b77578160405163c0bab25f60e01b815260040161041d9190611c48565b6000600283604051610b899190611c2c565b9081526020016040518091039020600401541115610bbc5781604051635be9608560e11b815260040161041d9190611c48565b610c6e600283604051610bcf9190611c2c565b90815260200160405180910390206002018054610beb90611bf2565b80601f0160208091040260200160405190810160405280929190818152602001828054610c1790611bf2565b8015610c645780601f10610c3957610100808354040283529160200191610c64565b820191906000526020600020905b815481529060010190602001808311610c4757829003601f168201915b5050505050611680565b600282604051610c7e9190611c2c565b90815260405190819003602001902080546001600160a01b03191681556000610caa6001830182611805565b610cb8600283016000611805565b506003810180546001600160a01b031916905560006004909101556040517f3855d31914452a5e7361730662e60834555d7cb26d380140894d85fd0d13b85490610d03908490611c48565b60405180910390a15060015b919050565b6000610d1e611603565b81600284604051610d2f9190611c2c565b9081526020016040518091039020600401541015610d8f5760405162461bcd60e51b815260206004820152601e60248201527f6275726e206173736574206173736574206973206e6f74206c6f636b65640000604482015260640161041d565b6000600284604051610da19190611c2c565b90815260405190819003602001812054306024830152604482018590526001600160a01b03169060640160408051601f198184030181529181526020820180516001600160e01b0316632770a7eb60e21b17905251610e009190611c2c565b6000604051808303816000865af19150503d8060008114610e3d576040519150601f19603f3d011682016040523d82523d6000602084013e610e42565b606091505b5050905080610e8c5760405162461bcd60e51b8152602060048201526016602482015275189d5c9b88185cdcd95d0818d85b1b0819985a5b195960521b604482015260640161041d565b82600285604051610e9d9190611c2c565b90815260200160405180910390206004016000828254610ebd9190611c93565b90915550506040517fa0237080cf48d9e1fbb9ef1f82e33b11170d047b2b540a73b457d0916d53ee999061057a9086908690611c5b565b610f386040518060a0016040528060006001600160a01b03168152602001606081526020016060815260200160006001600160a01b03168152602001600081525090565b600282604051610f489190611c2c565b90815260408051918290036020908101832060a0840190925281546001600160a01b0316835260018201805491840191610f8190611bf2565b80601f0160208091040260200160405190810160405280929190818152602001828054610fad90611bf2565b8015610ffa5780601f10610fcf57610100808354040283529160200191610ffa565b820191906000526020600020905b815481529060010190602001808311610fdd57829003601f168201915b5050505050815260200160028201805461101390611bf2565b80601f016020809104026020016040519081016040528092919081815260200182805461103f90611bf2565b801561108c5780601f106110615761010080835404028352916020019161108c565b820191906000526020600020905b81548152906001019060200180831161106f57829003601f168201915b505050918352505060038201546001600160a01b0316602082015260049091015460409091015292915050565b60006110c3611603565b60006001600160a01b03166002846040516110de9190611c2c565b908152604051908190036020019020546001600160a01b031603611117578260405163c0bab25f60e01b815260040161041d9190611c48565b816002846040516111289190611c2c565b908152602001604051809103902060040154101561115d57828260405163076abcf360e51b815260040161041d929190611c5b565b600060028460405161116f9190611c2c565b90815260405190819003602001812054306024830152604482018590526001600160a01b03169060640160408051601f198184030181529181526020820180516001600160e01b031663095ea7b360e01b179052516111ce9190611c2c565b6000604051808303816000865af19150503d806000811461120b576040519150601f19603f3d011682016040523d82523d6000602084013e611210565b606091505b505090508061123457836040516358300fe760e01b815260040161041d9190611c48565b60006002856040516112469190611c2c565b908152604051908190036020018120546001600160a01b0316903090600290611270908990611c2c565b908152604051908190036020018120600301546001600160a01b03169060029061129b908a90611c2c565b908152604051908190036020018120600401546001600160a01b039384166024830152919092166044830152606482015260840160408051601f198184030181529181526020820180516001600160e01b03166317d5759960e31b179052516113049190611c2c565b6000604051808303816000865af19150503d8060008114611341576040519150601f19603f3d011682016040523d82523d6000602084013e611346565b606091505b5050905080156113cb57836002866040516113619190611c2c565b908152602001604051809103902060040160008282546113819190611c93565b90915550506040517f7b3c894115251262b174b7aeab24a57e00bc2e8853d1ef2f57a217edaa69c06e906113b89087908790611c5b565b60405180910390a1600192505050610588565b846040516358300fe760e01b815260040161041d9190611c48565b60006113f0611603565b60006001600160a01b031660028460405161140b9190611c2c565b908152604051908190036020019020546001600160a01b031603611444578260405163c0bab25f60e01b815260040161041d9190611c48565b60006002846040516114569190611c2c565b908152604051908190036020018120546001600160a01b03169060029061147e908790611c2c565b908152604051908190036020018120600301546001600160a01b031660248201523060448201526064810185905260840160408051601f198184030181529181526020820180516001600160e01b03166317d5759960e31b179052516114e49190611c2c565b6000604051808303816000865af19150503d8060008114611521576040519150601f19603f3d011682016040523d82523d6000602084013e611526565b606091505b5050905080156115aa57826002856040516115419190611c2c565b908152602001604051809103902060040160008282546115619190611e2c565b90915550506040517fc480ef4e831b2ca5eb0b2f95c6564d9a56af5b3fe2383393008e3f1708dc9797906115989086908690611c5b565b60405180910390a16001915050610588565b8360405163412204b560e11b815260040161041d9190611c48565b6115cd611603565b6001600160a01b0381166115f757604051631e4fbdf760e01b81526000600482015260240161041d565b61160081611630565b50565b6000546001600160a01b0316331461087d5760405163118cdaa760e01b815233600482015260240161041d565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60005b6003548110156117da5761173c600382815481106116a3576116a3611e3f565b9060005260206000200180546116b890611bf2565b80601f01602080910402602001604051908101604052809291908181526020018280546116e490611bf2565b80156117315780601f1061170657610100808354040283529160200191611731565b820191906000526020600020905b81548152906001019060200180831161171457829003601f168201915b5050505050836117de565b156117c8576003805461175190600190611c93565b8154811061176157611761611e3f565b906000526020600020016003828154811061177e5761177e611e3f565b9060005260206000200190816117949190611e55565b5060038054806117a6576117a6611f30565b6001900381819060005260206000200160006117c29190611805565b90555050565b806117d281611f46565b915050611683565b5050565b6000815183511480156117fe575081805190602001208380519060200120145b9392505050565b50805461181190611bf2565b6000825580601f10611821575050565b601f01602090049060005260206000209081019061160091905b8082111561184f576000815560010161183b565b5090565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261187a57600080fd5b813567ffffffffffffffff8082111561189557611895611853565b604051601f8301601f19908116603f011681019082821181831017156118bd576118bd611853565b816040528381528660208588010111156118d657600080fd5b836020870160208301376000602085830101528094505050505092915050565b60006020828403121561190857600080fd5b813567ffffffffffffffff81111561191f57600080fd5b61192b84828501611869565b949350505050565b60005b8381101561194e578181015183820152602001611936565b50506000910152565b6000815180845261196f816020860160208601611933565b601f01601f19169290920160200192915050565b600060018060a01b03808816835260a060208401526119a560a0840188611957565b83810360408501526119b78188611957565b9590911660608401525050608001529392505050565b600080604083850312156119e057600080fd5b823567ffffffffffffffff8111156119f757600080fd5b611a0385828601611869565b95602094909401359450505050565b80356001600160a01b0381168114610d0f57600080fd5b600080600060608486031215611a3e57600080fd5b833567ffffffffffffffff811115611a5557600080fd5b611a6186828701611869565b935050611a7060208501611a12565b9150604084013590509250925092565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015611ad557603f19888603018452611ac3858351611957565b94509285019290850190600101611aa7565b5092979650505050505050565b60008060008060808587031215611af857600080fd5b611b0185611a12565b9350602085013567ffffffffffffffff80821115611b1e57600080fd5b611b2a88838901611869565b94506040870135915080821115611b4057600080fd5b50611b4d87828801611869565b925050611b5c60608601611a12565b905092959194509250565b60208152600060018060a01b03808451166020840152602084015160a06040850152611b9660c0850182611957565b90506040850151601f19858303016060860152611bb38282611957565b915050816060860151166080850152608085015160a0850152809250505092915050565b600060208284031215611be957600080fd5b6117fe82611a12565b600181811c90821680611c0657607f821691505b602082108103611c2657634e487b7160e01b600052602260045260246000fd5b50919050565b60008251611c3e818460208701611933565b9190910192915050565b6020815260006117fe6020830184611957565b604081526000611c6e6040830185611957565b90508260208301529392505050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561058857610588611c7d565b606081526000611cb96060830186611957565b6001600160a01b039490941660208301525060400152919050565b601f821115611d1e57600081815260208120601f850160051c81016020861015611cfb5750805b601f850160051c820191505b81811015611d1a57828155600101611d07565b5050505b505050565b815167ffffffffffffffff811115611d3d57611d3d611853565b611d5181611d4b8454611bf2565b84611cd4565b602080601f831160018114611d865760008415611d6e5750858301515b600019600386901b1c1916600185901b178555611d1a565b600085815260208120601f198616915b82811015611db557888601518255948401946001909101908401611d96565b5085821015611dd35787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060018060a01b03808716835260806020840152611e056080840187611957565b8381036040850152611e178187611957565b92505080841660608401525095945050505050565b8082018082111561058857610588611c7d565b634e487b7160e01b600052603260045260246000fd5b818103611e60575050565b611e6a8254611bf2565b67ffffffffffffffff811115611e8257611e82611853565b611e9081611d4b8454611bf2565b6000601f821160018114611ec45760008315611eac5750848201545b600019600385901b1c1916600184901b178455611f29565b600085815260209020601f19841690600086815260209020845b83811015611efe5782860154825560019586019590910190602001611ede565b5085831015611f1c5781850154600019600388901b60f8161c191681555b50505060018360011b0184555b5050505050565b634e487b7160e01b600052603160045260246000fd5b600060018201611f5857611f58611c7d565b506001019056fea2646970667358221220225cb2753a2630cfbc6258111a8866e031dff580edaff7495e38d9172ce6ee3164736f6c63430008140033","sourceMap":"689:5698:6:-:0;;;1317:175;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1383:15;-1:-1:-1;;;;;1273:26:0;;1269:95;;1322:31;;-1:-1:-1;;;1322:31:0;;1350:1;1322:31;;;516:51:8;489:18;;1322:31:0;;;;;;;1269:95;1373:32;1392:12;1373:18;:32::i;:::-;-1:-1:-1;1410:14:6::1;:41:::0;;-1:-1:-1;;;;;;1410:41:6::1;-1:-1:-1::0;;;;;1410:41:6;;;::::1;::::0;;;::::1;::::0;;;-1:-1:-1;1461:24:6;689:5698;;2912:187:0;2985:16;3004:6;;-1:-1:-1;;;;;3020:17:0;;;-1:-1:-1;;;;;;3020:17:0;;;;;;3052:40;;3004:6;;;;;;;3052:40;;2985:16;3052:40;2975:124;2912:187;:::o;14:351:8:-;93:6;101;154:2;142:9;133:7;129:23;125:32;122:52;;;170:1;167;160:12;122:52;196:16;;-1:-1:-1;;;;;241:31:8;;231:42;;221:70;;287:1;284;277:12;221:70;355:2;340:18;;;;334:25;310:5;;334:25;;-1:-1:-1;;;14:351:8:o;370:203::-;689:5698:6;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100f55760003560e01c80638da5cb5b11610097578063c1733f6811610066578063c1733f6814610208578063d9cf884c14610228578063e1efb5961461023b578063f2fde38b1461024e57600080fd5b80638da5cb5b146101ba578063a1bc17c5146101cb578063b48272cc146101de578063b5bfddea146101f157600080fd5b80634534ba17116100d35780634534ba17146101755780635137b8a714610188578063715018a61461019d5780638d7d180b146101a757600080fd5b806304c2320b146100fa578063056b01ce146101275780631255c1891461014a575b600080fd5b61010d6101083660046118f6565b610261565b60405161011e959493929190611983565b60405180910390f35b61013a6101353660046119cd565b6103bf565b604051901515815260200161011e565b60045461015d906001600160a01b031681565b6040516001600160a01b03909116815260200161011e565b61013a610183366004611a29565b61058e565b610190610792565b60405161011e9190611a80565b6101a561086b565b005b61013a6101b5366004611ae2565b61087f565b6000546001600160a01b031661015d565b61013a6101d93660046118f6565b610b19565b61013a6101ec3660046119cd565b610d14565b6101fa60015481565b60405190815260200161011e565b61021b6102163660046118f6565b610ef4565b60405161011e9190611b67565b61013a6102363660046119cd565b6110b9565b61013a6102493660046119cd565b6113e6565b6101a561025c366004611bd7565b6115c5565b8051602081830181018051600282529282019190930120915280546001820180546001600160a01b03909216929161029890611bf2565b80601f01602080910402602001604051908101604052809291908181526020018280546102c490611bf2565b80156103115780601f106102e657610100808354040283529160200191610311565b820191906000526020600020905b8154815290600101906020018083116102f457829003601f168201915b50505050509080600201805461032690611bf2565b80601f016020809104026020016040519081016040528092919081815260200182805461035290611bf2565b801561039f5780601f106103745761010080835404028352916020019161039f565b820191906000526020600020905b81548152906001019060200180831161038257829003601f168201915b50505050600383015460049093015491926001600160a01b031691905085565b60006103c9611603565b60006001600160a01b03166002846040516103e49190611c2c565b908152604051908190036020019020546001600160a01b031603610426578260405163c0bab25f60e01b815260040161041d9190611c48565b60405180910390fd5b60006002846040516104389190611c2c565b90815260405190819003602001812054306024830152604482018590526001600160a01b03169060640160408051601f198184030181529181526020820180516001600160e01b03166340c10f1960e01b179052516104979190611c2c565b6000604051808303816000865af19150503d80600081146104d4576040519150601f19603f3d011682016040523d82523d6000602084013e6104d9565b606091505b50509050806105235760405162461bcd60e51b81526020600482015260166024820152751b5a5b9d08185cdcd95d0818d85b1b0819985a5b195960521b604482015260640161041d565b826002856040516105349190611c2c565b9081526020016040518091039020600401819055507f0a4e1e5035320483d096cf114513007c4eda3853a4dca806da2d9faec60470a6848460405161057a929190611c5b565b60405180910390a160019150505b92915050565b6000610598611603565b816002856040516105a99190611c2c565b90815260200160405180910390206004015410156106095760405162461bcd60e51b815260206004820181905260248201527f61737369676e206173736574206173736574206973206e6f74206c6f636b6564604482015260640161041d565b600060028560405161061b9190611c2c565b908152604051908190036020018120543060248301526001600160a01b03868116604484015260648301869052169060840160408051601f198184030181529181526020820180516001600160e01b0316632fa96a2760e11b179052516106829190611c2c565b6000604051808303816000865af19150503d80600081146106bf576040519150601f19603f3d011682016040523d82523d6000602084013e6106c4565b606091505b50509050806107155760405162461bcd60e51b815260206004820152601860248201527f61737369676e2061737365742063616c6c206661696c65640000000000000000604482015260640161041d565b826002866040516107269190611c2c565b908152602001604051809103902060040160008282546107469190611c93565b90915550506040517f0b3112bdbedc0251766a323a5c6ad4df77174bbc08bd61b944815ad9efe8d54c9061077f90879087908790611ca6565b60405180910390a1506001949350505050565b60606003805480602002602001604051908101604052809291908181526020016000905b828210156108625783829060005260206000200180546107d590611bf2565b80601f016020809104026020016040519081016040528092919081815260200182805461080190611bf2565b801561084e5780601f106108235761010080835404028352916020019161084e565b820191906000526020600020905b81548152906001019060200180831161083157829003601f168201915b5050505050815260200190600101906107b6565b50505050905090565b610873611603565b61087d6000611630565b565b6000610889611603565b60006001600160a01b03166002846040516108a49190611c2c565b908152604051908190036020019020546001600160a01b0316146108dd57826040516319eac8d160e21b815260040161041d9190611c48565b60015460405160248101919091523060448201526000906001600160a01b0387169060640160408051601f198184030181529181526020820180516001600160e01b03166328545c0d60e01b179052516109379190611c2c565b6000604051808303816000865af19150503d8060008114610974576040519150601f19603f3d011682016040523d82523d6000602084013e610979565b606091505b50509050806109c2576002846040516109929190611c2c565b9081526040519081900360200181205463118cdaa760e01b82526001600160a01b0316600482015260240161041d565b6040518060a00160405280876001600160a01b03168152602001868152602001858152602001846001600160a01b031681526020016000815250600285604051610a0c9190611c2c565b90815260405160209181900382019020825181546001600160a01b0319166001600160a01b03909116178155908201516001820190610a4b9082611d23565b5060408201516002820190610a609082611d23565b506060820151600382810180546001600160a01b0319166001600160a01b039093169290921790915560809092015160049091015580546001810182556000919091527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b01610acf8582611d23565b507f57951acaa6aa023b66ff5ae829f011ec74aedd1a40654570a33708280743e88186868686604051610b059493929190611de3565b60405180910390a150600195945050505050565b6000610b23611603565b60006001600160a01b0316600283604051610b3e9190611c2c565b908152604051908190036020019020546001600160a01b031603610b77578160405163c0bab25f60e01b815260040161041d9190611c48565b6000600283604051610b899190611c2c565b9081526020016040518091039020600401541115610bbc5781604051635be9608560e11b815260040161041d9190611c48565b610c6e600283604051610bcf9190611c2c565b90815260200160405180910390206002018054610beb90611bf2565b80601f0160208091040260200160405190810160405280929190818152602001828054610c1790611bf2565b8015610c645780601f10610c3957610100808354040283529160200191610c64565b820191906000526020600020905b815481529060010190602001808311610c4757829003601f168201915b5050505050611680565b600282604051610c7e9190611c2c565b90815260405190819003602001902080546001600160a01b03191681556000610caa6001830182611805565b610cb8600283016000611805565b506003810180546001600160a01b031916905560006004909101556040517f3855d31914452a5e7361730662e60834555d7cb26d380140894d85fd0d13b85490610d03908490611c48565b60405180910390a15060015b919050565b6000610d1e611603565b81600284604051610d2f9190611c2c565b9081526020016040518091039020600401541015610d8f5760405162461bcd60e51b815260206004820152601e60248201527f6275726e206173736574206173736574206973206e6f74206c6f636b65640000604482015260640161041d565b6000600284604051610da19190611c2c565b90815260405190819003602001812054306024830152604482018590526001600160a01b03169060640160408051601f198184030181529181526020820180516001600160e01b0316632770a7eb60e21b17905251610e009190611c2c565b6000604051808303816000865af19150503d8060008114610e3d576040519150601f19603f3d011682016040523d82523d6000602084013e610e42565b606091505b5050905080610e8c5760405162461bcd60e51b8152602060048201526016602482015275189d5c9b88185cdcd95d0818d85b1b0819985a5b195960521b604482015260640161041d565b82600285604051610e9d9190611c2c565b90815260200160405180910390206004016000828254610ebd9190611c93565b90915550506040517fa0237080cf48d9e1fbb9ef1f82e33b11170d047b2b540a73b457d0916d53ee999061057a9086908690611c5b565b610f386040518060a0016040528060006001600160a01b03168152602001606081526020016060815260200160006001600160a01b03168152602001600081525090565b600282604051610f489190611c2c565b90815260408051918290036020908101832060a0840190925281546001600160a01b0316835260018201805491840191610f8190611bf2565b80601f0160208091040260200160405190810160405280929190818152602001828054610fad90611bf2565b8015610ffa5780601f10610fcf57610100808354040283529160200191610ffa565b820191906000526020600020905b815481529060010190602001808311610fdd57829003601f168201915b5050505050815260200160028201805461101390611bf2565b80601f016020809104026020016040519081016040528092919081815260200182805461103f90611bf2565b801561108c5780601f106110615761010080835404028352916020019161108c565b820191906000526020600020905b81548152906001019060200180831161106f57829003601f168201915b505050918352505060038201546001600160a01b0316602082015260049091015460409091015292915050565b60006110c3611603565b60006001600160a01b03166002846040516110de9190611c2c565b908152604051908190036020019020546001600160a01b031603611117578260405163c0bab25f60e01b815260040161041d9190611c48565b816002846040516111289190611c2c565b908152602001604051809103902060040154101561115d57828260405163076abcf360e51b815260040161041d929190611c5b565b600060028460405161116f9190611c2c565b90815260405190819003602001812054306024830152604482018590526001600160a01b03169060640160408051601f198184030181529181526020820180516001600160e01b031663095ea7b360e01b179052516111ce9190611c2c565b6000604051808303816000865af19150503d806000811461120b576040519150601f19603f3d011682016040523d82523d6000602084013e611210565b606091505b505090508061123457836040516358300fe760e01b815260040161041d9190611c48565b60006002856040516112469190611c2c565b908152604051908190036020018120546001600160a01b0316903090600290611270908990611c2c565b908152604051908190036020018120600301546001600160a01b03169060029061129b908a90611c2c565b908152604051908190036020018120600401546001600160a01b039384166024830152919092166044830152606482015260840160408051601f198184030181529181526020820180516001600160e01b03166317d5759960e31b179052516113049190611c2c565b6000604051808303816000865af19150503d8060008114611341576040519150601f19603f3d011682016040523d82523d6000602084013e611346565b606091505b5050905080156113cb57836002866040516113619190611c2c565b908152602001604051809103902060040160008282546113819190611c93565b90915550506040517f7b3c894115251262b174b7aeab24a57e00bc2e8853d1ef2f57a217edaa69c06e906113b89087908790611c5b565b60405180910390a1600192505050610588565b846040516358300fe760e01b815260040161041d9190611c48565b60006113f0611603565b60006001600160a01b031660028460405161140b9190611c2c565b908152604051908190036020019020546001600160a01b031603611444578260405163c0bab25f60e01b815260040161041d9190611c48565b60006002846040516114569190611c2c565b908152604051908190036020018120546001600160a01b03169060029061147e908790611c2c565b908152604051908190036020018120600301546001600160a01b031660248201523060448201526064810185905260840160408051601f198184030181529181526020820180516001600160e01b03166317d5759960e31b179052516114e49190611c2c565b6000604051808303816000865af19150503d8060008114611521576040519150601f19603f3d011682016040523d82523d6000602084013e611526565b606091505b5050905080156115aa57826002856040516115419190611c2c565b908152602001604051809103902060040160008282546115619190611e2c565b90915550506040517fc480ef4e831b2ca5eb0b2f95c6564d9a56af5b3fe2383393008e3f1708dc9797906115989086908690611c5b565b60405180910390a16001915050610588565b8360405163412204b560e11b815260040161041d9190611c48565b6115cd611603565b6001600160a01b0381166115f757604051631e4fbdf760e01b81526000600482015260240161041d565b61160081611630565b50565b6000546001600160a01b0316331461087d5760405163118cdaa760e01b815233600482015260240161041d565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60005b6003548110156117da5761173c600382815481106116a3576116a3611e3f565b9060005260206000200180546116b890611bf2565b80601f01602080910402602001604051908101604052809291908181526020018280546116e490611bf2565b80156117315780601f1061170657610100808354040283529160200191611731565b820191906000526020600020905b81548152906001019060200180831161171457829003601f168201915b5050505050836117de565b156117c8576003805461175190600190611c93565b8154811061176157611761611e3f565b906000526020600020016003828154811061177e5761177e611e3f565b9060005260206000200190816117949190611e55565b5060038054806117a6576117a6611f30565b6001900381819060005260206000200160006117c29190611805565b90555050565b806117d281611f46565b915050611683565b5050565b6000815183511480156117fe575081805190602001208380519060200120145b9392505050565b50805461181190611bf2565b6000825580601f10611821575050565b601f01602090049060005260206000209081019061160091905b8082111561184f576000815560010161183b565b5090565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261187a57600080fd5b813567ffffffffffffffff8082111561189557611895611853565b604051601f8301601f19908116603f011681019082821181831017156118bd576118bd611853565b816040528381528660208588010111156118d657600080fd5b836020870160208301376000602085830101528094505050505092915050565b60006020828403121561190857600080fd5b813567ffffffffffffffff81111561191f57600080fd5b61192b84828501611869565b949350505050565b60005b8381101561194e578181015183820152602001611936565b50506000910152565b6000815180845261196f816020860160208601611933565b601f01601f19169290920160200192915050565b600060018060a01b03808816835260a060208401526119a560a0840188611957565b83810360408501526119b78188611957565b9590911660608401525050608001529392505050565b600080604083850312156119e057600080fd5b823567ffffffffffffffff8111156119f757600080fd5b611a0385828601611869565b95602094909401359450505050565b80356001600160a01b0381168114610d0f57600080fd5b600080600060608486031215611a3e57600080fd5b833567ffffffffffffffff811115611a5557600080fd5b611a6186828701611869565b935050611a7060208501611a12565b9150604084013590509250925092565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015611ad557603f19888603018452611ac3858351611957565b94509285019290850190600101611aa7565b5092979650505050505050565b60008060008060808587031215611af857600080fd5b611b0185611a12565b9350602085013567ffffffffffffffff80821115611b1e57600080fd5b611b2a88838901611869565b94506040870135915080821115611b4057600080fd5b50611b4d87828801611869565b925050611b5c60608601611a12565b905092959194509250565b60208152600060018060a01b03808451166020840152602084015160a06040850152611b9660c0850182611957565b90506040850151601f19858303016060860152611bb38282611957565b915050816060860151166080850152608085015160a0850152809250505092915050565b600060208284031215611be957600080fd5b6117fe82611a12565b600181811c90821680611c0657607f821691505b602082108103611c2657634e487b7160e01b600052602260045260246000fd5b50919050565b60008251611c3e818460208701611933565b9190910192915050565b6020815260006117fe6020830184611957565b604081526000611c6e6040830185611957565b90508260208301529392505050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561058857610588611c7d565b606081526000611cb96060830186611957565b6001600160a01b039490941660208301525060400152919050565b601f821115611d1e57600081815260208120601f850160051c81016020861015611cfb5750805b601f850160051c820191505b81811015611d1a57828155600101611d07565b5050505b505050565b815167ffffffffffffffff811115611d3d57611d3d611853565b611d5181611d4b8454611bf2565b84611cd4565b602080601f831160018114611d865760008415611d6e5750858301515b600019600386901b1c1916600185901b178555611d1a565b600085815260208120601f198616915b82811015611db557888601518255948401946001909101908401611d96565b5085821015611dd35787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060018060a01b03808716835260806020840152611e056080840187611957565b8381036040850152611e178187611957565b92505080841660608401525095945050505050565b8082018082111561058857610588611c7d565b634e487b7160e01b600052603260045260246000fd5b818103611e60575050565b611e6a8254611bf2565b67ffffffffffffffff811115611e8257611e82611853565b611e9081611d4b8454611bf2565b6000601f821160018114611ec45760008315611eac5750848201545b600019600385901b1c1916600184901b178455611f29565b600085815260209020601f19841690600086815260209020845b83811015611efe5782860154825560019586019590910190602001611ede565b5085831015611f1c5781850154600019600388901b60f8161c191681555b50505060018360011b0184555b5050505050565b634e487b7160e01b600052603160045260246000fd5b600060018201611f5857611f58611c7d565b506001019056fea2646970667358221220225cb2753a2630cfbc6258111a8866e031dff580edaff7495e38d9172ce6ee3164736f6c63430008140033","sourceMap":"689:5698:6:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;792:40;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;4259:525;;;;;;:::i;:::-;;:::i;:::-;;;2948:14:8;;2941:22;2923:41;;2911:2;2896:18;4259:525:6;2783:187:8;886:29:6;;;;;-1:-1:-1;;;;;886:29:6;;;;;;-1:-1:-1;;;;;3139:32:8;;;3121:51;;3109:2;3094:18;886:29:6;2975:203:8;5285:579:6;;;;;;:::i;:::-;;:::i;5882:94::-;;;:::i;:::-;;;;;;;:::i;2293:101:0:-;;;:::i;:::-;;1498:753:6;;;;;;:::i;:::-;;:::i;1638:85:0:-;1684:7;1710:6;-1:-1:-1;;;;;1710:6:0;1638:85;;2257:431:6;;;;;;:::i;:::-;;:::i;4790:489::-;;;;;;:::i;:::-;;:::i;755:26::-;;;;;;;;;5481:25:8;;;5469:2;5454:18;755:26:6;5335:177:8;6264:121:6;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;3285:967::-;;;;;;:::i;:::-;;:::i;2694:584::-;;;;;;:::i;:::-;;:::i;2543:215:0:-;;;;;;:::i;:::-;;:::i;792:40:6:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;792:40:6;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;792:40:6;;;;;;;;;;;-1:-1:-1;;;;;792:40:6;;;-1:-1:-1;792:40:6;:::o;4259:525::-;4340:12;1531:13:0;:11;:13::i;:::-;4410:1:6::1;-1:-1:-1::0;;;;;4367:45:6::1;:6;4374:7;4367:15;;;;;;:::i;:::-;::::0;;;::::1;::::0;;;;;::::1;::::0;;;:31;-1:-1:-1;;;;;4367:31:6::1;:45:::0;4364:107:::1;;4452:7;4434:26;;-1:-1:-1::0;;;4434:26:6::1;;;;;;;;:::i;:::-;;;;;;;;4364:107;4482:16;4504:6;4511:7;4504:15;;;;;;:::i;:::-;::::0;;;::::1;::::0;;;;;::::1;::::0;;;:31;4598:4:::1;4541:71;::::0;::::1;7583:51:8::0;7650:18;;;7643:34;;;-1:-1:-1;;;;;4504:31:6::1;::::0;7556:18:8;;4541:71:6::1;::::0;;-1:-1:-1;;4541:71:6;;::::1;::::0;;;;;;::::1;::::0;::::1;::::0;;-1:-1:-1;;;;;4541:71:6::1;-1:-1:-1::0;;;4541:71:6::1;::::0;;4504:109;::::1;::::0;4541:71;4504:109:::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4481:132;;;4640:11;4632:46;;;::::0;-1:-1:-1;;;4632:46:6;;8182:2:8;4632:46:6::1;::::0;::::1;8164:21:8::0;8221:2;8201:18;;;8194:30;-1:-1:-1;;;8240:18:8;;;8233:52;8302:18;;4632:46:6::1;7980:346:8::0;4632:46:6::1;4714:6;4689;4696:7;4689:15;;;;;;:::i;:::-;;;;;;;;;;;;;:22;;:31;;;;4735:21;4740:7;4749:6;4735:21;;;;;;;:::i;:::-;;;;;;;;4773:4;4766:11;;;1554:1:0;4259:525:6::0;;;;:::o;5285:579::-;5394:12;1531:13:0;:11;:13::i;:::-;5452:6:6::1;5426;5433:7;5426:15;;;;;;:::i;:::-;;;;;;;;;;;;;:22;;;:32;;5418:77;;;::::0;-1:-1:-1;;;5418:77:6;;8829:2:8;5418:77:6::1;::::0;::::1;8811:21:8::0;;;8848:18;;;8841:30;8907:34;8887:18;;;8880:62;8959:18;;5418:77:6::1;8627:356:8::0;5418:77:6::1;5507:18;5531:6;5538:7;5531:15;;;;;;:::i;:::-;::::0;;;::::1;::::0;;;;;::::1;::::0;;;:31;5635:4:::1;5568:99;::::0;::::1;9228:34:8::0;-1:-1:-1;;;;;9298:15:8;;;9278:18;;;9271:43;9330:18;;;9323:34;;;5531:31:6::1;::::0;9163:18:8;;5568:99:6::1;::::0;;-1:-1:-1;;5568:99:6;;::::1;::::0;;;;;;::::1;::::0;::::1;::::0;;-1:-1:-1;;;;;5568:99:6::1;-1:-1:-1::0;;;5568:99:6::1;::::0;;5531:137;::::1;::::0;5568:99;5531:137:::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5506:162;;;5686:13;5678:50;;;::::0;-1:-1:-1;;;5678:50:6;;9570:2:8;5678:50:6::1;::::0;::::1;9552:21:8::0;9609:2;9589:18;;;9582:30;9648:26;9628:18;;;9621:54;9692:18;;5678:50:6::1;9368:348:8::0;5678:50:6::1;5765:6;5739;5746:7;5739:15;;;;;;:::i;:::-;;;;;;;;;;;;;:22;;;:32;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;5795:41:6::1;::::0;::::1;::::0;::::1;::::0;5802:7;;5811:16;;5829:6;;5795:41:::1;:::i;:::-;;;;;;;;-1:-1:-1::0;5853:4:6::1;::::0;5285:579;-1:-1:-1;;;;5285:579:6:o;5882:94::-;5932:15;5966:3;5959:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5882:94;:::o;2293:101:0:-;1531:13;:11;:13::i;:::-;2357:30:::1;2384:1;2357:18;:30::i;:::-;2293:101::o:0;1498:753:6:-;1628:16;1531:13:0;:11;:13::i;:::-;1702:1:6::1;-1:-1:-1::0;;;;;1659:45:6::1;:6;1666:7;1659:15;;;;;;:::i;:::-;::::0;;;::::1;::::0;;;;;::::1;::::0;;;:31;-1:-1:-1;;;;;1659:31:6::1;:45;1656:110;;1747:7;1727:28;;-1:-1:-1::0;;;1727:28:6::1;;;;;;;;:::i;1656:110::-;1885:11;::::0;1827:85:::1;::::0;::::1;::::0;::::1;10553:25:8::0;;;;1906:4:6::1;10594:18:8::0;;;10587:60;1781:19:6::1;::::0;-1:-1:-1;;;;;1806:20:6;::::1;::::0;10526:18:8;;1827:85:6::1;::::0;;-1:-1:-1;;1827:85:6;;::::1;::::0;;;;;;::::1;::::0;::::1;::::0;;-1:-1:-1;;;;;1827:85:6::1;-1:-1:-1::0;;;1827:85:6::1;::::0;;1806:107;::::1;::::0;1827:85;1806:107:::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1780:133;;;1932:14;1928:111;;1996:6;2003:7;1996:15;;;;;;:::i;:::-;::::0;;;::::1;::::0;;;;;::::1;::::0;;;:31;-1:-1:-1;;;1969:59:6;;-1:-1:-1;;;;;1996:31:6::1;1969:59;::::0;::::1;3121:51:8::0;3094:18;;1969:59:6::1;2975:203:8::0;1928:111:6::1;2067:52;;;;;;;;2073:15;-1:-1:-1::0;;;;;2067:52:6::1;;;;;2090:9;2067:52;;;;2101:7;2067:52;;;;2110:5;-1:-1:-1::0;;;;;2067:52:6::1;;;;;2117:1;2067:52;;::::0;2049:6:::1;2056:7;2049:15;;;;;;:::i;:::-;::::0;;;::::1;::::0;::::1;::::0;;;;;;;;:70;;;;-1:-1:-1;;;;;;2049:70:6::1;-1:-1:-1::0;;;;;2049:70:6;;::::1;;::::0;;;;::::1;::::0;-1:-1:-1;2049:70:6;::::1;::::0;::::1;::::0;;::::1;:::i;:::-;-1:-1:-1::0;2049:70:6::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;:::i;:::-;-1:-1:-1::0;2049:70:6::1;::::0;::::1;::::0;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;;;;2049:70:6::1;-1:-1:-1::0;;;;;2049:70:6;;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;::::1;::::0;::::1;::::0;;::::1;::::0;2134:17;;-1:-1:-1;2134:17:6;::::1;::::0;;-1:-1:-1;2134:17:6;;;;;::::1;;2143:7:::0;2134:17;::::1;:::i;:::-;;2175:48;2180:15;2197:9;2208:7;2217:5;2175:48;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1::0;2240:4:6::1;::::0;1498:753;-1:-1:-1;;;;;1498:753:6:o;2257:431::-;2324:12;1531:13:0;:11;:13::i;:::-;2394:1:6::1;-1:-1:-1::0;;;;;2351:45:6::1;:6;2358:7;2351:15;;;;;;:::i;:::-;::::0;;;::::1;::::0;;;;;::::1;::::0;;;:31;-1:-1:-1;;;;;2351:31:6::1;:45:::0;2348:108:::1;;2437:7;2419:26;;-1:-1:-1::0;;;2419:26:6::1;;;;;;;;:::i;2348:108::-;2493:1;2468:6;2475:7;2468:15;;;;;;:::i;:::-;;;;;;;;;;;;;:22;;;:26;2465:83;;;2529:7;2517:20;;-1:-1:-1::0;;;2517:20:6::1;;;;;;;;:::i;2465:83::-;2557:40;2573:6;2580:7;2573:15;;;;;;:::i;:::-;;;;;;;;;;;;;:23;;2557:40;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:15;:40::i;:::-;2614:6;2621:7;2614:15;;;;;;:::i;:::-;::::0;;;::::1;::::0;;;;;::::1;::::0;;;2607:22;;-1:-1:-1;;;;;;2607:22:6::1;::::0;;2614:15:::1;2607:22;::::0;;::::1;2614:15:::0;2607:22:::1;:::i;:::-;;;::::0;::::1;;;:::i;:::-;-1:-1:-1::0;2607:22:6::1;::::0;::::1;::::0;;-1:-1:-1;;;;;;2607:22:6::1;::::0;;::::1;;::::0;;::::1;::::0;2645:15:::1;::::0;::::1;::::0;::::1;::::0;2652:7;;2645:15:::1;:::i;:::-;;;;;;;;-1:-1:-1::0;2677:4:6::1;1554:1:0;2257:431:6::0;;;:::o;4790:489::-;4871:12;1531:13:0;:11;:13::i;:::-;4929:6:6::1;4903;4910:7;4903:15;;;;;;:::i;:::-;;;;;;;;;;;;;:22;;;:32;;4895:75;;;::::0;-1:-1:-1;;;4895:75:6;;13652:2:8;4895:75:6::1;::::0;::::1;13634:21:8::0;13691:2;13671:18;;;13664:30;13730:32;13710:18;;;13703:60;13780:18;;4895:75:6::1;13450:354:8::0;4895:75:6::1;4982:16;5004:6;5011:7;5004:15;;;;;;:::i;:::-;::::0;;;::::1;::::0;;;;;::::1;::::0;;;:31;5099:4:::1;5041:72;::::0;::::1;7583:51:8::0;7650:18;;;7643:34;;;-1:-1:-1;;;;;5004:31:6::1;::::0;7556:18:8;;5041:72:6::1;::::0;;-1:-1:-1;;5041:72:6;;::::1;::::0;;;;;;::::1;::::0;::::1;::::0;;-1:-1:-1;;;;;5041:72:6::1;-1:-1:-1::0;;;5041:72:6::1;::::0;;5004:110;::::1;::::0;5041:72;5004:110:::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:133;;;5133:11;5125:46;;;::::0;-1:-1:-1;;;5125:46:6;;14011:2:8;5125:46:6::1;::::0;::::1;13993:21:8::0;14050:2;14030:18;;;14023:30;-1:-1:-1;;;14069:18:8;;;14062:52;14131:18;;5125:46:6::1;13809:346:8::0;5125:46:6::1;5208:6;5182;5189:7;5182:15;;;;;;:::i;:::-;;;;;;;;;;;;;:22;;;:32;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;5230:21:6::1;::::0;::::1;::::0;::::1;::::0;5235:7;;5244:6;;5230:21:::1;:::i;6264:121::-:0;6326:18;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6326:18:6;6363:6;6370:7;6363:15;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;6356:22;;;;;;;;-1:-1:-1;;;;;6356:22:6;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6356:22:6;;;-1:-1:-1;;6356:22:6;;;;-1:-1:-1;;;;;6356:22:6;;;;;;;;;;;;;;;;6264:121;-1:-1:-1;;6264:121:6:o;3285:967::-;3368:12;1531:13:0;:11;:13::i;:::-;3448:1:6::1;-1:-1:-1::0;;;;;3405:45:6::1;:6;3412:7;3405:15;;;;;;:::i;:::-;::::0;;;::::1;::::0;;;;;::::1;::::0;;;:31;-1:-1:-1;;;;;3405:31:6::1;:45:::0;3402:107:::1;;3490:7;3472:26;;-1:-1:-1::0;;;3472:26:6::1;;;;;;;;:::i;3402:107::-;3547:6;3522;3529:7;3522:15;;;;;;:::i;:::-;;;;;;;;;;;;;:22;;;:31;3519:108;;;3600:7;3609:6;3576:40;;-1:-1:-1::0;;;3576:40:6::1;;;;;;;;;:::i;3519:108::-;3638:17;3660:6;3667:7;3660:15;;;;;;:::i;:::-;::::0;;;::::1;::::0;;;;;::::1;::::0;;;:31;3757:4:::1;3697:74;::::0;::::1;7583:51:8::0;7650:18;;;7643:34;;;-1:-1:-1;;;;;3660:31:6::1;::::0;7556:18:8;;3697:74:6::1;::::0;;-1:-1:-1;;3697:74:6;;::::1;::::0;;;;;;::::1;::::0;::::1;::::0;;-1:-1:-1;;;;;3697:74:6::1;-1:-1:-1::0;;;3697:74:6::1;::::0;;3660:112;::::1;::::0;3697:74;3660:112:::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3637:135;;;3786:12;3782:75;;3838:7;3821:25;;-1:-1:-1::0;;;3821:25:6::1;;;;;;;;:::i;3782:75::-;3868:18;3891:6;3898:7;3891:15;;;;;;:::i;:::-;::::0;;;::::1;::::0;;;;;::::1;::::0;;;:31;-1:-1:-1;;;;;3891:31:6::1;::::0;3997:4:::1;::::0;4004:6:::1;::::0;:15:::1;::::0;4011:7;;4004:15:::1;:::i;:::-;::::0;;;::::1;::::0;;;;;::::1;::::0;;;:21:::1;;::::0;-1:-1:-1;;;;;4004:21:6::1;::::0;4027:6:::1;::::0;:15:::1;::::0;4034:7;;4027:15:::1;:::i;:::-;::::0;;;::::1;::::0;;;;;::::1;::::0;;;:22:::1;;::::0;-1:-1:-1;;;;;9246:15:8;;;3928:122:6::1;::::0;::::1;9228:34:8::0;9298:15;;;;9278:18;;;9271:43;9330:18;;;9323:34;9163:18;;3928:122:6::1;::::0;;-1:-1:-1;;3928:122:6;;::::1;::::0;;;;;;::::1;::::0;::::1;::::0;;-1:-1:-1;;;;;3928:122:6::1;-1:-1:-1::0;;;3928:122:6::1;::::0;;3891:160;::::1;::::0;3928:122;3891:160:::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3867:184;;;4064:13;4061:142;;;4119:6;4093;4100:7;4093:15;;;;;;:::i;:::-;;;;;;;;;;;;;:22;;;:32;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;4144:23:6::1;::::0;::::1;::::0;::::1;::::0;4151:7;;4160:6;;4144:23:::1;:::i;:::-;;;;;;;;4188:4;4181:11;;;;;;4061:142;4237:7;4220:25;;-1:-1:-1::0;;;4220:25:6::1;;;;;;;;:::i;2694:584::-:0;2775:12;1531:13:0;:11;:13::i;:::-;2845:1:6::1;-1:-1:-1::0;;;;;2802:45:6::1;:6;2809:7;2802:15;;;;;;:::i;:::-;::::0;;;::::1;::::0;;;;;::::1;::::0;;;:31;-1:-1:-1;;;;;2802:31:6::1;:45:::0;2799:107:::1;;2887:7;2869:26;;-1:-1:-1::0;;;2869:26:6::1;;;;;;;;:::i;2799:107::-;2917:16;2938:6;2945:7;2938:15;;;;;;:::i;:::-;::::0;;;::::1;::::0;;;;;::::1;::::0;;;:31;-1:-1:-1;;;;;2938:31:6::1;::::0;3036:6:::1;::::0;:15:::1;::::0;3043:7;;3036:15:::1;:::i;:::-;::::0;;;::::1;::::0;;;;;::::1;::::0;;;:21:::1;;::::0;-1:-1:-1;;;;;3036:21:6::1;2975:106;::::0;::::1;9228:34:8::0;3067:4:6::1;9278:18:8::0;;;9271:43;9330:18;;;9323:34;;;9163:18;;2975:106:6::1;::::0;;-1:-1:-1;;2975:106:6;;::::1;::::0;;;;;;::::1;::::0;::::1;::::0;;-1:-1:-1;;;;;2975:106:6::1;-1:-1:-1::0;;;2975:106:6::1;::::0;;2938:144;::::1;::::0;2975:106;2938:144:::1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2916:166;;;3096:11;3093:138;;;3149:6;3123;3130:7;3123:15;;;;;;:::i;:::-;;;;;;;;;;;;;:22;;;:32;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;3174:21:6::1;::::0;::::1;::::0;::::1;::::0;3179:7;;3188:6;;3174:21:::1;:::i;:::-;;;;;;;;3216:4;3209:11;;;;;3093:138;3263:7;3248:23;;-1:-1:-1::0;;;3248:23:6::1;;;;;;;;:::i;2543:215:0:-:0;1531:13;:11;:13::i;:::-;-1:-1:-1;;;;;2627:22:0;::::1;2623:91;;2672:31;::::0;-1:-1:-1;;;2672:31:0;;2700:1:::1;2672:31;::::0;::::1;3121:51:8::0;3094:18;;2672:31:0::1;2975:203:8::0;2623:91:0::1;2723:28;2742:8;2723:18;:28::i;:::-;2543:215:::0;:::o;1796:162::-;1684:7;1710:6;-1:-1:-1;;;;;1710:6:0;735:10:1;1855:23:0;1851:101;;1901:40;;-1:-1:-1;;;1901:40:0;;735:10:1;1901:40:0;;;3121:51:8;3094:18;;1901:40:0;2975:203:8;2912:187:0;2985:16;3004:6;;-1:-1:-1;;;;;3020:17:0;;;-1:-1:-1;;;;;;3020:17:0;;;;;;3052:40;;3004:6;;;;;;;3052:40;;2985:16;3052:40;2975:124;2912:187;:::o;5982:276:6:-;6050:9;6045:207;6069:3;:10;6065:14;;6045:207;;;6104:25;6118:3;6122:1;6118:6;;;;;;;;:::i;:::-;;;;;;;;6104:25;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6126:2;6104:13;:25::i;:::-;6100:142;;;6158:3;6162:10;;:14;;6175:1;;6162:14;:::i;:::-;6158:19;;;;;;;;:::i;:::-;;;;;;;;6149:3;6153:1;6149:6;;;;;;;;:::i;:::-;;;;;;;;:28;;;;;;:::i;:::-;;6195:3;:9;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;6045:207;5982:276;:::o;6100:142::-;6081:3;;;;:::i;:::-;;;;6045:207;;;;5982:276;:::o;2914:182:2:-;2986:4;3034:1;3028:15;3015:1;3009:15;:34;:80;;;;;3086:1;3070:19;;;;;;3063:1;3047:19;;;;;;:42;3009:80;3002:87;2914:182;-1:-1:-1;;;2914:182:2:o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:127:8:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:719;189:5;242:3;235:4;227:6;223:17;219:27;209:55;;260:1;257;250:12;209:55;296:6;283:20;322:18;359:2;355;352:10;349:36;;;365:18;;:::i;:::-;440:2;434:9;408:2;494:13;;-1:-1:-1;;490:22:8;;;514:2;486:31;482:40;470:53;;;538:18;;;558:22;;;535:46;532:72;;;584:18;;:::i;:::-;624:10;620:2;613:22;659:2;651:6;644:18;705:3;698:4;693:2;685:6;681:15;677:26;674:35;671:55;;;722:1;719;712:12;671:55;786:2;779:4;771:6;767:17;760:4;752:6;748:17;735:54;833:1;826:4;821:2;813:6;809:15;805:26;798:37;853:6;844:15;;;;;;146:719;;;;:::o;870:322::-;939:6;992:2;980:9;971:7;967:23;963:32;960:52;;;1008:1;1005;998:12;960:52;1048:9;1035:23;1081:18;1073:6;1070:30;1067:50;;;1113:1;1110;1103:12;1067:50;1136;1178:7;1169:6;1158:9;1154:22;1136:50;:::i;:::-;1126:60;870:322;-1:-1:-1;;;;870:322:8:o;1197:250::-;1282:1;1292:113;1306:6;1303:1;1300:13;1292:113;;;1382:11;;;1376:18;1363:11;;;1356:39;1328:2;1321:10;1292:113;;;-1:-1:-1;;1439:1:8;1421:16;;1414:27;1197:250::o;1452:271::-;1494:3;1532:5;1526:12;1559:6;1554:3;1547:19;1575:76;1644:6;1637:4;1632:3;1628:14;1621:4;1614:5;1610:16;1575:76;:::i;:::-;1705:2;1684:15;-1:-1:-1;;1680:29:8;1671:39;;;;1712:4;1667:50;;1452:271;-1:-1:-1;;1452:271:8:o;1728:655::-;1972:4;2018:1;2014;2009:3;2005:11;2001:19;2059:2;2051:6;2047:15;2036:9;2029:34;2099:3;2094:2;2083:9;2079:18;2072:31;2126:46;2167:3;2156:9;2152:19;2144:6;2126:46;:::i;:::-;2220:9;2212:6;2208:22;2203:2;2192:9;2188:18;2181:50;2248:33;2274:6;2266;2248:33;:::i;:::-;2317:15;;;;2312:2;2297:18;;2290:43;-1:-1:-1;;2364:3:8;2349:19;2342:35;2240:41;1728:655;-1:-1:-1;;;1728:655:8:o;2388:390::-;2466:6;2474;2527:2;2515:9;2506:7;2502:23;2498:32;2495:52;;;2543:1;2540;2533:12;2495:52;2583:9;2570:23;2616:18;2608:6;2605:30;2602:50;;;2648:1;2645;2638:12;2602:50;2671;2713:7;2704:6;2693:9;2689:22;2671:50;:::i;:::-;2661:60;2768:2;2753:18;;;;2740:32;;-1:-1:-1;;;;2388:390:8:o;3183:173::-;3251:20;;-1:-1:-1;;;;;3300:31:8;;3290:42;;3280:70;;3346:1;3343;3336:12;3361:464;3448:6;3456;3464;3517:2;3505:9;3496:7;3492:23;3488:32;3485:52;;;3533:1;3530;3523:12;3485:52;3573:9;3560:23;3606:18;3598:6;3595:30;3592:50;;;3638:1;3635;3628:12;3592:50;3661;3703:7;3694:6;3683:9;3679:22;3661:50;:::i;:::-;3651:60;;;3730:38;3764:2;3753:9;3749:18;3730:38;:::i;:::-;3720:48;;3815:2;3804:9;3800:18;3787:32;3777:42;;3361:464;;;;;:::o;3830:803::-;3992:4;4021:2;4061;4050:9;4046:18;4091:2;4080:9;4073:21;4114:6;4149;4143:13;4180:6;4172;4165:22;4218:2;4207:9;4203:18;4196:25;;4280:2;4270:6;4267:1;4263:14;4252:9;4248:30;4244:39;4230:53;;4318:2;4310:6;4306:15;4339:1;4349:255;4363:6;4360:1;4357:13;4349:255;;;4456:2;4452:7;4440:9;4432:6;4428:22;4424:36;4419:3;4412:49;4484:40;4517:6;4508;4502:13;4484:40;:::i;:::-;4474:50;-1:-1:-1;4582:12:8;;;;4547:15;;;;4385:1;4378:9;4349:255;;;-1:-1:-1;4621:6:8;;3830:803;-1:-1:-1;;;;;;;3830:803:8:o;4638:692::-;4744:6;4752;4760;4768;4821:3;4809:9;4800:7;4796:23;4792:33;4789:53;;;4838:1;4835;4828:12;4789:53;4861:29;4880:9;4861:29;:::i;:::-;4851:39;;4941:2;4930:9;4926:18;4913:32;4964:18;5005:2;4997:6;4994:14;4991:34;;;5021:1;5018;5011:12;4991:34;5044:50;5086:7;5077:6;5066:9;5062:22;5044:50;:::i;:::-;5034:60;;5147:2;5136:9;5132:18;5119:32;5103:48;;5176:2;5166:8;5163:16;5160:36;;;5192:1;5189;5182:12;5160:36;;5215:52;5259:7;5248:8;5237:9;5233:24;5215:52;:::i;:::-;5205:62;;;5286:38;5320:2;5309:9;5305:18;5286:38;:::i;:::-;5276:48;;4638:692;;;;;;;:::o;5517:792::-;5692:2;5681:9;5674:21;5655:4;5731:1;5727;5722:3;5718:11;5714:19;5788:2;5779:6;5773:13;5769:22;5764:2;5753:9;5749:18;5742:50;5839:2;5831:6;5827:15;5821:22;5879:4;5874:2;5863:9;5859:18;5852:32;5907:52;5954:3;5943:9;5939:19;5925:12;5907:52;:::i;:::-;5893:66;;6008:2;6000:6;5996:15;5990:22;6080:2;6076:7;6064:9;6056:6;6052:22;6048:36;6043:2;6032:9;6028:18;6021:64;6108:41;6142:6;6126:14;6108:41;:::i;:::-;6094:55;;;6214:2;6208;6200:6;6196:15;6190:22;6186:31;6180:3;6169:9;6165:19;6158:60;6274:3;6266:6;6262:16;6256:23;6249:4;6238:9;6234:20;6227:53;6297:6;6289:14;;;;5517:792;;;;:::o;6314:186::-;6373:6;6426:2;6414:9;6405:7;6401:23;6397:32;6394:52;;;6442:1;6439;6432:12;6394:52;6465:29;6484:9;6465:29;:::i;6505:380::-;6584:1;6580:12;;;;6627;;;6648:61;;6702:4;6694:6;6690:17;6680:27;;6648:61;6755:2;6747:6;6744:14;6724:18;6721:38;6718:161;;6801:10;6796:3;6792:20;6789:1;6782:31;6836:4;6833:1;6826:15;6864:4;6861:1;6854:15;6718:161;;6505:380;;;:::o;6890:289::-;7021:3;7059:6;7053:13;7075:66;7134:6;7129:3;7122:4;7114:6;7110:17;7075:66;:::i;:::-;7157:16;;;;;6890:289;-1:-1:-1;;6890:289:8:o;7184:220::-;7333:2;7322:9;7315:21;7296:4;7353:45;7394:2;7383:9;7379:18;7371:6;7353:45;:::i;8331:291::-;8508:2;8497:9;8490:21;8471:4;8528:45;8569:2;8558:9;8554:18;8546:6;8528:45;:::i;:::-;8520:53;;8609:6;8604:2;8593:9;8589:18;8582:34;8331:291;;;;;:::o;9721:127::-;9782:10;9777:3;9773:20;9770:1;9763:31;9813:4;9810:1;9803:15;9837:4;9834:1;9827:15;9853:128;9920:9;;;9941:11;;;9938:37;;;9955:18;;:::i;9986:388::-;10191:2;10180:9;10173:21;10154:4;10211:45;10252:2;10241:9;10237:18;10229:6;10211:45;:::i;:::-;-1:-1:-1;;;;;10292:32:8;;;;10287:2;10272:18;;10265:60;-1:-1:-1;10356:2:8;10341:18;10334:34;10203:53;9986:388;-1:-1:-1;9986:388:8:o;10784:545::-;10886:2;10881:3;10878:11;10875:448;;;10922:1;10947:5;10943:2;10936:17;10992:4;10988:2;10978:19;11062:2;11050:10;11046:19;11043:1;11039:27;11033:4;11029:38;11098:4;11086:10;11083:20;11080:47;;;-1:-1:-1;11121:4:8;11080:47;11176:2;11171:3;11167:12;11164:1;11160:20;11154:4;11150:31;11140:41;;11231:82;11249:2;11242:5;11239:13;11231:82;;;11294:17;;;11275:1;11264:13;11231:82;;;11235:3;;;10875:448;10784:545;;;:::o;11505:1352::-;11631:3;11625:10;11658:18;11650:6;11647:30;11644:56;;;11680:18;;:::i;:::-;11709:97;11799:6;11759:38;11791:4;11785:11;11759:38;:::i;:::-;11753:4;11709:97;:::i;:::-;11861:4;;11925:2;11914:14;;11942:1;11937:663;;;;12644:1;12661:6;12658:89;;;-1:-1:-1;12713:19:8;;;12707:26;12658:89;-1:-1:-1;;11462:1:8;11458:11;;;11454:24;11450:29;11440:40;11486:1;11482:11;;;11437:57;12760:81;;11907:944;;11937:663;10731:1;10724:14;;;10768:4;10755:18;;-1:-1:-1;;11973:20:8;;;12091:236;12105:7;12102:1;12099:14;12091:236;;;12194:19;;;12188:26;12173:42;;12286:27;;;;12254:1;12242:14;;;;12121:19;;12091:236;;;12095:3;12355:6;12346:7;12343:19;12340:201;;;12416:19;;;12410:26;-1:-1:-1;;12499:1:8;12495:14;;;12511:3;12491:24;12487:37;12483:42;12468:58;12453:74;;12340:201;-1:-1:-1;;;;;12587:1:8;12571:14;;;12567:22;12554:36;;-1:-1:-1;11505:1352:8:o;12862:583::-;13078:4;13124:1;13120;13115:3;13111:11;13107:19;13165:2;13157:6;13153:15;13142:9;13135:34;13205:3;13200:2;13189:9;13185:18;13178:31;13232:46;13273:3;13262:9;13258:19;13250:6;13232:46;:::i;:::-;13326:9;13318:6;13314:22;13309:2;13298:9;13294:18;13287:50;13354:33;13380:6;13372;13354:33;:::i;:::-;13346:41;;;13435:2;13427:6;13423:15;13418:2;13407:9;13403:18;13396:43;;12862:583;;;;;;;:::o;14160:125::-;14225:9;;;14246:10;;;14243:36;;;14259:18;;:::i;14290:127::-;14351:10;14346:3;14342:20;14339:1;14332:31;14382:4;14379:1;14372:15;14406:4;14403:1;14396:15;14422:1435;14541:3;14535:4;14532:13;14529:26;;14548:5;;14422:1435::o;14529:26::-;14578:37;14610:3;14604:10;14578:37;:::i;:::-;14638:18;14630:6;14627:30;14624:56;;;14660:18;;:::i;:::-;14689:97;14779:6;14739:38;14771:4;14765:11;14739:38;:::i;14689:97::-;14812:1;14840:2;14832:6;14829:14;14857:1;14852:748;;;;15644:1;15661:6;15658:89;;;-1:-1:-1;15713:19:8;;;15707:26;15658:89;-1:-1:-1;;11462:1:8;11458:11;;;11454:24;11450:29;11440:40;11486:1;11482:11;;;11437:57;15760:81;;14822:1029;;14852:748;10731:1;10724:14;;;10768:4;10755:18;;-1:-1:-1;;14888:20:8;;;10731:1;10724:14;;;10768:4;10755:18;;15052:9;15074:251;15088:7;15085:1;15082:14;15074:251;;;15170:21;;;15164:28;15149:44;;15220:1;15293:18;;;;15248:15;;;;15111:4;15104:12;15074:251;;;15078:3;15353:6;15344:7;15341:19;15338:203;;;15414:21;;;15408:28;-1:-1:-1;;15499:1:8;15495:14;;;15511:3;15491:24;15487:37;15483:42;15468:58;15453:74;;15338:203;;;;15587:1;15578:6;15575:1;15571:14;15567:22;15561:4;15554:36;14822:1029;;;;14422:1435;;:::o;15862:127::-;15923:10;15918:3;15914:20;15911:1;15904:31;15954:4;15951:1;15944:15;15978:4;15975:1;15968:15;15994:135;16033:3;16054:17;;;16051:43;;16074:18;;:::i;:::-;-1:-1:-1;16121:1:8;16110:13;;15994:135::o","linkReferences":{}},"methodIdentifiers":{"BRIDGE_ROLE()":"b5bfddea","assign(string,address,uint256)":"4534ba17","bridge_address()":"1255c189","burn(string,uint256)":"b48272cc","getAllAssetsIDs()":"5137b8a7","getToken(string)":"c1733f68","lock(string,uint256)":"e1efb596","mint(string,uint256)":"056b01ce","owner()":"8da5cb5b","renounceOwnership()":"715018a6","tokens(string)":"04c2320b","transferOwnership(address)":"f2fde38b","unlock(string,uint256)":"d9cf884c","unwrap(string)":"a1bc17c5","wrap(address,string,string,address)":"8d7d180b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_bridge_address\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"role_given\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"tokenId\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"InsuficientAmountLocked\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"tokenId\",\"type\":\"string\"}],\"name\":\"TokenAlreadyWrapped\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"tokenId\",\"type\":\"string\"}],\"name\":\"TokenLocked\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"tokenId\",\"type\":\"string\"}],\"name\":\"TokenNotAvailable\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"tokenId\",\"type\":\"string\"}],\"name\":\"TokenNotLocked\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"tokenId\",\"type\":\"string\"}],\"name\":\"TokenNotUnlocked\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"tokenId\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"receiver_account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Assign\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"tokenId\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Burn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"string\",\"name\":\"id\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes[]\",\"name\":\"value\",\"type\":\"bytes[]\"}],\"name\":\"Changed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"tokenId\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Lock\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"tokenId\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Mint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"tokenId\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Unlock\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"tokenId\",\"type\":\"string\"}],\"name\":\"Unwrap\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"tokenType\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"tokenId\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"Wrap\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"BRIDGE_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"tokenId\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"receiver_account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"assign\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"bridge_address\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"tokenId\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAllAssetsIDs\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"tokenId\",\"type\":\"string\"}],\"name\":\"getToken\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"tokenType\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"tokenId\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"internalType\":\"struct Token\",\"name\":\"token\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"tokenId\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"lock\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"tokenId\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"tokens\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"tokenType\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"tokenId\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"tokenId\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"unlock\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"tokenId\",\"type\":\"string\"}],\"name\":\"unwrap\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"tokenType\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"tokenId\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"wrap\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"wrapSuccess\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}]},\"kind\":\"dev\",\"methods\":{\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/solidity/satp-wrapper-without-json.sol\":\"SATPWrapperContract\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":hardhat/=node_modules/hardhat/\",\":openzeppelin-solidity/=node_modules/openzeppelin-solidity/\",\":web3js-quorum/=node_modules/web3js-quorum/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x55f102ea785d8399c0e58d1108e2d289506dde18abc6db1b7f68c1f9f9bc5792\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e52e0a7765c943ef14e5bcf11e46e6139fa044be564881378349236bf2e3453\",\"dweb:/ipfs/QmZEeeXoFPW47amyP35gfzomF9DixqqTEPwzBakv6cZw6i\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0x5f7e4076e175393767754387c962926577f1660dd9b810187b9002407656be72\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d533a1c97cd43a57cd9c465f7ee8dd0e39ae93a8fb8ff8e5303a356b081cdcc\",\"dweb:/ipfs/QmVBEei6aTnvYNZp2CHYVNKyZS4q1KkjANfY39WVXZXVoT\"]},\"src/solidity/ITraceableContract.sol\":{\"keccak256\":\"0x95d8bedf23010b6a40e6a8f5d55a7d5f67866619de9efcab7fa49eb3d2488612\",\"license\":\"UNKNOWN\",\"urls\":[\"bzz-raw://003806e9e19c67b79cf4ec156b31b8515f5a27dad6d73a9d8c3878b1373935c1\",\"dweb:/ipfs/QmYPFBS2C6a1RwLTSEYhNVNUzxkDu4oh7eSs75gAcZ8KA4\"]},\"src/solidity/satp-wrapper-without-json.sol\":{\"keccak256\":\"0x8da1f5da60631c7fd64cc6c7114f18c8e409d7b38038a81e4cd802afac4232be\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9472f7dad3a205e7dcefe74107f36a9a75e384ef83963c6e7342910b1b5f8b57\",\"dweb:/ipfs/QmfZU5Yhcujs8tWkwbEs7UV8gLLUXz6CnG8frF2yeNAH2L\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_bridge_address","type":"address"},{"internalType":"bytes32","name":"role_given","type":"bytes32"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"string","name":"tokenId","type":"string"},{"internalType":"uint256","name":"amount","type":"uint256"}],"type":"error","name":"InsuficientAmountLocked"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"type":"error","name":"OwnableInvalidOwner"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"type":"error","name":"OwnableUnauthorizedAccount"},{"inputs":[{"internalType":"string","name":"tokenId","type":"string"}],"type":"error","name":"TokenAlreadyWrapped"},{"inputs":[{"internalType":"string","name":"tokenId","type":"string"}],"type":"error","name":"TokenLocked"},{"inputs":[{"internalType":"string","name":"tokenId","type":"string"}],"type":"error","name":"TokenNotAvailable"},{"inputs":[{"internalType":"string","name":"tokenId","type":"string"}],"type":"error","name":"TokenNotLocked"},{"inputs":[{"internalType":"string","name":"tokenId","type":"string"}],"type":"error","name":"TokenNotUnlocked"},{"inputs":[{"internalType":"string","name":"tokenId","type":"string","indexed":false},{"internalType":"address","name":"receiver_account","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"Assign","anonymous":false},{"inputs":[{"internalType":"string","name":"tokenId","type":"string","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"Burn","anonymous":false},{"inputs":[{"internalType":"string","name":"id","type":"string","indexed":true},{"internalType":"bytes[]","name":"value","type":"bytes[]","indexed":false}],"type":"event","name":"Changed","anonymous":false},{"inputs":[{"internalType":"string","name":"tokenId","type":"string","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"Lock","anonymous":false},{"inputs":[{"internalType":"string","name":"tokenId","type":"string","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"Mint","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"string","name":"tokenId","type":"string","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"Unlock","anonymous":false},{"inputs":[{"internalType":"string","name":"tokenId","type":"string","indexed":false}],"type":"event","name":"Unwrap","anonymous":false},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address","indexed":false},{"internalType":"string","name":"tokenType","type":"string","indexed":false},{"internalType":"string","name":"tokenId","type":"string","indexed":false},{"internalType":"address","name":"owner","type":"address","indexed":false}],"type":"event","name":"Wrap","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"BRIDGE_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"string","name":"tokenId","type":"string"},{"internalType":"address","name":"receiver_account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"assign","outputs":[{"internalType":"bool","name":"success","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"bridge_address","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"string","name":"tokenId","type":"string"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"burn","outputs":[{"internalType":"bool","name":"success","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getAllAssetsIDs","outputs":[{"internalType":"string[]","name":"","type":"string[]"}]},{"inputs":[{"internalType":"string","name":"tokenId","type":"string"}],"stateMutability":"view","type":"function","name":"getToken","outputs":[{"internalType":"struct Token","name":"token","type":"tuple","components":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"string","name":"tokenType","type":"string"},{"internalType":"string","name":"tokenId","type":"string"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}]}]},{"inputs":[{"internalType":"string","name":"tokenId","type":"string"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"lock","outputs":[{"internalType":"bool","name":"success","type":"bool"}]},{"inputs":[{"internalType":"string","name":"tokenId","type":"string"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"mint","outputs":[{"internalType":"bool","name":"success","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function","name":"tokens","outputs":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"string","name":"tokenType","type":"string"},{"internalType":"string","name":"tokenId","type":"string"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"string","name":"tokenId","type":"string"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"unlock","outputs":[{"internalType":"bool","name":"success","type":"bool"}]},{"inputs":[{"internalType":"string","name":"tokenId","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"unwrap","outputs":[{"internalType":"bool","name":"success","type":"bool"}]},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"string","name":"tokenType","type":"string"},{"internalType":"string","name":"tokenId","type":"string"},{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"wrap","outputs":[{"internalType":"bool","name":"wrapSuccess","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"owner()":{"details":"Returns the address of the current owner."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","hardhat/=node_modules/hardhat/","openzeppelin-solidity/=node_modules/openzeppelin-solidity/","web3js-quorum/=node_modules/web3js-quorum/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/solidity/satp-wrapper-without-json.sol":"SATPWrapperContract"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/access/Ownable.sol":{"keccak256":"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb","urls":["bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6","dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2","urls":["bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12","dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Strings.sol":{"keccak256":"0x55f102ea785d8399c0e58d1108e2d289506dde18abc6db1b7f68c1f9f9bc5792","urls":["bzz-raw://6e52e0a7765c943ef14e5bcf11e46e6139fa044be564881378349236bf2e3453","dweb:/ipfs/QmZEeeXoFPW47amyP35gfzomF9DixqqTEPwzBakv6cZw6i"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/Math.sol":{"keccak256":"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d","urls":["bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875","dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol":{"keccak256":"0x5f7e4076e175393767754387c962926577f1660dd9b810187b9002407656be72","urls":["bzz-raw://7d533a1c97cd43a57cd9c465f7ee8dd0e39ae93a8fb8ff8e5303a356b081cdcc","dweb:/ipfs/QmVBEei6aTnvYNZp2CHYVNKyZS4q1KkjANfY39WVXZXVoT"],"license":"MIT"},"src/solidity/ITraceableContract.sol":{"keccak256":"0x95d8bedf23010b6a40e6a8f5d55a7d5f67866619de9efcab7fa49eb3d2488612","urls":["bzz-raw://003806e9e19c67b79cf4ec156b31b8515f5a27dad6d73a9d8c3878b1373935c1","dweb:/ipfs/QmYPFBS2C6a1RwLTSEYhNVNUzxkDu4oh7eSs75gAcZ8KA4"],"license":"UNKNOWN"},"src/solidity/satp-wrapper-without-json.sol":{"keccak256":"0x8da1f5da60631c7fd64cc6c7114f18c8e409d7b38038a81e4cd802afac4232be","urls":["bzz-raw://9472f7dad3a205e7dcefe74107f36a9a75e384ef83963c6e7342910b1b5f8b57","dweb:/ipfs/QmfZU5Yhcujs8tWkwbEs7UV8gLLUXz6CnG8frF2yeNAH2L"],"license":"GPL-3.0"}},"version":1},"id":6} \ No newline at end of file diff --git a/packages/cactus-plugin-satp-hermes/src/solidity/generated/satp-wrapper.sol/SATPWrapperContract.json b/packages/cactus-plugin-satp-hermes/src/solidity/generated/satp-wrapper.sol/SATPWrapperContract.json new file mode 100644 index 0000000000..250c49c927 --- /dev/null +++ b/packages/cactus-plugin-satp-hermes/src/solidity/generated/satp-wrapper.sol/SATPWrapperContract.json @@ -0,0 +1 @@ +{"abi":[{"type":"constructor","inputs":[{"name":"_bridge_address","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"assign","inputs":[{"name":"tokenId","type":"string","internalType":"string"},{"name":"receiver_account","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"bridge_address","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"burn","inputs":[{"name":"tokenId","type":"string","internalType":"string"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"getAllAssetsIDs","inputs":[],"outputs":[{"name":"","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"getToken","inputs":[{"name":"tokenId","type":"string","internalType":"string"}],"outputs":[{"name":"token","type":"tuple","internalType":"struct Token","components":[{"name":"contractAddress","type":"address","internalType":"address"},{"name":"tokenType","type":"uint8","internalType":"enum TokenType"},{"name":"tokenId","type":"string","internalType":"string"},{"name":"owner","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"lock","inputs":[{"name":"tokenId","type":"string","internalType":"string"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"mint","inputs":[{"name":"tokenId","type":"string","internalType":"string"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"tokens","inputs":[{"name":"","type":"string","internalType":"string"}],"outputs":[{"name":"contractAddress","type":"address","internalType":"address"},{"name":"tokenType","type":"uint8","internalType":"enum TokenType"},{"name":"tokenId","type":"string","internalType":"string"},{"name":"owner","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"tokensInteractions","inputs":[{"name":"","type":"string","internalType":"string"},{"name":"","type":"uint8","internalType":"enum InteractionType"}],"outputs":[{"name":"interactionType","type":"uint8","internalType":"enum InteractionType"},{"name":"available","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unlock","inputs":[{"name":"tokenId","type":"string","internalType":"string"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"unwrap","inputs":[{"name":"tokenId","type":"string","internalType":"string"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"wrap","inputs":[{"name":"contractAddress","type":"address","internalType":"address"},{"name":"tokenType","type":"uint8","internalType":"enum TokenType"},{"name":"tokenId","type":"string","internalType":"string"},{"name":"owner","type":"address","internalType":"address"},{"name":"interactions","type":"tuple[]","internalType":"struct InteractionSignature[]","components":[{"name":"interactionType","type":"uint8","internalType":"enum InteractionType"},{"name":"functionsSignature","type":"string[]","internalType":"string[]"},{"name":"variables","type":"uint8[][]","internalType":"enum VarType[][]"},{"name":"available","type":"bool","internalType":"bool"}]}],"outputs":[{"name":"wrapSuccess","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"wrap","inputs":[{"name":"contractAddress","type":"address","internalType":"address"},{"name":"tokenType","type":"uint8","internalType":"enum TokenType"},{"name":"tokenId","type":"string","internalType":"string"},{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"wrapSuccess","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Assign","inputs":[{"name":"tokenId","type":"string","indexed":false,"internalType":"string"},{"name":"receiver_account","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Burn","inputs":[{"name":"tokenId","type":"string","indexed":false,"internalType":"string"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Changed","inputs":[{"name":"id","type":"string","indexed":true,"internalType":"string"},{"name":"value","type":"bytes[]","indexed":false,"internalType":"bytes[]"}],"anonymous":false},{"type":"event","name":"Lock","inputs":[{"name":"tokenId","type":"string","indexed":false,"internalType":"string"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Mint","inputs":[{"name":"tokenId","type":"string","indexed":false,"internalType":"string"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Unlock","inputs":[{"name":"tokenId","type":"string","indexed":false,"internalType":"string"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Unwrap","inputs":[{"name":"tokenId","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"Wrap","inputs":[{"name":"contractAddress","type":"address","indexed":false,"internalType":"address"},{"name":"tokenType","type":"uint8","indexed":false,"internalType":"enum TokenType"},{"name":"tokenId","type":"string","indexed":false,"internalType":"string"},{"name":"owner","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"error","name":"InsuficientAmountLocked","inputs":[{"name":"tokenId","type":"string","internalType":"string"},{"name":"amount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"OwnableInvalidOwner","inputs":[{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"OwnableUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"}]},{"type":"error","name":"TokenAlreadyWrapped","inputs":[{"name":"tokenId","type":"string","internalType":"string"}]},{"type":"error","name":"TokenLocked","inputs":[{"name":"tokenId","type":"string","internalType":"string"}]},{"type":"error","name":"TokenNotAvailable","inputs":[{"name":"tokenId","type":"string","internalType":"string"}]},{"type":"error","name":"TokenNotLocked","inputs":[{"name":"tokenId","type":"string","internalType":"string"}]},{"type":"error","name":"TokenNotUnlocked","inputs":[{"name":"tokenId","type":"string","internalType":"string"}]}],"bytecode":{"object":"0x60806040523480156200001157600080fd5b5060405162002c7738038062002c778339810160408190526200003491620000e6565b806001600160a01b0381166200006457604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6200006f8162000096565b50600480546001600160a01b0319166001600160a01b039290921691909117905562000118565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600060208284031215620000f957600080fd5b81516001600160a01b03811681146200011157600080fd5b9392505050565b612b4f80620001286000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c80638da5cb5b11610097578063d9cf884c11610066578063d9cf884c1461022f578063e1efb59614610242578063ea8f547f14610255578063f2fde38b146102ac57600080fd5b80638da5cb5b146101d8578063a1bc17c5146101e9578063b48272cc146101fc578063c1733f681461020f57600080fd5b80635137b8a7116100d35780635137b8a714610193578063623662ad146101a8578063715018a6146101bb57806372d4c33b146101c557600080fd5b806304c2320b14610105578063056b01ce146101325780631255c189146101555780634534ba1714610180575b600080fd5b610118610113366004611e13565b6102bf565b604051610129959493929190611ec1565b60405180910390f35b610145610140366004611f05565b61039f565b6040519015158152602001610129565b600454610168906001600160a01b031681565b6040516001600160a01b039091168152602001610129565b61014561018e366004611f60565b6104c0565b61019b610610565b6040516101299190611fb6565b6101456101b6366004612168565b6106e9565b6101c361098a565b005b6101456101d33660046123d2565b61099e565b6000546001600160a01b0316610168565b6101456101f7366004611e13565b610a7f565b61014561020a366004611f05565b610c6c565b61022261021d366004611e13565b610da0565b6040516101299190612440565b61014561023d366004611f05565b610ef3565b610145610250366004611f05565b611042565b61029e6102633660046124a5565b8151602081840181018051600282529282019482019490942091909352909152600090815260409020805460039091015460ff918216911682565b604051610129929190612502565b6101c36102ba36600461251f565b611139565b805160208183018101805160018083529383019290940191909120929052815490820180546001600160a01b03831693600160a01b90930460ff169291906103069061253a565b80601f01602080910402602001604051908101604052809291908181526020018280546103329061253a565b801561037f5780601f106103545761010080835404028352916020019161037f565b820191906000526020600020905b81548152906001019060200180831161036257829003601f168201915b50505050600283015460039093015491926001600160a01b031691905085565b60006103a9611177565b60006001600160a01b03166001846040516103c49190612574565b908152604051908190036020019020546001600160a01b031603610406578260405163c0bab25f60e01b81526004016103fd9190612590565b60405180910390fd5b610412836000846111a4565b6104575760405162461bcd60e51b81526020600482015260166024820152751b5a5b9d08185cdcd95d0818d85b1b0819985a5b195960521b60448201526064016103fd565b816001846040516104689190612574565b9081526020016040518091039020600301819055507f0a4e1e5035320483d096cf114513007c4eda3853a4dca806da2d9faec60470a683836040516104ae9291906125a3565b60405180910390a15060015b92915050565b60006104ca611177565b816001856040516104db9190612574565b908152602001604051809103902060030154101561053b5760405162461bcd60e51b815260206004820181905260248201527f61737369676e206173736574206173736574206973206e6f74206c6f636b656460448201526064016103fd565b61054884600284866111af565b6105945760405162461bcd60e51b815260206004820152601860248201527f61737369676e2061737365742063616c6c206661696c6564000000000000000060448201526064016103fd565b816001856040516105a59190612574565b908152602001604051809103902060030160008282546105c591906125db565b90915550506040517f0b3112bdbedc0251766a323a5c6ad4df77174bbc08bd61b944815ad9efe8d54c906105fe908690869086906125ee565b60405180910390a15060019392505050565b60606003805480602002602001604051908101604052809291908181526020016000905b828210156106e05783829060005260206000200180546106539061253a565b80601f016020809104026020016040519081016040528092919081815260200182805461067f9061253a565b80156106cc5780601f106106a1576101008083540402835291602001916106cc565b820191906000526020600020905b8154815290600101906020018083116106af57829003601f168201915b505050505081526020019060010190610634565b50505050905090565b60006106f3611177565b60006001600160a01b031660018560405161070e9190612574565b908152604051908190036020019020546001600160a01b03161461074757836040516319eac8d160e21b81526004016103fd9190612590565b61075184836114c8565b6002846040516107619190612574565b9081526040805160209281900383019020600360008181529190935220015460ff1615610805576107938460036115e8565b6108055760405162461bcd60e51b815260206004820152603c60248201527f436f6e747261637420646f6573206e6f742068617665207065726d697373696f60448201527f6e20746f20696e74657261637420776974682074686520746f6b656e0000000060648201526084016103fd565b6040518060a00160405280876001600160a01b0316815260200186600381111561083157610831611e47565b8152602001858152602001846001600160a01b0316815260200160008152506001856040516108609190612574565b908152604051908190036020908101909120825181546001600160a01b039091166001600160a01b031982168117835592840151919283916001600160a81b03191617600160a01b8360038111156108ba576108ba611e47565b0217905550604082015160018201906108d3908261266a565b5060608201516002820180546001600160a01b0319166001600160a01b0390921691909117905560809091015160039182015580546001810182556000919091527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b01610940858261266a565b507ffc4880465dc3977b851975c93dcde086945a51118c42a660991dce4cab2b0966868686866040516109769493929190612729565b60405180910390a150600195945050505050565b610992611177565b61099c60006115fe565b565b60006109a8611177565b3063623662ad868686866000604051908082528060200260200182016040528015610a1057816020015b6109fd6040805160808101909152806000815260606020820181905260408201819052600091015290565b8152602001906001900390816109d25790505b506040518663ffffffff1660e01b8152600401610a319594939291906127f7565b6020604051808303816000875af1158015610a50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a749190612925565b90505b949350505050565b6000610a89611177565b60006001600160a01b0316600183604051610aa49190612574565b908152604051908190036020019020546001600160a01b031603610add578160405163c0bab25f60e01b81526004016103fd9190612590565b6000600183604051610aef9190612574565b9081526020016040518091039020600301541115610b225781604051635be9608560e11b81526004016103fd9190612590565b610bd4600183604051610b359190612574565b90815260200160405180910390206001018054610b519061253a565b80601f0160208091040260200160405190810160405280929190818152602001828054610b7d9061253a565b8015610bca5780601f10610b9f57610100808354040283529160200191610bca565b820191906000526020600020905b815481529060010190602001808311610bad57829003601f168201915b505050505061164e565b600182604051610be49190612574565b90815260405190819003602001902080546001600160a81b03191681556000610c106001830182611b29565b506002810180546001600160a01b031916905560006003909101556040517f3855d31914452a5e7361730662e60834555d7cb26d380140894d85fd0d13b85490610c5b908490612590565b60405180910390a15060015b919050565b6000610c76611177565b81600184604051610c879190612574565b9081526020016040518091039020600301541015610ce75760405162461bcd60e51b815260206004820152601e60248201527f6275726e206173736574206173736574206973206e6f74206c6f636b6564000060448201526064016103fd565b610cf3836001846111a4565b610d385760405162461bcd60e51b8152602060048201526016602482015275189d5c9b88185cdcd95d0818d85b1b0819985a5b195960521b60448201526064016103fd565b81600184604051610d499190612574565b90815260200160405180910390206003016000828254610d6991906125db565b90915550506040517fa0237080cf48d9e1fbb9ef1f82e33b11170d047b2b540a73b457d0916d53ee99906104ae90859085906125a3565b610dd26040805160a0810190915260008082526020820190815260606020820181905260006040830181905291015290565b600182604051610de29190612574565b908152604080516020928190038301812060a0820190925281546001600160a01b03811682529092830190600160a01b900460ff166003811115610e2857610e28611e47565b6003811115610e3957610e39611e47565b8152602001600182018054610e4d9061253a565b80601f0160208091040260200160405190810160405280929190818152602001828054610e799061253a565b8015610ec65780601f10610e9b57610100808354040283529160200191610ec6565b820191906000526020600020905b815481529060010190602001808311610ea957829003601f168201915b505050918352505060028201546001600160a01b0316602082015260039091015460409091015292915050565b6000610efd611177565b60006001600160a01b0316600184604051610f189190612574565b908152604051908190036020019020546001600160a01b031603610f51578260405163c0bab25f60e01b81526004016103fd9190612590565b81600184604051610f629190612574565b9081526020016040518091039020600301541015610f9757828260405163076abcf360e51b81526004016103fd9291906125a3565b6000610fa5846005856111a4565b905080156110275782600185604051610fbe9190612574565b90815260200160405180910390206003016000828254610fde91906125db565b90915550506040517f7b3c894115251262b174b7aeab24a57e00bc2e8853d1ef2f57a217edaa69c06e9061101590869086906125a3565b60405180910390a160019150506104ba565b836040516358300fe760e01b81526004016103fd9190612590565b600061104c611177565b60006001600160a01b03166001846040516110679190612574565b908152604051908190036020019020546001600160a01b0316036110a0578260405163c0bab25f60e01b81526004016103fd9190612590565b60006110ae846004856111a4565b9050801561111e57826001856040516110c79190612574565b908152602001604051809103902060030160008282546110e79190612942565b90915550506040517fc480ef4e831b2ca5eb0b2f95c6564d9a56af5b3fe2383393008e3f1708dc97979061101590869086906125a3565b8360405163412204b560e11b81526004016103fd9190612590565b611141611177565b6001600160a01b03811661116b57604051631e4fbdf760e01b8152600060048201526024016103fd565b611174816115fe565b50565b6000546001600160a01b0316331461099c5760405163118cdaa760e01b81523360048201526024016103fd565b6000610a7784848460005b60006002856040516111c19190612574565b908152602001604051809103902060008560058111156111e3576111e3611e47565b60058111156111f4576111f4611e47565b815260208101919091526040016000206003015460ff1661121757506000610a77565b60005b60028660405161122a9190612574565b9081526020016040518091039020600086600581111561124c5761124c611e47565b600581111561125d5761125d611e47565b81526020810191909152604001600020600101548110156114bc57600060028760405161128a9190612574565b908152602001604051809103902060008760058111156112ac576112ac611e47565b60058111156112bd576112bd611e47565b815260200190815260200160002060010182815481106112df576112df612955565b906000526020600020016040516020016112f9919061296b565b60405160208183030381529060405280519060200120905060006114158261141060028b60405161132a9190612574565b908152602001604051809103902060008b600581111561134c5761134c611e47565b600581111561135d5761135d611e47565b8152602001908152602001600020600201868154811061137f5761137f612955565b9060005260206000200180548060200260200160405190810160405280929190818152602001828054801561140357602002820191906000526020600020906000905b82829054906101000a900460ff1660068111156113e1576113e1611e47565b8152602060019283018181049485019490930390920291018084116113c25790505b50505050508b898b6117ac565b611a7b565b905060006001896040516114299190612574565b908152604051908190036020018120546001600160a01b03169061144e908490612574565b6000604051808303816000865af19150503d806000811461148b576040519150601f19603f3d011682016040523d82523d6000602084013e611490565b606091505b50509050806114a6576000945050505050610a77565b50505080806114b4906129e1565b91505061121a565b50600195945050505050565b60005b81518110156115e3578181815181106114e6576114e6612955565b60200260200101516002846040516114fe9190612574565b9081526020016040518091039020600084848151811061152057611520612955565b602002602001015160000151600581111561153d5761153d611e47565b600581111561154e5761154e611e47565b8152602081019190915260400160002081518154829060ff1916600183600581111561157c5761157c611e47565b021790555060208281015180516115999260018501920190611b63565b50604082015180516115b5916002840191602090910190611bb9565b50606091909101516003909101805460ff1916911515919091179055806115db816129e1565b9150506114cb565b505050565b60006115f783836000806111af565b9392505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60005b6003548110156117a85761170a6003828154811061167157611671612955565b9060005260206000200180546116869061253a565b80601f01602080910402602001604051908101604052809291908181526020018280546116b29061253a565b80156116ff5780601f106116d4576101008083540402835291602001916116ff565b820191906000526020600020905b8154815290600101906020018083116116e257829003601f168201915b505050505083611b04565b15611796576003805461171f906001906125db565b8154811061172f5761172f612955565b906000526020600020016003828154811061174c5761174c612955565b90600052602060002001908161176291906129fa565b50600380548061177457611774612ad4565b6001900381819060005260206000200160006117909190611b29565b90555050565b806117a0816129e1565b915050611651565b5050565b6060600085516001600160401b038111156117c9576117c9611d36565b6040519080825280602002602001820160405280156117fc57816020015b60608152602001906001900390816117e75790505b50905060005b8651811015611a7157600587828151811061181f5761181f612955565b6020026020010151600681111561183857611838611e47565b0361187a5760408051306020820152015b60405160208183030381529060405282828151811061186a5761186a612955565b6020026020010181905250611a5f565b600287828151811061188e5761188e612955565b602002602001015160068111156118a7576118a7611e47565b036118bd57856040516020016118499190612590565b60048782815181106118d1576118d1612955565b602002602001015160068111156118ea576118ea611e47565b0361190057604080516020810186905201611849565b600387828151811061191457611914612955565b6020026020010151600681111561192d5761192d611e47565b0361196b576001866040516119429190612574565b908152604080519182900360209081018320600201546001600160a01b03169083015201611849565b600087828151811061197f5761197f612955565b6020026020010151600681111561199857611998611e47565b036119d3576001866040516119ad9190612574565b908152604080519182900360209081018320546001600160a01b03169083015201611849565b60068782815181106119e7576119e7612955565b60200260200101516006811115611a0057611a00611e47565b03611a1e57604080516001600160a01b038716602082015201611849565b60405162461bcd60e51b815260206004820152601660248201527515985c9a58589b19481b9bdd081cdd5c1c1bdc9d195960521b60448201526064016103fd565b80611a69816129e1565b915050611802565b5095945050505050565b604080516001600160e01b03198416602082015281516004818303018152602490910190915260005b8251811015611afd5781838281518110611ac057611ac0612955565b6020026020010151604051602001611ad9929190612aea565b60405160208183030381529060405291508080611af5906129e1565b915050611aa4565b5092915050565b6000815183511480156115f75750508051602091820120825192909101919091201490565b508054611b359061253a565b6000825580601f10611b45575050565b601f0160209004906000526020600020908101906111749190611c12565b828054828255906000526020600020908101928215611ba9579160200282015b82811115611ba95782518290611b99908261266a565b5091602001919060010190611b83565b50611bb5929150611c27565b5090565b828054828255906000526020600020908101928215611c06579160200282015b82811115611c065782518051611bf6918491602090910190611c44565b5091602001919060010190611bd9565b50611bb5929150611cf4565b5b80821115611bb55760008155600101611c13565b80821115611bb5576000611c3b8282611b29565b50600101611c27565b82805482825590600052602060002090601f01602090048101928215611ce85791602002820160005b83821115611cb957835183826101000a81548160ff02191690836006811115611c9857611c98611e47565b02179055509260200192600101602081600001049283019260010302611c6d565b8015611ce65782816101000a81549060ff0219169055600101602081600001049283019260010302611cb9565b505b50611bb5929150611c12565b80821115611bb5576000611d088282611d11565b50600101611cf4565b50805460008255601f0160209004906000526020600020908101906111749190611c12565b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b0381118282101715611d6e57611d6e611d36565b60405290565b604051601f8201601f191681016001600160401b0381118282101715611d9c57611d9c611d36565b604052919050565b600082601f830112611db557600080fd5b81356001600160401b03811115611dce57611dce611d36565b611de1601f8201601f1916602001611d74565b818152846020838601011115611df657600080fd5b816020850160208301376000918101602001919091529392505050565b600060208284031215611e2557600080fd5b81356001600160401b03811115611e3b57600080fd5b610a7784828501611da4565b634e487b7160e01b600052602160045260246000fd5b60048110611e6d57611e6d611e47565b9052565b60005b83811015611e8c578181015183820152602001611e74565b50506000910152565b60008151808452611ead816020860160208601611e71565b601f01601f19169290920160200192915050565b6001600160a01b038681168252600090611ede6020840188611e5d565b60a06040840152611ef260a0840187611e95565b9416606083015250608001529392505050565b60008060408385031215611f1857600080fd5b82356001600160401b03811115611f2e57600080fd5b611f3a85828601611da4565b95602094909401359450505050565b80356001600160a01b0381168114610c6757600080fd5b600080600060608486031215611f7557600080fd5b83356001600160401b03811115611f8b57600080fd5b611f9786828701611da4565b935050611fa660208501611f49565b9150604084013590509250925092565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561200b57603f19888603018452611ff9858351611e95565b94509285019290850190600101611fdd565b5092979650505050505050565b803560048110610c6757600080fd5b60006001600160401b0382111561204057612040611d36565b5060051b60200190565b803560068110610c6757600080fd5b600082601f83011261206a57600080fd5b8135602061207f61207a83612027565b611d74565b828152600592831b850182019282820191908785111561209e57600080fd5b8387015b858110156121425780356001600160401b038111156120c15760008081fd5b8801603f81018a136120d35760008081fd5b8581013560406120e561207a83612027565b82815291851b8301810191888101908d8411156121025760008081fd5b938201935b838510156121315784359250600783106121215760008081fd5b8282529389019390890190612107565b8852505050938501935084016120a2565b5090979650505050505050565b801515811461117457600080fd5b8035610c678161214f565b600080600080600060a0868803121561218057600080fd5b61218986611f49565b945061219760208701612018565b93506001600160401b03604087013511156121b157600080fd5b6121c18760408801358801611da4565b92506121cf60608701611f49565b91506001600160401b03608087013511156121e957600080fd5b86601f6080880135880101126121fe57600080fd5b61221161207a6080880135880135612027565b6080870135870180358083526020808401939260059290921b9091010189101561223a57600080fd5b602060808901358901015b60808901358901803560051b016020018110156123c2576001600160401b038135111561227157600080fd5b803560808a01358a01016080601f19828d0301121561228f57600080fd5b612297611d4c565b6122a36020830161204a565b81526001600160401b03604083013511156122bd57600080fd5b8b603f6040840135840101126122d257600080fd5b6122e861207a6020604085013585010135612027565b6020604084810135850182810135808552928401939260051b01018e101561230f57600080fd5b6040808501358501015b6040858101358601602081013560051b010181101561236b576001600160401b038135111561234757600080fd5b61235d8f60408335604089013589010101611da4565b835260209283019201612319565b506020830152506001600160401b036060830135111561238a57600080fd5b61239d8c60206060850135850101612059565b60408201526123ae6080830161215d565b606082015284525060209283019201612245565b5080925050509295509295909350565b600080600080608085870312156123e857600080fd5b6123f185611f49565b93506123ff60208601612018565b925060408501356001600160401b0381111561241a57600080fd5b61242687828801611da4565b92505061243560608601611f49565b905092959194509250565b60208152600060018060a01b0380845116602084015260208401516124686040850182611e5d565b50604084015160a0606085015261248260c0850182611e95565b9050816060860151166080850152608085015160a0850152809250505092915050565b600080604083850312156124b857600080fd5b82356001600160401b038111156124ce57600080fd5b6124da85828601611da4565b9250506124e96020840161204a565b90509250929050565b60068110611e6d57611e6d611e47565b6040810161251082856124f2565b82151560208301529392505050565b60006020828403121561253157600080fd5b6115f782611f49565b600181811c9082168061254e57607f821691505b60208210810361256e57634e487b7160e01b600052602260045260246000fd5b50919050565b60008251612586818460208701611e71565b9190910192915050565b6020815260006115f76020830184611e95565b6040815260006125b66040830185611e95565b90508260208301529392505050565b634e487b7160e01b600052601160045260246000fd5b818103818111156104ba576104ba6125c5565b6060815260006126016060830186611e95565b6001600160a01b039490941660208301525060400152919050565b601f8211156115e357600081815260208120601f850160051c810160208610156126435750805b601f850160051c820191505b818110156126625782815560010161264f565b505050505050565b81516001600160401b0381111561268357612683611d36565b61269781612691845461253a565b8461261c565b602080601f8311600181146126cc57600084156126b45750858301515b600019600386901b1c1916600185901b178555612662565b600085815260208120601f198616915b828110156126fb578886015182559484019460019091019084016126dc565b50858210156127195787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6001600160a01b0385811682526000906127466020840187611e5d565b6080604084015261275a6080840186611e95565b915080841660608401525095945050505050565b6000815180845260208085019450848260051b86018286016000805b868110156127e9578484038a52825180518086529087019087860190845b818110156127d4578351600781106127c2576127c2611e47565b835292890192918901916001016127a8565b50509a87019a9450509185019160010161278a565b509198975050505050505050565b6001600160a01b03868116825260009060a09060206128188186018a611e5d565b6040838187015261282b8487018a611e95565b6060848a168189015260809450878203858901528189518084528584019150858160051b850101868c0160005b8381101561290d57601f1987840301855281518a84016128798583516124f2565b818b0151858c018d9052805191829052600582901b86018e0191908c01908e87019060005b818110156128cc57609f198986030183526128ba858551611e95565b9450928e0192918e019160010161289e565b50505050898201518582038b8701526128e5828261276e565b92890151801515878b01529291506128fa9050565b958a019593505090880190600101612858565b50508099505050505050505050509695505050505050565b60006020828403121561293757600080fd5b81516115f78161214f565b808201808211156104ba576104ba6125c5565b634e487b7160e01b600052603260045260246000fd5b60008083546129798161253a565b6001828116801561299157600181146129a6576129d5565b60ff19841687528215158302870194506129d5565b8760005260208060002060005b858110156129cc5781548a8201529084019082016129b3565b50505082870194505b50929695505050505050565b6000600182016129f3576129f36125c5565b5060010190565b818103612a05575050565b612a0f825461253a565b6001600160401b03811115612a2657612a26611d36565b612a3481612691845461253a565b6000601f821160018114612a685760008315612a505750848201545b600019600385901b1c1916600184901b178455612acd565b600085815260209020601f19841690600086815260209020845b83811015612aa25782860154825560019586019590910190602001612a82565b5085831015612ac05781850154600019600388901b60f8161c191681555b50505060018360011b0184555b5050505050565b634e487b7160e01b600052603160045260246000fd5b60008351612afc818460208801611e71565b835190830190612b10818360208801611e71565b0194935050505056fea2646970667358221220d2d5a88633237cc5040d057e26c565ffe5bb3210798fece3ead31992c778084364736f6c63430008140033","sourceMap":"1008:8352:7:-:0;;;1703:121;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1749:15;-1:-1:-1;;;;;1273:26:0;;1269:95;;1322:31;;-1:-1:-1;;;1322:31:0;;1350:1;1322:31;;;455:51:8;428:18;;1322:31:0;;;;;;;1269:95;1373:32;1392:12;1373:18;:32::i;:::-;-1:-1:-1;1776:14:7::1;:41:::0;;-1:-1:-1;;;;;;1776:41:7::1;-1:-1:-1::0;;;;;1776:41:7;;;::::1;::::0;;;::::1;::::0;;1008:8352;;2912:187:0;2985:16;3004:6;;-1:-1:-1;;;;;3020:17:0;;;-1:-1:-1;;;;;;3020:17:0;;;;;;3052:40;;3004:6;;;;;;;3052:40;;2985:16;3052:40;2975:124;2912:187;:::o;14:290:8:-;84:6;137:2;125:9;116:7;112:23;108:32;105:52;;;153:1;150;143:12;105:52;179:16;;-1:-1:-1;;;;;224:31:8;;214:42;;204:70;;270:1;267;260:12;204:70;293:5;14:290;-1:-1:-1;;;14:290:8:o;309:203::-;1008:8352:7;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106101005760003560e01c80638da5cb5b11610097578063d9cf884c11610066578063d9cf884c1461022f578063e1efb59614610242578063ea8f547f14610255578063f2fde38b146102ac57600080fd5b80638da5cb5b146101d8578063a1bc17c5146101e9578063b48272cc146101fc578063c1733f681461020f57600080fd5b80635137b8a7116100d35780635137b8a714610193578063623662ad146101a8578063715018a6146101bb57806372d4c33b146101c557600080fd5b806304c2320b14610105578063056b01ce146101325780631255c189146101555780634534ba1714610180575b600080fd5b610118610113366004611e13565b6102bf565b604051610129959493929190611ec1565b60405180910390f35b610145610140366004611f05565b61039f565b6040519015158152602001610129565b600454610168906001600160a01b031681565b6040516001600160a01b039091168152602001610129565b61014561018e366004611f60565b6104c0565b61019b610610565b6040516101299190611fb6565b6101456101b6366004612168565b6106e9565b6101c361098a565b005b6101456101d33660046123d2565b61099e565b6000546001600160a01b0316610168565b6101456101f7366004611e13565b610a7f565b61014561020a366004611f05565b610c6c565b61022261021d366004611e13565b610da0565b6040516101299190612440565b61014561023d366004611f05565b610ef3565b610145610250366004611f05565b611042565b61029e6102633660046124a5565b8151602081840181018051600282529282019482019490942091909352909152600090815260409020805460039091015460ff918216911682565b604051610129929190612502565b6101c36102ba36600461251f565b611139565b805160208183018101805160018083529383019290940191909120929052815490820180546001600160a01b03831693600160a01b90930460ff169291906103069061253a565b80601f01602080910402602001604051908101604052809291908181526020018280546103329061253a565b801561037f5780601f106103545761010080835404028352916020019161037f565b820191906000526020600020905b81548152906001019060200180831161036257829003601f168201915b50505050600283015460039093015491926001600160a01b031691905085565b60006103a9611177565b60006001600160a01b03166001846040516103c49190612574565b908152604051908190036020019020546001600160a01b031603610406578260405163c0bab25f60e01b81526004016103fd9190612590565b60405180910390fd5b610412836000846111a4565b6104575760405162461bcd60e51b81526020600482015260166024820152751b5a5b9d08185cdcd95d0818d85b1b0819985a5b195960521b60448201526064016103fd565b816001846040516104689190612574565b9081526020016040518091039020600301819055507f0a4e1e5035320483d096cf114513007c4eda3853a4dca806da2d9faec60470a683836040516104ae9291906125a3565b60405180910390a15060015b92915050565b60006104ca611177565b816001856040516104db9190612574565b908152602001604051809103902060030154101561053b5760405162461bcd60e51b815260206004820181905260248201527f61737369676e206173736574206173736574206973206e6f74206c6f636b656460448201526064016103fd565b61054884600284866111af565b6105945760405162461bcd60e51b815260206004820152601860248201527f61737369676e2061737365742063616c6c206661696c6564000000000000000060448201526064016103fd565b816001856040516105a59190612574565b908152602001604051809103902060030160008282546105c591906125db565b90915550506040517f0b3112bdbedc0251766a323a5c6ad4df77174bbc08bd61b944815ad9efe8d54c906105fe908690869086906125ee565b60405180910390a15060019392505050565b60606003805480602002602001604051908101604052809291908181526020016000905b828210156106e05783829060005260206000200180546106539061253a565b80601f016020809104026020016040519081016040528092919081815260200182805461067f9061253a565b80156106cc5780601f106106a1576101008083540402835291602001916106cc565b820191906000526020600020905b8154815290600101906020018083116106af57829003601f168201915b505050505081526020019060010190610634565b50505050905090565b60006106f3611177565b60006001600160a01b031660018560405161070e9190612574565b908152604051908190036020019020546001600160a01b03161461074757836040516319eac8d160e21b81526004016103fd9190612590565b61075184836114c8565b6002846040516107619190612574565b9081526040805160209281900383019020600360008181529190935220015460ff1615610805576107938460036115e8565b6108055760405162461bcd60e51b815260206004820152603c60248201527f436f6e747261637420646f6573206e6f742068617665207065726d697373696f60448201527f6e20746f20696e74657261637420776974682074686520746f6b656e0000000060648201526084016103fd565b6040518060a00160405280876001600160a01b0316815260200186600381111561083157610831611e47565b8152602001858152602001846001600160a01b0316815260200160008152506001856040516108609190612574565b908152604051908190036020908101909120825181546001600160a01b039091166001600160a01b031982168117835592840151919283916001600160a81b03191617600160a01b8360038111156108ba576108ba611e47565b0217905550604082015160018201906108d3908261266a565b5060608201516002820180546001600160a01b0319166001600160a01b0390921691909117905560809091015160039182015580546001810182556000919091527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b01610940858261266a565b507ffc4880465dc3977b851975c93dcde086945a51118c42a660991dce4cab2b0966868686866040516109769493929190612729565b60405180910390a150600195945050505050565b610992611177565b61099c60006115fe565b565b60006109a8611177565b3063623662ad868686866000604051908082528060200260200182016040528015610a1057816020015b6109fd6040805160808101909152806000815260606020820181905260408201819052600091015290565b8152602001906001900390816109d25790505b506040518663ffffffff1660e01b8152600401610a319594939291906127f7565b6020604051808303816000875af1158015610a50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a749190612925565b90505b949350505050565b6000610a89611177565b60006001600160a01b0316600183604051610aa49190612574565b908152604051908190036020019020546001600160a01b031603610add578160405163c0bab25f60e01b81526004016103fd9190612590565b6000600183604051610aef9190612574565b9081526020016040518091039020600301541115610b225781604051635be9608560e11b81526004016103fd9190612590565b610bd4600183604051610b359190612574565b90815260200160405180910390206001018054610b519061253a565b80601f0160208091040260200160405190810160405280929190818152602001828054610b7d9061253a565b8015610bca5780601f10610b9f57610100808354040283529160200191610bca565b820191906000526020600020905b815481529060010190602001808311610bad57829003601f168201915b505050505061164e565b600182604051610be49190612574565b90815260405190819003602001902080546001600160a81b03191681556000610c106001830182611b29565b506002810180546001600160a01b031916905560006003909101556040517f3855d31914452a5e7361730662e60834555d7cb26d380140894d85fd0d13b85490610c5b908490612590565b60405180910390a15060015b919050565b6000610c76611177565b81600184604051610c879190612574565b9081526020016040518091039020600301541015610ce75760405162461bcd60e51b815260206004820152601e60248201527f6275726e206173736574206173736574206973206e6f74206c6f636b6564000060448201526064016103fd565b610cf3836001846111a4565b610d385760405162461bcd60e51b8152602060048201526016602482015275189d5c9b88185cdcd95d0818d85b1b0819985a5b195960521b60448201526064016103fd565b81600184604051610d499190612574565b90815260200160405180910390206003016000828254610d6991906125db565b90915550506040517fa0237080cf48d9e1fbb9ef1f82e33b11170d047b2b540a73b457d0916d53ee99906104ae90859085906125a3565b610dd26040805160a0810190915260008082526020820190815260606020820181905260006040830181905291015290565b600182604051610de29190612574565b908152604080516020928190038301812060a0820190925281546001600160a01b03811682529092830190600160a01b900460ff166003811115610e2857610e28611e47565b6003811115610e3957610e39611e47565b8152602001600182018054610e4d9061253a565b80601f0160208091040260200160405190810160405280929190818152602001828054610e799061253a565b8015610ec65780601f10610e9b57610100808354040283529160200191610ec6565b820191906000526020600020905b815481529060010190602001808311610ea957829003601f168201915b505050918352505060028201546001600160a01b0316602082015260039091015460409091015292915050565b6000610efd611177565b60006001600160a01b0316600184604051610f189190612574565b908152604051908190036020019020546001600160a01b031603610f51578260405163c0bab25f60e01b81526004016103fd9190612590565b81600184604051610f629190612574565b9081526020016040518091039020600301541015610f9757828260405163076abcf360e51b81526004016103fd9291906125a3565b6000610fa5846005856111a4565b905080156110275782600185604051610fbe9190612574565b90815260200160405180910390206003016000828254610fde91906125db565b90915550506040517f7b3c894115251262b174b7aeab24a57e00bc2e8853d1ef2f57a217edaa69c06e9061101590869086906125a3565b60405180910390a160019150506104ba565b836040516358300fe760e01b81526004016103fd9190612590565b600061104c611177565b60006001600160a01b03166001846040516110679190612574565b908152604051908190036020019020546001600160a01b0316036110a0578260405163c0bab25f60e01b81526004016103fd9190612590565b60006110ae846004856111a4565b9050801561111e57826001856040516110c79190612574565b908152602001604051809103902060030160008282546110e79190612942565b90915550506040517fc480ef4e831b2ca5eb0b2f95c6564d9a56af5b3fe2383393008e3f1708dc97979061101590869086906125a3565b8360405163412204b560e11b81526004016103fd9190612590565b611141611177565b6001600160a01b03811661116b57604051631e4fbdf760e01b8152600060048201526024016103fd565b611174816115fe565b50565b6000546001600160a01b0316331461099c5760405163118cdaa760e01b81523360048201526024016103fd565b6000610a7784848460005b60006002856040516111c19190612574565b908152602001604051809103902060008560058111156111e3576111e3611e47565b60058111156111f4576111f4611e47565b815260208101919091526040016000206003015460ff1661121757506000610a77565b60005b60028660405161122a9190612574565b9081526020016040518091039020600086600581111561124c5761124c611e47565b600581111561125d5761125d611e47565b81526020810191909152604001600020600101548110156114bc57600060028760405161128a9190612574565b908152602001604051809103902060008760058111156112ac576112ac611e47565b60058111156112bd576112bd611e47565b815260200190815260200160002060010182815481106112df576112df612955565b906000526020600020016040516020016112f9919061296b565b60405160208183030381529060405280519060200120905060006114158261141060028b60405161132a9190612574565b908152602001604051809103902060008b600581111561134c5761134c611e47565b600581111561135d5761135d611e47565b8152602001908152602001600020600201868154811061137f5761137f612955565b9060005260206000200180548060200260200160405190810160405280929190818152602001828054801561140357602002820191906000526020600020906000905b82829054906101000a900460ff1660068111156113e1576113e1611e47565b8152602060019283018181049485019490930390920291018084116113c25790505b50505050508b898b6117ac565b611a7b565b905060006001896040516114299190612574565b908152604051908190036020018120546001600160a01b03169061144e908490612574565b6000604051808303816000865af19150503d806000811461148b576040519150601f19603f3d011682016040523d82523d6000602084013e611490565b606091505b50509050806114a6576000945050505050610a77565b50505080806114b4906129e1565b91505061121a565b50600195945050505050565b60005b81518110156115e3578181815181106114e6576114e6612955565b60200260200101516002846040516114fe9190612574565b9081526020016040518091039020600084848151811061152057611520612955565b602002602001015160000151600581111561153d5761153d611e47565b600581111561154e5761154e611e47565b8152602081019190915260400160002081518154829060ff1916600183600581111561157c5761157c611e47565b021790555060208281015180516115999260018501920190611b63565b50604082015180516115b5916002840191602090910190611bb9565b50606091909101516003909101805460ff1916911515919091179055806115db816129e1565b9150506114cb565b505050565b60006115f783836000806111af565b9392505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60005b6003548110156117a85761170a6003828154811061167157611671612955565b9060005260206000200180546116869061253a565b80601f01602080910402602001604051908101604052809291908181526020018280546116b29061253a565b80156116ff5780601f106116d4576101008083540402835291602001916116ff565b820191906000526020600020905b8154815290600101906020018083116116e257829003601f168201915b505050505083611b04565b15611796576003805461171f906001906125db565b8154811061172f5761172f612955565b906000526020600020016003828154811061174c5761174c612955565b90600052602060002001908161176291906129fa565b50600380548061177457611774612ad4565b6001900381819060005260206000200160006117909190611b29565b90555050565b806117a0816129e1565b915050611651565b5050565b6060600085516001600160401b038111156117c9576117c9611d36565b6040519080825280602002602001820160405280156117fc57816020015b60608152602001906001900390816117e75790505b50905060005b8651811015611a7157600587828151811061181f5761181f612955565b6020026020010151600681111561183857611838611e47565b0361187a5760408051306020820152015b60405160208183030381529060405282828151811061186a5761186a612955565b6020026020010181905250611a5f565b600287828151811061188e5761188e612955565b602002602001015160068111156118a7576118a7611e47565b036118bd57856040516020016118499190612590565b60048782815181106118d1576118d1612955565b602002602001015160068111156118ea576118ea611e47565b0361190057604080516020810186905201611849565b600387828151811061191457611914612955565b6020026020010151600681111561192d5761192d611e47565b0361196b576001866040516119429190612574565b908152604080519182900360209081018320600201546001600160a01b03169083015201611849565b600087828151811061197f5761197f612955565b6020026020010151600681111561199857611998611e47565b036119d3576001866040516119ad9190612574565b908152604080519182900360209081018320546001600160a01b03169083015201611849565b60068782815181106119e7576119e7612955565b60200260200101516006811115611a0057611a00611e47565b03611a1e57604080516001600160a01b038716602082015201611849565b60405162461bcd60e51b815260206004820152601660248201527515985c9a58589b19481b9bdd081cdd5c1c1bdc9d195960521b60448201526064016103fd565b80611a69816129e1565b915050611802565b5095945050505050565b604080516001600160e01b03198416602082015281516004818303018152602490910190915260005b8251811015611afd5781838281518110611ac057611ac0612955565b6020026020010151604051602001611ad9929190612aea565b60405160208183030381529060405291508080611af5906129e1565b915050611aa4565b5092915050565b6000815183511480156115f75750508051602091820120825192909101919091201490565b508054611b359061253a565b6000825580601f10611b45575050565b601f0160209004906000526020600020908101906111749190611c12565b828054828255906000526020600020908101928215611ba9579160200282015b82811115611ba95782518290611b99908261266a565b5091602001919060010190611b83565b50611bb5929150611c27565b5090565b828054828255906000526020600020908101928215611c06579160200282015b82811115611c065782518051611bf6918491602090910190611c44565b5091602001919060010190611bd9565b50611bb5929150611cf4565b5b80821115611bb55760008155600101611c13565b80821115611bb5576000611c3b8282611b29565b50600101611c27565b82805482825590600052602060002090601f01602090048101928215611ce85791602002820160005b83821115611cb957835183826101000a81548160ff02191690836006811115611c9857611c98611e47565b02179055509260200192600101602081600001049283019260010302611c6d565b8015611ce65782816101000a81549060ff0219169055600101602081600001049283019260010302611cb9565b505b50611bb5929150611c12565b80821115611bb5576000611d088282611d11565b50600101611cf4565b50805460008255601f0160209004906000526020600020908101906111749190611c12565b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b0381118282101715611d6e57611d6e611d36565b60405290565b604051601f8201601f191681016001600160401b0381118282101715611d9c57611d9c611d36565b604052919050565b600082601f830112611db557600080fd5b81356001600160401b03811115611dce57611dce611d36565b611de1601f8201601f1916602001611d74565b818152846020838601011115611df657600080fd5b816020850160208301376000918101602001919091529392505050565b600060208284031215611e2557600080fd5b81356001600160401b03811115611e3b57600080fd5b610a7784828501611da4565b634e487b7160e01b600052602160045260246000fd5b60048110611e6d57611e6d611e47565b9052565b60005b83811015611e8c578181015183820152602001611e74565b50506000910152565b60008151808452611ead816020860160208601611e71565b601f01601f19169290920160200192915050565b6001600160a01b038681168252600090611ede6020840188611e5d565b60a06040840152611ef260a0840187611e95565b9416606083015250608001529392505050565b60008060408385031215611f1857600080fd5b82356001600160401b03811115611f2e57600080fd5b611f3a85828601611da4565b95602094909401359450505050565b80356001600160a01b0381168114610c6757600080fd5b600080600060608486031215611f7557600080fd5b83356001600160401b03811115611f8b57600080fd5b611f9786828701611da4565b935050611fa660208501611f49565b9150604084013590509250925092565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561200b57603f19888603018452611ff9858351611e95565b94509285019290850190600101611fdd565b5092979650505050505050565b803560048110610c6757600080fd5b60006001600160401b0382111561204057612040611d36565b5060051b60200190565b803560068110610c6757600080fd5b600082601f83011261206a57600080fd5b8135602061207f61207a83612027565b611d74565b828152600592831b850182019282820191908785111561209e57600080fd5b8387015b858110156121425780356001600160401b038111156120c15760008081fd5b8801603f81018a136120d35760008081fd5b8581013560406120e561207a83612027565b82815291851b8301810191888101908d8411156121025760008081fd5b938201935b838510156121315784359250600783106121215760008081fd5b8282529389019390890190612107565b8852505050938501935084016120a2565b5090979650505050505050565b801515811461117457600080fd5b8035610c678161214f565b600080600080600060a0868803121561218057600080fd5b61218986611f49565b945061219760208701612018565b93506001600160401b03604087013511156121b157600080fd5b6121c18760408801358801611da4565b92506121cf60608701611f49565b91506001600160401b03608087013511156121e957600080fd5b86601f6080880135880101126121fe57600080fd5b61221161207a6080880135880135612027565b6080870135870180358083526020808401939260059290921b9091010189101561223a57600080fd5b602060808901358901015b60808901358901803560051b016020018110156123c2576001600160401b038135111561227157600080fd5b803560808a01358a01016080601f19828d0301121561228f57600080fd5b612297611d4c565b6122a36020830161204a565b81526001600160401b03604083013511156122bd57600080fd5b8b603f6040840135840101126122d257600080fd5b6122e861207a6020604085013585010135612027565b6020604084810135850182810135808552928401939260051b01018e101561230f57600080fd5b6040808501358501015b6040858101358601602081013560051b010181101561236b576001600160401b038135111561234757600080fd5b61235d8f60408335604089013589010101611da4565b835260209283019201612319565b506020830152506001600160401b036060830135111561238a57600080fd5b61239d8c60206060850135850101612059565b60408201526123ae6080830161215d565b606082015284525060209283019201612245565b5080925050509295509295909350565b600080600080608085870312156123e857600080fd5b6123f185611f49565b93506123ff60208601612018565b925060408501356001600160401b0381111561241a57600080fd5b61242687828801611da4565b92505061243560608601611f49565b905092959194509250565b60208152600060018060a01b0380845116602084015260208401516124686040850182611e5d565b50604084015160a0606085015261248260c0850182611e95565b9050816060860151166080850152608085015160a0850152809250505092915050565b600080604083850312156124b857600080fd5b82356001600160401b038111156124ce57600080fd5b6124da85828601611da4565b9250506124e96020840161204a565b90509250929050565b60068110611e6d57611e6d611e47565b6040810161251082856124f2565b82151560208301529392505050565b60006020828403121561253157600080fd5b6115f782611f49565b600181811c9082168061254e57607f821691505b60208210810361256e57634e487b7160e01b600052602260045260246000fd5b50919050565b60008251612586818460208701611e71565b9190910192915050565b6020815260006115f76020830184611e95565b6040815260006125b66040830185611e95565b90508260208301529392505050565b634e487b7160e01b600052601160045260246000fd5b818103818111156104ba576104ba6125c5565b6060815260006126016060830186611e95565b6001600160a01b039490941660208301525060400152919050565b601f8211156115e357600081815260208120601f850160051c810160208610156126435750805b601f850160051c820191505b818110156126625782815560010161264f565b505050505050565b81516001600160401b0381111561268357612683611d36565b61269781612691845461253a565b8461261c565b602080601f8311600181146126cc57600084156126b45750858301515b600019600386901b1c1916600185901b178555612662565b600085815260208120601f198616915b828110156126fb578886015182559484019460019091019084016126dc565b50858210156127195787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6001600160a01b0385811682526000906127466020840187611e5d565b6080604084015261275a6080840186611e95565b915080841660608401525095945050505050565b6000815180845260208085019450848260051b86018286016000805b868110156127e9578484038a52825180518086529087019087860190845b818110156127d4578351600781106127c2576127c2611e47565b835292890192918901916001016127a8565b50509a87019a9450509185019160010161278a565b509198975050505050505050565b6001600160a01b03868116825260009060a09060206128188186018a611e5d565b6040838187015261282b8487018a611e95565b6060848a168189015260809450878203858901528189518084528584019150858160051b850101868c0160005b8381101561290d57601f1987840301855281518a84016128798583516124f2565b818b0151858c018d9052805191829052600582901b86018e0191908c01908e87019060005b818110156128cc57609f198986030183526128ba858551611e95565b9450928e0192918e019160010161289e565b50505050898201518582038b8701526128e5828261276e565b92890151801515878b01529291506128fa9050565b958a019593505090880190600101612858565b50508099505050505050505050509695505050505050565b60006020828403121561293757600080fd5b81516115f78161214f565b808201808211156104ba576104ba6125c5565b634e487b7160e01b600052603260045260246000fd5b60008083546129798161253a565b6001828116801561299157600181146129a6576129d5565b60ff19841687528215158302870194506129d5565b8760005260208060002060005b858110156129cc5781548a8201529084019082016129b3565b50505082870194505b50929695505050505050565b6000600182016129f3576129f36125c5565b5060010190565b818103612a05575050565b612a0f825461253a565b6001600160401b03811115612a2657612a26611d36565b612a3481612691845461253a565b6000601f821160018114612a685760008315612a505750848201545b600019600385901b1c1916600184901b178455612acd565b600085815260209020601f19841690600086815260209020845b83811015612aa25782860154825560019586019590910190602001612a82565b5085831015612ac05781850154600019600388901b60f8161c191681555b50505060018360011b0184555b5050505050565b634e487b7160e01b600052603160045260246000fd5b60008351612afc818460208801611e71565b835190830190612b10818360208801611e71565b0194935050505056fea2646970667358221220d2d5a88633237cc5040d057e26c565ffe5bb3210798fece3ead31992c778084364736f6c63430008140033","sourceMap":"1008:8352:7:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1074:40;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;4469:419;;;;;;:::i;:::-;;:::i;:::-;;;3609:14:8;;3602:22;3584:41;;3572:2;3557:18;4469:419:7;3444:187:8;1269:29:7;;;;;-1:-1:-1;;;;;1269:29:7;;;;;;-1:-1:-1;;;;;3800:32:8;;;3782:51;;3770:2;3755:18;1269:29:7;3636:203:8;5281:461:7;;;;;;:::i;:::-;;:::i;5760:94::-;;;:::i;:::-;;;;;;;:::i;1830:816::-;;;;;;:::i;:::-;;:::i;2293:101:0:-;;;:::i;:::-;;2652:252:7;;;;;;:::i;:::-;;:::i;1638:85:0:-;1684:7;1710:6;-1:-1:-1;;;;;1710:6:0;1638:85;;2910:431:7;;;;;;:::i;:::-;;:::i;4894:381::-;;;;;;:::i;:::-;;:::i;6142:121::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;3838:624::-;;;;;;:::i;:::-;;:::i;3347:484::-;;;;;;:::i;:::-;;:::i;1149:94::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1149:94:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;2543:215:0:-;;;;;;:::i;:::-;;:::i;1074:40:7:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1074:40:7;;;-1:-1:-1;;;1074:40:7;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;1074:40:7;;;;;;;;;;;-1:-1:-1;;;;;1074:40:7;;;-1:-1:-1;1074:40:7;:::o;4469:419::-;4550:12;1531:13:0;:11;:13::i;:::-;4620:1:7::1;-1:-1:-1::0;;;;;4577:45:7::1;:6;4584:7;4577:15;;;;;;:::i;:::-;::::0;;;::::1;::::0;;;;;::::1;::::0;;;:31;-1:-1:-1;;;;;4577:31:7::1;:45:::0;4574:107:::1;;4662:7;4644:26;;-1:-1:-1::0;;;4644:26:7::1;;;;;;;;:::i;:::-;;;;;;;;4574:107;4707:47;4716:7;4725:20;4747:6;4707:8;:47::i;:::-;4699:83;;;::::0;-1:-1:-1;;;4699:83:7;;15099:2:8;4699:83:7::1;::::0;::::1;15081:21:8::0;15138:2;15118:18;;;15111:30;-1:-1:-1;;;15157:18:8;;;15150:52;15219:18;;4699:83:7::1;14897:346:8::0;4699:83:7::1;4818:6;4793;4800:7;4793:15;;;;;;:::i;:::-;;;;;;;;;;;;;:22;;:31;;;;4839:21;4844:7;4853:6;4839:21;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1::0;4877:4:7::1;1554:1:0;4469:419:7::0;;;;:::o;5281:461::-;5390:12;1531:13:0;:11;:13::i;:::-;5448:6:7::1;5422;5429:7;5422:15;;;;;;:::i;:::-;;;;;;;;;;;;;:22;;;:32;;5414:77;;;::::0;-1:-1:-1;;;5414:77:7;;15746:2:8;5414:77:7::1;::::0;::::1;15728:21:8::0;;;15765:18;;;15758:30;15824:34;15804:18;;;15797:62;15876:18;;5414:77:7::1;15544:356:8::0;5414:77:7::1;5510:67;5519:7;5528:22;5552:6;5560:16;5510:8;:67::i;:::-;5502:104;;;::::0;-1:-1:-1;;;5502:104:7;;16107:2:8;5502:104:7::1;::::0;::::1;16089:21:8::0;16146:2;16126:18;;;16119:30;16185:26;16165:18;;;16158:54;16229:18;;5502:104:7::1;15905:348:8::0;5502:104:7::1;5643:6;5617;5624:7;5617:15;;;;;;:::i;:::-;;;;;;;;;;;;;:22;;;:32;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;5673:41:7::1;::::0;::::1;::::0;::::1;::::0;5680:7;;5689:16;;5707:6;;5673:41:::1;:::i;:::-;;;;;;;;-1:-1:-1::0;5731:4:7::1;5281:461:::0;;;;;:::o;5760:94::-;5810:15;5844:3;5837:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5760:94;:::o;1830:816::-;2001:16;1531:13:0;:11;:13::i;:::-;2075:1:7::1;-1:-1:-1::0;;;;;2032:45:7::1;:6;2039:7;2032:15;;;;;;:::i;:::-;::::0;;;::::1;::::0;;;;;::::1;::::0;;;:31;-1:-1:-1;;;;;2032:31:7::1;:45;2029:110;;2120:7;2100:28;;-1:-1:-1::0;;;2100:28:7::1;;;;;;;;:::i;2029:110::-;2149:53;2180:7;2189:12;2149:30;:53::i;:::-;2216:18;2235:7;2216:27;;;;;;:::i;:::-;::::0;;;::::1;::::0;;::::1;::::0;;;;;;;;2244:30:::1;2216:59;::::0;;;;;;;;:69:::1;::::0;::::1;;2213:221;;;2309:49;2318:7;2327:30;2309:8;:49::i;:::-;2301:122;;;::::0;-1:-1:-1;;;2301:122:7;;17118:2:8;2301:122:7::1;::::0;::::1;17100:21:8::0;17157:2;17137:18;;;17130:30;17196:34;17176:18;;;17169:62;17267:30;17247:18;;;17240:58;17315:19;;2301:122:7::1;16916:424:8::0;2301:122:7::1;2462:52;;;;;;;;2468:15;-1:-1:-1::0;;;;;2462:52:7::1;;;;;2485:9;2462:52;;;;;;;;:::i;:::-;;;;;2496:7;2462:52;;;;2505:5;-1:-1:-1::0;;;;;2462:52:7::1;;;;;2512:1;2462:52;;::::0;2444:6:::1;2451:7;2444:15;;;;;;:::i;:::-;::::0;;;::::1;::::0;;;;;::::1;::::0;;;;;;:70;;;;-1:-1:-1;;;;;2444:70:7;;::::1;-1:-1:-1::0;;;;;;2444:70:7;::::1;::::0;::::1;::::0;;;;::::1;::::0;:15;;;;-1:-1:-1;;;;;;2444:70:7;;-1:-1:-1;;;2444:70:7;::::1;::::0;::::1;;;;;;:::i;:::-;;;::::0;;-1:-1:-1;2444:70:7::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;:::i;:::-;-1:-1:-1::0;2444:70:7::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;;-1:-1:-1;;;;;;2444:70:7::1;-1:-1:-1::0;;;;;2444:70:7;;::::1;::::0;;;::::1;::::0;;::::1;::::0;;::::1;::::0;::::1;::::0;;::::1;::::0;2529:17;;-1:-1:-1;2529:17:7;::::1;::::0;;-1:-1:-1;2529:17:7;;;;;::::1;;2538:7:::0;2529:17;::::1;:::i;:::-;;2570:48;2575:15;2592:9;2603:7;2612:5;2570:48;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1::0;2635:4:7::1;1830:816:::0;;;;;;;:::o;2293:101:0:-;1531:13;:11;:13::i;:::-;2357:30:::1;2384:1;2357:18;:30::i;:::-;2293:101::o:0;2652:252:7:-;2778:16;1531:13:0;:11;:13::i;:::-;2813:4:7::1;:9;2823:15:::0;2840:9;2851:7;2860:5;2894:1:::1;2867:29;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2867:29:7::1;;;;;;;;;;;;;;;;;2813:84;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2806:91;;1554:1:0;2652:252:7::0;;;;;;:::o;2910:431::-;2977:12;1531:13:0;:11;:13::i;:::-;3047:1:7::1;-1:-1:-1::0;;;;;3004:45:7::1;:6;3011:7;3004:15;;;;;;:::i;:::-;::::0;;;::::1;::::0;;;;;::::1;::::0;;;:31;-1:-1:-1;;;;;3004:31:7::1;:45:::0;3001:108:::1;;3090:7;3072:26;;-1:-1:-1::0;;;3072:26:7::1;;;;;;;;:::i;3001:108::-;3146:1;3121:6;3128:7;3121:15;;;;;;:::i;:::-;;;;;;;;;;;;;:22;;;:26;3118:83;;;3182:7;3170:20;;-1:-1:-1::0;;;3170:20:7::1;;;;;;;;:::i;3118:83::-;3210:40;3226:6;3233:7;3226:15;;;;;;:::i;:::-;;;;;;;;;;;;;:23;;3210:40;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:15;:40::i;:::-;3267:6;3274:7;3267:15;;;;;;:::i;:::-;::::0;;;::::1;::::0;;;;;::::1;::::0;;;3260:22;;-1:-1:-1;;;;;;3260:22:7;;;3267:15:::1;3260:22;::::0;;::::1;3267:15:::0;3260:22:::1;:::i;:::-;-1:-1:-1::0;3260:22:7::1;::::0;::::1;::::0;;-1:-1:-1;;;;;;3260:22:7::1;::::0;;::::1;;::::0;;::::1;::::0;3298:15:::1;::::0;::::1;::::0;::::1;::::0;3305:7;;3298:15:::1;:::i;:::-;;;;;;;;-1:-1:-1::0;3330:4:7::1;1554:1:0;2910:431:7::0;;;:::o;4894:381::-;4975:12;1531:13:0;:11;:13::i;:::-;5033:6:7::1;5007;5014:7;5007:15;;;;;;:::i;:::-;;;;;;;;;;;;;:22;;;:32;;4999:75;;;::::0;-1:-1:-1;;;4999:75:7;;24155:2:8;4999:75:7::1;::::0;::::1;24137:21:8::0;24194:2;24174:18;;;24167:30;24233:32;24213:18;;;24206:60;24283:18;;4999:75:7::1;23953:354:8::0;4999:75:7::1;5093:47;5102:7;5111:20;5133:6;5093:8;:47::i;:::-;5085:82;;;::::0;-1:-1:-1;;;5085:82:7;;24514:2:8;5085:82:7::1;::::0;::::1;24496:21:8::0;24553:2;24533:18;;;24526:30;-1:-1:-1;;;24572:18:8;;;24565:52;24634:18;;5085:82:7::1;24312:346:8::0;5085:82:7::1;5204:6;5178;5185:7;5178:15;;;;;;:::i;:::-;;;;;;;;;;;;;:22;;;:32;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;5226:21:7::1;::::0;::::1;::::0;::::1;::::0;5231:7;;5240:6;;5226:21:::1;:::i;6142:121::-:0;6204:18;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6204:18:7;6241:6;6248:7;6241:15;;;;;;:::i;:::-;;;;;;;;;;;;;;;;6234:22;;;;;;;;-1:-1:-1;;;;;6234:22:7;;;;6241:15;;6234:22;;;-1:-1:-1;;;6234:22:7;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6234:22:7;;;-1:-1:-1;;6234:22:7;;;;-1:-1:-1;;;;;6234:22:7;;;;;;;;;;;;;;;;6142:121;-1:-1:-1;;6142:121:7:o;3838:624::-;3921:12;1531:13:0;:11;:13::i;:::-;4001:1:7::1;-1:-1:-1::0;;;;;3958:45:7::1;:6;3965:7;3958:15;;;;;;:::i;:::-;::::0;;;::::1;::::0;;;;;::::1;::::0;;;:31;-1:-1:-1;;;;;3958:31:7::1;:45:::0;3955:107:::1;;4043:7;4025:26;;-1:-1:-1::0;;;4025:26:7::1;;;;;;;;:::i;3955:107::-;4100:6;4075;4082:7;4075:15;;;;;;:::i;:::-;;;;;;;;;;;;;:22;;;:31;4072:108;;;4153:7;4162:6;4129:40;;-1:-1:-1::0;;;4129:40:7::1;;;;;;;;;:::i;4072:108::-;4190:18;4211:49;4220:7;4229:22;4253:6;4211:8;:49::i;:::-;4190:70;;4274:13;4271:142;;;4329:6;4303;4310:7;4303:15;;;;;;:::i;:::-;;;;;;;;;;;;;:22;;;:32;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;4354:23:7::1;::::0;::::1;::::0;::::1;::::0;4361:7;;4370:6;;4354:23:::1;:::i;:::-;;;;;;;;4398:4;4391:11;;;;;4271:142;4447:7;4430:25;;-1:-1:-1::0;;;4430:25:7::1;;;;;;;;:::i;3347:484::-:0;3428:12;1531:13:0;:11;:13::i;:::-;3498:1:7::1;-1:-1:-1::0;;;;;3455:45:7::1;:6;3462:7;3455:15;;;;;;:::i;:::-;::::0;;;::::1;::::0;;;;;::::1;::::0;;;:31;-1:-1:-1;;;;;3455:31:7::1;:45:::0;3452:107:::1;;3540:7;3522:26;;-1:-1:-1::0;;;3522:26:7::1;;;;;;;;:::i;3452:107::-;3569:16;3588:47;3597:7;3606:20;3628:6;3588:8;:47::i;:::-;3569:66;;3649:11;3646:138;;;3702:6;3676;3683:7;3676:15;;;;;;:::i;:::-;;;;;;;;;;;;;:22;;;:32;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;3727:21:7::1;::::0;::::1;::::0;::::1;::::0;3732:7;;3741:6;;3727:21:::1;:::i;3646:138::-;3816:7;3801:23;;-1:-1:-1::0;;;3801:23:7::1;;;;;;;;:::i;2543:215:0:-:0;1531:13;:11;:13::i;:::-;-1:-1:-1;;;;;2627:22:0;::::1;2623:91;;2672:31;::::0;-1:-1:-1;;;2672:31:0;;2700:1:::1;2672:31;::::0;::::1;3782:51:8::0;3755:18;;2672:31:0::1;3636:203:8::0;2623:91:0::1;2723:28;2742:8;2723:18;:28::i;:::-;2543:215:::0;:::o;1796:162::-;1684:7;1710:6;-1:-1:-1;;;;;1710:6:0;735:10:1;1855:23:0;1851:101;;1901:40;;-1:-1:-1;;;1901:40:0;;735:10:1;1901:40:0;;;3782:51:8;3755:18;;1901:40:0;3636:203:8;6742:200:7;6850:12;6881:54;6890:7;6899:15;6916:6;6932:1;6948:888;7074:4;7095:18;7114:7;7095:27;;;;;;:::i;:::-;;;;;;;;;;;;;:44;7123:15;7095:44;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;7095:44:7;:54;;;;;7090:98;;-1:-1:-1;7172:5:7;7165:12;;7090:98;7203:6;7198:598;7219:18;7238:7;7219:27;;;;;;:::i;:::-;;;;;;;;;;;;;:44;7247:15;7219:44;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;7219:44:7;:63;;:70;7215:74;;7198:598;;;7310:23;7370:18;7389:7;7370:27;;;;;;:::i;:::-;;;;;;;;;;;;;:44;7398:15;7370:44;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;:63;;7434:1;7370:66;;;;;;;;:::i;:::-;;;;;;;;7353:84;;;;;;;;:::i;:::-;;;;;;;;;;;;;7343:95;;;;;;7310:129;;7454:26;7483:137;7503:16;7521:98;7534:18;7553:7;7534:27;;;;;;:::i;:::-;;;;;;;;;;;;;:44;7562:15;7534:44;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;:54;;7589:1;7534:57;;;;;;;;:::i;:::-;;;;;;;;7521:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7593:7;7602:8;7612:6;7521:12;:98::i;:::-;7483:19;:137::i;:::-;7454:166;;7636:16;7658:6;7665:7;7658:15;;;;;;:::i;:::-;;;;;;;;;;;;;;:31;-1:-1:-1;;;;;7658:31:7;;:51;;7695:13;;7658:51;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7635:74;;;7728:11;7723:63;;7766:5;7759:12;;;;;;;;7723:63;7296:500;;;7291:3;;;;;:::i;:::-;;;;7198:598;;;-1:-1:-1;7821:4:7;;6948:888;-1:-1:-1;;;;;6948:888:7:o;6269:281::-;6399:6;6395:149;6415:12;:19;6411:1;:23;6395:149;;;6518:12;6531:1;6518:15;;;;;;;;:::i;:::-;;;;;;;6455:18;6474:7;6455:27;;;;;;:::i;:::-;;;;;;;;;;;;;:60;6483:12;6496:1;6483:15;;;;;;;;:::i;:::-;;;;;;;:31;;;6455:60;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;6455:60:7;:78;;;;:60;;-1:-1:-1;;6455:78:7;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;6455:78:7;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;6455:78:7;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;6455:78:7;;;;;;;;;;;;-1:-1:-1;;6455:78:7;;;;;;;;;;6436:3;;;;:::i;:::-;;;;6395:149;;;;6269:281;;:::o;6556:180::-;6649:12;6680:49;6689:7;6698:15;6715:1;6726;6680:8;:49::i;:::-;6673:56;6556:180;-1:-1:-1;;;6556:180:7:o;2912:187:0:-;2985:16;3004:6;;-1:-1:-1;;;;;3020:17:0;;;-1:-1:-1;;;;;;3020:17:0;;;;;;3052:40;;3004:6;;;;;;;3052:40;;2985:16;3052:40;2975:124;2912:187;:::o;5860:276:7:-;5928:9;5923:207;5947:3;:10;5943:14;;5923:207;;;5982:25;5996:3;6000:1;5996:6;;;;;;;;:::i;:::-;;;;;;;;5982:25;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6004:2;5982:13;:25::i;:::-;5978:142;;;6036:3;6040:10;;:14;;6053:1;;6040:14;:::i;:::-;6036:19;;;;;;;;:::i;:::-;;;;;;;;6027:3;6031:1;6027:6;;;;;;;;:::i;:::-;;;;;;;;:28;;;;;;:::i;:::-;;6073:3;:9;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;5923:207;5860:276;:::o;5978:142::-;5959:3;;;;:::i;:::-;;;;5923:207;;;;5860:276;:::o;8230:1128::-;8361:14;8386:28;8429:9;:16;-1:-1:-1;;;;;8417:29:7;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8386:60;;8461:6;8456:866;8477:9;:16;8473:1;:20;8456:866;;;8534:14;8518:9;8528:1;8518:12;;;;;;;;:::i;:::-;;;;;;;:30;;;;;;;;:::i;:::-;;8514:798;;8587:25;;;8606:4;8587:25;;;3782:51:8;3755:18;8587:25:7;;;;;;;;;;;;;8568:13;8582:1;8568:16;;;;;;;;:::i;:::-;;;;;;:44;;;;8514:798;;;8653:15;8637:9;8647:1;8637:12;;;;;;;;:::i;:::-;;;;;;;:31;;;;;;;;:::i;:::-;;8633:679;;8718:7;8707:19;;;;;;;;:::i;8633:679::-;8767:14;8751:9;8761:1;8751:12;;;;;;;;:::i;:::-;;;;;;;:30;;;;;;;;:::i;:::-;;8747:565;;8820:18;;;;;;27922:25:8;;;27895:18;8820::7;27776:177:8;8747:565:7;8879:13;8863:9;8873:1;8863:12;;;;;;;;:::i;:::-;;;;;;;:29;;;;;;;;:::i;:::-;;8859:453;;8942:6;8949:7;8942:15;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:21;;;-1:-1:-1;;;;;8942:21:7;8931:33;;;3782:51:8;3755:18;8931:33:7;3636:203:8;8859:453:7;9005:23;8989:9;8999:1;8989:12;;;;;;;;:::i;:::-;;;;;;;:39;;;;;;;;:::i;:::-;;8985:327;;9078:6;9085:7;9078:15;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:31;-1:-1:-1;;;;;9078:31:7;9067:43;;;3782:51:8;3755:18;9067:43:7;3636:203:8;8985:327:7;9151:16;9135:9;9145:1;9135:12;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;:::i;:::-;;9131:181;;9206:20;;;-1:-1:-1;;;;;3800:32:8;;9206:20:7;;;3782:51:8;3755:18;9206:20:7;3636:203:8;9131:181:7;9265:32;;-1:-1:-1;;;9265:32:7;;28160:2:8;9265:32:7;;;28142:21:8;28199:2;28179:18;;;28172:30;-1:-1:-1;;;28218:18:8;;;28211:52;28280:18;;9265:32:7;27958:346:8;9131:181:7;8495:3;;;;:::i;:::-;;;;8456:866;;;-1:-1:-1;9338:13:7;8230:1128;-1:-1:-1;;;;;8230:1128:7:o;7842:382::-;8003:34;;;-1:-1:-1;;;;;;28448:33:8;;8003:34:7;;;28436:46:8;8003:34:7;;;;;;;;;28498:11:8;;;;8003:34:7;;;8052:9;8047:141;8071:13;:20;8067:1;:24;8047:141;;;8145:13;8160;8174:1;8160:16;;;;;;;;:::i;:::-;;;;;;;8128:49;;;;;;;;;:::i;:::-;;;;;;;;;;;;;8112:65;;8093:3;;;;;:::i;:::-;;;;8047:141;;;;7842:382;;;;:::o;2914:182:2:-;2986:4;3034:1;3028:15;3015:1;3009:15;:34;:80;;;;-1:-1:-1;;3070:19:2;;;;;;;3047;;;;;;;;;;:42;;2914:182::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;14:127:8:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:252;218:2;212:9;260:3;248:16;;-1:-1:-1;;;;;279:34:8;;315:22;;;276:62;273:88;;;341:18;;:::i;:::-;377:2;370:22;146:252;:::o;403:275::-;474:2;468:9;539:2;520:13;;-1:-1:-1;;516:27:8;504:40;;-1:-1:-1;;;;;559:34:8;;595:22;;;556:62;553:88;;;621:18;;:::i;:::-;657:2;650:22;403:275;;-1:-1:-1;403:275:8:o;683:531::-;726:5;779:3;772:4;764:6;760:17;756:27;746:55;;797:1;794;787:12;746:55;833:6;820:20;-1:-1:-1;;;;;855:2:8;852:26;849:52;;;881:18;;:::i;:::-;925:55;968:2;949:13;;-1:-1:-1;;945:27:8;974:4;941:38;925:55;:::i;:::-;1005:2;996:7;989:19;1051:3;1044:4;1039:2;1031:6;1027:15;1023:26;1020:35;1017:55;;;1068:1;1065;1058:12;1017:55;1133:2;1126:4;1118:6;1114:17;1107:4;1098:7;1094:18;1081:55;1181:1;1156:16;;;1174:4;1152:27;1145:38;;;;1160:7;683:531;-1:-1:-1;;;683:531:8:o;1219:322::-;1288:6;1341:2;1329:9;1320:7;1316:23;1312:32;1309:52;;;1357:1;1354;1347:12;1309:52;1397:9;1384:23;-1:-1:-1;;;;;1422:6:8;1419:30;1416:50;;;1462:1;1459;1452:12;1416:50;1485;1527:7;1518:6;1507:9;1503:22;1485:50;:::i;1546:127::-;1607:10;1602:3;1598:20;1595:1;1588:31;1638:4;1635:1;1628:15;1662:4;1659:1;1652:15;1678:140;1759:1;1752:5;1749:12;1739:46;;1765:18;;:::i;:::-;1794;;1678:140::o;1823:250::-;1908:1;1918:113;1932:6;1929:1;1926:13;1918:113;;;2008:11;;;2002:18;1989:11;;;1982:39;1954:2;1947:10;1918:113;;;-1:-1:-1;;2065:1:8;2047:16;;2040:27;1823:250::o;2078:271::-;2120:3;2158:5;2152:12;2185:6;2180:3;2173:19;2201:76;2270:6;2263:4;2258:3;2254:14;2247:4;2240:5;2236:16;2201:76;:::i;:::-;2331:2;2310:15;-1:-1:-1;;2306:29:8;2297:39;;;;2338:4;2293:50;;2078:271;-1:-1:-1;;2078:271:8:o;2354:594::-;-1:-1:-1;;;;;2665:15:8;;;2647:34;;2590:4;;2690:53;2739:2;2724:18;;2716:6;2690:53;:::i;:::-;2779:3;2774:2;2763:9;2759:18;2752:31;2800:46;2841:3;2830:9;2826:19;2818:6;2800:46;:::i;:::-;2882:15;;2877:2;2862:18;;2855:43;-1:-1:-1;2929:3:8;2914:19;2907:35;2792:54;2354:594;-1:-1:-1;;;2354:594:8:o;2953:390::-;3031:6;3039;3092:2;3080:9;3071:7;3067:23;3063:32;3060:52;;;3108:1;3105;3098:12;3060:52;3148:9;3135:23;-1:-1:-1;;;;;3173:6:8;3170:30;3167:50;;;3213:1;3210;3203:12;3167:50;3236;3278:7;3269:6;3258:9;3254:22;3236:50;:::i;:::-;3226:60;3333:2;3318:18;;;;3305:32;;-1:-1:-1;;;;2953:390:8:o;3844:173::-;3912:20;;-1:-1:-1;;;;;3961:31:8;;3951:42;;3941:70;;4007:1;4004;3997:12;4022:464;4109:6;4117;4125;4178:2;4166:9;4157:7;4153:23;4149:32;4146:52;;;4194:1;4191;4184:12;4146:52;4234:9;4221:23;-1:-1:-1;;;;;4259:6:8;4256:30;4253:50;;;4299:1;4296;4289:12;4253:50;4322;4364:7;4355:6;4344:9;4340:22;4322:50;:::i;:::-;4312:60;;;4391:38;4425:2;4414:9;4410:18;4391:38;:::i;:::-;4381:48;;4476:2;4465:9;4461:18;4448:32;4438:42;;4022:464;;;;;:::o;4491:803::-;4653:4;4682:2;4722;4711:9;4707:18;4752:2;4741:9;4734:21;4775:6;4810;4804:13;4841:6;4833;4826:22;4879:2;4868:9;4864:18;4857:25;;4941:2;4931:6;4928:1;4924:14;4913:9;4909:30;4905:39;4891:53;;4979:2;4971:6;4967:15;5000:1;5010:255;5024:6;5021:1;5018:13;5010:255;;;5117:2;5113:7;5101:9;5093:6;5089:22;5085:36;5080:3;5073:49;5145:40;5178:6;5169;5163:13;5145:40;:::i;:::-;5135:50;-1:-1:-1;5243:12:8;;;;5208:15;;;;5046:1;5039:9;5010:255;;;-1:-1:-1;5282:6:8;;4491:803;-1:-1:-1;;;;;;;4491:803:8:o;5299:150::-;5374:20;;5423:1;5413:12;;5403:40;;5439:1;5436;5429:12;5454:203;5534:4;-1:-1:-1;;;;;5559:6:8;5556:30;5553:56;;;5589:18;;:::i;:::-;-1:-1:-1;5634:1:8;5630:14;5646:4;5626:25;;5454:203::o;5662:156::-;5743:20;;5792:1;5782:12;;5772:40;;5808:1;5805;5798:12;5823:1931;5892:5;5945:3;5938:4;5930:6;5926:17;5922:27;5912:55;;5963:1;5960;5953:12;5912:55;5999:6;5986:20;6025:4;6049:80;6065:63;6125:2;6065:63;:::i;:::-;6049:80;:::i;:::-;6163:15;;;6225:1;6265:11;;;6253:24;;6249:33;;;6194:12;;;;6151:3;6294:15;;;6291:35;;;6322:1;6319;6312:12;6291:35;6358:2;6350:6;6346:15;6370:1355;6386:6;6381:3;6378:15;6370:1355;;;6472:3;6459:17;-1:-1:-1;;;;;6495:11:8;6492:35;6489:125;;;6568:1;6597:2;6593;6586:14;6489:125;6637:24;;6696:2;6688:11;;6684:21;-1:-1:-1;6674:119:8;;6747:1;6776:2;6772;6765:14;6674:119;6837:2;6833;6829:11;6816:25;6864:2;6892:80;6908:63;6968:2;6908:63;:::i;6892:80::-;7016:17;;;7110:11;;;7102:20;;7098:29;;;7055:14;;;;7143:17;;;7140:107;;;7201:1;7230:2;7226;7219:14;7140:107;7273:11;;;;7297:355;7315:8;7308:5;7305:19;7297:355;;;7409:5;7396:19;7383:32;;7452:1;7445:5;7442:12;7432:129;;7505:1;7539:3;7534;7527:16;7432:129;7578:20;;;7336:14;;;;7624;;;;7297:355;;;7665:18;;-1:-1:-1;;;7703:12:8;;;;-1:-1:-1;6403:12:8;;6370:1355;;;-1:-1:-1;7743:5:8;;5823:1931;-1:-1:-1;;;;;;;5823:1931:8:o;7759:118::-;7845:5;7838:13;7831:21;7824:5;7821:32;7811:60;;7867:1;7864;7857:12;7882:128;7947:20;;7976:28;7947:20;7976:28;:::i;8015:3590::-;8197:6;8205;8213;8221;8229;8282:3;8270:9;8261:7;8257:23;8253:33;8250:53;;;8299:1;8296;8289:12;8250:53;8322:29;8341:9;8322:29;:::i;:::-;8312:39;;8370:45;8411:2;8400:9;8396:18;8370:45;:::i;:::-;8360:55;;-1:-1:-1;;;;;8458:2:8;8447:9;8443:18;8430:32;8427:56;8424:76;;;8496:1;8493;8486:12;8424:76;8519;8587:7;8580:2;8569:9;8565:18;8552:32;8541:9;8537:48;8519:76;:::i;:::-;8509:86;;8614:38;8648:2;8637:9;8633:18;8614:38;:::i;:::-;8604:48;;-1:-1:-1;;;;;8695:3:8;8684:9;8680:19;8667:33;8664:57;8661:77;;;8734:1;8731;8724:12;8661:77;8823:7;8816:4;8808:3;8797:9;8793:19;8780:33;8769:9;8765:49;8761:60;8757:74;8747:102;;8845:1;8842;8835:12;8747:102;8869:141;8885:124;9001:3;8990:9;8986:19;8973:33;8962:9;8958:49;8945:63;8885:124;:::i;8869:141::-;9112:3;9097:19;;9084:33;9069:49;;9056:63;;9044:76;;;9145:2;9136:12;;;;9032:3;9226:1;9222:71;;;;9167:127;;;9163:136;9160:149;-1:-1:-1;9157:169:8;;;9322:1;9319;9312:12;9157:169;9401:2;9393:3;9382:9;9378:19;9365:33;9354:9;9350:49;9346:58;9413:2162;9559:3;9544:19;;9531:33;9516:49;;9503:63;;9500:1;9496:71;9441:127;9570:2;9437:136;9429:145;;9413:2162;;;-1:-1:-1;;;;;9648:3:8;9635:17;9632:41;9629:61;;;9686:1;9683;9676:12;9629:61;9781:3;9768:17;9760:3;9749:9;9745:19;9732:33;9721:9;9717:49;9713:73;9838:3;9832:2;9828:7;9823:2;9814:7;9810:16;9806:30;9802:40;9799:60;;;9855:1;9852;9845:12;9799:60;9885:22;;:::i;:::-;9934:44;9974:2;9970;9966:11;9934:44;:::i;:::-;9927:5;9920:59;-1:-1:-1;;;;;10019:2:8;10015;10011:11;9998:25;9995:49;9992:69;;;10057:1;10054;10047:12;9992:69;10133:7;10128:2;10121;10117;10113:11;10100:25;10096:2;10092:34;10088:43;10084:57;10074:85;;10155:1;10152;10145:12;10074:85;10185:135;10201:118;10314:2;10307;10303;10299:11;10286:25;10282:2;10278:34;10274:43;10261:57;10201:118;:::i;10185:135::-;10431:2;10424;10416:11;;;10403:25;10395:34;;10391:43;;;10378:57;10364:72;;;10458:14;;;;10364:72;10539:1;10535:65;10495:106;10491:115;-1:-1:-1;;10485:148:8;;;10629:1;10626;10619:12;10485:148;10699:2;10692;10688;10684:11;10671:25;10667:2;10663:34;10659:43;10715:463;10857:2;10834:11;;;10821:25;10813:34;;10849:2;10809:43;;10796:57;10793:1;10789:65;10749:106;10745:115;10735:126;;10715:463;;;-1:-1:-1;;;;;10951:5:8;10938:19;10935:43;10932:63;;;10991:1;10988;10981:12;10932:63;11026:97;11115:7;11110:2;11101:5;11088:19;11081:2;11077;11073:11;11060:25;11056:2;11052:34;11048:60;11044:69;11026:97;:::i;:::-;11012:112;;11161:2;11150:14;;;;10885;10715:463;;;-1:-1:-1;11209:2:8;11198:14;;11191:29;-1:-1:-1;;;;;;11260:2:8;11252:11;;11239:25;11236:49;11233:69;;;11298:1;11295;11288:12;11233:69;11338:97;11427:7;11422:2;11415;11411;11407:11;11394:25;11390:2;11386:34;11382:43;11338:97;:::i;:::-;11333:2;11326:5;11322:14;11315:121;11472:29;11496:3;11492:2;11488:12;11472:29;:::i;:::-;11467:2;11456:14;;11449:53;11515:18;;-1:-1:-1;11562:2:8;11553:12;;;;9592;9413:2162;;;9417:3;11594:5;11584:15;;;;8015:3590;;;;;;;;:::o;11610:566::-;11720:6;11728;11736;11744;11797:3;11785:9;11776:7;11772:23;11768:33;11765:53;;;11814:1;11811;11804:12;11765:53;11837:29;11856:9;11837:29;:::i;:::-;11827:39;;11885:45;11926:2;11915:9;11911:18;11885:45;:::i;:::-;11875:55;;11981:2;11970:9;11966:18;11953:32;-1:-1:-1;;;;;12000:6:8;11997:30;11994:50;;;12040:1;12037;12030:12;11994:50;12063;12105:7;12096:6;12085:9;12081:22;12063:50;:::i;:::-;12053:60;;;12132:38;12166:2;12155:9;12151:18;12132:38;:::i;:::-;12122:48;;11610:566;;;;;;;:::o;12181:725::-;12356:2;12345:9;12338:21;12319:4;12395:1;12391;12386:3;12382:11;12378:19;12452:2;12443:6;12437:13;12433:22;12428:2;12417:9;12413:18;12406:50;12503:2;12495:6;12491:15;12485:22;12516:59;12571:2;12560:9;12556:18;12542:12;12516:59;:::i;:::-;;12624:2;12616:6;12612:15;12606:22;12664:4;12659:2;12648:9;12644:18;12637:32;12692:54;12741:3;12730:9;12726:19;12710:14;12692:54;:::i;:::-;12678:68;;12811:2;12805;12797:6;12793:15;12787:22;12783:31;12777:3;12766:9;12762:19;12755:60;12871:3;12863:6;12859:16;12853:23;12846:4;12835:9;12831:20;12824:53;12894:6;12886:14;;;;12181:725;;;;:::o;12911:429::-;13009:6;13017;13070:2;13058:9;13049:7;13045:23;13041:32;13038:52;;;13086:1;13083;13076:12;13038:52;13126:9;13113:23;-1:-1:-1;;;;;13151:6:8;13148:30;13145:50;;;13191:1;13188;13181:12;13145:50;13214;13256:7;13247:6;13236:9;13232:22;13214:50;:::i;:::-;13204:60;;;13283:51;13330:2;13319:9;13315:18;13283:51;:::i;:::-;13273:61;;12911:429;;;;;:::o;13345:146::-;13432:1;13425:5;13422:12;13412:46;;13438:18;;:::i;13496:301::-;13670:2;13655:18;;13682:50;13659:9;13714:6;13682:50;:::i;:::-;13782:6;13775:14;13768:22;13763:2;13752:9;13748:18;13741:50;13496:301;;;;;:::o;13802:186::-;13861:6;13914:2;13902:9;13893:7;13889:23;13885:32;13882:52;;;13930:1;13927;13920:12;13882:52;13953:29;13972:9;13953:29;:::i;13993:380::-;14072:1;14068:12;;;;14115;;;14136:61;;14190:4;14182:6;14178:17;14168:27;;14136:61;14243:2;14235:6;14232:14;14212:18;14209:38;14206:161;;14289:10;14284:3;14280:20;14277:1;14270:31;14324:4;14321:1;14314:15;14352:4;14349:1;14342:15;14206:161;;13993:380;;;:::o;14378:289::-;14509:3;14547:6;14541:13;14563:66;14622:6;14617:3;14610:4;14602:6;14598:17;14563:66;:::i;:::-;14645:16;;;;;14378:289;-1:-1:-1;;14378:289:8:o;14672:220::-;14821:2;14810:9;14803:21;14784:4;14841:45;14882:2;14871:9;14867:18;14859:6;14841:45;:::i;15248:291::-;15425:2;15414:9;15407:21;15388:4;15445:45;15486:2;15475:9;15471:18;15463:6;15445:45;:::i;:::-;15437:53;;15526:6;15521:2;15510:9;15506:18;15499:34;15248:291;;;;;:::o;16258:127::-;16319:10;16314:3;16310:20;16307:1;16300:31;16350:4;16347:1;16340:15;16374:4;16371:1;16364:15;16390:128;16457:9;;;16478:11;;;16475:37;;;16492:18;;:::i;16523:388::-;16728:2;16717:9;16710:21;16691:4;16748:45;16789:2;16778:9;16774:18;16766:6;16748:45;:::i;:::-;-1:-1:-1;;;;;16829:32:8;;;;16824:2;16809:18;;16802:60;-1:-1:-1;16893:2:8;16878:18;16871:34;16740:53;16523:388;-1:-1:-1;16523:388:8:o;17471:545::-;17573:2;17568:3;17565:11;17562:448;;;17609:1;17634:5;17630:2;17623:17;17679:4;17675:2;17665:19;17749:2;17737:10;17733:19;17730:1;17726:27;17720:4;17716:38;17785:4;17773:10;17770:20;17767:47;;;-1:-1:-1;17808:4:8;17767:47;17863:2;17858:3;17854:12;17851:1;17847:20;17841:4;17837:31;17827:41;;17918:82;17936:2;17929:5;17926:13;17918:82;;;17981:17;;;17962:1;17951:13;17918:82;;;17922:3;;;17471:545;;;:::o;18192:1352::-;18318:3;18312:10;-1:-1:-1;;;;;18337:6:8;18334:30;18331:56;;;18367:18;;:::i;:::-;18396:97;18486:6;18446:38;18478:4;18472:11;18446:38;:::i;:::-;18440:4;18396:97;:::i;:::-;18548:4;;18612:2;18601:14;;18629:1;18624:663;;;;19331:1;19348:6;19345:89;;;-1:-1:-1;19400:19:8;;;19394:26;19345:89;-1:-1:-1;;18149:1:8;18145:11;;;18141:24;18137:29;18127:40;18173:1;18169:11;;;18124:57;19447:81;;18594:944;;18624:663;17418:1;17411:14;;;17455:4;17442:18;;-1:-1:-1;;18660:20:8;;;18778:236;18792:7;18789:1;18786:14;18778:236;;;18881:19;;;18875:26;18860:42;;18973:27;;;;18941:1;18929:14;;;;18808:19;;18778:236;;;18782:3;19042:6;19033:7;19030:19;19027:201;;;19103:19;;;19097:26;-1:-1:-1;;19186:1:8;19182:14;;;19198:3;19178:24;19174:37;19170:42;19155:58;19140:74;;19027:201;-1:-1:-1;;;;;19274:1:8;19258:14;;;19254:22;19241:36;;-1:-1:-1;18192:1352:8:o;19549:522::-;-1:-1:-1;;;;;19832:15:8;;;19814:34;;19757:4;;19857:53;19906:2;19891:18;;19883:6;19857:53;:::i;:::-;19946:3;19941:2;19930:9;19926:18;19919:31;19967:46;20008:3;19997:9;19993:19;19985:6;19967:46;:::i;:::-;19959:54;;20061:2;20053:6;20049:15;20044:2;20033:9;20029:18;20022:43;;19549:522;;;;;;;:::o;20076:1127::-;20144:3;20182:5;20176:12;20209:6;20204:3;20197:19;20235:4;20264:2;20259:3;20255:12;20248:19;;20289:3;20329:6;20326:1;20322:14;20317:3;20313:24;20371:2;20364:5;20360:14;20392:1;20413;20423:754;20439:6;20434:3;20431:15;20423:754;;;20504:16;;;20492:29;;20544:13;;20616:9;;20638:22;;;20724:11;;;;20682:13;;;;20759:1;20773:298;20789:8;20784:3;20781:17;20773:298;;;20868:8;20862:15;20911:1;20907:2;20904:9;20894:43;;20917:18;;:::i;:::-;20954:17;;21040;;;;20997:14;;;;20817:1;20808:11;20773:298;;;-1:-1:-1;;21155:12:8;;;;21092:5;-1:-1:-1;;21120:15:8;;;;20465:1;20456:11;20423:754;;;-1:-1:-1;21193:4:8;;20076:1127;-1:-1:-1;;;;;;;;20076:1127:8:o;21208:2490::-;-1:-1:-1;;;;;21667:15:8;;;21649:34;;21570:4;;21599:3;;21702:2;21713:53;21747:18;;;21739:6;21713:53;:::i;:::-;21785:2;21823;21818;21807:9;21803:18;21796:30;21849:45;21890:2;21879:9;21875:18;21867:6;21849:45;:::i;:::-;21913:2;21963;21955:6;21951:15;21946:2;21935:9;21931:18;21924:43;21986:3;21976:13;;22037:9;22029:6;22025:22;22020:2;22009:9;22005:18;21998:50;22068:6;22103;22097:13;22134:6;22126;22119:22;22169:2;22161:6;22157:15;22150:22;;22228:2;22218:6;22215:1;22211:14;22203:6;22199:27;22195:36;22266:2;22258:6;22254:15;22287:1;22297:1372;22311:6;22308:1;22305:13;22297:1372;;;22401:2;22397:7;22388:6;22380;22376:19;22372:33;22367:3;22360:46;22435:6;22429:13;22481:2;22473:6;22469:15;22497:50;22540:6;22535:2;22529:9;22497:50;:::i;:::-;22586:11;;;22580:18;22618:15;;;22611:27;;;22699:19;;22731:24;;;;22839:1;22835:16;;;22823:29;;22819:38;;;22886:21;;;;22777:15;;;;22931:1;22945:297;22961:8;22956:3;22953:17;22945:297;;;23067:3;23063:8;23054:6;23046;23042:19;23038:34;23031:5;23024:49;23100:42;23135:6;23124:8;23118:15;23100:42;:::i;:::-;23090:52;-1:-1:-1;23171:17:8;;;;23214:14;;;;22989:1;22980:11;22945:297;;;22949:3;;;;23291:2;23287;23283:11;23277:18;23344:6;23336;23332:19;23327:2;23319:6;23315:15;23308:44;23379:67;23439:6;23423:14;23379:67;:::i;:::-;23487:11;;;23481:18;3418:13;;3411:21;23544:15;;;3399:34;23481:18;23365:81;-1:-1:-1;23512:48:8;;-1:-1:-1;3348:91:8;23512:48;23647:12;;;;23583:6;-1:-1:-1;;23612:15:8;;;;22333:1;22326:9;22297:1372;;;22301:3;;23686:6;23678:14;;;;;;;;;;;21208:2490;;;;;;;;:::o;23703:245::-;23770:6;23823:2;23811:9;23802:7;23798:23;23794:32;23791:52;;;23839:1;23836;23829:12;23791:52;23871:9;23865:16;23890:28;23912:5;23890:28;:::i;24663:125::-;24728:9;;;24749:10;;;24746:36;;;24762:18;;:::i;24793:127::-;24854:10;24849:3;24845:20;24842:1;24835:31;24885:4;24882:1;24875:15;24909:4;24906:1;24899:15;24925:842;25053:3;25082:1;25115:6;25109:13;25145:36;25171:9;25145:36;:::i;:::-;25200:1;25217:18;;;25244:133;;;;25391:1;25386:356;;;;25210:532;;25244:133;-1:-1:-1;;25277:24:8;;25265:37;;25350:14;;25343:22;25331:35;;25322:45;;;-1:-1:-1;25244:133:8;;25386:356;25417:6;25414:1;25407:17;25447:4;25492:2;25489:1;25479:16;25517:1;25531:165;25545:6;25542:1;25539:13;25531:165;;;25623:14;;25610:11;;;25603:35;25666:16;;;;25560:10;;25531:165;;;25535:3;;;25725:6;25720:3;25716:16;25709:23;;25210:532;-1:-1:-1;25758:3:8;;24925:842;-1:-1:-1;;;;;;24925:842:8:o;26064:135::-;26103:3;26124:17;;;26121:43;;26144:18;;:::i;:::-;-1:-1:-1;26191:1:8;26180:13;;26064:135::o;26204:1435::-;26323:3;26317:4;26314:13;26311:26;;26330:5;;26204:1435::o;26311:26::-;26360:37;26392:3;26386:10;26360:37;:::i;:::-;-1:-1:-1;;;;;26412:6:8;26409:30;26406:56;;;26442:18;;:::i;:::-;26471:97;26561:6;26521:38;26553:4;26547:11;26521:38;:::i;26471:97::-;26594:1;26622:2;26614:6;26611:14;26639:1;26634:748;;;;27426:1;27443:6;27440:89;;;-1:-1:-1;27495:19:8;;;27489:26;27440:89;-1:-1:-1;;18149:1:8;18145:11;;;18141:24;18137:29;18127:40;18173:1;18169:11;;;18124:57;27542:81;;26604:1029;;26634:748;17418:1;17411:14;;;17455:4;17442:18;;-1:-1:-1;;26670:20:8;;;17418:1;17411:14;;;17455:4;17442:18;;26834:9;26856:251;26870:7;26867:1;26864:14;26856:251;;;26952:21;;;26946:28;26931:44;;27002:1;27075:18;;;;27030:15;;;;26893:4;26886:12;26856:251;;;26860:3;27135:6;27126:7;27123:19;27120:203;;;27196:21;;;27190:28;-1:-1:-1;;27281:1:8;27277:14;;;27293:3;27273:24;27269:37;27265:42;27250:58;27235:74;;27120:203;;;;27369:1;27360:6;27357:1;27353:14;27349:22;27343:4;27336:36;26604:1029;;;;26204:1435;;:::o;27644:127::-;27705:10;27700:3;27696:20;27693:1;27686:31;27736:4;27733:1;27726:15;27760:4;27757:1;27750:15;28520:492;28695:3;28733:6;28727:13;28749:66;28808:6;28803:3;28796:4;28788:6;28784:17;28749:66;:::i;:::-;28878:13;;28837:16;;;;28900:70;28878:13;28837:16;28947:4;28935:17;;28900:70;:::i;:::-;28986:20;;28520:492;-1:-1:-1;;;;28520:492:8:o","linkReferences":{}},"methodIdentifiers":{"assign(string,address,uint256)":"4534ba17","bridge_address()":"1255c189","burn(string,uint256)":"b48272cc","getAllAssetsIDs()":"5137b8a7","getToken(string)":"c1733f68","lock(string,uint256)":"e1efb596","mint(string,uint256)":"056b01ce","owner()":"8da5cb5b","renounceOwnership()":"715018a6","tokens(string)":"04c2320b","tokensInteractions(string,uint8)":"ea8f547f","transferOwnership(address)":"f2fde38b","unlock(string,uint256)":"d9cf884c","unwrap(string)":"a1bc17c5","wrap(address,uint8,string,address)":"72d4c33b","wrap(address,uint8,string,address,(uint8,string[],uint8[][],bool)[])":"623662ad"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_bridge_address\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"tokenId\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"InsuficientAmountLocked\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"tokenId\",\"type\":\"string\"}],\"name\":\"TokenAlreadyWrapped\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"tokenId\",\"type\":\"string\"}],\"name\":\"TokenLocked\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"tokenId\",\"type\":\"string\"}],\"name\":\"TokenNotAvailable\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"tokenId\",\"type\":\"string\"}],\"name\":\"TokenNotLocked\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"tokenId\",\"type\":\"string\"}],\"name\":\"TokenNotUnlocked\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"tokenId\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"receiver_account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Assign\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"tokenId\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Burn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"string\",\"name\":\"id\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes[]\",\"name\":\"value\",\"type\":\"bytes[]\"}],\"name\":\"Changed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"tokenId\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Lock\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"tokenId\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Mint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"tokenId\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Unlock\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"tokenId\",\"type\":\"string\"}],\"name\":\"Unwrap\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"enum TokenType\",\"name\":\"tokenType\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"tokenId\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"Wrap\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"tokenId\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"receiver_account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"assign\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"bridge_address\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"tokenId\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAllAssetsIDs\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"tokenId\",\"type\":\"string\"}],\"name\":\"getToken\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"enum TokenType\",\"name\":\"tokenType\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"tokenId\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"internalType\":\"struct Token\",\"name\":\"token\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"tokenId\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"lock\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"tokenId\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"tokens\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"enum TokenType\",\"name\":\"tokenType\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"tokenId\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"enum InteractionType\",\"name\":\"\",\"type\":\"uint8\"}],\"name\":\"tokensInteractions\",\"outputs\":[{\"internalType\":\"enum InteractionType\",\"name\":\"interactionType\",\"type\":\"uint8\"},{\"internalType\":\"bool\",\"name\":\"available\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"tokenId\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"unlock\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"tokenId\",\"type\":\"string\"}],\"name\":\"unwrap\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"enum TokenType\",\"name\":\"tokenType\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"tokenId\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"enum InteractionType\",\"name\":\"interactionType\",\"type\":\"uint8\"},{\"internalType\":\"string[]\",\"name\":\"functionsSignature\",\"type\":\"string[]\"},{\"internalType\":\"enum VarType[][]\",\"name\":\"variables\",\"type\":\"uint8[][]\"},{\"internalType\":\"bool\",\"name\":\"available\",\"type\":\"bool\"}],\"internalType\":\"struct InteractionSignature[]\",\"name\":\"interactions\",\"type\":\"tuple[]\"}],\"name\":\"wrap\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"wrapSuccess\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"enum TokenType\",\"name\":\"tokenType\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"tokenId\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"wrap\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"wrapSuccess\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}]},\"kind\":\"dev\",\"methods\":{\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/solidity/satp-wrapper.sol\":\"SATPWrapperContract\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":hardhat/=node_modules/hardhat/\",\":openzeppelin-solidity/=node_modules/openzeppelin-solidity/\",\":web3js-quorum/=node_modules/web3js-quorum/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x55f102ea785d8399c0e58d1108e2d289506dde18abc6db1b7f68c1f9f9bc5792\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e52e0a7765c943ef14e5bcf11e46e6139fa044be564881378349236bf2e3453\",\"dweb:/ipfs/QmZEeeXoFPW47amyP35gfzomF9DixqqTEPwzBakv6cZw6i\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0x5f7e4076e175393767754387c962926577f1660dd9b810187b9002407656be72\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d533a1c97cd43a57cd9c465f7ee8dd0e39ae93a8fb8ff8e5303a356b081cdcc\",\"dweb:/ipfs/QmVBEei6aTnvYNZp2CHYVNKyZS4q1KkjANfY39WVXZXVoT\"]},\"src/solidity/ITraceableContract.sol\":{\"keccak256\":\"0x95d8bedf23010b6a40e6a8f5d55a7d5f67866619de9efcab7fa49eb3d2488612\",\"license\":\"UNKNOWN\",\"urls\":[\"bzz-raw://003806e9e19c67b79cf4ec156b31b8515f5a27dad6d73a9d8c3878b1373935c1\",\"dweb:/ipfs/QmYPFBS2C6a1RwLTSEYhNVNUzxkDu4oh7eSs75gAcZ8KA4\"]},\"src/solidity/satp-wrapper.sol\":{\"keccak256\":\"0x12abe1795a374dd19978a26ced996c18da7f074fcb2b3c4c7dd5c1e98bae7e29\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b2e52c284c9d4a1feb3a7c7291833543278968460082b9d95e8284495056184b\",\"dweb:/ipfs/QmefEsHa57kWSv6XFwmvJpM9FyfFiedHJ1GjQZHpZSEdAC\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_bridge_address","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"string","name":"tokenId","type":"string"},{"internalType":"uint256","name":"amount","type":"uint256"}],"type":"error","name":"InsuficientAmountLocked"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"type":"error","name":"OwnableInvalidOwner"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"type":"error","name":"OwnableUnauthorizedAccount"},{"inputs":[{"internalType":"string","name":"tokenId","type":"string"}],"type":"error","name":"TokenAlreadyWrapped"},{"inputs":[{"internalType":"string","name":"tokenId","type":"string"}],"type":"error","name":"TokenLocked"},{"inputs":[{"internalType":"string","name":"tokenId","type":"string"}],"type":"error","name":"TokenNotAvailable"},{"inputs":[{"internalType":"string","name":"tokenId","type":"string"}],"type":"error","name":"TokenNotLocked"},{"inputs":[{"internalType":"string","name":"tokenId","type":"string"}],"type":"error","name":"TokenNotUnlocked"},{"inputs":[{"internalType":"string","name":"tokenId","type":"string","indexed":false},{"internalType":"address","name":"receiver_account","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"Assign","anonymous":false},{"inputs":[{"internalType":"string","name":"tokenId","type":"string","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"Burn","anonymous":false},{"inputs":[{"internalType":"string","name":"id","type":"string","indexed":true},{"internalType":"bytes[]","name":"value","type":"bytes[]","indexed":false}],"type":"event","name":"Changed","anonymous":false},{"inputs":[{"internalType":"string","name":"tokenId","type":"string","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"Lock","anonymous":false},{"inputs":[{"internalType":"string","name":"tokenId","type":"string","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"Mint","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"string","name":"tokenId","type":"string","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"Unlock","anonymous":false},{"inputs":[{"internalType":"string","name":"tokenId","type":"string","indexed":false}],"type":"event","name":"Unwrap","anonymous":false},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address","indexed":false},{"internalType":"enum TokenType","name":"tokenType","type":"uint8","indexed":false},{"internalType":"string","name":"tokenId","type":"string","indexed":false},{"internalType":"address","name":"owner","type":"address","indexed":false}],"type":"event","name":"Wrap","anonymous":false},{"inputs":[{"internalType":"string","name":"tokenId","type":"string"},{"internalType":"address","name":"receiver_account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"assign","outputs":[{"internalType":"bool","name":"success","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"bridge_address","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"string","name":"tokenId","type":"string"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"burn","outputs":[{"internalType":"bool","name":"success","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getAllAssetsIDs","outputs":[{"internalType":"string[]","name":"","type":"string[]"}]},{"inputs":[{"internalType":"string","name":"tokenId","type":"string"}],"stateMutability":"view","type":"function","name":"getToken","outputs":[{"internalType":"struct Token","name":"token","type":"tuple","components":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"enum TokenType","name":"tokenType","type":"uint8"},{"internalType":"string","name":"tokenId","type":"string"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}]}]},{"inputs":[{"internalType":"string","name":"tokenId","type":"string"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"lock","outputs":[{"internalType":"bool","name":"success","type":"bool"}]},{"inputs":[{"internalType":"string","name":"tokenId","type":"string"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"mint","outputs":[{"internalType":"bool","name":"success","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function","name":"tokens","outputs":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"enum TokenType","name":"tokenType","type":"uint8"},{"internalType":"string","name":"tokenId","type":"string"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"","type":"string"},{"internalType":"enum InteractionType","name":"","type":"uint8"}],"stateMutability":"view","type":"function","name":"tokensInteractions","outputs":[{"internalType":"enum InteractionType","name":"interactionType","type":"uint8"},{"internalType":"bool","name":"available","type":"bool"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"string","name":"tokenId","type":"string"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"unlock","outputs":[{"internalType":"bool","name":"success","type":"bool"}]},{"inputs":[{"internalType":"string","name":"tokenId","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"unwrap","outputs":[{"internalType":"bool","name":"success","type":"bool"}]},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"enum TokenType","name":"tokenType","type":"uint8"},{"internalType":"string","name":"tokenId","type":"string"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"struct InteractionSignature[]","name":"interactions","type":"tuple[]","components":[{"internalType":"enum InteractionType","name":"interactionType","type":"uint8"},{"internalType":"string[]","name":"functionsSignature","type":"string[]"},{"internalType":"enum VarType[][]","name":"variables","type":"uint8[][]"},{"internalType":"bool","name":"available","type":"bool"}]}],"stateMutability":"nonpayable","type":"function","name":"wrap","outputs":[{"internalType":"bool","name":"wrapSuccess","type":"bool"}]},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"enum TokenType","name":"tokenType","type":"uint8"},{"internalType":"string","name":"tokenId","type":"string"},{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"wrap","outputs":[{"internalType":"bool","name":"wrapSuccess","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"owner()":{"details":"Returns the address of the current owner."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","hardhat/=node_modules/hardhat/","openzeppelin-solidity/=node_modules/openzeppelin-solidity/","web3js-quorum/=node_modules/web3js-quorum/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/solidity/satp-wrapper.sol":"SATPWrapperContract"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/access/Ownable.sol":{"keccak256":"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb","urls":["bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6","dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2","urls":["bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12","dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Strings.sol":{"keccak256":"0x55f102ea785d8399c0e58d1108e2d289506dde18abc6db1b7f68c1f9f9bc5792","urls":["bzz-raw://6e52e0a7765c943ef14e5bcf11e46e6139fa044be564881378349236bf2e3453","dweb:/ipfs/QmZEeeXoFPW47amyP35gfzomF9DixqqTEPwzBakv6cZw6i"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/Math.sol":{"keccak256":"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d","urls":["bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875","dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol":{"keccak256":"0x5f7e4076e175393767754387c962926577f1660dd9b810187b9002407656be72","urls":["bzz-raw://7d533a1c97cd43a57cd9c465f7ee8dd0e39ae93a8fb8ff8e5303a356b081cdcc","dweb:/ipfs/QmVBEei6aTnvYNZp2CHYVNKyZS4q1KkjANfY39WVXZXVoT"],"license":"MIT"},"src/solidity/ITraceableContract.sol":{"keccak256":"0x95d8bedf23010b6a40e6a8f5d55a7d5f67866619de9efcab7fa49eb3d2488612","urls":["bzz-raw://003806e9e19c67b79cf4ec156b31b8515f5a27dad6d73a9d8c3878b1373935c1","dweb:/ipfs/QmYPFBS2C6a1RwLTSEYhNVNUzxkDu4oh7eSs75gAcZ8KA4"],"license":"UNKNOWN"},"src/solidity/satp-wrapper.sol":{"keccak256":"0x12abe1795a374dd19978a26ced996c18da7f074fcb2b3c4c7dd5c1e98bae7e29","urls":["bzz-raw://b2e52c284c9d4a1feb3a7c7291833543278968460082b9d95e8284495056184b","dweb:/ipfs/QmefEsHa57kWSv6XFwmvJpM9FyfFiedHJ1GjQZHpZSEdAC"],"license":"GPL-3.0"}},"version":1},"id":7} \ No newline at end of file diff --git a/packages/cactus-plugin-satp-hermes/src/test/solidity/generated/AccessControl.sol/AccessControl.json b/packages/cactus-plugin-satp-hermes/src/test/solidity/generated/AccessControl.sol/AccessControl.json new file mode 100644 index 0000000000..513e66d200 --- /dev/null +++ b/packages/cactus-plugin-satp-hermes/src/test/solidity/generated/AccessControl.sol/AccessControl.json @@ -0,0 +1 @@ +{"abi":[{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"callerConfirmation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AccessControlBadConfirmation","inputs":[]},{"type":"error","name":"AccessControlUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"neededRole","type":"bytes32","internalType":"bytes32"}]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"DEFAULT_ADMIN_ROLE()":"a217fddf","getRoleAdmin(bytes32)":"248a9ca3","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"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\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"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\":\"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\"}],\"devdoc\":{\"details\":\"Contract module that allows children to implement role-based access control mechanisms. This is a lightweight version that doesn't allow enumerating role members except through off-chain means by accessing the contract event logs. Some applications may benefit from on-chain enumerability, for those cases see {AccessControlEnumerable}. Roles are referred to by their `bytes32` identifier. These should be exposed in the external API and be unique. The best way to achieve this is by using `public constant` hash digests: ```solidity bytes32 public constant MY_ROLE = keccak256(\\\"MY_ROLE\\\"); ``` Roles can be used to represent a set of permissions. To restrict access to a function call, use {hasRole}: ```solidity function foo() public { require(hasRole(MY_ROLE, msg.sender)); ... } ``` Roles can be granted and revoked dynamically via the {grantRole} and {revokeRole} functions. Each role has an associated admin role, and only accounts that have a role's admin role can call {grantRole} and {revokeRole}. By default, the admin role for all roles is `DEFAULT_ADMIN_ROLE`, which means that only accounts with this role will be able to grant or revoke other roles. More complex role relationships can be created by using {_setRoleAdmin}. WARNING: The `DEFAULT_ADMIN_ROLE` is also its own admin: it has permission to grant and revoke this role. Extra precautions should be taken to secure accounts that have been granted it. We recommend using {AccessControlDefaultAdminRules} to enforce additional security measures for this role.\",\"errors\":{\"AccessControlBadConfirmation()\":[{\"details\":\"The caller of a function is not the expected one. NOTE: Don't confuse with {AccessControlUnauthorizedAccount}.\"}],\"AccessControlUnauthorizedAccount(address,bytes32)\":[{\"details\":\"The `account` is missing a role.\"}]},\"events\":{\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this.\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"}},\"kind\":\"dev\",\"methods\":{\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `callerConfirmation`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/access/AccessControl.sol\":\"AccessControl\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":hardhat/=node_modules/hardhat/\",\":openzeppelin-solidity/=node_modules/openzeppelin-solidity/\",\":web3js-quorum/=node_modules/web3js-quorum/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/access/AccessControl.sol\":{\"keccak256\":\"0xa0e92d42942f4f57c5be50568dac11e9d00c93efcb458026e18d2d9b9b2e7308\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://46326c0bb1e296b67185e81c918e0b40501b8b6386165855df0a3f3c634b6a80\",\"dweb:/ipfs/QmTwyrDYtsxsk6pymJTK94PnEpzsmkpUxFuzEiakDopy4Z\"]},\"node_modules/@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0x9e8778b14317ba9e256c30a76fd6c32b960af621987f56069e1e819c77c6a133\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1777404f1dcd0fac188e55a288724ec3c67b45288e49cc64723e95e702b49ab8\",\"dweb:/ipfs/QmZFdC626GButBApwDUvvTnUzdinevC3B24d7yyh57XkiA\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"AccessControlBadConfirmation"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"neededRole","type":"bytes32"}],"type":"error","name":"AccessControlUnauthorizedAccount"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"previousAdminRole","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"newAdminRole","type":"bytes32","indexed":true}],"type":"event","name":"RoleAdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleGranted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleRevoked","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"callerConfirmation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"renounceRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeRole"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"getRoleAdmin(bytes32)":{"details":"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."},"grantRole(bytes32,address)":{"details":"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event."},"hasRole(bytes32,address)":{"details":"Returns `true` if `account` has been granted `role`."},"renounceRole(bytes32,address)":{"details":"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `callerConfirmation`. May emit a {RoleRevoked} event."},"revokeRole(bytes32,address)":{"details":"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event."},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","hardhat/=node_modules/hardhat/","openzeppelin-solidity/=node_modules/openzeppelin-solidity/","web3js-quorum/=node_modules/web3js-quorum/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@openzeppelin/contracts/access/AccessControl.sol":"AccessControl"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/access/AccessControl.sol":{"keccak256":"0xa0e92d42942f4f57c5be50568dac11e9d00c93efcb458026e18d2d9b9b2e7308","urls":["bzz-raw://46326c0bb1e296b67185e81c918e0b40501b8b6386165855df0a3f3c634b6a80","dweb:/ipfs/QmTwyrDYtsxsk6pymJTK94PnEpzsmkpUxFuzEiakDopy4Z"],"license":"MIT"},"node_modules/@openzeppelin/contracts/access/IAccessControl.sol":{"keccak256":"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41","urls":["bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26","dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2","urls":["bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12","dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol":{"keccak256":"0x9e8778b14317ba9e256c30a76fd6c32b960af621987f56069e1e819c77c6a133","urls":["bzz-raw://1777404f1dcd0fac188e55a288724ec3c67b45288e49cc64723e95e702b49ab8","dweb:/ipfs/QmZFdC626GButBApwDUvvTnUzdinevC3B24d7yyh57XkiA"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b","urls":["bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df","dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL"],"license":"MIT"}},"version":1},"id":0} \ No newline at end of file diff --git a/packages/cactus-plugin-satp-hermes/src/test/solidity/generated/Context.sol/Context.json b/packages/cactus-plugin-satp-hermes/src/test/solidity/generated/Context.sol/Context.json new file mode 100644 index 0000000000..bacc9c1124 --- /dev/null +++ b/packages/cactus-plugin-satp-hermes/src/test/solidity/generated/Context.sol/Context.json @@ -0,0 +1 @@ +{"abi":[],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Provides information about the current execution context, including the sender of the transaction and its data. While these are generally available via msg.sender and msg.data, they should not be accessed in such a direct manner, since when dealing with meta-transactions the account sending and paying for execution may not be the actual sender (as far as an application is concerned). This contract is only required for intermediate, library-like contracts.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/utils/Context.sol\":\"Context\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":hardhat/=node_modules/hardhat/\",\":openzeppelin-solidity/=node_modules/openzeppelin-solidity/\",\":web3js-quorum/=node_modules/web3js-quorum/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","hardhat/=node_modules/hardhat/","openzeppelin-solidity/=node_modules/openzeppelin-solidity/","web3js-quorum/=node_modules/web3js-quorum/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@openzeppelin/contracts/utils/Context.sol":"Context"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2","urls":["bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12","dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF"],"license":"MIT"}},"version":1},"id":6} \ No newline at end of file diff --git a/packages/cactus-plugin-satp-hermes/src/test/solidity/generated/ERC165.sol/ERC165.json b/packages/cactus-plugin-satp-hermes/src/test/solidity/generated/ERC165.sol/ERC165.json new file mode 100644 index 0000000000..ee441896f8 --- /dev/null +++ b/packages/cactus-plugin-satp-hermes/src/test/solidity/generated/ERC165.sol/ERC165.json @@ -0,0 +1 @@ +{"abi":[{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the {IERC165} interface. Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check for the additional interface id that will be supported. For example: ```solidity function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) { return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId); } ```\",\"kind\":\"dev\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol\":\"ERC165\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":hardhat/=node_modules/hardhat/\",\":openzeppelin-solidity/=node_modules/openzeppelin-solidity/\",\":web3js-quorum/=node_modules/web3js-quorum/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0x9e8778b14317ba9e256c30a76fd6c32b960af621987f56069e1e819c77c6a133\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1777404f1dcd0fac188e55a288724ec3c67b45288e49cc64723e95e702b49ab8\",\"dweb:/ipfs/QmZFdC626GButBApwDUvvTnUzdinevC3B24d7yyh57XkiA\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","hardhat/=node_modules/hardhat/","openzeppelin-solidity/=node_modules/openzeppelin-solidity/","web3js-quorum/=node_modules/web3js-quorum/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol":"ERC165"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol":{"keccak256":"0x9e8778b14317ba9e256c30a76fd6c32b960af621987f56069e1e819c77c6a133","urls":["bzz-raw://1777404f1dcd0fac188e55a288724ec3c67b45288e49cc64723e95e702b49ab8","dweb:/ipfs/QmZFdC626GButBApwDUvvTnUzdinevC3B24d7yyh57XkiA"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b","urls":["bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df","dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL"],"license":"MIT"}},"version":1},"id":8} \ No newline at end of file diff --git a/packages/cactus-plugin-satp-hermes/src/test/solidity/generated/ERC20.sol/ERC20.json b/packages/cactus-plugin-satp-hermes/src/test/solidity/generated/ERC20.sol/ERC20.json new file mode 100644 index 0000000000..aa20313267 --- /dev/null +++ b/packages/cactus-plugin-satp-hermes/src/test/solidity/generated/ERC20.sol/ERC20.json @@ -0,0 +1 @@ +{"abi":[{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"ERC20InsufficientAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"allowance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InsufficientBalance","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InvalidApprover","inputs":[{"name":"approver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidReceiver","inputs":[{"name":"receiver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidSender","inputs":[{"name":"sender","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidSpender","inputs":[{"name":"spender","type":"address","internalType":"address"}]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"allowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSpender\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the {IERC20} interface. This implementation is agnostic to the way tokens are created. This means that a supply mechanism has to be added in a derived contract using {_mint}. TIP: For a detailed writeup see our guide https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How to implement supply mechanisms]. The default value of {decimals} is 18. To change this, you should override this function so it returns a different value. We have followed general OpenZeppelin Contracts guidelines: functions revert instead returning `false` on failure. This behavior is nonetheless conventional and does not conflict with the expectations of ERC20 applications. Additionally, an {Approval} event is emitted on calls to {transferFrom}. This allows applications to reconstruct the allowance for all accounts just by listening to said events. Other implementations of the EIP may not emit these events, as it isn't required by the specification.\",\"errors\":{\"ERC20InsufficientAllowance(address,uint256,uint256)\":[{\"details\":\"Indicates a failure with the `spender`\\u2019s `allowance`. Used in transfers.\",\"params\":{\"allowance\":\"Amount of tokens a `spender` is allowed to operate with.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC20InsufficientBalance(address,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC20InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC20InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidSpender(address)\":[{\"details\":\"Indicates a failure with the `spender` to be approved. Used in approvals.\",\"params\":{\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `value` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"constructor\":{\"details\":\"Sets the values for {name} and {symbol}. All two of these values are immutable: they can only be set once during construction.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `value`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `value`. - the caller must have allowance for ``from``'s tokens of at least `value`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":\"ERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":hardhat/=node_modules/hardhat/\",\":openzeppelin-solidity/=node_modules/openzeppelin-solidity/\",\":web3js-quorum/=node_modules/web3js-quorum/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x60c65f701957fdd6faea1acb0bb45825791d473693ed9ecb34726fdfaa849dd7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea290300e0efc4d901244949dc4d877fd46e6c5e43dc2b26620e8efab3ab803f\",\"dweb:/ipfs/QmcLLJppxKeJWqHxE2CUkcfhuRTgHSn8J4kijcLa5MYhSt\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xc3e1fa9d1987f8d349dfb4d6fe93bf2ca014b52ba335cfac30bfe71e357e6f80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c5703ccdeb7b1d685e375ed719117e9edf2ab4bc544f24f23b0d50ec82257229\",\"dweb:/ipfs/QmTdwkbQq7owpCiyuzE7eh5LrD2ddrBCZ5WHVsWPi1RrTS\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0xaa761817f6cd7892fcf158b3c776b34551cde36f48ff9703d53898bc45a94ea2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ad7c8d4d08938c8dfc43d75a148863fb324b80cf53e0a36f7e5a4ac29008850\",\"dweb:/ipfs/QmcrhfPgVNf5mkdhQvy1pMv51TFokD3Y4Wa5WZhFqVh8UV\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"allowance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"type":"error","name":"ERC20InsufficientAllowance"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"type":"error","name":"ERC20InsufficientBalance"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"type":"error","name":"ERC20InvalidApprover"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"type":"error","name":"ERC20InvalidReceiver"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"type":"error","name":"ERC20InvalidSender"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"type":"error","name":"ERC20InvalidSpender"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"allowance(address,address)":{"details":"See {IERC20-allowance}."},"approve(address,uint256)":{"details":"See {IERC20-approve}. NOTE: If `value` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address."},"balanceOf(address)":{"details":"See {IERC20-balanceOf}."},"constructor":{"details":"Sets the values for {name} and {symbol}. All two of these values are immutable: they can only be set once during construction."},"decimals()":{"details":"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}."},"name()":{"details":"Returns the name of the token."},"symbol()":{"details":"Returns the symbol of the token, usually a shorter version of the name."},"totalSupply()":{"details":"See {IERC20-totalSupply}."},"transfer(address,uint256)":{"details":"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `value`."},"transferFrom(address,address,uint256)":{"details":"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `value`. - the caller must have allowance for ``from``'s tokens of at least `value`."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","hardhat/=node_modules/hardhat/","openzeppelin-solidity/=node_modules/openzeppelin-solidity/","web3js-quorum/=node_modules/web3js-quorum/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol":"ERC20"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol":{"keccak256":"0x60c65f701957fdd6faea1acb0bb45825791d473693ed9ecb34726fdfaa849dd7","urls":["bzz-raw://ea290300e0efc4d901244949dc4d877fd46e6c5e43dc2b26620e8efab3ab803f","dweb:/ipfs/QmcLLJppxKeJWqHxE2CUkcfhuRTgHSn8J4kijcLa5MYhSt"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xc3e1fa9d1987f8d349dfb4d6fe93bf2ca014b52ba335cfac30bfe71e357e6f80","urls":["bzz-raw://c5703ccdeb7b1d685e375ed719117e9edf2ab4bc544f24f23b0d50ec82257229","dweb:/ipfs/QmTdwkbQq7owpCiyuzE7eh5LrD2ddrBCZ5WHVsWPi1RrTS"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol":{"keccak256":"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70","urls":["bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c","dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0xaa761817f6cd7892fcf158b3c776b34551cde36f48ff9703d53898bc45a94ea2","urls":["bzz-raw://0ad7c8d4d08938c8dfc43d75a148863fb324b80cf53e0a36f7e5a4ac29008850","dweb:/ipfs/QmcrhfPgVNf5mkdhQvy1pMv51TFokD3Y4Wa5WZhFqVh8UV"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2","urls":["bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12","dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF"],"license":"MIT"}},"version":1},"id":3} \ No newline at end of file diff --git a/packages/cactus-plugin-satp-hermes/src/test/solidity/generated/IAccessControl.sol/IAccessControl.json b/packages/cactus-plugin-satp-hermes/src/test/solidity/generated/IAccessControl.sol/IAccessControl.json new file mode 100644 index 0000000000..791f1bdfbe --- /dev/null +++ b/packages/cactus-plugin-satp-hermes/src/test/solidity/generated/IAccessControl.sol/IAccessControl.json @@ -0,0 +1 @@ +{"abi":[{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"callerConfirmation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AccessControlBadConfirmation","inputs":[]},{"type":"error","name":"AccessControlUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"neededRole","type":"bytes32","internalType":"bytes32"}]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"getRoleAdmin(bytes32)":"248a9ca3","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"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\"},{\"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\":\"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\"}],\"devdoc\":{\"details\":\"External interface of AccessControl declared to support ERC165 detection.\",\"errors\":{\"AccessControlBadConfirmation()\":[{\"details\":\"The caller of a function is not the expected one. NOTE: Don't confuse with {AccessControlUnauthorizedAccount}.\"}],\"AccessControlUnauthorizedAccount(address,bytes32)\":[{\"details\":\"The `account` is missing a role.\"}]},\"events\":{\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this.\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"}},\"kind\":\"dev\",\"methods\":{\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {AccessControl-_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `callerConfirmation`.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/access/IAccessControl.sol\":\"IAccessControl\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":hardhat/=node_modules/hardhat/\",\":openzeppelin-solidity/=node_modules/openzeppelin-solidity/\",\":web3js-quorum/=node_modules/web3js-quorum/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"AccessControlBadConfirmation"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"neededRole","type":"bytes32"}],"type":"error","name":"AccessControlUnauthorizedAccount"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"previousAdminRole","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"newAdminRole","type":"bytes32","indexed":true}],"type":"event","name":"RoleAdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleGranted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleRevoked","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"callerConfirmation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"renounceRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeRole"}],"devdoc":{"kind":"dev","methods":{"getRoleAdmin(bytes32)":{"details":"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {AccessControl-_setRoleAdmin}."},"grantRole(bytes32,address)":{"details":"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role."},"hasRole(bytes32,address)":{"details":"Returns `true` if `account` has been granted `role`."},"renounceRole(bytes32,address)":{"details":"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `callerConfirmation`."},"revokeRole(bytes32,address)":{"details":"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","hardhat/=node_modules/hardhat/","openzeppelin-solidity/=node_modules/openzeppelin-solidity/","web3js-quorum/=node_modules/web3js-quorum/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@openzeppelin/contracts/access/IAccessControl.sol":"IAccessControl"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/access/IAccessControl.sol":{"keccak256":"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41","urls":["bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26","dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH"],"license":"MIT"}},"version":1},"id":1} \ No newline at end of file diff --git a/packages/cactus-plugin-satp-hermes/src/test/solidity/generated/IERC165.sol/IERC165.json b/packages/cactus-plugin-satp-hermes/src/test/solidity/generated/IERC165.sol/IERC165.json new file mode 100644 index 0000000000..30a0fe04c9 --- /dev/null +++ b/packages/cactus-plugin-satp-hermes/src/test/solidity/generated/IERC165.sol/IERC165.json @@ -0,0 +1 @@ +{"abi":[{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC165 standard, as defined in the https://eips.ethereum.org/EIPS/eip-165[EIP]. Implementers can declare support of contract interfaces, which can then be queried by others ({ERC165Checker}). For an implementation, see {ERC165}.\",\"kind\":\"dev\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":\"IERC165\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":hardhat/=node_modules/hardhat/\",\":openzeppelin-solidity/=node_modules/openzeppelin-solidity/\",\":web3js-quorum/=node_modules/web3js-quorum/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"supportsInterface(bytes4)":{"details":"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","hardhat/=node_modules/hardhat/","openzeppelin-solidity/=node_modules/openzeppelin-solidity/","web3js-quorum/=node_modules/web3js-quorum/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":"IERC165"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b","urls":["bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df","dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL"],"license":"MIT"}},"version":1},"id":9} \ No newline at end of file diff --git a/packages/cactus-plugin-satp-hermes/src/test/solidity/generated/IERC20.sol/IERC20.json b/packages/cactus-plugin-satp-hermes/src/test/solidity/generated/IERC20.sol/IERC20.json new file mode 100644 index 0000000000..5384bded8f --- /dev/null +++ b/packages/cactus-plugin-satp-hermes/src/test/solidity/generated/IERC20.sol/IERC20.json @@ -0,0 +1 @@ +{"abi":[{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC20 standard as defined in the EIP.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets a `value` amount of tokens as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the value of tokens owned by `account`.\"},\"totalSupply()\":{\"details\":\"Returns the value of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves a `value` amount of tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves a `value` amount of tokens from `from` to `to` using the allowance mechanism. `value` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":\"IERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":hardhat/=node_modules/hardhat/\",\":openzeppelin-solidity/=node_modules/openzeppelin-solidity/\",\":web3js-quorum/=node_modules/web3js-quorum/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"allowance(address,address)":{"details":"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called."},"approve(address,uint256)":{"details":"Sets a `value` amount of tokens as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event."},"balanceOf(address)":{"details":"Returns the value of tokens owned by `account`."},"totalSupply()":{"details":"Returns the value of tokens in existence."},"transfer(address,uint256)":{"details":"Moves a `value` amount of tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."},"transferFrom(address,address,uint256)":{"details":"Moves a `value` amount of tokens from `from` to `to` using the allowance mechanism. `value` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","hardhat/=node_modules/hardhat/","openzeppelin-solidity/=node_modules/openzeppelin-solidity/","web3js-quorum/=node_modules/web3js-quorum/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol":"IERC20"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol":{"keccak256":"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70","urls":["bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c","dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq"],"license":"MIT"}},"version":1},"id":4} \ No newline at end of file diff --git a/packages/cactus-plugin-satp-hermes/src/test/solidity/generated/IERC20Metadata.sol/IERC20Metadata.json b/packages/cactus-plugin-satp-hermes/src/test/solidity/generated/IERC20Metadata.sol/IERC20Metadata.json new file mode 100644 index 0000000000..07229e1a56 --- /dev/null +++ b/packages/cactus-plugin-satp-hermes/src/test/solidity/generated/IERC20Metadata.sol/IERC20Metadata.json @@ -0,0 +1 @@ +{"abi":[{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface for the optional metadata functions from the ERC20 standard.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets a `value` amount of tokens as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the value of tokens owned by `account`.\"},\"decimals()\":{\"details\":\"Returns the decimals places of the token.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token.\"},\"totalSupply()\":{\"details\":\"Returns the value of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves a `value` amount of tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves a `value` amount of tokens from `from` to `to` using the allowance mechanism. `value` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":\"IERC20Metadata\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":hardhat/=node_modules/hardhat/\",\":openzeppelin-solidity/=node_modules/openzeppelin-solidity/\",\":web3js-quorum/=node_modules/web3js-quorum/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0xaa761817f6cd7892fcf158b3c776b34551cde36f48ff9703d53898bc45a94ea2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ad7c8d4d08938c8dfc43d75a148863fb324b80cf53e0a36f7e5a4ac29008850\",\"dweb:/ipfs/QmcrhfPgVNf5mkdhQvy1pMv51TFokD3Y4Wa5WZhFqVh8UV\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"allowance(address,address)":{"details":"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called."},"approve(address,uint256)":{"details":"Sets a `value` amount of tokens as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event."},"balanceOf(address)":{"details":"Returns the value of tokens owned by `account`."},"decimals()":{"details":"Returns the decimals places of the token."},"name()":{"details":"Returns the name of the token."},"symbol()":{"details":"Returns the symbol of the token."},"totalSupply()":{"details":"Returns the value of tokens in existence."},"transfer(address,uint256)":{"details":"Moves a `value` amount of tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."},"transferFrom(address,address,uint256)":{"details":"Moves a `value` amount of tokens from `from` to `to` using the allowance mechanism. `value` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","hardhat/=node_modules/hardhat/","openzeppelin-solidity/=node_modules/openzeppelin-solidity/","web3js-quorum/=node_modules/web3js-quorum/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol":"IERC20Metadata"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol":{"keccak256":"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70","urls":["bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c","dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0xaa761817f6cd7892fcf158b3c776b34551cde36f48ff9703d53898bc45a94ea2","urls":["bzz-raw://0ad7c8d4d08938c8dfc43d75a148863fb324b80cf53e0a36f7e5a4ac29008850","dweb:/ipfs/QmcrhfPgVNf5mkdhQvy1pMv51TFokD3Y4Wa5WZhFqVh8UV"],"license":"MIT"}},"version":1},"id":5} \ No newline at end of file diff --git a/packages/cactus-plugin-satp-hermes/src/test/solidity/generated/ITraceableContract.sol/ITraceableContract.json b/packages/cactus-plugin-satp-hermes/src/test/solidity/generated/ITraceableContract.sol/ITraceableContract.json new file mode 100644 index 0000000000..a146e1a378 --- /dev/null +++ b/packages/cactus-plugin-satp-hermes/src/test/solidity/generated/ITraceableContract.sol/ITraceableContract.json @@ -0,0 +1 @@ +{"abi":[{"type":"function","name":"getAllAssetsIDs","inputs":[],"outputs":[{"name":"","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"event","name":"Changed","inputs":[{"name":"id","type":"string","indexed":true,"internalType":"string"},{"name":"value","type":"bytes[]","indexed":false,"internalType":"bytes[]"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"getAllAssetsIDs()":"5137b8a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"string\",\"name\":\"id\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes[]\",\"name\":\"value\",\"type\":\"bytes[]\"}],\"name\":\"Changed\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"getAllAssetsIDs\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/test/solidity/contracts/ITraceableContract.sol\":\"ITraceableContract\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":hardhat/=node_modules/hardhat/\",\":openzeppelin-solidity/=node_modules/openzeppelin-solidity/\",\":web3js-quorum/=node_modules/web3js-quorum/\"]},\"sources\":{\"src/test/solidity/contracts/ITraceableContract.sol\":{\"keccak256\":\"0x95d8bedf23010b6a40e6a8f5d55a7d5f67866619de9efcab7fa49eb3d2488612\",\"license\":\"UNKNOWN\",\"urls\":[\"bzz-raw://003806e9e19c67b79cf4ec156b31b8515f5a27dad6d73a9d8c3878b1373935c1\",\"dweb:/ipfs/QmYPFBS2C6a1RwLTSEYhNVNUzxkDu4oh7eSs75gAcZ8KA4\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"id","type":"string","indexed":true},{"internalType":"bytes[]","name":"value","type":"bytes[]","indexed":false}],"type":"event","name":"Changed","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"getAllAssetsIDs","outputs":[{"internalType":"string[]","name":"","type":"string[]"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","hardhat/=node_modules/hardhat/","openzeppelin-solidity/=node_modules/openzeppelin-solidity/","web3js-quorum/=node_modules/web3js-quorum/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/test/solidity/contracts/ITraceableContract.sol":"ITraceableContract"},"evmVersion":"paris","libraries":{}},"sources":{"src/test/solidity/contracts/ITraceableContract.sol":{"keccak256":"0x95d8bedf23010b6a40e6a8f5d55a7d5f67866619de9efcab7fa49eb3d2488612","urls":["bzz-raw://003806e9e19c67b79cf4ec156b31b8515f5a27dad6d73a9d8c3878b1373935c1","dweb:/ipfs/QmYPFBS2C6a1RwLTSEYhNVNUzxkDu4oh7eSs75gAcZ8KA4"],"license":"UNKNOWN"}},"version":1},"id":12} \ No newline at end of file diff --git a/packages/cactus-plugin-satp-hermes/src/test/solidity/generated/Math.sol/Math.json b/packages/cactus-plugin-satp-hermes/src/test/solidity/generated/Math.sol/Math.json new file mode 100644 index 0000000000..53313e9845 --- /dev/null +++ b/packages/cactus-plugin-satp-hermes/src/test/solidity/generated/Math.sol/Math.json @@ -0,0 +1 @@ +{"abi":[{"type":"error","name":"MathOverflowedMulDiv","inputs":[]}],"bytecode":{"object":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220ded3e8bc0679fcce2816c02dfd528b8736823a3e41892597fda4fd183761d13064736f6c63430008140033","sourceMap":"203:14914:10:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;203:14914:10;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220ded3e8bc0679fcce2816c02dfd528b8736823a3e41892597fda4fd183761d13064736f6c63430008140033","sourceMap":"203:14914:10:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"MathOverflowedMulDiv\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"Standard math utilities missing in the Solidity language.\",\"errors\":{\"MathOverflowedMulDiv()\":[{\"details\":\"Muldiv operation overflow.\"}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":\"Math\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":hardhat/=node_modules/hardhat/\",\":openzeppelin-solidity/=node_modules/openzeppelin-solidity/\",\":web3js-quorum/=node_modules/web3js-quorum/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"MathOverflowedMulDiv"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","hardhat/=node_modules/hardhat/","openzeppelin-solidity/=node_modules/openzeppelin-solidity/","web3js-quorum/=node_modules/web3js-quorum/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@openzeppelin/contracts/utils/math/Math.sol":"Math"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/utils/math/Math.sol":{"keccak256":"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d","urls":["bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875","dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L"],"license":"MIT"}},"version":1},"id":10} \ No newline at end of file diff --git a/packages/cactus-plugin-satp-hermes/src/test/solidity/generated/SignedMath.sol/SignedMath.json b/packages/cactus-plugin-satp-hermes/src/test/solidity/generated/SignedMath.sol/SignedMath.json new file mode 100644 index 0000000000..57693e62d9 --- /dev/null +++ b/packages/cactus-plugin-satp-hermes/src/test/solidity/generated/SignedMath.sol/SignedMath.json @@ -0,0 +1 @@ +{"abi":[],"bytecode":{"object":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220e5ae67f1789a47f54dce4fcb694aee9d701ca31c03d35dd9c4229bf994f6871464736f6c63430008140033","sourceMap":"216:1047:11:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;216:1047:11;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220e5ae67f1789a47f54dce4fcb694aee9d701ca31c03d35dd9c4229bf994f6871464736f6c63430008140033","sourceMap":"216:1047:11:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Standard signed math utilities missing in the Solidity language.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol\":\"SignedMath\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":hardhat/=node_modules/hardhat/\",\":openzeppelin-solidity/=node_modules/openzeppelin-solidity/\",\":web3js-quorum/=node_modules/web3js-quorum/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0x5f7e4076e175393767754387c962926577f1660dd9b810187b9002407656be72\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d533a1c97cd43a57cd9c465f7ee8dd0e39ae93a8fb8ff8e5303a356b081cdcc\",\"dweb:/ipfs/QmVBEei6aTnvYNZp2CHYVNKyZS4q1KkjANfY39WVXZXVoT\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","hardhat/=node_modules/hardhat/","openzeppelin-solidity/=node_modules/openzeppelin-solidity/","web3js-quorum/=node_modules/web3js-quorum/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol":"SignedMath"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol":{"keccak256":"0x5f7e4076e175393767754387c962926577f1660dd9b810187b9002407656be72","urls":["bzz-raw://7d533a1c97cd43a57cd9c465f7ee8dd0e39ae93a8fb8ff8e5303a356b081cdcc","dweb:/ipfs/QmVBEei6aTnvYNZp2CHYVNKyZS4q1KkjANfY39WVXZXVoT"],"license":"MIT"}},"version":1},"id":11} \ No newline at end of file diff --git a/packages/cactus-plugin-satp-hermes/src/test/solidity/generated/Strings.sol/Strings.json b/packages/cactus-plugin-satp-hermes/src/test/solidity/generated/Strings.sol/Strings.json new file mode 100644 index 0000000000..47e06f9293 --- /dev/null +++ b/packages/cactus-plugin-satp-hermes/src/test/solidity/generated/Strings.sol/Strings.json @@ -0,0 +1 @@ +{"abi":[{"type":"error","name":"StringsInsufficientHexLength","inputs":[{"name":"value","type":"uint256","internalType":"uint256"},{"name":"length","type":"uint256","internalType":"uint256"}]}],"bytecode":{"object":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212200d25eac5768461b9b89befb063ab5993ce9a534edc3a14e3ebf3630f2bab43ac64736f6c63430008140033","sourceMap":"251:2847:7:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;251:2847:7;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212200d25eac5768461b9b89befb063ab5993ce9a534edc3a14e3ebf3630f2bab43ac64736f6c63430008140033","sourceMap":"251:2847:7:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"StringsInsufficientHexLength\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"String operations.\",\"errors\":{\"StringsInsufficientHexLength(uint256,uint256)\":[{\"details\":\"The `value` string doesn't fit in the specified `length`.\"}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":\"Strings\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":hardhat/=node_modules/hardhat/\",\":openzeppelin-solidity/=node_modules/openzeppelin-solidity/\",\":web3js-quorum/=node_modules/web3js-quorum/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x55f102ea785d8399c0e58d1108e2d289506dde18abc6db1b7f68c1f9f9bc5792\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e52e0a7765c943ef14e5bcf11e46e6139fa044be564881378349236bf2e3453\",\"dweb:/ipfs/QmZEeeXoFPW47amyP35gfzomF9DixqqTEPwzBakv6cZw6i\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0x5f7e4076e175393767754387c962926577f1660dd9b810187b9002407656be72\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d533a1c97cd43a57cd9c465f7ee8dd0e39ae93a8fb8ff8e5303a356b081cdcc\",\"dweb:/ipfs/QmVBEei6aTnvYNZp2CHYVNKyZS4q1KkjANfY39WVXZXVoT\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"StringsInsufficientHexLength"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","hardhat/=node_modules/hardhat/","openzeppelin-solidity/=node_modules/openzeppelin-solidity/","web3js-quorum/=node_modules/web3js-quorum/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@openzeppelin/contracts/utils/Strings.sol":"Strings"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/utils/Strings.sol":{"keccak256":"0x55f102ea785d8399c0e58d1108e2d289506dde18abc6db1b7f68c1f9f9bc5792","urls":["bzz-raw://6e52e0a7765c943ef14e5bcf11e46e6139fa044be564881378349236bf2e3453","dweb:/ipfs/QmZEeeXoFPW47amyP35gfzomF9DixqqTEPwzBakv6cZw6i"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/Math.sol":{"keccak256":"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d","urls":["bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875","dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol":{"keccak256":"0x5f7e4076e175393767754387c962926577f1660dd9b810187b9002407656be72","urls":["bzz-raw://7d533a1c97cd43a57cd9c465f7ee8dd0e39ae93a8fb8ff8e5303a356b081cdcc","dweb:/ipfs/QmVBEei6aTnvYNZp2CHYVNKyZS4q1KkjANfY39WVXZXVoT"],"license":"MIT"}},"version":1},"id":7} \ No newline at end of file diff --git a/packages/cactus-plugin-satp-hermes/src/test/solidity/generated/build-info/707a9b7be39daaaf674e343568be37c1.json b/packages/cactus-plugin-satp-hermes/src/test/solidity/generated/build-info/707a9b7be39daaaf674e343568be37c1.json new file mode 100644 index 0000000000..042f29bd74 --- /dev/null +++ b/packages/cactus-plugin-satp-hermes/src/test/solidity/generated/build-info/707a9b7be39daaaf674e343568be37c1.json @@ -0,0 +1 @@ +{"id":"707a9b7be39daaaf674e343568be37c1","source_id_to_path":{"0":"node_modules/@openzeppelin/contracts/access/AccessControl.sol","1":"node_modules/@openzeppelin/contracts/access/IAccessControl.sol","2":"node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol","3":"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol","4":"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol","5":"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol","6":"node_modules/@openzeppelin/contracts/utils/Context.sol","7":"node_modules/@openzeppelin/contracts/utils/Strings.sol","8":"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol","9":"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol","10":"node_modules/@openzeppelin/contracts/utils/math/Math.sol","11":"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol","12":"src/test/solidity/contracts/ITraceableContract.sol","13":"src/test/solidity/contracts/satp-contract-interface.sol","14":"src/test/solidity/contracts/satp-erc20.sol"},"language":"Solidity"} \ No newline at end of file diff --git a/packages/cactus-plugin-satp-hermes/src/test/solidity/generated/build-info/84d52643d45e1addd104736585542010.json b/packages/cactus-plugin-satp-hermes/src/test/solidity/generated/build-info/84d52643d45e1addd104736585542010.json new file mode 100644 index 0000000000..480d9452fc --- /dev/null +++ b/packages/cactus-plugin-satp-hermes/src/test/solidity/generated/build-info/84d52643d45e1addd104736585542010.json @@ -0,0 +1 @@ +{"id":"84d52643d45e1addd104736585542010","source_id_to_path":{"0":"node_modules/@openzeppelin/contracts/access/AccessControl.sol","1":"node_modules/@openzeppelin/contracts/access/IAccessControl.sol","2":"node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol","3":"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol","4":"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol","5":"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol","6":"node_modules/@openzeppelin/contracts/utils/Context.sol","7":"node_modules/@openzeppelin/contracts/utils/Strings.sol","8":"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol","9":"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol","10":"node_modules/@openzeppelin/contracts/utils/math/Math.sol","11":"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol","12":"src/test/solidity/contracts/ITraceableContract.sol","13":"src/test/solidity/contracts/satp-contract-interface.sol","14":"src/test/solidity/contracts/satp-erc20.sol"},"language":"Solidity"} \ No newline at end of file diff --git a/packages/cactus-plugin-satp-hermes/src/test/solidity/generated/draft-IERC6093.sol/IERC1155Errors.json b/packages/cactus-plugin-satp-hermes/src/test/solidity/generated/draft-IERC6093.sol/IERC1155Errors.json new file mode 100644 index 0000000000..53636f677f --- /dev/null +++ b/packages/cactus-plugin-satp-hermes/src/test/solidity/generated/draft-IERC6093.sol/IERC1155Errors.json @@ -0,0 +1 @@ +{"abi":[{"type":"error","name":"ERC1155InsufficientBalance","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"},{"name":"tokenId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC1155InvalidApprover","inputs":[{"name":"approver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1155InvalidArrayLength","inputs":[{"name":"idsLength","type":"uint256","internalType":"uint256"},{"name":"valuesLength","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC1155InvalidOperator","inputs":[{"name":"operator","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1155InvalidReceiver","inputs":[{"name":"receiver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1155InvalidSender","inputs":[{"name":"sender","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1155MissingApprovalForAll","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"owner","type":"address","internalType":"address"}]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC1155InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC1155InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"idsLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"valuesLength\",\"type\":\"uint256\"}],\"name\":\"ERC1155InvalidArrayLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"ERC1155InvalidOperator\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC1155InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC1155InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC1155MissingApprovalForAll\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"Standard ERC1155 Errors Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC1155 tokens.\",\"errors\":{\"ERC1155InsufficientBalance(address,uint256,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\",\"tokenId\":\"Identifier number of a token.\"}}],\"ERC1155InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC1155InvalidArrayLength(uint256,uint256)\":[{\"details\":\"Indicates an array length mismatch between ids and values in a safeBatchTransferFrom operation. Used in batch transfers.\",\"params\":{\"idsLength\":\"Length of the array of token identifiers\",\"valuesLength\":\"Length of the array of token amounts\"}}],\"ERC1155InvalidOperator(address)\":[{\"details\":\"Indicates a failure with the `operator` to be approved. Used in approvals.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC1155InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC1155InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC1155MissingApprovalForAll(address,address)\":[{\"details\":\"Indicates a failure with the `operator`\\u2019s approval. Used in transfers.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\",\"owner\":\"Address of the current owner of a token.\"}}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":\"IERC1155Errors\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":hardhat/=node_modules/hardhat/\",\":openzeppelin-solidity/=node_modules/openzeppelin-solidity/\",\":web3js-quorum/=node_modules/web3js-quorum/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x60c65f701957fdd6faea1acb0bb45825791d473693ed9ecb34726fdfaa849dd7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea290300e0efc4d901244949dc4d877fd46e6c5e43dc2b26620e8efab3ab803f\",\"dweb:/ipfs/QmcLLJppxKeJWqHxE2CUkcfhuRTgHSn8J4kijcLa5MYhSt\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"type":"error","name":"ERC1155InsufficientBalance"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"type":"error","name":"ERC1155InvalidApprover"},{"inputs":[{"internalType":"uint256","name":"idsLength","type":"uint256"},{"internalType":"uint256","name":"valuesLength","type":"uint256"}],"type":"error","name":"ERC1155InvalidArrayLength"},{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"type":"error","name":"ERC1155InvalidOperator"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"type":"error","name":"ERC1155InvalidReceiver"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"type":"error","name":"ERC1155InvalidSender"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"address","name":"owner","type":"address"}],"type":"error","name":"ERC1155MissingApprovalForAll"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","hardhat/=node_modules/hardhat/","openzeppelin-solidity/=node_modules/openzeppelin-solidity/","web3js-quorum/=node_modules/web3js-quorum/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol":"IERC1155Errors"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol":{"keccak256":"0x60c65f701957fdd6faea1acb0bb45825791d473693ed9ecb34726fdfaa849dd7","urls":["bzz-raw://ea290300e0efc4d901244949dc4d877fd46e6c5e43dc2b26620e8efab3ab803f","dweb:/ipfs/QmcLLJppxKeJWqHxE2CUkcfhuRTgHSn8J4kijcLa5MYhSt"],"license":"MIT"}},"version":1},"id":2} \ No newline at end of file diff --git a/packages/cactus-plugin-satp-hermes/src/test/solidity/generated/draft-IERC6093.sol/IERC20Errors.json b/packages/cactus-plugin-satp-hermes/src/test/solidity/generated/draft-IERC6093.sol/IERC20Errors.json new file mode 100644 index 0000000000..5694de72c9 --- /dev/null +++ b/packages/cactus-plugin-satp-hermes/src/test/solidity/generated/draft-IERC6093.sol/IERC20Errors.json @@ -0,0 +1 @@ +{"abi":[{"type":"error","name":"ERC20InsufficientAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"allowance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InsufficientBalance","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InvalidApprover","inputs":[{"name":"approver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidReceiver","inputs":[{"name":"receiver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidSender","inputs":[{"name":"sender","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidSpender","inputs":[{"name":"spender","type":"address","internalType":"address"}]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"allowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSpender\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"Standard ERC20 Errors Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC20 tokens.\",\"errors\":{\"ERC20InsufficientAllowance(address,uint256,uint256)\":[{\"details\":\"Indicates a failure with the `spender`\\u2019s `allowance`. Used in transfers.\",\"params\":{\"allowance\":\"Amount of tokens a `spender` is allowed to operate with.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC20InsufficientBalance(address,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC20InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC20InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidSpender(address)\":[{\"details\":\"Indicates a failure with the `spender` to be approved. Used in approvals.\",\"params\":{\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":\"IERC20Errors\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":hardhat/=node_modules/hardhat/\",\":openzeppelin-solidity/=node_modules/openzeppelin-solidity/\",\":web3js-quorum/=node_modules/web3js-quorum/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x60c65f701957fdd6faea1acb0bb45825791d473693ed9ecb34726fdfaa849dd7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea290300e0efc4d901244949dc4d877fd46e6c5e43dc2b26620e8efab3ab803f\",\"dweb:/ipfs/QmcLLJppxKeJWqHxE2CUkcfhuRTgHSn8J4kijcLa5MYhSt\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"allowance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"type":"error","name":"ERC20InsufficientAllowance"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"type":"error","name":"ERC20InsufficientBalance"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"type":"error","name":"ERC20InvalidApprover"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"type":"error","name":"ERC20InvalidReceiver"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"type":"error","name":"ERC20InvalidSender"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"type":"error","name":"ERC20InvalidSpender"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","hardhat/=node_modules/hardhat/","openzeppelin-solidity/=node_modules/openzeppelin-solidity/","web3js-quorum/=node_modules/web3js-quorum/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol":"IERC20Errors"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol":{"keccak256":"0x60c65f701957fdd6faea1acb0bb45825791d473693ed9ecb34726fdfaa849dd7","urls":["bzz-raw://ea290300e0efc4d901244949dc4d877fd46e6c5e43dc2b26620e8efab3ab803f","dweb:/ipfs/QmcLLJppxKeJWqHxE2CUkcfhuRTgHSn8J4kijcLa5MYhSt"],"license":"MIT"}},"version":1},"id":2} \ No newline at end of file diff --git a/packages/cactus-plugin-satp-hermes/src/test/solidity/generated/draft-IERC6093.sol/IERC721Errors.json b/packages/cactus-plugin-satp-hermes/src/test/solidity/generated/draft-IERC6093.sol/IERC721Errors.json new file mode 100644 index 0000000000..df81b48cb5 --- /dev/null +++ b/packages/cactus-plugin-satp-hermes/src/test/solidity/generated/draft-IERC6093.sol/IERC721Errors.json @@ -0,0 +1 @@ +{"abi":[{"type":"error","name":"ERC721IncorrectOwner","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"ERC721InsufficientApproval","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC721InvalidApprover","inputs":[{"name":"approver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC721InvalidOperator","inputs":[{"name":"operator","type":"address","internalType":"address"}]},{"type":"error","name":"ERC721InvalidOwner","inputs":[{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"ERC721InvalidReceiver","inputs":[{"name":"receiver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC721InvalidSender","inputs":[{"name":"sender","type":"address","internalType":"address"}]},{"type":"error","name":"ERC721NonexistentToken","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC721IncorrectOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC721InsufficientApproval\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC721InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"ERC721InvalidOperator\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC721InvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC721InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC721InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC721NonexistentToken\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"Standard ERC721 Errors Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC721 tokens.\",\"errors\":{\"ERC721IncorrectOwner(address,uint256,address)\":[{\"details\":\"Indicates an error related to the ownership over a particular token. Used in transfers.\",\"params\":{\"owner\":\"Address of the current owner of a token.\",\"sender\":\"Address whose tokens are being transferred.\",\"tokenId\":\"Identifier number of a token.\"}}],\"ERC721InsufficientApproval(address,uint256)\":[{\"details\":\"Indicates a failure with the `operator`\\u2019s approval. Used in transfers.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\",\"tokenId\":\"Identifier number of a token.\"}}],\"ERC721InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC721InvalidOperator(address)\":[{\"details\":\"Indicates a failure with the `operator` to be approved. Used in approvals.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC721InvalidOwner(address)\":[{\"details\":\"Indicates that an address can't be an owner. For example, `address(0)` is a forbidden owner in EIP-20. Used in balance queries.\",\"params\":{\"owner\":\"Address of the current owner of a token.\"}}],\"ERC721InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC721InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC721NonexistentToken(uint256)\":[{\"details\":\"Indicates a `tokenId` whose `owner` is the zero address.\",\"params\":{\"tokenId\":\"Identifier number of a token.\"}}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":\"IERC721Errors\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":hardhat/=node_modules/hardhat/\",\":openzeppelin-solidity/=node_modules/openzeppelin-solidity/\",\":web3js-quorum/=node_modules/web3js-quorum/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x60c65f701957fdd6faea1acb0bb45825791d473693ed9ecb34726fdfaa849dd7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea290300e0efc4d901244949dc4d877fd46e6c5e43dc2b26620e8efab3ab803f\",\"dweb:/ipfs/QmcLLJppxKeJWqHxE2CUkcfhuRTgHSn8J4kijcLa5MYhSt\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"address","name":"owner","type":"address"}],"type":"error","name":"ERC721IncorrectOwner"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"type":"error","name":"ERC721InsufficientApproval"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"type":"error","name":"ERC721InvalidApprover"},{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"type":"error","name":"ERC721InvalidOperator"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"type":"error","name":"ERC721InvalidOwner"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"type":"error","name":"ERC721InvalidReceiver"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"type":"error","name":"ERC721InvalidSender"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"type":"error","name":"ERC721NonexistentToken"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","hardhat/=node_modules/hardhat/","openzeppelin-solidity/=node_modules/openzeppelin-solidity/","web3js-quorum/=node_modules/web3js-quorum/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol":"IERC721Errors"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol":{"keccak256":"0x60c65f701957fdd6faea1acb0bb45825791d473693ed9ecb34726fdfaa849dd7","urls":["bzz-raw://ea290300e0efc4d901244949dc4d877fd46e6c5e43dc2b26620e8efab3ab803f","dweb:/ipfs/QmcLLJppxKeJWqHxE2CUkcfhuRTgHSn8J4kijcLa5MYhSt"],"license":"MIT"}},"version":1},"id":2} \ No newline at end of file diff --git a/packages/cactus-plugin-satp-hermes/src/test/solidity/generated/satp-contract-interface.sol/SATPContractInterface.json b/packages/cactus-plugin-satp-hermes/src/test/solidity/generated/satp-contract-interface.sol/SATPContractInterface.json new file mode 100644 index 0000000000..4f8edb48f5 --- /dev/null +++ b/packages/cactus-plugin-satp-hermes/src/test/solidity/generated/satp-contract-interface.sol/SATPContractInterface.json @@ -0,0 +1 @@ +{"abi":[{"type":"function","name":"assign","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"recipient","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"burn","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"hasPermission","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"mint","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transfer","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"recipient","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"assign(address,address,uint256)":"5f52d44e","burn(address,uint256)":"9dc29fac","hasPermission(address)":"97128e00","mint(address,uint256)":"40c10f19","transfer(address,address,uint256)":"beabacc8"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"assign\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasPermission\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/test/solidity/contracts/satp-contract-interface.sol\":\"SATPContractInterface\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":hardhat/=node_modules/hardhat/\",\":openzeppelin-solidity/=node_modules/openzeppelin-solidity/\",\":web3js-quorum/=node_modules/web3js-quorum/\"]},\"sources\":{\"src/test/solidity/contracts/satp-contract-interface.sol\":{\"keccak256\":\"0xf2949931c5be30c96e500afc6dd120abb339e64da4fd3efe360755fdfb1806d4\",\"license\":\"UNKNOWN\",\"urls\":[\"bzz-raw://c74fd152ee52bfb3309ea3ef369aca2aa09c4c672849cdc50f05e3875da89378\",\"dweb:/ipfs/Qmb9VUBZGRweWgd4WM9PiFcEijXXyLwbydWUSNKJ3ZPJG3\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"assign","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"burn","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasPermission","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"mint","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","hardhat/=node_modules/hardhat/","openzeppelin-solidity/=node_modules/openzeppelin-solidity/","web3js-quorum/=node_modules/web3js-quorum/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/test/solidity/contracts/satp-contract-interface.sol":"SATPContractInterface"},"evmVersion":"paris","libraries":{}},"sources":{"src/test/solidity/contracts/satp-contract-interface.sol":{"keccak256":"0xf2949931c5be30c96e500afc6dd120abb339e64da4fd3efe360755fdfb1806d4","urls":["bzz-raw://c74fd152ee52bfb3309ea3ef369aca2aa09c4c672849cdc50f05e3875da89378","dweb:/ipfs/Qmb9VUBZGRweWgd4WM9PiFcEijXXyLwbydWUSNKJ3ZPJG3"],"license":"UNKNOWN"}},"version":1},"id":13} \ No newline at end of file diff --git a/packages/cactus-plugin-satp-hermes/src/test/solidity/generated/satp-erc20.sol/SATPContract.json b/packages/cactus-plugin-satp-hermes/src/test/solidity/generated/satp-erc20.sol/SATPContract.json new file mode 100644 index 0000000000..cc4e24965b --- /dev/null +++ b/packages/cactus-plugin-satp-hermes/src/test/solidity/generated/satp-erc20.sol/SATPContract.json @@ -0,0 +1 @@ +{"abi":[{"type":"constructor","inputs":[{"name":"_owner","type":"address","internalType":"address"},{"name":"_id","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"BRIDGE_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"OWNER_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"assign","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"recipient","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"burn","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"checkBalance","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"getAllAssetsIDs","inputs":[],"outputs":[{"name":"","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"getId","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"giveRole","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasPermission","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"id","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"mint","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"callerConfirmation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transfer","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"recipient","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"success","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Changed","inputs":[{"name":"id","type":"string","indexed":true,"internalType":"string"},{"name":"value","type":"bytes[]","indexed":false,"internalType":"bytes[]"}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"AccessControlBadConfirmation","inputs":[]},{"type":"error","name":"AccessControlUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"neededRole","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"ERC20InsufficientAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"allowance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InsufficientBalance","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InvalidApprover","inputs":[{"name":"approver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidReceiver","inputs":[{"name":"receiver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidSender","inputs":[{"name":"sender","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidSpender","inputs":[{"name":"spender","type":"address","internalType":"address"}]},{"type":"error","name":"noPermission","inputs":[{"name":"adr","type":"address","internalType":"address"}]}],"bytecode":{"object":"0x60806040523480156200001157600080fd5b50604051620014a4380380620014a48339810160408190526200003491620001d2565b6040518060400160405280600981526020016829a0aa282a37b5b2b760b91b815250604051806040016040528060048152602001630534154560e41b815250816004908162000084919062000357565b50600562000093828262000357565b505050620000c87fb19546dff01e856fb3f010c267a7b1c60363cf8a4664e21cc89c26224620214e836200010d60201b60201c565b50620000f57f52ba824bfabc2bcfcdf7f0edbb486ebb05e1836c90e78047efeb949990f72e5f836200010d565b50600662000104828262000357565b50505062000423565b6000828152602081815260408083206001600160a01b038516845290915281205460ff16620001b2576000838152602081815260408083206001600160a01b03861684529091529020805460ff19166001179055620001693390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a4506001620001b6565b5060005b92915050565b634e487b7160e01b600052604160045260246000fd5b60008060408385031215620001e657600080fd5b82516001600160a01b0381168114620001fe57600080fd5b602084810151919350906001600160401b03808211156200021e57600080fd5b818601915086601f8301126200023357600080fd5b815181811115620002485762000248620001bc565b604051601f8201601f19908116603f01168101908382118183101715620002735762000273620001bc565b8160405282815289868487010111156200028c57600080fd5b600093505b82841015620002b0578484018601518185018701529285019262000291565b60008684830101528096505050505050509250929050565b600181811c90821680620002dd57607f821691505b602082108103620002fe57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200035257600081815260208120601f850160051c810160208610156200032d5750805b601f850160051c820191505b818110156200034e5782815560010162000339565b5050505b505050565b81516001600160401b03811115620003735762000373620001bc565b6200038b81620003848454620002c8565b8462000304565b602080601f831160018114620003c35760008415620003aa5750858301515b600019600386901b1c1916600185901b1785556200034e565b600085815260208120601f198616915b82811015620003f457888601518255948401946001909101908401620003d3565b5085821015620004135787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b61107180620004336000396000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c806370a08231116100f9578063af640d0f11610097578063c375110d11610071578063c375110d146103a3578063d547741f146103b6578063dd62ed3e146103c9578063e58378bb1461040257600080fd5b8063af640d0f14610373578063b5bfddea1461037b578063beabacc81461039057600080fd5b806397128e00116100d357806397128e00146103325780639dc29fac14610345578063a217fddf14610358578063a9059cbb1461036057600080fd5b806370a08231146102ee57806391d148541461031757806395d89b411461032a57600080fd5b8063313ce567116101665780635137b8a7116101405780635137b8a7146102ab5780635d1ca631146102c05780635f515226146102c85780635f52d44e146102db57600080fd5b8063313ce5671461027657806336568abe1461028557806340c10f191461029857600080fd5b806318160ddd116101a257806318160ddd1461021957806323b872dd1461022b578063248a9ca31461023e5780632f2ff15d1461026157600080fd5b806301ffc9a7146101c957806306fdde03146101f1578063095ea7b314610206575b600080fd5b6101dc6101d7366004610db8565b610429565b60405190151581526020015b60405180910390f35b6101f9610460565b6040516101e89190610e2f565b6101dc610214366004610e5e565b6104f2565b6003545b6040519081526020016101e8565b6101dc610239366004610e88565b61050a565b61021d61024c366004610ec4565b60009081526020819052604090206001015490565b61027461026f366004610edd565b61052e565b005b604051601281526020016101e8565b610274610293366004610edd565b610559565b6101dc6102a6366004610e5e565b610591565b6102b36105b5565b6040516101e89190610f09565b6101f9610695565b61021d6102d6366004610f6b565b6106a4565b6101dc6102e9366004610e88565b6106c2565b61021d6102fc366004610f6b565b6001600160a01b031660009081526001602052604090205490565b6101dc610325366004610edd565b610739565b6101f9610762565b6101dc610340366004610f6b565b610771565b6101dc610353366004610e5e565b6107bc565b61021d600081565b6101dc61036e366004610e5e565b6107e0565b6101f96107ee565b61021d60008051602061101c83398151915281565b6101dc61039e366004610e88565b61087c565b6101dc6103b1366004610f6b565b6108ad565b6102746103c4366004610edd565b6108fd565b61021d6103d7366004610f86565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b61021d7fb19546dff01e856fb3f010c267a7b1c60363cf8a4664e21cc89c26224620214e81565b60006001600160e01b03198216637965db0b60e01b148061045a57506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606004805461046f90610fb0565b80601f016020809104026020016040519081016040528092919081815260200182805461049b90610fb0565b80156104e85780601f106104bd576101008083540402835291602001916104e8565b820191906000526020600020905b8154815290600101906020018083116104cb57829003601f168201915b5050505050905090565b600033610500818585610922565b5060019392505050565b60003361051885828561092f565b6105238585856109a7565b506001949350505050565b60008281526020819052604090206001015461054981610a06565b6105538383610a13565b50505050565b6001600160a01b03811633146105825760405163334bd91960e11b815260040160405180910390fd5b61058c8282610aa5565b505050565b600060008051602061101c8339815191526105ab81610a06565b6105008484610b10565b60408051600180825281830190925260609160009190816020015b60608152602001906001900390816105d0579050509050600680546105f490610fb0565b80601f016020809104026020016040519081016040528092919081815260200182805461062090610fb0565b801561066d5780601f106106425761010080835404028352916020019161066d565b820191906000526020600020905b81548152906001019060200180831161065057829003601f168201915b50505050508160008151811061068557610685610fe4565b6020908102919091010152919050565b60606006805461046f90610fb0565b6001600160a01b03811660009081526001602052604081205461045a565b600060008051602061101c8339815191526106dc81610a06565b6001600160a01b03851633146105185760405162461bcd60e51b815260206004820152601e60248201527f546865206d736753656e646572206973206e6f7420746865206f776e6572000060448201526064015b60405180910390fd5b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b60606005805461046f90610fb0565b600061078b60008051602061101c83398151915283610739565b1561079857506001919050565b604051631aee145f60e01b81526001600160a01b0383166004820152602401610730565b600060008051602061101c8339815191526107d681610a06565b6105008484610b4a565b6000336105008185856109a7565b600680546107fb90610fb0565b80601f016020809104026020016040519081016040528092919081815260200182805461082790610fb0565b80156108745780601f1061084957610100808354040283529160200191610874565b820191906000526020600020905b81548152906001019060200180831161085757829003601f168201915b505050505081565b600060008051602061101c83398151915261089681610a06565b6108a185858561050a565b50600195945050505050565b60007fb19546dff01e856fb3f010c267a7b1c60363cf8a4664e21cc89c26224620214e6108d981610a06565b6108f160008051602061101c83398151915284610a13565b50600191505b50919050565b60008281526020819052604090206001015461091881610a06565b6105538383610aa5565b61058c8383836001610b80565b6001600160a01b038381166000908152600260209081526040808320938616835292905220546000198114610553578181101561099857604051637dc7a0d960e11b81526001600160a01b03841660048201526024810182905260448101839052606401610730565b61055384848484036000610b80565b6001600160a01b0383166109d157604051634b637e8f60e11b815260006004820152602401610730565b6001600160a01b0382166109fb5760405163ec442f0560e01b815260006004820152602401610730565b61058c838383610c55565b610a108133610d7f565b50565b6000610a1f8383610739565b610a9d576000838152602081815260408083206001600160a01b03861684529091529020805460ff19166001179055610a553390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a450600161045a565b50600061045a565b6000610ab18383610739565b15610a9d576000838152602081815260408083206001600160a01b0386168085529252808320805460ff1916905551339286917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a450600161045a565b6001600160a01b038216610b3a5760405163ec442f0560e01b815260006004820152602401610730565b610b4660008383610c55565b5050565b6001600160a01b038216610b7457604051634b637e8f60e11b815260006004820152602401610730565b610b4682600083610c55565b6001600160a01b038416610baa5760405163e602df0560e01b815260006004820152602401610730565b6001600160a01b038316610bd457604051634a1406b160e11b815260006004820152602401610730565b6001600160a01b038085166000908152600260209081526040808320938716835292905220829055801561055357826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610c4791815260200190565b60405180910390a350505050565b6001600160a01b038316610c80578060036000828254610c759190610ffa565b90915550610cf29050565b6001600160a01b03831660009081526001602052604090205481811015610cd35760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401610730565b6001600160a01b03841660009081526001602052604090209082900390555b6001600160a01b038216610d0e57600380548290039055610d2d565b6001600160a01b03821660009081526001602052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610d7291815260200190565b60405180910390a3505050565b610d898282610739565b610b465760405163e2517d3f60e01b81526001600160a01b038216600482015260248101839052604401610730565b600060208284031215610dca57600080fd5b81356001600160e01b031981168114610de257600080fd5b9392505050565b6000815180845260005b81811015610e0f57602081850181015186830182015201610df3565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000610de26020830184610de9565b80356001600160a01b0381168114610e5957600080fd5b919050565b60008060408385031215610e7157600080fd5b610e7a83610e42565b946020939093013593505050565b600080600060608486031215610e9d57600080fd5b610ea684610e42565b9250610eb460208501610e42565b9150604084013590509250925092565b600060208284031215610ed657600080fd5b5035919050565b60008060408385031215610ef057600080fd5b82359150610f0060208401610e42565b90509250929050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015610f5e57603f19888603018452610f4c858351610de9565b94509285019290850190600101610f30565b5092979650505050505050565b600060208284031215610f7d57600080fd5b610de282610e42565b60008060408385031215610f9957600080fd5b610fa283610e42565b9150610f0060208401610e42565b600181811c90821680610fc457607f821691505b6020821081036108f757634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b8082018082111561045a57634e487b7160e01b600052601160045260246000fdfe52ba824bfabc2bcfcdf7f0edbb486ebb05e1836c90e78047efeb949990f72e5fa26469706673582212205c19eccd79b954f812cf3dba1e11836a0d878689eee985130dcc211dc0b7ac2064736f6c63430008140033","sourceMap":"341:2002:14:-:0;;;595:181;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1896:113:3;;;;;;;;;;;;;-1:-1:-1;;;1896:113:3;;;;;;;;;;;;;;;;-1:-1:-1;;;1896:113:3;;;1970:5;1962;:13;;;;;;:::i;:::-;-1:-1:-1;1985:7:3;:17;1995:7;1985;:17;:::i;:::-;;1896:113;;679:30:14::1;542:23;702:6;679:10;;;:30;;:::i;:::-;-1:-1:-1::0;719:31:14::1;475:24;743:6:::0;719:10:::1;:31::i;:::-;-1:-1:-1::0;761:2:14::1;:8;766:3:::0;761:2;:8:::1;:::i;:::-;;595:181:::0;;341:2002;;6179:316:0;6256:4;2954:12;;;;;;;;;;;-1:-1:-1;;;;;2954:29:0;;;;;;;;;;;;6272:217;;6315:6;:12;;;;;;;;;;;-1:-1:-1;;;;;6315:29:0;;;;;;;;;:36;;-1:-1:-1;;6315:36:0;6347:4;6315:36;;;6397:12;735:10:6;;656:96;6397:12:0;-1:-1:-1;;;;;6370:40:0;6388:7;-1:-1:-1;;;;;6370:40:0;6382:4;6370:40;;;;;;;;;;-1:-1:-1;6431:4:0;6424:11;;6272:217;-1:-1:-1;6473:5:0;6272:217;6179:316;;;;:::o;14:127:15:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:1209;235:6;243;296:2;284:9;275:7;271:23;267:32;264:52;;;312:1;309;302:12;264:52;338:16;;-1:-1:-1;;;;;383:31:15;;373:42;;363:70;;429:1;426;419:12;363:70;476:2;507:18;;;501:25;452:5;;-1:-1:-1;476:2:15;-1:-1:-1;;;;;575:14:15;;;572:34;;;602:1;599;592:12;572:34;640:6;629:9;625:22;615:32;;685:7;678:4;674:2;670:13;666:27;656:55;;707:1;704;697:12;656:55;736:2;730:9;758:2;754;751:10;748:36;;;764:18;;:::i;:::-;839:2;833:9;807:2;893:13;;-1:-1:-1;;889:22:15;;;913:2;885:31;881:40;869:53;;;937:18;;;957:22;;;934:46;931:72;;;983:18;;:::i;:::-;1023:10;1019:2;1012:22;1058:2;1050:6;1043:18;1098:7;1093:2;1088;1084;1080:11;1076:20;1073:33;1070:53;;;1119:1;1116;1109:12;1070:53;1141:1;1132:10;;1151:129;1165:2;1162:1;1159:9;1151:129;;;1253:10;;;1249:19;;1243:26;1222:14;;;1218:23;;1211:59;1176:10;;;;1151:129;;;1322:1;1317:2;1312;1304:6;1300:15;1296:24;1289:35;1343:6;1333:16;;;;;;;;146:1209;;;;;:::o;1360:380::-;1439:1;1435:12;;;;1482;;;1503:61;;1557:4;1549:6;1545:17;1535:27;;1503:61;1610:2;1602:6;1599:14;1579:18;1576:38;1573:161;;1656:10;1651:3;1647:20;1644:1;1637:31;1691:4;1688:1;1681:15;1719:4;1716:1;1709:15;1573:161;;1360:380;;;:::o;1871:545::-;1973:2;1968:3;1965:11;1962:448;;;2009:1;2034:5;2030:2;2023:17;2079:4;2075:2;2065:19;2149:2;2137:10;2133:19;2130:1;2126:27;2120:4;2116:38;2185:4;2173:10;2170:20;2167:47;;;-1:-1:-1;2208:4:15;2167:47;2263:2;2258:3;2254:12;2251:1;2247:20;2241:4;2237:31;2227:41;;2318:82;2336:2;2329:5;2326:13;2318:82;;;2381:17;;;2362:1;2351:13;2318:82;;;2322:3;;;1962:448;1871:545;;;:::o;2592:1352::-;2712:10;;-1:-1:-1;;;;;2734:30:15;;2731:56;;;2767:18;;:::i;:::-;2796:97;2886:6;2846:38;2878:4;2872:11;2846:38;:::i;:::-;2840:4;2796:97;:::i;:::-;2948:4;;3012:2;3001:14;;3029:1;3024:663;;;;3731:1;3748:6;3745:89;;;-1:-1:-1;3800:19:15;;;3794:26;3745:89;-1:-1:-1;;2549:1:15;2545:11;;;2541:24;2537:29;2527:40;2573:1;2569:11;;;2524:57;3847:81;;2994:944;;3024:663;1818:1;1811:14;;;1855:4;1842:18;;-1:-1:-1;;3060:20:15;;;3178:236;3192:7;3189:1;3186:14;3178:236;;;3281:19;;;3275:26;3260:42;;3373:27;;;;3341:1;3329:14;;;;3208:19;;3178:236;;;3182:3;3442:6;3433:7;3430:19;3427:201;;;3503:19;;;3497:26;-1:-1:-1;;3586:1:15;3582:14;;;3598:3;3578:24;3574:37;3570:42;3555:58;3540:74;;3427:201;-1:-1:-1;;;;;3674:1:15;3658:14;;;3654:22;3641:36;;-1:-1:-1;2592:1352:15:o;:::-;341:2002:14;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106101c45760003560e01c806370a08231116100f9578063af640d0f11610097578063c375110d11610071578063c375110d146103a3578063d547741f146103b6578063dd62ed3e146103c9578063e58378bb1461040257600080fd5b8063af640d0f14610373578063b5bfddea1461037b578063beabacc81461039057600080fd5b806397128e00116100d357806397128e00146103325780639dc29fac14610345578063a217fddf14610358578063a9059cbb1461036057600080fd5b806370a08231146102ee57806391d148541461031757806395d89b411461032a57600080fd5b8063313ce567116101665780635137b8a7116101405780635137b8a7146102ab5780635d1ca631146102c05780635f515226146102c85780635f52d44e146102db57600080fd5b8063313ce5671461027657806336568abe1461028557806340c10f191461029857600080fd5b806318160ddd116101a257806318160ddd1461021957806323b872dd1461022b578063248a9ca31461023e5780632f2ff15d1461026157600080fd5b806301ffc9a7146101c957806306fdde03146101f1578063095ea7b314610206575b600080fd5b6101dc6101d7366004610db8565b610429565b60405190151581526020015b60405180910390f35b6101f9610460565b6040516101e89190610e2f565b6101dc610214366004610e5e565b6104f2565b6003545b6040519081526020016101e8565b6101dc610239366004610e88565b61050a565b61021d61024c366004610ec4565b60009081526020819052604090206001015490565b61027461026f366004610edd565b61052e565b005b604051601281526020016101e8565b610274610293366004610edd565b610559565b6101dc6102a6366004610e5e565b610591565b6102b36105b5565b6040516101e89190610f09565b6101f9610695565b61021d6102d6366004610f6b565b6106a4565b6101dc6102e9366004610e88565b6106c2565b61021d6102fc366004610f6b565b6001600160a01b031660009081526001602052604090205490565b6101dc610325366004610edd565b610739565b6101f9610762565b6101dc610340366004610f6b565b610771565b6101dc610353366004610e5e565b6107bc565b61021d600081565b6101dc61036e366004610e5e565b6107e0565b6101f96107ee565b61021d60008051602061101c83398151915281565b6101dc61039e366004610e88565b61087c565b6101dc6103b1366004610f6b565b6108ad565b6102746103c4366004610edd565b6108fd565b61021d6103d7366004610f86565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b61021d7fb19546dff01e856fb3f010c267a7b1c60363cf8a4664e21cc89c26224620214e81565b60006001600160e01b03198216637965db0b60e01b148061045a57506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606004805461046f90610fb0565b80601f016020809104026020016040519081016040528092919081815260200182805461049b90610fb0565b80156104e85780601f106104bd576101008083540402835291602001916104e8565b820191906000526020600020905b8154815290600101906020018083116104cb57829003601f168201915b5050505050905090565b600033610500818585610922565b5060019392505050565b60003361051885828561092f565b6105238585856109a7565b506001949350505050565b60008281526020819052604090206001015461054981610a06565b6105538383610a13565b50505050565b6001600160a01b03811633146105825760405163334bd91960e11b815260040160405180910390fd5b61058c8282610aa5565b505050565b600060008051602061101c8339815191526105ab81610a06565b6105008484610b10565b60408051600180825281830190925260609160009190816020015b60608152602001906001900390816105d0579050509050600680546105f490610fb0565b80601f016020809104026020016040519081016040528092919081815260200182805461062090610fb0565b801561066d5780601f106106425761010080835404028352916020019161066d565b820191906000526020600020905b81548152906001019060200180831161065057829003601f168201915b50505050508160008151811061068557610685610fe4565b6020908102919091010152919050565b60606006805461046f90610fb0565b6001600160a01b03811660009081526001602052604081205461045a565b600060008051602061101c8339815191526106dc81610a06565b6001600160a01b03851633146105185760405162461bcd60e51b815260206004820152601e60248201527f546865206d736753656e646572206973206e6f7420746865206f776e6572000060448201526064015b60405180910390fd5b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b60606005805461046f90610fb0565b600061078b60008051602061101c83398151915283610739565b1561079857506001919050565b604051631aee145f60e01b81526001600160a01b0383166004820152602401610730565b600060008051602061101c8339815191526107d681610a06565b6105008484610b4a565b6000336105008185856109a7565b600680546107fb90610fb0565b80601f016020809104026020016040519081016040528092919081815260200182805461082790610fb0565b80156108745780601f1061084957610100808354040283529160200191610874565b820191906000526020600020905b81548152906001019060200180831161085757829003601f168201915b505050505081565b600060008051602061101c83398151915261089681610a06565b6108a185858561050a565b50600195945050505050565b60007fb19546dff01e856fb3f010c267a7b1c60363cf8a4664e21cc89c26224620214e6108d981610a06565b6108f160008051602061101c83398151915284610a13565b50600191505b50919050565b60008281526020819052604090206001015461091881610a06565b6105538383610aa5565b61058c8383836001610b80565b6001600160a01b038381166000908152600260209081526040808320938616835292905220546000198114610553578181101561099857604051637dc7a0d960e11b81526001600160a01b03841660048201526024810182905260448101839052606401610730565b61055384848484036000610b80565b6001600160a01b0383166109d157604051634b637e8f60e11b815260006004820152602401610730565b6001600160a01b0382166109fb5760405163ec442f0560e01b815260006004820152602401610730565b61058c838383610c55565b610a108133610d7f565b50565b6000610a1f8383610739565b610a9d576000838152602081815260408083206001600160a01b03861684529091529020805460ff19166001179055610a553390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a450600161045a565b50600061045a565b6000610ab18383610739565b15610a9d576000838152602081815260408083206001600160a01b0386168085529252808320805460ff1916905551339286917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a450600161045a565b6001600160a01b038216610b3a5760405163ec442f0560e01b815260006004820152602401610730565b610b4660008383610c55565b5050565b6001600160a01b038216610b7457604051634b637e8f60e11b815260006004820152602401610730565b610b4682600083610c55565b6001600160a01b038416610baa5760405163e602df0560e01b815260006004820152602401610730565b6001600160a01b038316610bd457604051634a1406b160e11b815260006004820152602401610730565b6001600160a01b038085166000908152600260209081526040808320938716835292905220829055801561055357826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610c4791815260200190565b60405180910390a350505050565b6001600160a01b038316610c80578060036000828254610c759190610ffa565b90915550610cf29050565b6001600160a01b03831660009081526001602052604090205481811015610cd35760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401610730565b6001600160a01b03841660009081526001602052604090209082900390555b6001600160a01b038216610d0e57600380548290039055610d2d565b6001600160a01b03821660009081526001602052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610d7291815260200190565b60405180910390a3505050565b610d898282610739565b610b465760405163e2517d3f60e01b81526001600160a01b038216600482015260248101839052604401610730565b600060208284031215610dca57600080fd5b81356001600160e01b031981168114610de257600080fd5b9392505050565b6000815180845260005b81811015610e0f57602081850181015186830182015201610df3565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000610de26020830184610de9565b80356001600160a01b0381168114610e5957600080fd5b919050565b60008060408385031215610e7157600080fd5b610e7a83610e42565b946020939093013593505050565b600080600060608486031215610e9d57600080fd5b610ea684610e42565b9250610eb460208501610e42565b9150604084013590509250925092565b600060208284031215610ed657600080fd5b5035919050565b60008060408385031215610ef057600080fd5b82359150610f0060208401610e42565b90509250929050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015610f5e57603f19888603018452610f4c858351610de9565b94509285019290850190600101610f30565b5092979650505050505050565b600060208284031215610f7d57600080fd5b610de282610e42565b60008060408385031215610f9957600080fd5b610fa283610e42565b9150610f0060208401610e42565b600181811c90821680610fc457607f821691505b6020821081036108f757634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b8082018082111561045a57634e487b7160e01b600052601160045260246000fdfe52ba824bfabc2bcfcdf7f0edbb486ebb05e1836c90e78047efeb949990f72e5fa26469706673582212205c19eccd79b954f812cf3dba1e11836a0d878689eee985130dcc211dc0b7ac2064736f6c63430008140033","sourceMap":"341:2002:14:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2565:202:0;;;;;;:::i;:::-;;:::i;:::-;;;470:14:15;;463:22;445:41;;433:2;418:18;2565:202:0;;;;;;;;2074:89:3;;;:::i;:::-;;;;;;;:::i;4293:186::-;;;;;;:::i;:::-;;:::i;3144:97::-;3222:12;;3144:97;;;1733:25:15;;;1721:2;1706:18;3144:97:3;1587:177:15;5039:244:3;;;;;;:::i;:::-;;:::i;3810:120:0:-;;;;;;:::i;:::-;3875:7;3901:12;;;;;;;;;;:22;;;;3810:120;4226:136;;;;;;:::i;:::-;;:::i;:::-;;3002:82:3;;;3075:2;2870:36:15;;2858:2;2843:18;3002:82:3;2728:184:15;5328:245:0;;;;;;:::i;:::-;;:::i;782:161:14:-;;;;;;:::i;:::-;;:::i;1588:174::-;;;:::i;:::-;;;;;;;:::i;1768:79::-;;;:::i;2228:113::-;;;;;;:::i;:::-;;:::i;1116:264::-;;;;;;:::i;:::-;;:::i;3299:116:3:-;;;;;;:::i;:::-;-1:-1:-1;;;;;3390:18:3;3364:7;3390:18;;;:9;:18;;;;;;;3299:116;2854:136:0;;;;;;:::i;:::-;;:::i;2276:93:3:-;;;:::i;2017:205:14:-;;;;;;:::i;:::-;;:::i;949:161::-;;;;;;:::i;:::-;;:::i;2187:49:0:-;;2232:4;2187:49;;3610:178:3;;;;;;:::i;:::-;;:::i;572:16:14:-;;;:::i;437:62::-;;-1:-1:-1;;;;;;;;;;;437:62:14;;1386:196;;;;;;:::i;:::-;;:::i;1853:158::-;;;;;;:::i;:::-;;:::i;4642:138:0:-;;;;;;:::i;:::-;;:::i;3846:140:3:-;;;;;;:::i;:::-;-1:-1:-1;;;;;3952:18:3;;;3926:7;3952:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3846:140;505:60:14;;542:23;505:60;;2565:202:0;2650:4;-1:-1:-1;;;;;;2673:47:0;;-1:-1:-1;;;2673:47:0;;:87;;-1:-1:-1;;;;;;;;;;861:40:8;;;2724:36:0;2666:94;2565:202;-1:-1:-1;;2565:202:0:o;2074:89:3:-;2119:13;2151:5;2144:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2074:89;:::o;4293:186::-;4366:4;735:10:6;4420:31:3;735:10:6;4436:7:3;4445:5;4420:8;:31::i;:::-;-1:-1:-1;4468:4:3;;4293:186;-1:-1:-1;;;4293:186:3:o;5039:244::-;5126:4;735:10:6;5182:37:3;5198:4;735:10:6;5213:5:3;5182:15;:37::i;:::-;5229:26;5239:4;5245:2;5249:5;5229:9;:26::i;:::-;-1:-1:-1;5272:4:3;;5039:244;-1:-1:-1;;;;5039:244:3:o;4226:136:0:-;3875:7;3901:12;;;;;;;;;;:22;;;2464:16;2475:4;2464:10;:16::i;:::-;4330:25:::1;4341:4;4347:7;4330:10;:25::i;:::-;;4226:136:::0;;;:::o;5328:245::-;-1:-1:-1;;;;;5421:34:0;;735:10:6;5421:34:0;5417:102;;5478:30;;-1:-1:-1;;;5478:30:0;;;;;;;;;;;5417:102;5529:37;5541:4;5547:18;5529:11;:37::i;:::-;;5328:245;;:::o;782:161:14:-;869:12;-1:-1:-1;;;;;;;;;;;2464:16:0;2475:4;2464:10;:16::i;:::-;893:22:14::1;899:7;908:6;893:5;:22::i;1588:174::-:0;1691:15;;;1704:1;1691:15;;;;;;;;;1638;;1665:23;;1691:15;;;;;;;;;;;;;;;;;;;;;1665:41;;1729:2;1716:15;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:7;1724:1;1716:10;;;;;;;;:::i;:::-;;;;;;;;;;:15;1748:7;1588:174;-1:-1:-1;1588:174:14:o;1768:79::-;1806:13;1838:2;1831:9;;;;;:::i;2228:113::-;-1:-1:-1;;;;;3390:18:3;;2290:7:14;3390:18:3;;;:9;:18;;;;;;2316::14;3299:116:3;1116:264:14;1221:12;-1:-1:-1;;;;;;;;;;;2464:16:0;2475:4;2464:10;:16::i;:::-;-1:-1:-1;;;;;1253:20:14;::::1;735:10:6::0;1253:20:14::1;1245:63;;;::::0;-1:-1:-1;;;1245:63:14;;5032:2:15;1245:63:14::1;::::0;::::1;5014:21:15::0;5071:2;5051:18;;;5044:30;5110:32;5090:18;;;5083:60;5160:18;;1245:63:14::1;;;;;;;;2854:136:0::0;2931:4;2954:12;;;;;;;;;;;-1:-1:-1;;;;;2954:29:0;;;;;;;;;;;;;;;2854:136::o;2276:93:3:-;2323:13;2355:7;2348:14;;;;;:::i;2017:205:14:-;2080:12;2107:29;-1:-1:-1;;;;;;;;;;;2128:7:14;2107;:29::i;:::-;2104:69;;;-1:-1:-1;2158:4:14;;2017:205;-1:-1:-1;2017:205:14:o;2104:69::-;2194:21;;-1:-1:-1;;;2194:21:14;;-1:-1:-1;;;;;5353:32:15;;2194:21:14;;;5335:51:15;5308:18;;2194:21:14;5189:203:15;949:161:14;1036:12;-1:-1:-1;;;;;;;;;;;2464:16:0;2475:4;2464:10;:16::i;:::-;1060:22:14::1;1066:7;1075:6;1060:5;:22::i;3610:178:3:-:0;3679:4;735:10:6;3733:27:3;735:10:6;3750:2:3;3754:5;3733:9;:27::i;572:16:14:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1386:196::-;1493:12;-1:-1:-1;;;;;;;;;;;2464:16:0;2475:4;2464:10;:16::i;:::-;1517:37:14::1;1530:4;1536:9;1547:6;1517:12;:37::i;:::-;-1:-1:-1::0;1571:4:14::1;::::0;1386:196;-1:-1:-1;;;;;1386:196:14:o;1853:158::-;1927:12;542:23;2464:16:0;2475:4;2464:10;:16::i;:::-;1951:32:14::1;-1:-1:-1::0;;;;;;;;;;;1975:7:14::1;1951:10;:32::i;:::-;;2000:4;1993:11;;2490:1:0;1853:158:14::0;;;;:::o;4642:138:0:-;3875:7;3901:12;;;;;;;;;;:22;;;2464:16;2475:4;2464:10;:16::i;:::-;4747:26:::1;4759:4;4765:7;4747:11;:26::i;8989:128:3:-:0;9073:37;9082:5;9089:7;9098:5;9105:4;9073:8;:37::i;10663:477::-;-1:-1:-1;;;;;3952:18:3;;;10762:24;3952:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;-1:-1:-1;;10828:37:3;;10824:310;;10904:5;10885:16;:24;10881:130;;;10936:60;;-1:-1:-1;;;10936:60:3;;-1:-1:-1;;;;;5617:32:15;;10936:60:3;;;5599:51:15;5666:18;;;5659:34;;;5709:18;;;5702:34;;;5572:18;;10936:60:3;5397:345:15;10881:130:3;11052:57;11061:5;11068:7;11096:5;11077:16;:24;11103:5;11052:8;:57::i;5656:300::-;-1:-1:-1;;;;;5739:18:3;;5735:86;;5780:30;;-1:-1:-1;;;5780:30:3;;5807:1;5780:30;;;5335:51:15;5308:18;;5780:30:3;5189:203:15;5735:86:3;-1:-1:-1;;;;;5834:16:3;;5830:86;;5873:32;;-1:-1:-1;;;5873:32:3;;5902:1;5873:32;;;5335:51:15;5308:18;;5873:32:3;5189:203:15;5830:86:3;5925:24;5933:4;5939:2;5943:5;5925:7;:24::i;3199:103:0:-;3265:30;3276:4;735:10:6;3265::0;:30::i;:::-;3199:103;:::o;6179:316::-;6256:4;6277:22;6285:4;6291:7;6277;:22::i;:::-;6272:217;;6315:6;:12;;;;;;;;;;;-1:-1:-1;;;;;6315:29:0;;;;;;;;;:36;;-1:-1:-1;;6315:36:0;6347:4;6315:36;;;6397:12;735:10:6;;656:96;6397:12:0;-1:-1:-1;;;;;6370:40:0;6388:7;-1:-1:-1;;;;;6370:40:0;6382:4;6370:40;;;;;;;;;;-1:-1:-1;6431:4:0;6424:11;;6272:217;-1:-1:-1;6473:5:0;6466:12;;6730:317;6808:4;6828:22;6836:4;6842:7;6828;:22::i;:::-;6824:217;;;6898:5;6866:12;;;;;;;;;;;-1:-1:-1;;;;;6866:29:0;;;;;;;;;;:37;;-1:-1:-1;;6866:37:0;;;6922:40;735:10:6;;6866:12:0;;6922:40;;6898:5;6922:40;-1:-1:-1;6983:4:0;6976:11;;7721:208:3;-1:-1:-1;;;;;7791:21:3;;7787:91;;7835:32;;-1:-1:-1;;;7835:32:3;;7864:1;7835:32;;;5335:51:15;5308:18;;7835:32:3;5189:203:15;7787:91:3;7887:35;7903:1;7907:7;7916:5;7887:7;:35::i;:::-;7721:208;;:::o;8247:206::-;-1:-1:-1;;;;;8317:21:3;;8313:89;;8361:30;;-1:-1:-1;;;8361:30:3;;8388:1;8361:30;;;5335:51:15;5308:18;;8361:30:3;5189:203:15;8313:89:3;8411:35;8419:7;8436:1;8440:5;8411:7;:35::i;9949:432::-;-1:-1:-1;;;;;10061:19:3;;10057:89;;10103:32;;-1:-1:-1;;;10103:32:3;;10132:1;10103:32;;;5335:51:15;5308:18;;10103:32:3;5189:203:15;10057:89:3;-1:-1:-1;;;;;10159:21:3;;10155:90;;10203:31;;-1:-1:-1;;;10203:31:3;;10231:1;10203:31;;;5335:51:15;5308:18;;10203:31:3;5189:203:15;10155:90:3;-1:-1:-1;;;;;10254:18:3;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;:35;;;10299:76;;;;10349:7;-1:-1:-1;;;;;10333:31:3;10342:5;-1:-1:-1;;;;;10333:31:3;;10358:5;10333:31;;;;1733:25:15;;1721:2;1706:18;;1587:177;10333:31:3;;;;;;;;9949:432;;;;:::o;6271:1107::-;-1:-1:-1;;;;;6360:18:3;;6356:540;;6512:5;6496:12;;:21;;;;;;;:::i;:::-;;;;-1:-1:-1;6356:540:3;;-1:-1:-1;6356:540:3;;-1:-1:-1;;;;;6570:15:3;;6548:19;6570:15;;;:9;:15;;;;;;6603:19;;;6599:115;;;6649:50;;-1:-1:-1;;;6649:50:3;;-1:-1:-1;;;;;5617:32:15;;6649:50:3;;;5599:51:15;5666:18;;;5659:34;;;5709:18;;;5702:34;;;5572:18;;6649:50:3;5397:345:15;6599:115:3;-1:-1:-1;;;;;6834:15:3;;;;;;:9;:15;;;;;6852:19;;;;6834:37;;6356:540;-1:-1:-1;;;;;6910:16:3;;6906:425;;7073:12;:21;;;;;;;6906:425;;;-1:-1:-1;;;;;7284:13:3;;;;;;:9;:13;;;;;:22;;;;;;6906:425;7361:2;-1:-1:-1;;;;;7346:25:3;7355:4;-1:-1:-1;;;;;7346:25:3;;7365:5;7346:25;;;;1733::15;;1721:2;1706:18;;1587:177;7346:25:3;;;;;;;;6271:1107;;;:::o;3432:197:0:-;3520:22;3528:4;3534:7;3520;:22::i;:::-;3515:108;;3565:47;;-1:-1:-1;;;3565:47:0;;-1:-1:-1;;;;;6166:32:15;;3565:47:0;;;6148:51:15;6215:18;;;6208:34;;;6121:18;;3565:47:0;5974:274:15;14:286;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;167:23;;-1:-1:-1;;;;;;219:32:15;;209:43;;199:71;;266:1;263;256:12;199:71;289:5;14:286;-1:-1:-1;;;14:286:15:o;497:423::-;539:3;577:5;571:12;604:6;599:3;592:19;629:1;639:162;653:6;650:1;647:13;639:162;;;715:4;771:13;;;767:22;;761:29;743:11;;;739:20;;732:59;668:12;639:162;;;643:3;846:1;839:4;830:6;825:3;821:16;817:27;810:38;909:4;902:2;898:7;893:2;885:6;881:15;877:29;872:3;868:39;864:50;857:57;;;497:423;;;;:::o;925:220::-;1074:2;1063:9;1056:21;1037:4;1094:45;1135:2;1124:9;1120:18;1112:6;1094:45;:::i;1150:173::-;1218:20;;-1:-1:-1;;;;;1267:31:15;;1257:42;;1247:70;;1313:1;1310;1303:12;1247:70;1150:173;;;:::o;1328:254::-;1396:6;1404;1457:2;1445:9;1436:7;1432:23;1428:32;1425:52;;;1473:1;1470;1463:12;1425:52;1496:29;1515:9;1496:29;:::i;:::-;1486:39;1572:2;1557:18;;;;1544:32;;-1:-1:-1;;;1328:254:15:o;1769:328::-;1846:6;1854;1862;1915:2;1903:9;1894:7;1890:23;1886:32;1883:52;;;1931:1;1928;1921:12;1883:52;1954:29;1973:9;1954:29;:::i;:::-;1944:39;;2002:38;2036:2;2025:9;2021:18;2002:38;:::i;:::-;1992:48;;2087:2;2076:9;2072:18;2059:32;2049:42;;1769:328;;;;;:::o;2102:180::-;2161:6;2214:2;2202:9;2193:7;2189:23;2185:32;2182:52;;;2230:1;2227;2220:12;2182:52;-1:-1:-1;2253:23:15;;2102:180;-1:-1:-1;2102:180:15:o;2469:254::-;2537:6;2545;2598:2;2586:9;2577:7;2573:23;2569:32;2566:52;;;2614:1;2611;2604:12;2566:52;2650:9;2637:23;2627:33;;2679:38;2713:2;2702:9;2698:18;2679:38;:::i;:::-;2669:48;;2469:254;;;;;:::o;2917:803::-;3079:4;3108:2;3148;3137:9;3133:18;3178:2;3167:9;3160:21;3201:6;3236;3230:13;3267:6;3259;3252:22;3305:2;3294:9;3290:18;3283:25;;3367:2;3357:6;3354:1;3350:14;3339:9;3335:30;3331:39;3317:53;;3405:2;3397:6;3393:15;3426:1;3436:255;3450:6;3447:1;3444:13;3436:255;;;3543:2;3539:7;3527:9;3519:6;3515:22;3511:36;3506:3;3499:49;3571:40;3604:6;3595;3589:13;3571:40;:::i;:::-;3561:50;-1:-1:-1;3669:12:15;;;;3634:15;;;;3472:1;3465:9;3436:255;;;-1:-1:-1;3708:6:15;;2917:803;-1:-1:-1;;;;;;;2917:803:15:o;3725:186::-;3784:6;3837:2;3825:9;3816:7;3812:23;3808:32;3805:52;;;3853:1;3850;3843:12;3805:52;3876:29;3895:9;3876:29;:::i;3916:260::-;3984:6;3992;4045:2;4033:9;4024:7;4020:23;4016:32;4013:52;;;4061:1;4058;4051:12;4013:52;4084:29;4103:9;4084:29;:::i;:::-;4074:39;;4132:38;4166:2;4155:9;4151:18;4132:38;:::i;4181:380::-;4260:1;4256:12;;;;4303;;;4324:61;;4378:4;4370:6;4366:17;4356:27;;4324:61;4431:2;4423:6;4420:14;4400:18;4397:38;4394:161;;4477:10;4472:3;4468:20;4465:1;4458:31;4512:4;4509:1;4502:15;4540:4;4537:1;4530:15;4698:127;4759:10;4754:3;4750:20;4747:1;4740:31;4790:4;4787:1;4780:15;4814:4;4811:1;4804:15;5747:222;5812:9;;;5833:10;;;5830:133;;;5885:10;5880:3;5876:20;5873:1;5866:31;5920:4;5917:1;5910:15;5948:4;5945:1;5938:15","linkReferences":{}},"methodIdentifiers":{"BRIDGE_ROLE()":"b5bfddea","DEFAULT_ADMIN_ROLE()":"a217fddf","OWNER_ROLE()":"e58378bb","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","assign(address,address,uint256)":"5f52d44e","balanceOf(address)":"70a08231","burn(address,uint256)":"9dc29fac","checkBalance(address)":"5f515226","decimals()":"313ce567","getAllAssetsIDs()":"5137b8a7","getId()":"5d1ca631","getRoleAdmin(bytes32)":"248a9ca3","giveRole(address)":"c375110d","grantRole(bytes32,address)":"2f2ff15d","hasPermission(address)":"97128e00","hasRole(bytes32,address)":"91d14854","id()":"af640d0f","mint(address,uint256)":"40c10f19","name()":"06fdde03","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,address,uint256)":"beabacc8","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_id\",\"type\":\"string\"}],\"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\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"allowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSpender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"adr\",\"type\":\"address\"}],\"name\":\"noPermission\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"string\",\"name\":\"id\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes[]\",\"name\":\"value\",\"type\":\"bytes[]\"}],\"name\":\"Changed\",\"type\":\"event\"},{\"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\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"BRIDGE_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"OWNER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"assign\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"checkBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAllAssetsIDs\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getId\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"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\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"giveRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasPermission\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"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\":[],\"name\":\"id\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"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\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"AccessControlBadConfirmation()\":[{\"details\":\"The caller of a function is not the expected one. NOTE: Don't confuse with {AccessControlUnauthorizedAccount}.\"}],\"AccessControlUnauthorizedAccount(address,bytes32)\":[{\"details\":\"The `account` is missing a role.\"}],\"ERC20InsufficientAllowance(address,uint256,uint256)\":[{\"details\":\"Indicates a failure with the `spender`\\u2019s `allowance`. Used in transfers.\",\"params\":{\"allowance\":\"Amount of tokens a `spender` is allowed to operate with.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC20InsufficientBalance(address,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC20InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC20InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidSpender(address)\":[{\"details\":\"Indicates a failure with the `spender` to be approved. Used in approvals.\",\"params\":{\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this.\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `value` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `callerConfirmation`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `value`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `value`. - the caller must have allowance for ``from``'s tokens of at least `value`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/test/solidity/contracts/satp-erc20.sol\":\"SATPContract\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":hardhat/=node_modules/hardhat/\",\":openzeppelin-solidity/=node_modules/openzeppelin-solidity/\",\":web3js-quorum/=node_modules/web3js-quorum/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/access/AccessControl.sol\":{\"keccak256\":\"0xa0e92d42942f4f57c5be50568dac11e9d00c93efcb458026e18d2d9b9b2e7308\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://46326c0bb1e296b67185e81c918e0b40501b8b6386165855df0a3f3c634b6a80\",\"dweb:/ipfs/QmTwyrDYtsxsk6pymJTK94PnEpzsmkpUxFuzEiakDopy4Z\"]},\"node_modules/@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26\",\"dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH\"]},\"node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x60c65f701957fdd6faea1acb0bb45825791d473693ed9ecb34726fdfaa849dd7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea290300e0efc4d901244949dc4d877fd46e6c5e43dc2b26620e8efab3ab803f\",\"dweb:/ipfs/QmcLLJppxKeJWqHxE2CUkcfhuRTgHSn8J4kijcLa5MYhSt\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xc3e1fa9d1987f8d349dfb4d6fe93bf2ca014b52ba335cfac30bfe71e357e6f80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c5703ccdeb7b1d685e375ed719117e9edf2ab4bc544f24f23b0d50ec82257229\",\"dweb:/ipfs/QmTdwkbQq7owpCiyuzE7eh5LrD2ddrBCZ5WHVsWPi1RrTS\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0xaa761817f6cd7892fcf158b3c776b34551cde36f48ff9703d53898bc45a94ea2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ad7c8d4d08938c8dfc43d75a148863fb324b80cf53e0a36f7e5a4ac29008850\",\"dweb:/ipfs/QmcrhfPgVNf5mkdhQvy1pMv51TFokD3Y4Wa5WZhFqVh8UV\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x55f102ea785d8399c0e58d1108e2d289506dde18abc6db1b7f68c1f9f9bc5792\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e52e0a7765c943ef14e5bcf11e46e6139fa044be564881378349236bf2e3453\",\"dweb:/ipfs/QmZEeeXoFPW47amyP35gfzomF9DixqqTEPwzBakv6cZw6i\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0x9e8778b14317ba9e256c30a76fd6c32b960af621987f56069e1e819c77c6a133\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1777404f1dcd0fac188e55a288724ec3c67b45288e49cc64723e95e702b49ab8\",\"dweb:/ipfs/QmZFdC626GButBApwDUvvTnUzdinevC3B24d7yyh57XkiA\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875\",\"dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L\"]},\"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0x5f7e4076e175393767754387c962926577f1660dd9b810187b9002407656be72\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d533a1c97cd43a57cd9c465f7ee8dd0e39ae93a8fb8ff8e5303a356b081cdcc\",\"dweb:/ipfs/QmVBEei6aTnvYNZp2CHYVNKyZS4q1KkjANfY39WVXZXVoT\"]},\"src/test/solidity/contracts/ITraceableContract.sol\":{\"keccak256\":\"0x95d8bedf23010b6a40e6a8f5d55a7d5f67866619de9efcab7fa49eb3d2488612\",\"license\":\"UNKNOWN\",\"urls\":[\"bzz-raw://003806e9e19c67b79cf4ec156b31b8515f5a27dad6d73a9d8c3878b1373935c1\",\"dweb:/ipfs/QmYPFBS2C6a1RwLTSEYhNVNUzxkDu4oh7eSs75gAcZ8KA4\"]},\"src/test/solidity/contracts/satp-contract-interface.sol\":{\"keccak256\":\"0xf2949931c5be30c96e500afc6dd120abb339e64da4fd3efe360755fdfb1806d4\",\"license\":\"UNKNOWN\",\"urls\":[\"bzz-raw://c74fd152ee52bfb3309ea3ef369aca2aa09c4c672849cdc50f05e3875da89378\",\"dweb:/ipfs/Qmb9VUBZGRweWgd4WM9PiFcEijXXyLwbydWUSNKJ3ZPJG3\"]},\"src/test/solidity/contracts/satp-erc20.sol\":{\"keccak256\":\"0x4736580306b9d5e65a1f913770f4071bae1455dbde014715fb46f1341f956989\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b73d7ffa013c1c801c513bd07029642f7481c8ec4e77fbc3d030e3cfa78974ac\",\"dweb:/ipfs/QmZbNW32qBQwAuhN2VFpc1Z5dSvcWvGfwzMfikKWayaJj8\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"string","name":"_id","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"AccessControlBadConfirmation"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"neededRole","type":"bytes32"}],"type":"error","name":"AccessControlUnauthorizedAccount"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"allowance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"type":"error","name":"ERC20InsufficientAllowance"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"type":"error","name":"ERC20InsufficientBalance"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"type":"error","name":"ERC20InvalidApprover"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"type":"error","name":"ERC20InvalidReceiver"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"type":"error","name":"ERC20InvalidSender"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"type":"error","name":"ERC20InvalidSpender"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"type":"error","name":"noPermission"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"string","name":"id","type":"string","indexed":true},{"internalType":"bytes[]","name":"value","type":"bytes[]","indexed":false}],"type":"event","name":"Changed","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"previousAdminRole","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"newAdminRole","type":"bytes32","indexed":true}],"type":"event","name":"RoleAdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleGranted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleRevoked","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"BRIDGE_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"OWNER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"assign","outputs":[{"internalType":"bool","name":"success","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"burn","outputs":[{"internalType":"bool","name":"success","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"checkBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getAllAssetsIDs","outputs":[{"internalType":"string[]","name":"","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getId","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"giveRole","outputs":[{"internalType":"bool","name":"success","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantRole"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasPermission","outputs":[{"internalType":"bool","name":"success","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"id","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"mint","outputs":[{"internalType":"bool","name":"success","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"callerConfirmation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"renounceRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeRole"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"success","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"allowance(address,address)":{"details":"See {IERC20-allowance}."},"approve(address,uint256)":{"details":"See {IERC20-approve}. NOTE: If `value` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address."},"balanceOf(address)":{"details":"See {IERC20-balanceOf}."},"decimals()":{"details":"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}."},"getRoleAdmin(bytes32)":{"details":"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."},"grantRole(bytes32,address)":{"details":"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event."},"hasRole(bytes32,address)":{"details":"Returns `true` if `account` has been granted `role`."},"name()":{"details":"Returns the name of the token."},"renounceRole(bytes32,address)":{"details":"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `callerConfirmation`. May emit a {RoleRevoked} event."},"revokeRole(bytes32,address)":{"details":"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event."},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"symbol()":{"details":"Returns the symbol of the token, usually a shorter version of the name."},"totalSupply()":{"details":"See {IERC20-totalSupply}."},"transfer(address,uint256)":{"details":"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `value`."},"transferFrom(address,address,uint256)":{"details":"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `value`. - the caller must have allowance for ``from``'s tokens of at least `value`."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","hardhat/=node_modules/hardhat/","openzeppelin-solidity/=node_modules/openzeppelin-solidity/","web3js-quorum/=node_modules/web3js-quorum/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/test/solidity/contracts/satp-erc20.sol":"SATPContract"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@openzeppelin/contracts/access/AccessControl.sol":{"keccak256":"0xa0e92d42942f4f57c5be50568dac11e9d00c93efcb458026e18d2d9b9b2e7308","urls":["bzz-raw://46326c0bb1e296b67185e81c918e0b40501b8b6386165855df0a3f3c634b6a80","dweb:/ipfs/QmTwyrDYtsxsk6pymJTK94PnEpzsmkpUxFuzEiakDopy4Z"],"license":"MIT"},"node_modules/@openzeppelin/contracts/access/IAccessControl.sol":{"keccak256":"0xb6b36edd6a2999fd243ff226d6cbf84bd71af2432bbd0dfe19392996a1d9cb41","urls":["bzz-raw://1fd2f35495652e57e3f99bc6c510bc5f7dd398a176ea2e72d8ed730aebc6ca26","dweb:/ipfs/QmTQV6X4gkikTib49cho5iDX3JvSQbdsoEChoDwrk3CbbH"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol":{"keccak256":"0x60c65f701957fdd6faea1acb0bb45825791d473693ed9ecb34726fdfaa849dd7","urls":["bzz-raw://ea290300e0efc4d901244949dc4d877fd46e6c5e43dc2b26620e8efab3ab803f","dweb:/ipfs/QmcLLJppxKeJWqHxE2CUkcfhuRTgHSn8J4kijcLa5MYhSt"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xc3e1fa9d1987f8d349dfb4d6fe93bf2ca014b52ba335cfac30bfe71e357e6f80","urls":["bzz-raw://c5703ccdeb7b1d685e375ed719117e9edf2ab4bc544f24f23b0d50ec82257229","dweb:/ipfs/QmTdwkbQq7owpCiyuzE7eh5LrD2ddrBCZ5WHVsWPi1RrTS"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol":{"keccak256":"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70","urls":["bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c","dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0xaa761817f6cd7892fcf158b3c776b34551cde36f48ff9703d53898bc45a94ea2","urls":["bzz-raw://0ad7c8d4d08938c8dfc43d75a148863fb324b80cf53e0a36f7e5a4ac29008850","dweb:/ipfs/QmcrhfPgVNf5mkdhQvy1pMv51TFokD3Y4Wa5WZhFqVh8UV"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2","urls":["bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12","dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Strings.sol":{"keccak256":"0x55f102ea785d8399c0e58d1108e2d289506dde18abc6db1b7f68c1f9f9bc5792","urls":["bzz-raw://6e52e0a7765c943ef14e5bcf11e46e6139fa044be564881378349236bf2e3453","dweb:/ipfs/QmZEeeXoFPW47amyP35gfzomF9DixqqTEPwzBakv6cZw6i"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol":{"keccak256":"0x9e8778b14317ba9e256c30a76fd6c32b960af621987f56069e1e819c77c6a133","urls":["bzz-raw://1777404f1dcd0fac188e55a288724ec3c67b45288e49cc64723e95e702b49ab8","dweb:/ipfs/QmZFdC626GButBApwDUvvTnUzdinevC3B24d7yyh57XkiA"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b","urls":["bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df","dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/Math.sol":{"keccak256":"0x005ec64c6313f0555d59e278f9a7a5ab2db5bdc72a027f255a37c327af1ec02d","urls":["bzz-raw://4ece9f0b9c8daca08c76b6b5405a6446b6f73b3a15fab7ff56e296cbd4a2c875","dweb:/ipfs/QmQyRpyPRL5SQuAgj6SHmbir3foX65FJjbVTTQrA2EFg6L"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol":{"keccak256":"0x5f7e4076e175393767754387c962926577f1660dd9b810187b9002407656be72","urls":["bzz-raw://7d533a1c97cd43a57cd9c465f7ee8dd0e39ae93a8fb8ff8e5303a356b081cdcc","dweb:/ipfs/QmVBEei6aTnvYNZp2CHYVNKyZS4q1KkjANfY39WVXZXVoT"],"license":"MIT"},"src/test/solidity/contracts/ITraceableContract.sol":{"keccak256":"0x95d8bedf23010b6a40e6a8f5d55a7d5f67866619de9efcab7fa49eb3d2488612","urls":["bzz-raw://003806e9e19c67b79cf4ec156b31b8515f5a27dad6d73a9d8c3878b1373935c1","dweb:/ipfs/QmYPFBS2C6a1RwLTSEYhNVNUzxkDu4oh7eSs75gAcZ8KA4"],"license":"UNKNOWN"},"src/test/solidity/contracts/satp-contract-interface.sol":{"keccak256":"0xf2949931c5be30c96e500afc6dd120abb339e64da4fd3efe360755fdfb1806d4","urls":["bzz-raw://c74fd152ee52bfb3309ea3ef369aca2aa09c4c672849cdc50f05e3875da89378","dweb:/ipfs/Qmb9VUBZGRweWgd4WM9PiFcEijXXyLwbydWUSNKJ3ZPJG3"],"license":"UNKNOWN"},"src/test/solidity/contracts/satp-erc20.sol":{"keccak256":"0x4736580306b9d5e65a1f913770f4071bae1455dbde014715fb46f1341f956989","urls":["bzz-raw://b73d7ffa013c1c801c513bd07029642f7481c8ec4e77fbc3d030e3cfa78974ac","dweb:/ipfs/QmZbNW32qBQwAuhN2VFpc1Z5dSvcWvGfwzMfikKWayaJj8"],"license":"GPL-3.0"}},"version":1},"id":14} \ No newline at end of file