@eco-foundation/routes
Version:
The Eco Routes Protocol is a decentralized intent based system that allows users to submit their intent to the network and have it fulfilled by a solver on the destination rollup of their choice.
773 lines (770 loc) • 54.2 kB
text/typescript
/**
* ABI for the Eco7683OriginSettler contract
*/
export const Eco7683OriginSettlerAbi = [
{
"inputs": [
{
"internalType": "string",
"name": "_name",
"type": "string"
},
{
"internalType": "string",
"name": "_version",
"type": "string"
},
{
"internalType": "address",
"name": "_intentSource",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [
{
"internalType": "address",
"name": "target",
"type": "address"
}
],
"name": "AddressEmptyCode",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "AddressInsufficientBalance",
"type": "error"
},
{
"inputs": [],
"name": "BadSignature",
"type": "error"
},
{
"inputs": [],
"name": "ECDSAInvalidSignature",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "length",
"type": "uint256"
}
],
"name": "ECDSAInvalidSignatureLength",
"type": "error"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "s",
"type": "bytes32"
}
],
"name": "ECDSAInvalidSignatureS",
"type": "error"
},
{
"inputs": [],
"name": "FailedInnerCall",
"type": "error"
},
{
"inputs": [],
"name": "InsufficientNativeReward",
"type": "error"
},
{
"inputs": [],
"name": "InvalidShortString",
"type": "error"
},
{
"inputs": [],
"name": "OpenDeadlinePassed",
"type": "error"
},
{
"inputs": [],
"name": "OriginChainIDMismatch",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "token",
"type": "address"
}
],
"name": "SafeERC20FailedOperation",
"type": "error"
},
{
"inputs": [
{
"internalType": "string",
"name": "str",
"type": "string"
}
],
"name": "StringTooLong",
"type": "error"
},
{
"inputs": [],
"name": "TypeSignatureMismatch",
"type": "error"
},
{
"anonymous": false,
"inputs": [],
"name": "EIP712DomainChanged",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "orderId",
"type": "bytes32"
},
{
"components": [
{
"internalType": "address",
"name": "user",
"type": "address"
},
{
"internalType": "uint256",
"name": "originChainId",
"type": "uint256"
},
{
"internalType": "uint32",
"name": "openDeadline",
"type": "uint32"
},
{
"internalType": "uint32",
"name": "fillDeadline",
"type": "uint32"
},
{
"internalType": "bytes32",
"name": "orderId",
"type": "bytes32"
},
{
"components": [
{
"internalType": "bytes32",
"name": "token",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "bytes32",
"name": "recipient",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "chainId",
"type": "uint256"
}
],
"internalType": "struct Output[]",
"name": "maxSpent",
"type": "tuple[]"
},
{
"components": [
{
"internalType": "bytes32",
"name": "token",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "bytes32",
"name": "recipient",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "chainId",
"type": "uint256"
}
],
"internalType": "struct Output[]",
"name": "minReceived",
"type": "tuple[]"
},
{
"components": [
{
"internalType": "uint64",
"name": "destinationChainId",
"type": "uint64"
},
{
"internalType": "bytes32",
"name": "destinationSettler",
"type": "bytes32"
},
{
"internalType": "bytes",
"name": "originData",
"type": "bytes"
}
],
"internalType": "struct FillInstruction[]",
"name": "fillInstructions",
"type": "tuple[]"
}
],
"indexed": false,
"internalType": "struct ResolvedCrossChainOrder",
"name": "resolvedOrder",
"type": "tuple"
}
],
"name": "Open",
"type": "event"
},
{
"inputs": [],
"name": "GASLESS_CROSSCHAIN_ORDER_TYPEHASH",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "INTENT_SOURCE",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "domainSeparatorV4",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "eip712Domain",
"outputs": [
{
"internalType": "bytes1",
"name": "fields",
"type": "bytes1"
},
{
"internalType": "string",
"name": "name",
"type": "string"
},
{
"internalType": "string",
"name": "version",
"type": "string"
},
{
"internalType": "uint256",
"name": "chainId",
"type": "uint256"
},
{
"internalType": "address",
"name": "verifyingContract",
"type": "address"
},
{
"internalType": "bytes32",
"name": "salt",
"type": "bytes32"
},
{
"internalType": "uint256[]",
"name": "extensions",
"type": "uint256[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"internalType": "uint32",
"name": "fillDeadline",
"type": "uint32"
},
{
"internalType": "bytes32",
"name": "orderDataType",
"type": "bytes32"
},
{
"internalType": "bytes",
"name": "orderData",
"type": "bytes"
}
],
"internalType": "struct OnchainCrossChainOrder",
"name": "_order",
"type": "tuple"
}
],
"name": "open",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"internalType": "address",
"name": "originSettler",
"type": "address"
},
{
"internalType": "address",
"name": "user",
"type": "address"
},
{
"internalType": "uint256",
"name": "nonce",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "originChainId",
"type": "uint256"
},
{
"internalType": "uint32",
"name": "openDeadline",
"type": "uint32"
},
{
"internalType": "uint32",
"name": "fillDeadline",
"type": "uint32"
},
{
"internalType": "bytes32",
"name": "orderDataType",
"type": "bytes32"
},
{
"internalType": "bytes",
"name": "orderData",
"type": "bytes"
}
],
"internalType": "struct GaslessCrossChainOrder",
"name": "_order",
"type": "tuple"
},
{
"internalType": "bytes",
"name": "_signature",
"type": "bytes"
},
{
"internalType": "bytes",
"name": "_originFillerData",
"type": "bytes"
}
],
"name": "openFor",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"internalType": "uint32",
"name": "fillDeadline",
"type": "uint32"
},
{
"internalType": "bytes32",
"name": "orderDataType",
"type": "bytes32"
},
{
"internalType": "bytes",
"name": "orderData",
"type": "bytes"
}
],
"internalType": "struct OnchainCrossChainOrder",
"name": "_order",
"type": "tuple"
}
],
"name": "resolve",
"outputs": [
{
"components": [
{
"internalType": "address",
"name": "user",
"type": "address"
},
{
"internalType": "uint256",
"name": "originChainId",
"type": "uint256"
},
{
"internalType": "uint32",
"name": "openDeadline",
"type": "uint32"
},
{
"internalType": "uint32",
"name": "fillDeadline",
"type": "uint32"
},
{
"internalType": "bytes32",
"name": "orderId",
"type": "bytes32"
},
{
"components": [
{
"internalType": "bytes32",
"name": "token",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "bytes32",
"name": "recipient",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "chainId",
"type": "uint256"
}
],
"internalType": "struct Output[]",
"name": "maxSpent",
"type": "tuple[]"
},
{
"components": [
{
"internalType": "bytes32",
"name": "token",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "bytes32",
"name": "recipient",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "chainId",
"type": "uint256"
}
],
"internalType": "struct Output[]",
"name": "minReceived",
"type": "tuple[]"
},
{
"components": [
{
"internalType": "uint64",
"name": "destinationChainId",
"type": "uint64"
},
{
"internalType": "bytes32",
"name": "destinationSettler",
"type": "bytes32"
},
{
"internalType": "bytes",
"name": "originData",
"type": "bytes"
}
],
"internalType": "struct FillInstruction[]",
"name": "fillInstructions",
"type": "tuple[]"
}
],
"internalType": "struct ResolvedCrossChainOrder",
"name": "",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"internalType": "address",
"name": "originSettler",
"type": "address"
},
{
"internalType": "address",
"name": "user",
"type": "address"
},
{
"internalType": "uint256",
"name": "nonce",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "originChainId",
"type": "uint256"
},
{
"internalType": "uint32",
"name": "openDeadline",
"type": "uint32"
},
{
"internalType": "uint32",
"name": "fillDeadline",
"type": "uint32"
},
{
"internalType": "bytes32",
"name": "orderDataType",
"type": "bytes32"
},
{
"internalType": "bytes",
"name": "orderData",
"type": "bytes"
}
],
"internalType": "struct GaslessCrossChainOrder",
"name": "_order",
"type": "tuple"
},
{
"internalType": "bytes",
"name": "",
"type": "bytes"
}
],
"name": "resolveFor",
"outputs": [
{
"components": [
{
"internalType": "address",
"name": "user",
"type": "address"
},
{
"internalType": "uint256",
"name": "originChainId",
"type": "uint256"
},
{
"internalType": "uint32",
"name": "openDeadline",
"type": "uint32"
},
{
"internalType": "uint32",
"name": "fillDeadline",
"type": "uint32"
},
{
"internalType": "bytes32",
"name": "orderId",
"type": "bytes32"
},
{
"components": [
{
"internalType": "bytes32",
"name": "token",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "bytes32",
"name": "recipient",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "chainId",
"type": "uint256"
}
],
"internalType": "struct Output[]",
"name": "maxSpent",
"type": "tuple[]"
},
{
"components": [
{
"internalType": "bytes32",
"name": "token",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "bytes32",
"name": "recipient",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "chainId",
"type": "uint256"
}
],
"internalType": "struct Output[]",
"name": "minReceived",
"type": "tuple[]"
},
{
"components": [
{
"internalType": "uint64",
"name": "destinationChainId",
"type": "uint64"
},
{
"internalType": "bytes32",
"name": "destinationSettler",
"type": "bytes32"
},
{
"internalType": "bytes",
"name": "originData",
"type": "bytes"
}
],
"internalType": "struct FillInstruction[]",
"name": "fillInstructions",
"type": "tuple[]"
}
],
"internalType": "struct ResolvedCrossChainOrder",
"name": "",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "version",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function"
}
] as const
/**
* Type-safe ABI for the Eco7683OriginSettler contract
*/
export type Eco7683OriginSettlerAbiType = typeof Eco7683OriginSettlerAbi
/**
* Bytecode for the Eco7683OriginSettler contract
*/
export const Eco7683OriginSettlerBytecode = "0x61018080604052346101a957612606803803809161001d82856101ae565b83398101906060818303126101a95780516001600160401b0381116101a9578261004891830161020a565b60208201519092906001600160401b0381116101a95760409161006c91840161020a565b910151916001600160a01b03831683036101a9576100898161025e565b6101205261009682610403565b6101405260208151910120908160e0526020815191012080610100524660a0526040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a0815261010760c0826101ae565b5190206080523060c0527f0dc54db9269648aac2dbf0a24ec877f6604de7a39d70a932e517955973048850600255610160526040516120c09081610546823960805181611789015260a05181611846015260c05181611753015260e051816117d8015261010051816117fe015261012051816101f001526101405181610219015261016051818181610561015281816110cb0152818161156b01526119e00152f35b600080fd5b601f909101601f19168101906001600160401b038211908210176101d157604052565b634e487b7160e01b600052604160045260246000fd5b60005b8381106101fa5750506000910152565b81810151838201526020016101ea565b81601f820112156101a95780516001600160401b0381116101d1576040519261023d601f8301601f1916602001856101ae565b818452602082840101116101a95761025b91602080850191016101e7565b90565b908151602081106000146102d9575090601f81511161029a57602081519101516020821061028a571790565b6000198260200360031b1b161790565b6044604051809263305a27a960e01b8252602060048301526102cb81518092816024860152602086860191016101e7565b601f01601f19168101030190fd5b6001600160401b0381116101d157600054600181811c911680156103f9575b60208210146103e357601f81116103ae575b50602092601f821160011461034a579281929360009261033f575b50508160011b916000199060031b1c19161760005560ff90565b015190503880610325565b601f1982169360008052806000209160005b868110610396575083600195961061037d575b505050811b0160005560ff90565b015160001960f88460031b161c1916905538808061036f565b9192602060018192868501518155019401920161035c565b60008052601f6020600020910160051c810190601f830160051c015b8181106103d7575061030a565b600081556001016103ca565b634e487b7160e01b600052602260045260246000fd5b90607f16906102f8565b9081516020811060001461042f575090601f81511161029a57602081519101516020821061028a571790565b6001600160401b0381116101d157600154600181811c9116801561053b575b60208210146103e357601f8111610505575b50602092601f82116001146104a05792819293600092610495575b50508160011b916000199060031b1c19161760015560ff90565b01519050388061047b565b601f198216936001600052806000209160005b8681106104ed57508360019596106104d4575b505050811b0160015560ff90565b015160001960f88460031b161c191690553880806104c6565b919260206001819286850151815501940192016104b3565b6001600052601f6020600020910160051c810190601f830160051c015b81811061052f5750610460565b60008155600101610522565b90607f169061044e56fe6080604052600436101561001257600080fd5b60003560e01c806322bcd51a146105a957806341b477dd146105905780634dc9f1ab1461054b57806354fd4d501461050257806378e890ba146104df578063844fac8e146102d457806384b0196e146101d7578063e917a962146100a25763fcb8f14e1461007f57600080fd5b3461009d57600036600319011261009d576020600254604051908152f35b600080fd5b6100ab366107d7565b7f5dd63cf8abd3430c6387c87b7d2af2290ba415b12c3f6fbc10af65f9aee8ec386020820135036101c6576100ee6100e66040830183610925565b8101906112d6565b60208151015146036101b5578051602082015160408301517fa576d0af275d0c6207ef43ceee8c498a5d7a26b8157a32d3fdf361e64371628c936101b0936101a49361019e9391926001600160a01b03918216929091169063ffffffff6101548a610cf2565b60806060840151930151936040519561016c8761083b565b86526020860152166040840152606083015260808201526040519161019083610856565b8252602082015233906119cf565b936113f7565b604051918291826106ce565b0390a2005b630208ed9f60e21b60005260046000fd5b63016d203160e31b60005260046000fd5b3461009d57600036600319011261009d576102766102147f0000000000000000000000000000000000000000000000000000000000000000611ce1565b61023d7f0000000000000000000000000000000000000000000000000000000000000000611e0a565b60206102846040519261025083856108c3565b600084526000368137604051958695600f60f81b875260e08588015260e087019061068d565b90858203604087015261068d565b466060850152306080850152600060a085015283810360c085015281808451928381520193019160005b8281106102bd57505050500390f35b8351855286955093810193928101926001016102ae565b606036600319011261009d576004356001600160401b03811161009d578060040190610100600319823603011261009d576024356001600160401b03811161009d5761032490369060040161060a565b6044356001600160401b03811161009d5761034390369060040161060a565b505063ffffffff61035660848501610cf2565b1642116104ce57610367918461186c565b156104bd577f834338e3ed54385a3fac8309f6f326a71fc399ffb7d77d7366c1e1b7c9feac6f60c4820135036101c6576103af6103a760e4830184610925565b810190610b38565b6064820135904682036101b5576104b76101b0926104b17fa576d0af275d0c6207ef43ceee8c498a5d7a26b8157a32d3fdf361e64371628c95846101a4955160018060a01b03602083015116604083015190606084015192604051976104148961080a565b60448701358952602089015260408801526060870152608086015260a0850152602482019161044283610cde565b9163ffffffff61046160a460018060a01b036080850151169401610cf2565b60c060a084015193015193604051956104798761083b565b60018060a01b03168652602086015216604084015260608301526080820152604051936104a585610856565b84526020840152610cde565b906119cf565b93610efb565b635cd5d23360e01b60005260046000fd5b6307c7fd8560e31b60005260046000fd5b3461009d57600036600319011261009d5760206104fa611750565b604051908152f35b3461009d57600036600319011261009d57610547604080519061052581836108c3565b600382526219171b60e91b60208301525191829160208352602083019061068d565b0390f35b3461009d57600036600319011261009d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461009d576105476101a46105a4366107d7565b6113f7565b3461009d57604036600319011261009d576004356001600160401b03811161009d57610100600319823603011261009d576024356001600160401b03811161009d57610547916106006101a492369060040161060a565b5050600401610efb565b9181601f8401121561009d578235916001600160401b03831161009d576020838186019501011161009d57565b906020808351928381520192019060005b8181106106555750505090565b909192602060806001926060875180518352848101518584015260408101516040840152015160608201520194019101919091610648565b919082519283825260005b8481106106b9575050826000602080949584010152601f8019910116010190565b80602080928401015182828601015201610698565b906020825260018060a01b0381511660208301526020810151604083015263ffffffff604082015116606083015263ffffffff6060820151166080830152608081015160a083015260e061074b61073660a084015161010060c0870152610120860190610637565b60c0840151858203601f190184870152610637565b91015191610100601f1982840301910152815180825260208201916020808360051b8301019401926000915b83831061078657505050505090565b90919293946020806107c8600193601f19868203018752606060408b516001600160401b0381511684528581015186850152015191816040820152019061068d565b97019301930191939290610777565b602060031982011261009d57600435906001600160401b03821161009d57606090829003600319011261009d5760040190565b60c081019081106001600160401b0382111761082557604052565b634e487b7160e01b600052604160045260246000fd5b60a081019081106001600160401b0382111761082557604052565b604081019081106001600160401b0382111761082557604052565b61010081019081106001600160401b0382111761082557604052565b606081019081106001600160401b0382111761082557604052565b608081019081106001600160401b0382111761082557604052565b90601f801991011681019081106001600160401b0382111761082557604052565b604051906108f182610871565b606060e083600081526000602082015260006040820152600083820152600060808201528260a08201528260c08201520152565b903590601e198136030182121561009d57018035906001600160401b03821161009d5760200191813603831361009d57565b35906001600160a01b038216820361009d57565b6001600160401b0381116108255760051b60200190565b81601f8201121561009d578035906109998261096b565b926109a760405194856108c3565b82845260208085019360061b8301019181831161009d57602001925b8284106109d1575050505090565b60408483031261009d57602060409182516109eb81610856565b6109f487610957565b815282870135838201528152019301926109c3565b6001600160401b03811161082557601f01601f191660200190565b929192610a3082610a09565b91610a3e60405193846108c3565b82948184528183011161009d578281602093846000960137010152565b81601f8201121561009d57803590610a728261096b565b92610a8060405194856108c3565b82845260208085019360051b8301019181831161009d5760208101935b838510610aac57505050505090565b84356001600160401b03811161009d5782016060818503601f19011261009d5760405191610ad98361088d565b610ae560208301610957565b835260408201356001600160401b03811161009d576020908301019285601f8501121561009d57606060209493610b228886888098359101610a24565b8584015201356040820152815201940193610a9d565b60208183031261009d578035906001600160401b03821161009d570160e08183031261009d576040519160e083018381106001600160401b038211176108255760405281358352610b8b60208301610957565b602084015260408201356001600160401b03811161009d5781610baf918401610982565b604084015260608201356001600160401b03811161009d5781610bd3918401610a5b565b6060840152610be460808301610957565b608084015260a082013560a084015260c08201356001600160401b03811161009d57610c109201610982565b60c082015290565b90610c228261096b565b610c2f60405191826108c3565b8281528092610c40601f199161096b565b019060005b828110610c5157505050565b602090604051610c60816108a8565b60008152600083820152600060408201526000606082015282828501015201610c45565b805115610c915760200190565b634e487b7160e01b600052603260045260246000fd5b8051821015610c915760209160051b010190565b91908201809211610cc857565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b038116810361009d5790565b3563ffffffff8116810361009d5790565b60408051909190610d1483826108c3565b6001815291601f19018260005b828110610d2d57505050565b602090604051610d3c8161088d565b600081526000838201526060604082015282828501015201610d21565b906020808351928381520192019060005b818110610d775750505090565b825180516001600160a01b031685526020908101518186015260409094019390920191600101610d6a565b60208152815191604060208301528251606083015260208301516080830152604083015160a083015260018060a01b0360608401511660c083015260a0610df9608085015160c060e0860152610120850190610d59565b93015192605f1983820301610100840152835180825260208201916020808360051b8301019601926000915b838310610e8f5750505050506080610e8c9392602060a0930151906040601f1982870301910152600180841b038151168452600180841b03602082015116602085015260408101516040850152606081015160608501520151918160808201520190610d59565b90565b9091929396602080600192601f198582030186528a5190848060a01b038251168152604080610ecb85850151606087860152606085019061068d565b93015191015299019301930191939290610e25565b9081606091031261009d578051916040602083015192015190565b610f036108e4565b50610f146103a760e0830183610925565b60408101805151610f2481610c18565b9060005b81811061127a57505060c083018051519260a08501918251151560001461126b57610f60610f5b60ff60015b1687610cbb565b610c18565b9460005b818110611205575083516110c7939291816111c4575b50506060888181013593895160208b019160018060a01b03835116905190858d0151926040805196610fab8861080a565b01358652886020870152604086015285850152608084015260a0830152898b602081019563ffffffff60a0610fdf89610cde565b946080600180841b039101511693019a610ff88c610cf2565b90519251936040519561100a8761083b565b60018060a01b0316865260208601521660408401528583015260808201526040519261103584610856565b835260208301526001600160401b0361104c610d03565b9a51915160405191909216916001600160a01b0316611080826110728660208301610da2565b03601f1981018452836108c3565b6040519261108d8461088d565b8352602083015260408201526110a28a610c84565b526110ac89610c84565b5060405180958192637da01afb60e11b835260048301610da2565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa9283156111b85760009361116c575b5063ffffffff929361112b611125608061111e8795610cde565b9b01610cf2565b91610cf2565b92604051996111398b610871565b6001600160a01b03168a5260208a0152166040880152166060860152608085015260a084015260c083015260e082015290565b63ffffffff93509361112b611125608061111e6111a288969960603d6060116111b1575b61119a81836108c3565b810190610ee0565b50509750505050509390611104565b503d611190565b6040513d6000823e3d90fd5b6111fd918951604051916111d7836108a8565b6000835260208301526000604083015260608201526111f6828a610ca7565b5287610ca7565b503880610f7a565b600190818060a01b03611219828651610ca7565b5151166020611229838751610ca7565b5101518a51906040519261123c846108a8565b83526020830152600060408301526060820152611259828a610ca7565b526112648189610ca7565b5001610f64565b610f60610f5b60ff6000610f54565b806112886001928651610ca7565b516020838060a01b03825116910151875190604051926112a7846108a8565b835260208301526000604083015260608201526112c48286610ca7565b526112cf8185610ca7565b5001610f28565b60208183031261009d578035906001600160401b03821161009d570160a08183031261009d57604051916113098361083b565b81356001600160401b03811161009d57820160c08183031261009d57604051906113328261080a565b80358252602081013560208301526040810135604083015261135660608201610957565b606083015260808101356001600160401b03811161009d578361137a918301610982565b608083015260a0810135906001600160401b03821161009d5761139f91849101610a5b565b60a082015283526113b260208301610957565b60208401526113c360408301610957565b60408401526060820135606084015260808201356001600160401b03811161009d576113ef9201610982565b608082015290565b6113ff6108e4565b506114106100e66040830183610925565b90608082510151519061142282610c18565b9160005b8181106116ec5750506080830191825151916060850190815115156000146116dd5761145a610f5b60ff60015b1686610cbb565b9360005b8181106116735750825161156792918161162e575b5050865160208801805160408a0151929891956001600160a01b0391821693909116919063ffffffff906114a686610cf2565b9051925193604051956114b88761083b565b8652602086015216604084015260608301526080820152604051966114dc88610856565b8752602087015260606114ed610d03565b9688516001600160401b03604082015116908360018060a01b039101511660405190611520826110728660208301610da2565b6040519261152d8461088d565b83526020830152604082015261154289610c84565b5261154c88610c84565b5060405180948192637da01afb60e11b835260048301610da2565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa9182156111b857600092611602575b5063ffffffff602081939460018060a01b0390511698510151916115ca61112582610cf2565b92604051996115d88b610871565b8a5260208a0152166040880152166060860152608085015260a084015260c083015260e082015290565b63ffffffff92506020611624849260603d6060116111b15761119a81836108c3565b50509350506115a4565b61166b9160408a51015160405191611645836108a8565b6000835260208301526000604083015260608201526116648289610ca7565b5286610ca7565b503880611473565b600190818060a01b03611687828a51610ca7565b5151166020611697838b51610ca7565b51015160408b51015190604051926116ae846108a8565b835260208301526000604083015260608201526116cb8289610ca7565b526116d68188610ca7565b500161145e565b61145a610f5b60ff6000611453565b806116fe600192608088510151610ca7565b516020838060a01b038251169101516040885101519060405192611721846108a8565b8352602083015260006040830152606082015261173e8287610ca7565b526117498186610ca7565b5001611426565b307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161480611843575b156117ab577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815261183d60c0826108c3565b51902090565b507f00000000000000000000000000000000000000000000000000000000000000004614611782565b9061187682610cde565b306001600160a01b03909116036119af5761198c9261197d6119839260426002546118a087610cde565b602088019760c06118b08a610cde565b9163ffffffff6118c260808301610cf2565b816118cf60a08501610cf2565b916118e76118e060e0870187610925565b3691610a24565b60208151910120966040519860208a019a8b5260018060a01b031660408a015260018060a01b0316606089015260408501356080890152606085013560a089015216848701521660e085015201356101008301526101208201526101208152611952610140826108c3565b51902061195d611750565b906040519161190160f01b83526002830152602282015220923691610a24565b90611edc565b90939193611f18565b6001600160a01b039061199e90610cde565b6001600160a01b0390921691161490565b505050600090565b9081602091031261009d5751801515810361009d5790565b6040516393a359e960e01b815290917f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169160208180611a1a8760048301610da2565b0381865afa9081156111b857600091611cb2575b5015611abf575b50600080808047818115611ab6575b3390f1156111b857611a7160209160009360405194858094819363251043bf60e01b835260048301610da2565b03925af19081156111b857600091611a87575090565b90506020813d602011611aae575b81611aa2602093836108c3565b8101031261009d575190565b3d9150611a95565b506108fc611a44565b604051634b62e13960e11b815260208180611add8760048301610da2565b0381865afa9081156111b857600091611c69575b50602084019160608351015180611c1f575b50608083510151519160005b838110611b1f5750505050611a35565b8451608001516001600160a01b0390611b39908390610ca7565b515116611bcc6000806020611b538660808c510151610ca7565b5101516040516323b872dd60e01b602082019081526001600160a01b038a8116602484015289166044830152606480830193909352918152611b966084826108c3565b519082865af13d15611c17573d90611bad82610a09565b91611bbb60405193846108c3565b82523d6000602084013e5b83612029565b8051908115159182611bfc575b5050611be85750600101611b0f565b635274afe760e01b60005260045260246000fd5b611c0f92506020809183010191016119b7565b153880611bd9565b606090611bc6565b3410611c58576000808080606087510151818115611c4f575b6001600160a01b03881690f1156111b85738611b03565b506108fc611c38565b634d3f142160e11b60005260046000fd5b6020813d602011611caa575b81611c82602093836108c3565b81010312611ca65751906001600160a01b0382168203611ca3575038611af1565b80fd5b5080fd5b3d9150611c75565b611cd4915060203d602011611cda575b611ccc81836108c3565b8101906119b7565b38611a2e565b503d611cc2565b60ff8114611d2b5760ff811690601f8211611d1a576040805192611d0582856108c3565b6020808552840191601f190136833783525290565b632cd44ac360e21b60005260046000fd5b5060405160008054908160011c91600181168015611e00575b602084108114611dec578385528492918115611dcd5750600114611d6f575b610e8c925003826108c3565b50600080805290917f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b818310611db1575050906020610e8c92820101611d63565b6020919350806001915483858801015201910190918392611d99565b60209250610e8c94915060ff191682840152151560051b820101611d63565b634e487b7160e01b83526022600452602483fd5b92607f1692611d44565b60ff8114611e2e5760ff811690601f8211611d1a576040805192611d0582856108c3565b506040516000600154908160011c91600181168015611ed2575b602084108114611dec578385528492918115611dcd5750600114611e7257610e8c925003826108c3565b506001600090815290917fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b818310611eb6575050906020610e8c92820101611d63565b6020919350806001915483858801015201910190918392611e9e565b92607f1692611e48565b8151919060418303611f0d57611f0692506020820151906060604084015193015160001a90611fa0565b9192909190565b505060009160029190565b9190916004811015611f8a5780611f2e57509050565b600060018203611f495763f645eedf60e01b60005260046000fd5b5060028103611f67578263fce698f760e01b60005260045260246000fd5b9091600360009214611f77575050565b6335e2f38360e21b825260045260249150fd5b634e487b7160e01b600052602160045260246000fd5b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841161201d579160209360809260ff60009560405194855216868401526040830152606082015282805260015afa156111b8576000516001600160a01b038116156120115790600090600090565b50600090600190600090565b50505060009160039190565b9061204f575080511561203e57805190602001fd5b630a12f52160e11b60005260046000fd5b81511580612081575b612060575090565b639996b31560e01b60009081526001600160a01b0391909116600452602490fd5b50803b1561205856fea2646970667358221220723785e012575915cd15b2d714e9e3a95de6c9c4685f85f8d32b6d029d8c3f7164736f6c634300081b0033"
/**
* Deployed bytecode for the Eco7683OriginSettler contract
*/
export const Eco7683OriginSettlerDeployedBytecode = "0x6080604052600436101561001257600080fd5b60003560e01c806322bcd51a146105a957806341b477dd146105905780634dc9f1ab1461054b57806354fd4d501461050257806378e890ba146104df578063844fac8e146102d457806384b0196e146101d7578063e917a962146100a25763fcb8f14e1461007f57600080fd5b3461009d57600036600319011261009d576020600254604051908152f35b600080fd5b6100ab366107d7565b7f5dd63cf8abd3430c6387c87b7d2af2290ba415b12c3f6fbc10af65f9aee8ec386020820135036101c6576100ee6100e66040830183610925565b8101906112d6565b60208151015146036101b5578051602082015160408301517fa576d0af275d0c6207ef43ceee8c498a5d7a26b8157a32d3fdf361e64371628c936101b0936101a49361019e9391926001600160a01b03918216929091169063ffffffff6101548a610cf2565b60806060840151930151936040519561016c8761083b565b86526020860152166040840152606083015260808201526040519161019083610856565b8252602082015233906119cf565b936113f7565b604051918291826106ce565b0390a2005b630208ed9f60e21b60005260046000fd5b63016d203160e31b60005260046000fd5b3461009d57600036600319011261009d576102766102147f0000000000000000000000000000000000000000000000000000000000000000611ce1565b61023d7f0000000000000000000000000000000000000000000000000000000000000000611e0a565b60206102846040519261025083856108c3565b600084526000368137604051958695600f60f81b875260e08588015260e087019061068d565b90858203604087015261068d565b466060850152306080850152600060a085015283810360c085015281808451928381520193019160005b8281106102bd57505050500390f35b8351855286955093810193928101926001016102ae565b606036600319011261009d576004356001600160401b03811161009d578060040190610100600319823603011261009d576024356001600160401b03811161009d5761032490369060040161060a565b6044356001600160401b03811161009d5761034390369060040161060a565b505063ffffffff61035660848501610cf2565b1642116104ce57610367918461186c565b156104bd577f834338e3ed54385a3fac8309f6f326a71fc399ffb7d77d7366c1e1b7c9feac6f60c4820135036101c6576103af6103a760e4830184610925565b810190610b38565b6064820135904682036101b5576104b76101b0926104b17fa576d0af275d0c6207ef43ceee8c498a5d7a26b8157a32d3fdf361e64371628c95846101a4955160018060a01b03602083015116604083015190606084015192604051976104148961080a565b60448701358952602089015260408801526060870152608086015260a0850152602482019161044283610cde565b9163ffffffff61046160a460018060a01b036080850151169401610cf2565b60c060a084015193015193604051956104798761083b565b60018060a01b03168652602086015216604084015260608301526080820152604051936104a585610856565b84526020840152610cde565b906119cf565b93610efb565b635cd5d23360e01b60005260046000fd5b6307c7fd8560e31b60005260046000fd5b3461009d57600036600319011261009d5760206104fa611750565b604051908152f35b3461009d57600036600319011261009d57610547604080519061052581836108c3565b600382526219171b60e91b60208301525191829160208352602083019061068d565b0390f35b3461009d57600036600319011261009d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461009d576105476101a46105a4366107d7565b6113f7565b3461009d57604036600319011261009d576004356001600160401b03811161009d57610100600319823603011261009d576024356001600160401b03811161009d57610547916106006101a492369060040161060a565b5050600401610efb565b9181601f8401121561009d578235916001600160401b03831161009d576020838186019501011161009d57565b906020808351928381520192019060005b8181106106555750505090565b909192602060806001926060875180518352848101518584015260408101516040840152015160608201520194019101919091610648565b919082519283825260005b8481106106b9575050826000602080949584010152601f8019910116010190565b80602080928401015182828601015201610698565b906020825260018060a01b0381511660208301526020810151604083015263ffffffff604082015116606083015263ffffffff6060820151166080830152608081015160a083015260e061074b61073660a084015161010060c0870152610120860190610637565b60c0840151858203601f190184870152610637565b91015191610100601f1982840301910152815180825260208201916020808360051b8301019401926000915b83831061078657505050505090565b90919293946020806107c8600193601f19868203018752606060408b516001600160401b0381511684528581015186850152015191816040820152019061068d565b97019301930191939290610777565b602060031982011261009d57600435906001600160401b03821161009d57606090829003600319011261009d5760040190565b60c081019081106001600160401b0382111761082557604052565b634e487b7160e01b600052604160045260246000fd5b60a081019081106001600160401b0382111761082557604052565b604081019081106001600160401b0382111761082557604052565b61010081019081106001600160401b0382111761082557604052565b606081019081106001600160401b0382111761082557604052565b608081019081106001600160401b0382111761082557604052565b90601f801991011681019081106001600160401b0382111761082557604052565b604051906108f182610871565b606060e083600081526000602082015260006040820152600083820152600060808201528260a08201528260c08201520152565b903590601e198136030182121561009d57018035906001600160401b03821161009d5760200191813603831361009d57565b35906001600160a01b038216820361009d57565b6001600160401b0381116108255760051b60200190565b81601f8201121561009d578035906109998261096b565b926109a760405194856108c3565b82845260208085019360061b8301019181831161009d57602001925b8284106109d1575050505090565b60408483031261009d57602060409182516109eb81610856565b6109f487610957565b815282870135838201528152019301926109c3565b6001600160401b03811161082557601f01601f191660200190565b929192610a3082610a09565b91610a3e60405193846108c3565b82948184528183011161009d578281602093846000960137010152565b81601f8201121561009d57803590610a728261096b565b92610a8060405194856108c3565b82845260208085019360051b8301019181831161009d5760208101935b838510610aac57505050505090565b84356001600160401b03811161009d5782016060818503601f19011261009d5760405191610ad98361088d565b610ae560208301610957565b835260408201356001600160401b03811161009d576020908301019285601f8501121561009d57606060209493610b228886888098359101610a24565b8584015201356040820152815201940193610a9d565b60208183031261009d578035906001600160401b03821161009d570160e08183031261009d576040519160e083018381106001600160401b038211176108255760405281358352610b8b60208301610957565b602084015260408201356001600160401b03811161009d5781610baf918401610982565b604084015260608201356001600160401b03811161009d5781610bd3918401610a5b565b6060840152610be460808301610957565b608084015260a082013560a084015260c08201356001600160401b03811161009d57610c109201610982565b60c082015290565b90610c228261096b565b610c2f60405191826108c3565b8281528092610c40601f199161096b565b019060005b828110610c5157505050565b602090604051610c60816108a8565b60008152600083820152600060408201526000606082015282828501015201610c45565b805115610c915760200190565b634e487b7160e01b600052603260045260246000fd5b8051821015610c915760209160051b010190565b91908201809211610cc857565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b038116810361009d5790565b3563ffffffff8116810361009d5790565b60408051909190610d1483826108c3565b6001815291601f19018260005b828110610d2d57505050565b602090604051610d3c8161088d565b600081526000838201526060604082015282828501015201610d21565b906020808351928381520192019060005b818110610d775750505090565b825180516001600160a01b031685526020908101518186015260409094019390920191600101610d6a565b60208152815191604060208301528251606083015260208301516080830152604083015160a083015260018060a01b0360608401511660c083015260a0610df9608085015160c060e0860152610120850190610d59565b93015192605f1983820301610100840152835180825260208201916020808360051b8301019601926000915b838310610e8f5750505050506080610e8c9392602060a0930151906040601f1982870301910152600180841b038151168452600180841b03602082015116602085015260408101516040850152606081015160608501520151918160808201520190610d59565b90565b9091929396602080600192601f198582030186528a5190848060a01b038251168152604080610ecb85850151606087860152606085019061068d565b93015191015299019301930191939290610e25565b9081606091031261009d578051916040602083015192015190565b610f036108e4565b50610f146103a760e0830183610925565b60408101805151610f2481610c18565b9060005b81811061127a57505060c083018051519260a08501918251151560001461126b57610f60610f5b60ff60015b1687610cbb565b610c18565b9460005b818110611205575083516110c7939291816111c4575b50506060888181013593895160208b019160018060a01b03835116905190858d0151926040805196610fab8861080a565b01358652886020870152604086015285850152608084015260a0830152898b602081019563ffffffff60a0610fdf89610cde565b946080600180841b039101511693019a610ff88c610cf2565b90519251936040519561100a8761083b565b60018060a01b0316865260208601521660408401528583015260808201526040519261103584610856565b835260208301526001600160401b0361104c610d03565b9a51915160405191909216916001600160a01b0316611080826110728660208301610da2565b03601f1981018452836108c3565b6040519261108d8461088d565b8352602083015260408201526110a28a610c84565b526110ac89610c84565b5060405180958192637da01afb60e11b835260048301610da2565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa9283156111b85760009361116c575b5063ffffffff929361112b611125608061111e8795610cde565b9b01610cf2565b91610cf2565b92604051996111398b610871565b6001600160a01b03168a5260208a0152166040880152166060860152608085015260a084015260c083015260e082015290565b63ffffffff93509361112b611125608061111e6111a288969960603d6060116111b1575b61119a81836108c3565b810190610ee0565b50509750505050509390611104565b503d611190565b6040513d6000823e3d90fd5b6111fd918951604051916111d7836108a8565b6000835260208301526000604083015260608201526111f6828a610ca7565b5287610ca7565b503880610f7a565b600190818060a01b03611219828651610ca7565b5151166020611229838751610ca7565b5101518a51906040519261123c846108a8565b83526020830152600060408301526060820152611259828a610ca7565b526112648189610ca7565b5001610f64565b610f60610f5b60ff6000610f54565b806112886001928651610ca7565b516020838060a01b03825116910151875190604051926112a7846108a8565b835260208301526000604083015260608201526112c48286610ca7565b526112cf8185610ca7565b5001610f28565b60208183031261009d578035906001600160401b03821161009d570160a08183031261009d57604051916113098361083b565b81356001600160401b03811161009d57820160c08183031261009d57604051906113328261080a565b80358252602081013560208301526040810135604083015261135660608201610957565b606083015260808101356001600160401b03811161009d578361137a918301610982565b608083015260a0810135906001600160401b03821161009d5761139f91849101610a5b565b60a082015283526113b260208301610957565b60208401526113c360408301610957565b60408401526060820135606084015260808201356001600160401b03811161009d576113ef9201610982565b608082015290565b6113ff6108e4565b506114106100e66040830183610925565b90608082510151519061142282610c18565b9160005b8181106116ec5750506080830191825151916060850190815115156000146116dd5761145a610f5b60ff60015b1686610cbb565b9360005b8181106116735750825161156792918161162e575b5050865160208801805160408a0151929891956001600160a01b0391821693909116919063ffffffff906114a686610cf2565b9051925193604051956114b88761083b565b8652602086015216604084015260608301526080820152604051966114dc88610856565b8752602087015260606114ed610d03565b9688516001600160401b03604082015116908360018060a01b039101511660405190611520826110728660208301610da2565b6040519261152d8461088d565b83526020830152604082015261154289610c84565b5261154c88610c84565b5060405180948192637da01afb60e11b835260048301610da2565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa9182156111b857600092611602575b5063ffffffff602081939460018060a01b0390511698510151916115ca61112582610cf2565b92604051996115d88b610871565b8a5260208a0152166040880152166060860152608085015260a084015260c083015260e082015290565b63ffffffff92506020611624849260603d6060116111b15761119a81836108c3565b50509350506115a4565b61166b9160408a51015160405191611645836108a8565b6000835260208301526000604083015260608201526116648289610ca7565b5286610ca7565b503880611473565b600190818060a01b03611687828a51610ca7565b5151166020611697838b51610ca7565b51015160408b51015190604051926116ae846108a8565b835260208301526000604083015260608201526116cb8289610ca7565b526116d68188610ca7565b500161145e565b61145a610f5b60ff6000611453565b806116fe600192608088510151610ca7565b516020838060a01b038251169101516040885101519060405192611721846108a8565b8352602083015260006040830152606082015261173e8287610ca7565b526117498186610ca7565b5001611426565b307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161480611843575b156117ab577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815261183d60c0826108c3565b51902090565b507f00000000000000000000000000000000000000000000000000000000000000004614611782565b9061187682610cde565b306001600160a01b03909116036119af5761198c926