Files
aitbc/contracts/artifacts/contracts/AgentWallet.sol/AgentWallet.json
aitbc 7c51f3490b Remove outdated GPU marketplace endpoint and fix staking service logic
- Remove duplicate `/marketplace/gpu/{gpu_id}` endpoint from marketplace_gpu.py
- Remove marketplace_gpu router inclusion from main.py (already included elsewhere)
- Fix staking service staker_count logic to check existing stakes before increment/decrement
- Add minimum stake amount validation (100 AITBC)
- Add proper error handling for stake not found cases
- Fix staking pool update to commit and refresh after modifications
- Update CLI send_transaction to use chain
2026-04-13 22:07:51 +02:00

467 lines
29 KiB
JSON

{
"_format": "hh-sol-artifact-1",
"contractName": "AgentWallet",
"sourceName": "contracts/AgentWallet.sol",
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "_aitbcToken",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "agent",
"type": "address"
}
],
"name": "AgentDeactivated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "agent",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "AgentRegistered",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "agent",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "FundsDeposited",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "agent",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "FundsWithdrawn",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "uint256",
"name": "txId",
"type": "uint256"
},
{
"indexed": true,
"internalType": "address",
"name": "agent",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "recipient",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"indexed": false,
"internalType": "string",
"name": "purpose",
"type": "string"
}
],
"name": "MicroTransactionExecuted",
"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": true,
"internalType": "address",
"name": "agent",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "newLimit",
"type": "uint256"
}
],
"name": "SpendingLimitUpdated",
"type": "event"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
},
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "agentTransactions",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "agents",
"outputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "uint256",
"name": "balance",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "spendingLimit",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "totalSpent",
"type": "uint256"
},
{
"internalType": "bool",
"name": "isActive",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "aitbcToken",
"outputs": [
{
"internalType": "contract IERC20",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_agent",
"type": "address"
}
],
"name": "deactivateAgent",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_agent",
"type": "address"
},
{
"internalType": "uint256",
"name": "_amount",
"type": "uint256"
}
],
"name": "deposit",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_recipient",
"type": "address"
},
{
"internalType": "uint256",
"name": "_amount",
"type": "uint256"
},
{
"internalType": "string",
"name": "_purpose",
"type": "string"
}
],
"name": "executeMicroTransaction",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_agent",
"type": "address"
}
],
"name": "getAgentTransactions",
"outputs": [
{
"internalType": "uint256[]",
"name": "",
"type": "uint256[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_agent",
"type": "address"
},
{
"internalType": "uint256",
"name": "_initialSpendingLimit",
"type": "uint256"
}
],
"name": "registerAgent",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "renounceOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "transactions",
"outputs": [
{
"internalType": "uint256",
"name": "txId",
"type": "uint256"
},
{
"internalType": "address",
"name": "agent",
"type": "address"
},
{
"internalType": "address",
"name": "recipient",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "timestamp",
"type": "uint256"
},
{
"internalType": "string",
"name": "purpose",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "txCounter",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_agent",
"type": "address"
},
{
"internalType": "uint256",
"name": "_newLimit",
"type": "uint256"
}
],
"name": "updateSpendingLimit",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_agent",
"type": "address"
},
{
"internalType": "uint256",
"name": "_amount",
"type": "uint256"
}
],
"name": "withdraw",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x6080346100f757601f61140838819003918201601f19168301916001600160401b038311848410176100fc578084926020946040528339810103126100f757516001600160a01b03808216918290036100f7576000549060018060a01b0319913383821617600055604051913391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a36001805582156100b5575060025416176002556040516112f590816101138239f35b62461bcd60e51b815260206004820152601560248201527f496e76616c696420746f6b656e206164647265737300000000000000000000006044820152606490fd5b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604052600436101561001257600080fd5b60003560e01c806318f3219814610d4e5780633543ad5814610bd957806347e7ef2414610ae557806356efc95314610a31578063715018a6146109d857806374f079b8146109ba5780638da5cb5b14610991578063953c49ec146104d65780639ace38c2146103c3578063aa92e4491461036b578063b0a0a927146102ed578063d1a77893146102c4578063f2fde38b14610200578063f3fef3a3146101345763fd66091e146100c157600080fd5b3461012f57602036600319011261012f5760a06001600160a01b03806100e5610dcc565b16600052600460205260406000209081541690600181015490600281015460ff60046003840154930154169260405194855260208501526040840152606083015215156080820152f35b600080fd5b3461012f57604036600319011261012f5761014d610dcc565b7feaff4b37086828766ad3268786972c0cd24259d4c87a80f9d3963a3c3d999b0d60206024356101f38160018060a01b0380961695866000526004855261019c81604060002054163314610f04565b6101a4610fdd565b6101af821515610f84565b86600052600485526101cb82600160406000200154101561121d565b866000526004855260016040600020016101e6838254611260565b905533906002541661126d565b604051908152a260018055005b3461012f57602036600319011261012f57610219610dcc565b610221610eac565b6001600160a01b0390811690811561027057600054826001600160601b0360a01b821617600055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b3461012f57600036600319011261012f576002546040516001600160a01b039091168152602090f35b3461012f57602036600319011261012f576001600160a01b0361032b81610312610dcc565b1691826000526004602052604060002054163314610f04565b806000526004602052600460406000200160ff1981541690557fa58c733780f5c1527d6106ff1e731cbf2e9ffc0eb11ad399ca33ea55f057ddf4600080a2005b3461012f57604036600319011261012f57610384610dcc565b6001600160a01b031660009081526006602052604090208054602435919082101561012f576020916103b591610e7e565b90546040519160031b1c8152f35b3461012f5760208060031936011261012f57600435600052600581526040600020805460018060a01b038060018401541690600284015416926003810154600560048301549201946040519360009680549061041e82610de2565b918288528a6001821691826000146104b457505060011461047b575b505061044c8561047797980386610e1c565b604051978897885287015260408601526060850152608084015260c060a084015260c0830190610e3e565b0390f35b90975060005287806000206000905b8982106104a05750860101965061044c8561043a565b80548883018401529082019060010161048a565b60ff1916818a015292151560051b8801909201985061044c915086905061043a565b3461012f57606036600319011261012f576104ef610dcc565b67ffffffffffffffff6044351161012f5736602360443501121561012f5767ffffffffffffffff604435600401351161012f573660246044356004013560443501011161012f5733600052600460205261055360ff60046040600020015416610f42565b61055b610fdd565b6001600160a01b03811615610958576105776024351515610f84565b3360005260046020526040600020600181019081549061059b60243583101561121d565b600381019283549160026105b160243585610fd0565b91015410610913576105c96105d49360243590611260565b905560243590610fd0565b905560035460001981146108fd57600181016003556040518060c081011067ffffffffffffffff60c0830111176108255760c0810160409081528282523360208301526001600160a01b03841690820152602435606082015242608082015261064260046044350135611033565b61064f6040519182610e1c565b604435600481013580835290602401602083013760006020604435600401358301015260a082019081528260005260056020526080604060002092805184556001840160018060a01b03602083015116906001600160601b0360a01b9182825416179055600285019060018060a01b036040840151169082541617905560608101516003850155015160048301555180519067ffffffffffffffff8211610825576106fd6005840154610de2565b601f81116108b6575b50602090601f831160011461084657600592916000918361083b575b50508160011b916000199060031b1c1916179101555b33600052600660205260406000209182549268010000000000000000841015610825578361076d916001602096018155610e7e565b81549060031b9084821b91600019901b19161790556107996024358260018060a01b036002541661126d565b60405190602435825260408483015260443560040135604083015260443560040135602460443501606084013760006060604435600401358401015260018060a01b031690827f839b62fc75841dd7c8c1b1d196f9d0dfde11f709b7468d36230dcb51855efc423392606081601f19601f6044356004013501168101030190a460018055604051908152f35b634e487b7160e01b600052604160045260246000fd5b015190508680610722565b906005840160005260206000209160005b601f198516811061089e5750918391600193600595601f19811610610885575b505050811b01910155610738565b015160001960f88460031b161c19169055868080610877565b91926020600181928685015181550194019201610857565b600584016000526020600020601f840160051c8101602085106108f6575b601f830160051c820181106108ea575050610706565b600081556001016108d4565b50806108d4565b634e487b7160e01b600052601160045260246000fd5b60405162461bcd60e51b815260206004820152601760248201527f5370656e64696e67206c696d69742065786365656465640000000000000000006044820152606490fd5b60405162461bcd60e51b8152602060048201526011602482015270125b9d985b1a59081c9958da5c1a595b9d607a1b6044820152606490fd5b3461012f57600036600319011261012f576000546040516001600160a01b039091168152602090f35b3461012f57600036600319011261012f576020600354604051908152f35b3461012f57600036600319011261012f576109f1610eac565b600080546001600160a01b0319811682556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b3461012f5760208060031936011261012f576001600160a01b03610a53610dcc565b1660005260068152604060002060405190818382549182815201908192600052846000209060005b86828210610ad1578686610a9182880383610e1c565b604051928392818401908285525180915260408401929160005b828110610aba57505050500390f35b835185528695509381019392810192600101610aab565b835485529093019260019283019201610a7b565b3461012f57604036600319011261012f57610afe610dcc565b60243560018060a01b0380921691826000526004602052610b2960ff60046040600020015416610f42565b610b31610fdd565b610b3c821515610f84565b60025416604051916323b872dd60e01b60208401523360248401523060448401528060648401526064835260a0830183811067ffffffffffffffff821117610825577f543ba50a5eec5e6178218e364b1d0f396157b3c8fa278522c2cb7fd99407d47493602093610baf9260405261104f565b83600052600482526001604060002001610bca828254610fd0565b9055604051908152a260018055005b3461012f57604036600319011261012f576001600160a01b0380610bfb610dcc565b16908115610d11578160005260046020528060406000205416610ccc5760405160a081019080821067ffffffffffffffff831117610825576004916040523381526020810160008152604082016024358152606083019160008352608084019560018752876000528560205260406000209451166001600160601b0360a01b855416178455516001840155516002830155516003820155019051151560ff8019835416911617905533907ff9d00cf58ec82af69e3a10e900f60959d5fd25f219f6adcd25fd4bb4cbd5f63e600080a3005b60405162461bcd60e51b815260206004820152601860248201527f4167656e7420616c7265616479207265676973746572656400000000000000006044820152606490fd5b60405162461bcd60e51b8152602060048201526015602482015274496e76616c6964206167656e74206164647265737360581b6044820152606490fd5b3461012f57604036600319011261012f57610d67610dcc565b7f776df4fafddc354619637d0d676de7026f8233114662c7f22e1a0e63eafcd4296020602435610db160018060a01b03809516948560005260048452604060002054163314610f04565b836000526004825280600260406000200155604051908152a2005b600435906001600160a01b038216820361012f57565b90600182811c92168015610e12575b6020831014610dfc57565b634e487b7160e01b600052602260045260246000fd5b91607f1691610df1565b90601f8019910116810190811067ffffffffffffffff82111761082557604052565b919082519283825260005b848110610e6a575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201610e49565b8054821015610e965760005260206000200190600090565b634e487b7160e01b600052603260045260246000fd5b6000546001600160a01b03163303610ec057565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b15610f0b57565b60405162461bcd60e51b815260206004820152600f60248201526e2737ba1030b3b2b73a1037bbb732b960891b6044820152606490fd5b15610f4957565b60405162461bcd60e51b81526020600482015260136024820152724167656e74206973206e6f742061637469766560681b6044820152606490fd5b15610f8b57565b60405162461bcd60e51b815260206004820152601d60248201527f416d6f756e74206d7573742062652067726561746572207468616e20300000006044820152606490fd5b919082018092116108fd57565b600260015414610fee576002600155565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b67ffffffffffffffff811161082557601f01601f191660200190565b60018060a01b031690604051604081019080821067ffffffffffffffff831117610825576110df916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af13d1561117c573d916110c483611033565b926110d26040519485610e1c565b83523d868885013e611180565b805191821591848315611151575b5050509050156110fa5750565b6084906040519062461bcd60e51b82526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152fd5b919381809450010312611178578201519081151582036111755750803880846110ed565b80fd5b5080fd5b6060915b919290156111e25750815115611194575090565b3b1561119d5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156111f55750805190602001fd5b60405162461bcd60e51b815260206004820152908190611219906024830190610e3e565b0390fd5b1561122457565b60405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b6044820152606490fd5b919082039182116108fd57565b60405163a9059cbb60e01b60208201526001600160a01b039092166024830152604480830193909352918152608081019167ffffffffffffffff831182841017610825576112bd9260405261104f565b56fea2646970667358221220d33bc89e34d0f86fc35504d42a6f68cacbd0be9db792d43f02493482ec12d5f564736f6c63430008130033",
"deployedBytecode": "0x6080604052600436101561001257600080fd5b60003560e01c806318f3219814610d4e5780633543ad5814610bd957806347e7ef2414610ae557806356efc95314610a31578063715018a6146109d857806374f079b8146109ba5780638da5cb5b14610991578063953c49ec146104d65780639ace38c2146103c3578063aa92e4491461036b578063b0a0a927146102ed578063d1a77893146102c4578063f2fde38b14610200578063f3fef3a3146101345763fd66091e146100c157600080fd5b3461012f57602036600319011261012f5760a06001600160a01b03806100e5610dcc565b16600052600460205260406000209081541690600181015490600281015460ff60046003840154930154169260405194855260208501526040840152606083015215156080820152f35b600080fd5b3461012f57604036600319011261012f5761014d610dcc565b7feaff4b37086828766ad3268786972c0cd24259d4c87a80f9d3963a3c3d999b0d60206024356101f38160018060a01b0380961695866000526004855261019c81604060002054163314610f04565b6101a4610fdd565b6101af821515610f84565b86600052600485526101cb82600160406000200154101561121d565b866000526004855260016040600020016101e6838254611260565b905533906002541661126d565b604051908152a260018055005b3461012f57602036600319011261012f57610219610dcc565b610221610eac565b6001600160a01b0390811690811561027057600054826001600160601b0360a01b821617600055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b3461012f57600036600319011261012f576002546040516001600160a01b039091168152602090f35b3461012f57602036600319011261012f576001600160a01b0361032b81610312610dcc565b1691826000526004602052604060002054163314610f04565b806000526004602052600460406000200160ff1981541690557fa58c733780f5c1527d6106ff1e731cbf2e9ffc0eb11ad399ca33ea55f057ddf4600080a2005b3461012f57604036600319011261012f57610384610dcc565b6001600160a01b031660009081526006602052604090208054602435919082101561012f576020916103b591610e7e565b90546040519160031b1c8152f35b3461012f5760208060031936011261012f57600435600052600581526040600020805460018060a01b038060018401541690600284015416926003810154600560048301549201946040519360009680549061041e82610de2565b918288528a6001821691826000146104b457505060011461047b575b505061044c8561047797980386610e1c565b604051978897885287015260408601526060850152608084015260c060a084015260c0830190610e3e565b0390f35b90975060005287806000206000905b8982106104a05750860101965061044c8561043a565b80548883018401529082019060010161048a565b60ff1916818a015292151560051b8801909201985061044c915086905061043a565b3461012f57606036600319011261012f576104ef610dcc565b67ffffffffffffffff6044351161012f5736602360443501121561012f5767ffffffffffffffff604435600401351161012f573660246044356004013560443501011161012f5733600052600460205261055360ff60046040600020015416610f42565b61055b610fdd565b6001600160a01b03811615610958576105776024351515610f84565b3360005260046020526040600020600181019081549061059b60243583101561121d565b600381019283549160026105b160243585610fd0565b91015410610913576105c96105d49360243590611260565b905560243590610fd0565b905560035460001981146108fd57600181016003556040518060c081011067ffffffffffffffff60c0830111176108255760c0810160409081528282523360208301526001600160a01b03841690820152602435606082015242608082015261064260046044350135611033565b61064f6040519182610e1c565b604435600481013580835290602401602083013760006020604435600401358301015260a082019081528260005260056020526080604060002092805184556001840160018060a01b03602083015116906001600160601b0360a01b9182825416179055600285019060018060a01b036040840151169082541617905560608101516003850155015160048301555180519067ffffffffffffffff8211610825576106fd6005840154610de2565b601f81116108b6575b50602090601f831160011461084657600592916000918361083b575b50508160011b916000199060031b1c1916179101555b33600052600660205260406000209182549268010000000000000000841015610825578361076d916001602096018155610e7e565b81549060031b9084821b91600019901b19161790556107996024358260018060a01b036002541661126d565b60405190602435825260408483015260443560040135604083015260443560040135602460443501606084013760006060604435600401358401015260018060a01b031690827f839b62fc75841dd7c8c1b1d196f9d0dfde11f709b7468d36230dcb51855efc423392606081601f19601f6044356004013501168101030190a460018055604051908152f35b634e487b7160e01b600052604160045260246000fd5b015190508680610722565b906005840160005260206000209160005b601f198516811061089e5750918391600193600595601f19811610610885575b505050811b01910155610738565b015160001960f88460031b161c19169055868080610877565b91926020600181928685015181550194019201610857565b600584016000526020600020601f840160051c8101602085106108f6575b601f830160051c820181106108ea575050610706565b600081556001016108d4565b50806108d4565b634e487b7160e01b600052601160045260246000fd5b60405162461bcd60e51b815260206004820152601760248201527f5370656e64696e67206c696d69742065786365656465640000000000000000006044820152606490fd5b60405162461bcd60e51b8152602060048201526011602482015270125b9d985b1a59081c9958da5c1a595b9d607a1b6044820152606490fd5b3461012f57600036600319011261012f576000546040516001600160a01b039091168152602090f35b3461012f57600036600319011261012f576020600354604051908152f35b3461012f57600036600319011261012f576109f1610eac565b600080546001600160a01b0319811682556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b3461012f5760208060031936011261012f576001600160a01b03610a53610dcc565b1660005260068152604060002060405190818382549182815201908192600052846000209060005b86828210610ad1578686610a9182880383610e1c565b604051928392818401908285525180915260408401929160005b828110610aba57505050500390f35b835185528695509381019392810192600101610aab565b835485529093019260019283019201610a7b565b3461012f57604036600319011261012f57610afe610dcc565b60243560018060a01b0380921691826000526004602052610b2960ff60046040600020015416610f42565b610b31610fdd565b610b3c821515610f84565b60025416604051916323b872dd60e01b60208401523360248401523060448401528060648401526064835260a0830183811067ffffffffffffffff821117610825577f543ba50a5eec5e6178218e364b1d0f396157b3c8fa278522c2cb7fd99407d47493602093610baf9260405261104f565b83600052600482526001604060002001610bca828254610fd0565b9055604051908152a260018055005b3461012f57604036600319011261012f576001600160a01b0380610bfb610dcc565b16908115610d11578160005260046020528060406000205416610ccc5760405160a081019080821067ffffffffffffffff831117610825576004916040523381526020810160008152604082016024358152606083019160008352608084019560018752876000528560205260406000209451166001600160601b0360a01b855416178455516001840155516002830155516003820155019051151560ff8019835416911617905533907ff9d00cf58ec82af69e3a10e900f60959d5fd25f219f6adcd25fd4bb4cbd5f63e600080a3005b60405162461bcd60e51b815260206004820152601860248201527f4167656e7420616c7265616479207265676973746572656400000000000000006044820152606490fd5b60405162461bcd60e51b8152602060048201526015602482015274496e76616c6964206167656e74206164647265737360581b6044820152606490fd5b3461012f57604036600319011261012f57610d67610dcc565b7f776df4fafddc354619637d0d676de7026f8233114662c7f22e1a0e63eafcd4296020602435610db160018060a01b03809516948560005260048452604060002054163314610f04565b836000526004825280600260406000200155604051908152a2005b600435906001600160a01b038216820361012f57565b90600182811c92168015610e12575b6020831014610dfc57565b634e487b7160e01b600052602260045260246000fd5b91607f1691610df1565b90601f8019910116810190811067ffffffffffffffff82111761082557604052565b919082519283825260005b848110610e6a575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201610e49565b8054821015610e965760005260206000200190600090565b634e487b7160e01b600052603260045260246000fd5b6000546001600160a01b03163303610ec057565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b15610f0b57565b60405162461bcd60e51b815260206004820152600f60248201526e2737ba1030b3b2b73a1037bbb732b960891b6044820152606490fd5b15610f4957565b60405162461bcd60e51b81526020600482015260136024820152724167656e74206973206e6f742061637469766560681b6044820152606490fd5b15610f8b57565b60405162461bcd60e51b815260206004820152601d60248201527f416d6f756e74206d7573742062652067726561746572207468616e20300000006044820152606490fd5b919082018092116108fd57565b600260015414610fee576002600155565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b67ffffffffffffffff811161082557601f01601f191660200190565b60018060a01b031690604051604081019080821067ffffffffffffffff831117610825576110df916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af13d1561117c573d916110c483611033565b926110d26040519485610e1c565b83523d868885013e611180565b805191821591848315611151575b5050509050156110fa5750565b6084906040519062461bcd60e51b82526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152fd5b919381809450010312611178578201519081151582036111755750803880846110ed565b80fd5b5080fd5b6060915b919290156111e25750815115611194575090565b3b1561119d5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156111f55750805190602001fd5b60405162461bcd60e51b815260206004820152908190611219906024830190610e3e565b0390fd5b1561122457565b60405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b6044820152606490fd5b919082039182116108fd57565b60405163a9059cbb60e01b60208201526001600160a01b039092166024830152604480830193909352918152608081019167ffffffffffffffff831182841017610825576112bd9260405261104f565b56fea2646970667358221220d33bc89e34d0f86fc35504d42a6f68cacbd0be9db792d43f02493482ec12d5f564736f6c63430008130033",
"linkReferences": {},
"deployedLinkReferences": {}
}