upsideos_evm_rwa_artifacts 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"abi":[{"inputs":[{"internalType":"address","name":"accessControl_","type":"address"},{"internalType":"address","name":"trustedForwarder_","type":"address"},{"internalType":"address","name":"restrictedLockupToken_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"Dividends_AlreadyClaimed","type":"error"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"totalSupplyAt","type":"uint256"}],"name":"Dividends_IndivisibleAmount","type":"error"},{"inputs":[],"name":"Dividends_InvalidAmount","type":"error"},{"inputs":[],"name":"Dividends_InvalidArrayLengths","type":"error"},{"inputs":[],"name":"Dividends_InvalidFeeApplied","type":"error"},{"inputs":[],"name":"Dividends_InvalidReclaimerAddress","type":"error"},{"inputs":[],"name":"Dividends_InvalidRestrictedLockupTokenAddress","type":"error"},{"inputs":[],"name":"Dividends_InvalidSnapshotId","type":"error"},{"inputs":[],"name":"Dividends_InvalidSnapshotPeriodsAddress","type":"error"},{"inputs":[],"name":"Dividends_InvalidTokenAddress","type":"error"},{"inputs":[{"internalType":"uint8","name":"restrictedLockupTokenDecimals","type":"uint8"}],"name":"Dividends_InvalidTokenDecimals","type":"error"},{"inputs":[{"internalType":"uint256","name":"claimableFunds","type":"uint256"},{"internalType":"uint256","name":"claimedFunds","type":"uint256"}],"name":"Dividends_InvalidUnclaimedBalance","type":"error"},{"inputs":[],"name":"Dividends_NoFundsToClaim","type":"error"},{"inputs":[],"name":"Dividends_NoRemainingUnclaimedBalance","type":"error"},{"inputs":[],"name":"Dividends_NotEnoughFundsToClaim","type":"error"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"Dividends_WalletFrozen","type":"error"},{"inputs":[],"name":"Dividends_ZeroTotalSupply","type":"error"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"EasyAccessControl_DoesNotHaveContractAdminRole","type":"error"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"EasyAccessControl_DoesNotHaveContractOrTransferAdminRole","type":"error"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"EasyAccessControl_DoesNotHaveTransferAdminRole","type":"error"},{"inputs":[],"name":"EasyAccessControl_InvalidZeroAddress","type":"error"},{"inputs":[],"name":"EnforcedPause","type":"error"},{"inputs":[],"name":"ExpectedPause","type":"error"},{"inputs":[],"name":"ReentrancyGuardReentrantCall","type":"error"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"SafeERC20FailedOperation","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"payee","type":"address"},{"indexed":true,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"DividendClaimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"payer","type":"address"},{"indexed":true,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"DividendFunded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"payee","type":"address"},{"indexed":true,"internalType":"address","name":"target","type":"address"},{"indexed":true,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"DividendReclaimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"admin","type":"address"},{"indexed":true,"internalType":"address","name":"newReclaimer","type":"address"}],"name":"ReclaimerAddressChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"inputs":[],"name":"CONTRACT_ADMIN_ROLE","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TRANSFER_ADMIN_ROLE","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"accessControl","outputs":[{"internalType":"contract IAccessControl","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sender_","type":"address"},{"internalType":"uint256","name":"timestamp_","type":"uint256"}],"name":"balanceOfAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token_","type":"address"},{"internalType":"uint256[]","name":"timestamps_","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts_","type":"uint256[]"}],"name":"batchClaimDividend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token_","type":"address"},{"internalType":"uint256","name":"timestamp_","type":"uint256"},{"internalType":"uint256","name":"amount_","type":"uint256"}],"name":"claimDividend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token_","type":"address"},{"internalType":"address","name":"receiver_","type":"address"},{"internalType":"uint256","name":"timestamp_","type":"uint256"}],"name":"claimedBalanceAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token_","type":"address"},{"internalType":"uint256","name":"amount_","type":"uint256"},{"internalType":"uint256","name":"timestamp_","type":"uint256"}],"name":"fundDividend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token_","type":"address"},{"internalType":"uint256","name":"timestamp_","type":"uint256"}],"name":"fundsAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount_","type":"uint256"},{"internalType":"uint256","name":"timestamp_","type":"uint256"}],"name":"isAmountDivisible","outputs":[{"internalType":"bool","name":"isDivisible_","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"forwarder","type":"address"}],"name":"isTrustedForwarder","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"isPaused_","type":"bool"}],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token_","type":"address"},{"internalType":"address","name":"targetAddress_","type":"address"},{"internalType":"uint256","name":"timestamp_","type":"uint256"},{"internalType":"uint256","name":"amount_","type":"uint256"}],"name":"reclaimDividend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token_","type":"address"},{"internalType":"uint256","name":"amount_","type":"uint256"},{"internalType":"uint256","name":"timestamp_","type":"uint256"}],"name":"reclaimTotalDividend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"reclaimerAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"restrictedLockupToken","outputs":[{"internalType":"contract IRestrictedLockupToken","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newReclaimerAddress","type":"address"}],"name":"setReclaimerAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"snapshotPeriods","outputs":[{"internalType":"contract ISnapshotPeriods","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token_","type":"address"},{"internalType":"uint256","name":"timestamp_","type":"uint256"}],"name":"tokensAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token_","type":"address"},{"internalType":"address","name":"receiver_","type":"address"},{"internalType":"uint256","name":"timestamp_","type":"uint256"}],"name":"totalAwardedBalanceAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"timestamp_","type":"uint256"}],"name":"totalSupplyAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"trustedForwarder","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token_","type":"address"},{"internalType":"address","name":"receiver_","type":"address"},{"internalType":"uint256","name":"timestamp_","type":"uint256"}],"name":"unclaimedBalanceAt","outputs":[{"internalType":"uint256","name":"_unclaimedBalanceAt","type":"uint256"}],"stateMutability":"view","type":"function"}],"bytecode":"0x61010080604052346101ac57606081611e7e803803809161002082856101e7565b8339810103126101ac5761003381610220565b61004b604061004460208501610220565b9301610220565b60016000556080929092526001600160a01b03169081156101d6576001600160a01b03169081156101c55760049160209160e0528060a05260405192838092630b8314d960e11b82525afa9081156101b95760009161017a575b506001600160a01b031680156101695760c052604051611c4990816102358239608051818181610dc801528181610efc0152611b62015260a05181818161017d015281816106060152818161099601528181610a4501528181610bc701528181610f690152818161122201528181611780015261188e015260c051818181610224015281816107de01528181610a8701528181610c08015281816117c201526118d1015260e05181818161086701528181611408015281816114560152611a930152f35b630910d5c760e41b60005260046000fd5b90506020813d6020116101b1575b81610195602093836101e7565b810103126101ac576101a690610220565b386100a5565b600080fd5b3d9150610188565b6040513d6000823e3d90fd5b63191ce27560e31b60005260046000fd5b63122c6df560e11b60005260046000fd5b601f909101601f19168101906001600160401b0382119082101761020a57604052565b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b03821682036101ac5756fe6080604052600436101561001257600080fd5b60003560e01c806302329a291461143757806313007d55146113f25780631ae3fdc8146111a65780631d36f08b146111475780631da033121461112b5780634acb16d614610fbf5780634ee2cd7e14610f30578063572b6c0514610edc578063593b643914610e7a5780635c975abb14610e575780635df8da7d14610e2c57806368a37ae814610e105780636ec9d56f14610df75780637da0a87714610db2578063809c187514610d9957806382aaea4514610b3457806391dd34f214610b07578063981b24d014610a15578063a2e26616146109c5578063a605353e14610980578063b6ae73641461080d578063c94a7b29146107c8578063ccc7a5a3146105a65763ecd158cf1461012457600080fd5b346104555761013236611699565b9161013b611a30565b610143611a52565b8215801561059c575b61058b57610158611a13565b811561057b576001600160a01b031691821561056a5760405163313ce56760e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690602081600481855afa9081156104625760009161054b575b5060405163313ce56760e01b815290602082600481895afa91821561046257600092610515575b5060ff809116911681116105015750604051632cd434c760e11b81526001600160a01b03909116600482015260248101829052602081806044810103817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610462576000916104cc575b5080156104bb5761026e8184611751565b6104a35761027f6102f391846119d8565b82600052600360205260406000208560005260205260016040600020016102a78582546116e9565b905582600052600360205260406000208560005260205260406000206102ce8582546116e9565b90558260005260036020526040600020856000526020526002604060002001546116e9565b8160005260036020526040600020846000526020526002604060002001558260018060a01b03610321611b5f565b167f34e311bf98e8d39b5dbfa3058c1ff5c05baab0ccf69cf23e1becb1e596064ee06020604051868152a46040516370a0823160e01b815230600482015290602082602481865afa9182156104625760009261046e575b506020602492936103d6836103d061038e611b5f565b604080516323b872dd60e01b888201526001600160a01b039092168983019081523060208201529081019390935291829060600103601f198101835282611719565b82611bb8565b6040516370a0823160e01b815230600482015293849182905afa91821561046257600092610427575b5061040a91926116e9565b03610416576001600055005b63138cfabf60e01b60005260046000fd5b91506020823d60201161045a575b8161044260209383611719565b810103126104555761040a9151916103ff565b600080fd5b3d9150610435565b6040513d6000823e3d90fd5b91506020823d60201161049b575b8161048960209383611719565b81010312610455579051906020610378565b3d915061047c565b8263a0454ff760e01b60005260045260245260446000fd5b635360893560e01b60005260046000fd5b906020823d6020116104f9575b816104e660209383611719565b810103126104f65750513861025d565b80fd5b3d91506104d9565b633c7acba360e11b60005260045260246000fd5b60ff91925061053c829160203d602011610544575b6105348183611719565b8101906119fa565b9291506101e5565b503d61052a565b610564915060203d602011610544576105348183611719565b386101be565b63f6d8e63960e01b60005260046000fd5b6279f00d60e91b60005260046000fd5b63c806477360e01b60005260046000fd5b504283101561014c565b34610455576105b436611699565b90916105be611a30565b821580156107be575b61058b576105d3611a13565b816105dc611b5f565b604051631f92defb60e31b81526001600160a01b03918216600482015290602090829060249082907f0000000000000000000000000000000000000000000000000000000000000000165afa9081156104625760009161078f575b506107665761064e84610648611b5f565b84611848565b901561075e575b80831161074d571561073c5782610735936000526002602052604060002060018060a01b038316600052602052604060002061068f611b5f565b60018060a01b031660005260205260406000206106ad8482546116e9565b9055806000526003602052604060002060018060a01b03831660005260205260016040600020016106df84825461170c565b90556001600160a01b036106f1611b5f565b169160018060a01b031680927ff1077fb91af1db37416df258bb3f2ea2ecf9020c9be34430c2b5a25c743b7e586020604051878152a461072f611b5f565b90611b1c565b6001600055005b6328e2b85760e21b60005260046000fd5b632da5bc6b60e11b60005260046000fd5b915081610655565b61076e611b5f565b631b880c3f60e11b60009081526001600160a01b0391909116600452602490fd5b6107b1915060203d6020116107b7575b6107a98183611719565b8101906119e2565b85610637565b503d61079f565b50428310156105c7565b34610455576000366003190112610455576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461045557602036600319011261045557610826611618565b6108636020610833611b5f565b6040516395a8c58d60e01b81526001600160a01b0390911660048201526001602482015291829081906044820190565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa90811561046257600091610961575b5015610935576001600160a01b038116908115801561092c575b61091b5760018054610100600160a81b03191660089290921b610100600160a81b03169190911790556001600160a01b036108f3611b5f565b167f24b3f63dc694243e66fcb411d6eafe69b0d9c47192a486ec5525b0ea6e95b021600080a3005b6305f83c2b60e51b60005260046000fd5b503082146108ba565b61093d611b5f565b60016212a1d960e01b031960009081526001600160a01b0391909116600452602490fd5b61097a915060203d6020116107b7576107a98183611719565b826108a0565b34610455576000366003190112610455576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610455576109d33661165f565b909181158015610a0b575b61058b576109fd82846109f7610a039560209786611848565b93611986565b906116e9565b604051908152f35b50428210156109de565b346104555760203660031901126104555760043580158015610afd575b61058b57604051632cd434c760e11b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166004820152602481019190915260208180604481015b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561046257600090610aca575b602090604051908152f35b506020813d602011610af5575b81610ae460209383611719565b810103126104555760209051610abf565b3d9150610ad7565b5042811015610a32565b346104555760003660031901126104555760015460405160089190911c6001600160a01b03168152602090f35b3461045557610b4236611699565b610b4d929192611a30565b610b55611a52565b80158015610d8f575b61058b57610b6a611a13565b60015460081c6001600160a01b03161561091b5760008181526003602090815260408083206001600160a01b038616845290915290206001810180548254909291818403610d7e578315610d6d57604051632cd434c760e11b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031660048201526024810186905296602088806044810103817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa97881561046257600098610d39575b5080610ce95750610c6c95949392610c796107359884600294610c72610c8497809c81955b826119d8565b9961170c565b905561170c565b81550191825461170c565b9055610c8e611b5f565b6040805185815260208101939093526001600160a01b039384169384933093909116917f396e89d9c954ab7537e2ff1d4808d0bfbfa53984d0b0a70f8136f19af6bb00bd91a460015460081c6001600160a01b031690611b1c565b82811161074d57610cfa8882611751565b610d205792610c7961073598610c8494600294610c72610c6c9b9a9998809c8195610c66565b879063a0454ff760e01b60005260045260245260446000fd5b90976020823d602011610d65575b81610d5460209383611719565b810103126104f65750519688610c41565b3d9150610d47565b63496277bf60e11b60005260046000fd5b6382a212ed60e01b60005260046000fd5b5042811015610b5e565b34610455576020610a03610dac3661165f565b91611986565b34610455576000366003190112610455576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610455576020610a03610e0a3661165f565b91611848565b3461045557600036600319011261045557602060405160088152f35b34610455576040366003190112610455576020610e4d602435600435611771565b6040519015158152f35b3461045557600036600319011261045557602060ff600154166040519015158152f35b3461045557604036600319011261045557610e93611618565b60243580158015610ed2575b61058b57600052600360205260406000209060018060a01b03166000526020526020600160406000200154604051908152f35b5042811015610e9f565b34610455576020366003190112610455576020610ef7611618565b6040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169216919091148152f35b3461045557604036600319011261045557610f49611618565b6024359081158015610fb5575b61058b57604051634df6e51760e11b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081166004830152909116602482015260448101919091526020818060648101610a83565b5042821015610f56565b3461045557608036600319011261045557610fd8611618565b6024356001600160a01b0381169182820361045557604435606435610ffb611a30565b611003611a52565b81158015611121575b61058b57611018611a13565b60015460081c6001600160a01b03161561091b5761103882829585611848565b9015611119575b80841161074d571561073c57610735936040928260005260026020528360002060018060a01b0382166000526020528360002082600052602052836000206110888682546116e9565b90558260005260036020528360002060018060a01b038216600052602052600184600020016110b886825461170c565b90557f396e89d9c954ab7537e2ff1d4808d0bfbfa53984d0b0a70f8136f19af6bb00bd6001600160a01b036110eb611b5f565b169160018060a01b03169485948151908882526020820152a460015460081c6001600160a01b031690611b1c565b92508261103f565b504282101561100c565b3461045557600036600319011261045557602060405160018152f35b3461045557604036600319011261045557611160611618565b6024358015801561119c575b61058b57600052600360205260406000209060018060a01b03166000526020526020604060002054604051908152f35b504281101561116c565b34610455576060366003190112610455576111bf611618565b60243567ffffffffffffffff8111610455576111df90369060040161162e565b909160443567ffffffffffffffff81116104555761120190369060040161162e565b93909161120c611a13565b8484036113e1576001600160a01b0381811695947f00000000000000000000000000000000000000000000000000000000000000009091169260005b82811061125157005b61125c8184846116c3565b35906112698189896116c3565b3591611273611a30565b801580156113d7575b61058b57611288611a13565b82611291611b5f565b604051631f92defb60e31b81526001600160a01b0390911660048201526020816024818c5afa908115610462576000916113b9575b50610766576112dd826112d7611b5f565b89611848565b90156113b1575b80841161074d571561073c57600192816113a79260005260026020526040808d81600020600091825260205220611319611b5f565b90600091888060a01b03168252602052206113358382546116e9565b90558060005260036020528460408d816000206000918252602052200161135d83825461170c565b90558b858060a01b0361136e611b5f565b167ff1077fb91af1db37416df258bb3f2ea2ecf9020c9be34430c2b5a25c743b7e586020604051868152a46113a1611b5f565b8b611b1c565b8160005501611248565b9250826112e4565b6113d1915060203d81116107b7576107a98183611719565b8c6112c6565b504281101561127c565b634b8d0def60e01b60005260046000fd5b34610455576000366003190112610455576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610455576020366003190112610455576004358015158103610455577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661148b6020610833611b5f565b0381855afa908115610462576000916115f9575b5015908161157c575b506115535715611504576114ba611a13565b600160ff19815416176001557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25860206114f1611b5f565b6040516001600160a01b039091168152a1005b60015460ff8116156115425760ff19166001557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa60206114f1611b5f565b638dfc202b60e01b60005260046000fd5b61155b611b5f565b6361b0927b60e11b60009081526001600160a01b0391909116600452602490fd5b6115bf915060209061158c611b5f565b6040516395a8c58d60e01b81526001600160a01b0390911660048201526008602482015292839190829081906044820190565b03915afa908115610462576000916115da575b5015826114a8565b6115f3915060203d6020116107b7576107a98183611719565b826115d2565b611612915060203d6020116107b7576107a98183611719565b8361149f565b600435906001600160a01b038216820361045557565b9181601f840112156104555782359167ffffffffffffffff8311610455576020808501948460051b01011161045557565b6060906003190112610455576004356001600160a01b038116810361045557906024356001600160a01b0381168103610455579060443590565b6060906003190112610455576004356001600160a01b038116810361045557906024359060443590565b91908110156116d35760051b0190565b634e487b7160e01b600052603260045260246000fd5b919082018092116116f657565b634e487b7160e01b600052601160045260246000fd5b919082039182116116f657565b90601f8019910116810190811067ffffffffffffffff82111761173b57604052565b634e487b7160e01b600052604160045260246000fd5b811561175b570690565b634e487b7160e01b600052601260045260246000fd5b604051632cd434c760e11b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166004820152602481019290925290602081806044810103817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa90811561046257600091611816575b50801561180f5761180b91611751565b1590565b5050600090565b906020823d602011611840575b8161183060209383611719565b810103126104f6575051386117fb565b3d9150611823565b90918015801561197c575b61058b5760008181526003602090815260408083206001600160a01b03868116855290835292819020600201549051634df6e51760e11b81527f0000000000000000000000000000000000000000000000000000000000000000841660048201528684166024820152604481018590529592909190869060649082907f0000000000000000000000000000000000000000000000000000000000000000165afa94851561046257600095611948575b508481029481860414901517156116f65761191c92611986565b90808211611931579061192e9161170c565b90565b637f8c1ae360e01b60005260045260245260446000fd5b90946020823d602011611974575b8161196360209383611719565b810103126104f65750519338611902565b3d9150611956565b5042811015611853565b9091801580156119ce575b61058b57600052600260205260406000209060018060a01b031660005260205260406000209060018060a01b031660005260205260406000205490565b5042811015611991565b811561175b570490565b90816020910312610455575180151581036104555790565b90816020910312610455575160ff811681036104555790565b60ff60015416611a1f57565b63d93c066560e01b60005260046000fd5b600260005414611a41576002600055565b633ee5aeb560e01b60005260046000fd5b611a8f6020611a5f611b5f565b6040516395a8c58d60e01b81526001600160a01b0390911660048201526008602482015291829081906044820190565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa90811561046257600091611afd575b5015611ad457565b611adc611b5f565b630b7b41c360e11b60009081526001600160a01b0391909116600452602490fd5b611b16915060203d6020116107b7576107a98183611719565b38611acc565b60405163a9059cbb60e01b60208201526001600160a01b03929092166024830152604480830193909352918152611b5d91611b58606483611719565b611bb8565b565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161480611bad575b15611ba95760131936013681116116f6573560601c90565b3390565b506014361015611b91565b906000602091828151910182855af115610462576000513d611c0a57506001600160a01b0381163b155b611be95750565b635274afe760e01b60009081526001600160a01b0391909116600452602490fd5b60011415611be256fea26469706673582212207a529fd186719402d1b4bd4d148d9b079592ebba058bbcb9be529ed7eed3a15264736f6c634300081c0033","deployedBytecode":"0x6080604052600436101561001257600080fd5b60003560e01c806302329a291461143757806313007d55146113f25780631ae3fdc8146111a65780631d36f08b146111475780631da033121461112b5780634acb16d614610fbf5780634ee2cd7e14610f30578063572b6c0514610edc578063593b643914610e7a5780635c975abb14610e575780635df8da7d14610e2c57806368a37ae814610e105780636ec9d56f14610df75780637da0a87714610db2578063809c187514610d9957806382aaea4514610b3457806391dd34f214610b07578063981b24d014610a15578063a2e26616146109c5578063a605353e14610980578063b6ae73641461080d578063c94a7b29146107c8578063ccc7a5a3146105a65763ecd158cf1461012457600080fd5b346104555761013236611699565b9161013b611a30565b610143611a52565b8215801561059c575b61058b57610158611a13565b811561057b576001600160a01b031691821561056a5760405163313ce56760e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690602081600481855afa9081156104625760009161054b575b5060405163313ce56760e01b815290602082600481895afa91821561046257600092610515575b5060ff809116911681116105015750604051632cd434c760e11b81526001600160a01b03909116600482015260248101829052602081806044810103817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa908115610462576000916104cc575b5080156104bb5761026e8184611751565b6104a35761027f6102f391846119d8565b82600052600360205260406000208560005260205260016040600020016102a78582546116e9565b905582600052600360205260406000208560005260205260406000206102ce8582546116e9565b90558260005260036020526040600020856000526020526002604060002001546116e9565b8160005260036020526040600020846000526020526002604060002001558260018060a01b03610321611b5f565b167f34e311bf98e8d39b5dbfa3058c1ff5c05baab0ccf69cf23e1becb1e596064ee06020604051868152a46040516370a0823160e01b815230600482015290602082602481865afa9182156104625760009261046e575b506020602492936103d6836103d061038e611b5f565b604080516323b872dd60e01b888201526001600160a01b039092168983019081523060208201529081019390935291829060600103601f198101835282611719565b82611bb8565b6040516370a0823160e01b815230600482015293849182905afa91821561046257600092610427575b5061040a91926116e9565b03610416576001600055005b63138cfabf60e01b60005260046000fd5b91506020823d60201161045a575b8161044260209383611719565b810103126104555761040a9151916103ff565b600080fd5b3d9150610435565b6040513d6000823e3d90fd5b91506020823d60201161049b575b8161048960209383611719565b81010312610455579051906020610378565b3d915061047c565b8263a0454ff760e01b60005260045260245260446000fd5b635360893560e01b60005260046000fd5b906020823d6020116104f9575b816104e660209383611719565b810103126104f65750513861025d565b80fd5b3d91506104d9565b633c7acba360e11b60005260045260246000fd5b60ff91925061053c829160203d602011610544575b6105348183611719565b8101906119fa565b9291506101e5565b503d61052a565b610564915060203d602011610544576105348183611719565b386101be565b63f6d8e63960e01b60005260046000fd5b6279f00d60e91b60005260046000fd5b63c806477360e01b60005260046000fd5b504283101561014c565b34610455576105b436611699565b90916105be611a30565b821580156107be575b61058b576105d3611a13565b816105dc611b5f565b604051631f92defb60e31b81526001600160a01b03918216600482015290602090829060249082907f0000000000000000000000000000000000000000000000000000000000000000165afa9081156104625760009161078f575b506107665761064e84610648611b5f565b84611848565b901561075e575b80831161074d571561073c5782610735936000526002602052604060002060018060a01b038316600052602052604060002061068f611b5f565b60018060a01b031660005260205260406000206106ad8482546116e9565b9055806000526003602052604060002060018060a01b03831660005260205260016040600020016106df84825461170c565b90556001600160a01b036106f1611b5f565b169160018060a01b031680927ff1077fb91af1db37416df258bb3f2ea2ecf9020c9be34430c2b5a25c743b7e586020604051878152a461072f611b5f565b90611b1c565b6001600055005b6328e2b85760e21b60005260046000fd5b632da5bc6b60e11b60005260046000fd5b915081610655565b61076e611b5f565b631b880c3f60e11b60009081526001600160a01b0391909116600452602490fd5b6107b1915060203d6020116107b7575b6107a98183611719565b8101906119e2565b85610637565b503d61079f565b50428310156105c7565b34610455576000366003190112610455576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461045557602036600319011261045557610826611618565b6108636020610833611b5f565b6040516395a8c58d60e01b81526001600160a01b0390911660048201526001602482015291829081906044820190565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa90811561046257600091610961575b5015610935576001600160a01b038116908115801561092c575b61091b5760018054610100600160a81b03191660089290921b610100600160a81b03169190911790556001600160a01b036108f3611b5f565b167f24b3f63dc694243e66fcb411d6eafe69b0d9c47192a486ec5525b0ea6e95b021600080a3005b6305f83c2b60e51b60005260046000fd5b503082146108ba565b61093d611b5f565b60016212a1d960e01b031960009081526001600160a01b0391909116600452602490fd5b61097a915060203d6020116107b7576107a98183611719565b826108a0565b34610455576000366003190112610455576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610455576109d33661165f565b909181158015610a0b575b61058b576109fd82846109f7610a039560209786611848565b93611986565b906116e9565b604051908152f35b50428210156109de565b346104555760203660031901126104555760043580158015610afd575b61058b57604051632cd434c760e11b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166004820152602481019190915260208180604481015b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561046257600090610aca575b602090604051908152f35b506020813d602011610af5575b81610ae460209383611719565b810103126104555760209051610abf565b3d9150610ad7565b5042811015610a32565b346104555760003660031901126104555760015460405160089190911c6001600160a01b03168152602090f35b3461045557610b4236611699565b610b4d929192611a30565b610b55611a52565b80158015610d8f575b61058b57610b6a611a13565b60015460081c6001600160a01b03161561091b5760008181526003602090815260408083206001600160a01b038616845290915290206001810180548254909291818403610d7e578315610d6d57604051632cd434c760e11b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031660048201526024810186905296602088806044810103817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa97881561046257600098610d39575b5080610ce95750610c6c95949392610c796107359884600294610c72610c8497809c81955b826119d8565b9961170c565b905561170c565b81550191825461170c565b9055610c8e611b5f565b6040805185815260208101939093526001600160a01b039384169384933093909116917f396e89d9c954ab7537e2ff1d4808d0bfbfa53984d0b0a70f8136f19af6bb00bd91a460015460081c6001600160a01b031690611b1c565b82811161074d57610cfa8882611751565b610d205792610c7961073598610c8494600294610c72610c6c9b9a9998809c8195610c66565b879063a0454ff760e01b60005260045260245260446000fd5b90976020823d602011610d65575b81610d5460209383611719565b810103126104f65750519688610c41565b3d9150610d47565b63496277bf60e11b60005260046000fd5b6382a212ed60e01b60005260046000fd5b5042811015610b5e565b34610455576020610a03610dac3661165f565b91611986565b34610455576000366003190112610455576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610455576020610a03610e0a3661165f565b91611848565b3461045557600036600319011261045557602060405160088152f35b34610455576040366003190112610455576020610e4d602435600435611771565b6040519015158152f35b3461045557600036600319011261045557602060ff600154166040519015158152f35b3461045557604036600319011261045557610e93611618565b60243580158015610ed2575b61058b57600052600360205260406000209060018060a01b03166000526020526020600160406000200154604051908152f35b5042811015610e9f565b34610455576020366003190112610455576020610ef7611618565b6040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169216919091148152f35b3461045557604036600319011261045557610f49611618565b6024359081158015610fb5575b61058b57604051634df6e51760e11b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081166004830152909116602482015260448101919091526020818060648101610a83565b5042821015610f56565b3461045557608036600319011261045557610fd8611618565b6024356001600160a01b0381169182820361045557604435606435610ffb611a30565b611003611a52565b81158015611121575b61058b57611018611a13565b60015460081c6001600160a01b03161561091b5761103882829585611848565b9015611119575b80841161074d571561073c57610735936040928260005260026020528360002060018060a01b0382166000526020528360002082600052602052836000206110888682546116e9565b90558260005260036020528360002060018060a01b038216600052602052600184600020016110b886825461170c565b90557f396e89d9c954ab7537e2ff1d4808d0bfbfa53984d0b0a70f8136f19af6bb00bd6001600160a01b036110eb611b5f565b169160018060a01b03169485948151908882526020820152a460015460081c6001600160a01b031690611b1c565b92508261103f565b504282101561100c565b3461045557600036600319011261045557602060405160018152f35b3461045557604036600319011261045557611160611618565b6024358015801561119c575b61058b57600052600360205260406000209060018060a01b03166000526020526020604060002054604051908152f35b504281101561116c565b34610455576060366003190112610455576111bf611618565b60243567ffffffffffffffff8111610455576111df90369060040161162e565b909160443567ffffffffffffffff81116104555761120190369060040161162e565b93909161120c611a13565b8484036113e1576001600160a01b0381811695947f00000000000000000000000000000000000000000000000000000000000000009091169260005b82811061125157005b61125c8184846116c3565b35906112698189896116c3565b3591611273611a30565b801580156113d7575b61058b57611288611a13565b82611291611b5f565b604051631f92defb60e31b81526001600160a01b0390911660048201526020816024818c5afa908115610462576000916113b9575b50610766576112dd826112d7611b5f565b89611848565b90156113b1575b80841161074d571561073c57600192816113a79260005260026020526040808d81600020600091825260205220611319611b5f565b90600091888060a01b03168252602052206113358382546116e9565b90558060005260036020528460408d816000206000918252602052200161135d83825461170c565b90558b858060a01b0361136e611b5f565b167ff1077fb91af1db37416df258bb3f2ea2ecf9020c9be34430c2b5a25c743b7e586020604051868152a46113a1611b5f565b8b611b1c565b8160005501611248565b9250826112e4565b6113d1915060203d81116107b7576107a98183611719565b8c6112c6565b504281101561127c565b634b8d0def60e01b60005260046000fd5b34610455576000366003190112610455576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610455576020366003190112610455576004358015158103610455577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661148b6020610833611b5f565b0381855afa908115610462576000916115f9575b5015908161157c575b506115535715611504576114ba611a13565b600160ff19815416176001557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25860206114f1611b5f565b6040516001600160a01b039091168152a1005b60015460ff8116156115425760ff19166001557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa60206114f1611b5f565b638dfc202b60e01b60005260046000fd5b61155b611b5f565b6361b0927b60e11b60009081526001600160a01b0391909116600452602490fd5b6115bf915060209061158c611b5f565b6040516395a8c58d60e01b81526001600160a01b0390911660048201526008602482015292839190829081906044820190565b03915afa908115610462576000916115da575b5015826114a8565b6115f3915060203d6020116107b7576107a98183611719565b826115d2565b611612915060203d6020116107b7576107a98183611719565b8361149f565b600435906001600160a01b038216820361045557565b9181601f840112156104555782359167ffffffffffffffff8311610455576020808501948460051b01011161045557565b6060906003190112610455576004356001600160a01b038116810361045557906024356001600160a01b0381168103610455579060443590565b6060906003190112610455576004356001600160a01b038116810361045557906024359060443590565b91908110156116d35760051b0190565b634e487b7160e01b600052603260045260246000fd5b919082018092116116f657565b634e487b7160e01b600052601160045260246000fd5b919082039182116116f657565b90601f8019910116810190811067ffffffffffffffff82111761173b57604052565b634e487b7160e01b600052604160045260246000fd5b811561175b570690565b634e487b7160e01b600052601260045260246000fd5b604051632cd434c760e11b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166004820152602481019290925290602081806044810103817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa90811561046257600091611816575b50801561180f5761180b91611751565b1590565b5050600090565b906020823d602011611840575b8161183060209383611719565b810103126104f6575051386117fb565b3d9150611823565b90918015801561197c575b61058b5760008181526003602090815260408083206001600160a01b03868116855290835292819020600201549051634df6e51760e11b81527f0000000000000000000000000000000000000000000000000000000000000000841660048201528684166024820152604481018590529592909190869060649082907f0000000000000000000000000000000000000000000000000000000000000000165afa94851561046257600095611948575b508481029481860414901517156116f65761191c92611986565b90808211611931579061192e9161170c565b90565b637f8c1ae360e01b60005260045260245260446000fd5b90946020823d602011611974575b8161196360209383611719565b810103126104f65750519338611902565b3d9150611956565b5042811015611853565b9091801580156119ce575b61058b57600052600260205260406000209060018060a01b031660005260205260406000209060018060a01b031660005260205260406000205490565b5042811015611991565b811561175b570490565b90816020910312610455575180151581036104555790565b90816020910312610455575160ff811681036104555790565b60ff60015416611a1f57565b63d93c066560e01b60005260046000fd5b600260005414611a41576002600055565b633ee5aeb560e01b60005260046000fd5b611a8f6020611a5f611b5f565b6040516395a8c58d60e01b81526001600160a01b0390911660048201526008602482015291829081906044820190565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa90811561046257600091611afd575b5015611ad457565b611adc611b5f565b630b7b41c360e11b60009081526001600160a01b0391909116600452602490fd5b611b16915060203d6020116107b7576107a98183611719565b38611acc565b60405163a9059cbb60e01b60208201526001600160a01b03929092166024830152604480830193909352918152611b5d91611b58606483611719565b611bb8565b565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161480611bad575b15611ba95760131936013681116116f6573560601c90565b3390565b506014361015611b91565b906000602091828151910182855af115610462576000513d611c0a57506001600160a01b0381163b155b611be95750565b635274afe760e01b60009081526001600160a01b0391909116600452602490fd5b60011415611be256fea26469706673582212207a529fd186719402d1b4bd4d148d9b079592ebba058bbcb9be529ed7eed3a15264736f6c634300081c0033","immutableReferences":{}}
@@ -1 +1 @@
1
- {"abi":[{"inputs":[{"internalType":"string","name":"name","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"uint48","name":"deadline","type":"uint48"}],"name":"ERC2771CustomForwarder_ExpiredRequest","type":"error"},{"inputs":[{"internalType":"address","name":"signer","type":"address"},{"internalType":"address","name":"from","type":"address"}],"name":"ERC2771CustomForwarder_InvalidSigner","type":"error"},{"inputs":[{"internalType":"uint256","name":"requestedValue","type":"uint256"},{"internalType":"uint256","name":"msgValue","type":"uint256"}],"name":"ERC2771CustomForwarder_MismatchedValue","type":"error"},{"inputs":[],"name":"ERC2771CustomForwarder_NonZeroValueNotAllowed","type":"error"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"address","name":"forwarder","type":"address"}],"name":"ERC2771CustomForwarder_UntrustfulTarget","type":"error"},{"inputs":[],"name":"FailedCall","type":"error"},{"inputs":[{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"InsufficientBalance","type":"error"},{"inputs":[],"name":"InvalidShortString","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"}],"name":"Nonces_InvalidAccountNonce","type":"error"},{"inputs":[{"internalType":"string","name":"str","type":"string"}],"name":"StringTooLong","type":"error"},{"anonymous":false,"inputs":[],"name":"EIP712DomainChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"signer","type":"address"},{"indexed":false,"internalType":"uint256","name":"nonce","type":"uint256"},{"indexed":false,"internalType":"bool","name":"success","type":"bool"}],"name":"ExecutedForwardRequest","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"nonce","type":"uint256"}],"name":"NonceUsed","type":"event"},{"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":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"gas","type":"uint256"},{"internalType":"uint48","name":"deadline","type":"uint48"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"bytes","name":"signature","type":"bytes"}],"internalType":"struct ERC2771CustomForwarder.ForwardRequestData","name":"request","type":"tuple"}],"name":"execute","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"gas","type":"uint256"},{"internalType":"uint48","name":"deadline","type":"uint48"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"bytes","name":"signature","type":"bytes"}],"internalType":"struct ERC2771CustomForwarder.ForwardRequestData[]","name":"requests","type":"tuple[]"},{"internalType":"address payable","name":"refundReceiver","type":"address"}],"name":"executeBatch","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"owner_","type":"address"},{"internalType":"uint256","name":"nonce_","type":"uint256"}],"name":"isNonceValid","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"gas","type":"uint256"},{"internalType":"uint48","name":"deadline","type":"uint48"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"bytes","name":"signature","type":"bytes"}],"internalType":"struct ERC2771CustomForwarder.ForwardRequestData","name":"request","type":"tuple"}],"name":"verify","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}],"bytecode":"0x610160806040523461018757611593803803809161001d82856101a2565b8339810190602081830312610187578051906001600160401b03821161018757019080601f83011215610187578151916001600160401b03831161018c5760405192610073601f8201601f1916602001856101a2565b8084526020840192602082840101116101875782602061009393016101c5565b6040918251916100a384846101a2565b600183526020830191603160f81b83526100bc816101e8565b610120526100c98461038d565b61014052519020918260e05251902080610100524660a05282519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f84528483015260608201524660808201523060a082015260a0815261013060c0826101a2565b5190206080523060c052516110c390816104d0823960805181610f15015260a05181610fd2015260c05181610edf015260e05181610f6401526101005181610f8a0152610120518160c10152610140518160ea0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b601f909101601f19168101906001600160401b0382119082101761018c57604052565b60005b8381106101d85750506000910152565b81810151838201526020016101c8565b90815160208110600014610263575090601f815111610224576020815191015160208210610214571790565b6000198260200360031b1b161790565b6044604051809263305a27a960e01b82526020600483015261025581518092816024860152602086860191016101c5565b601f01601f19168101030190fd5b6001600160401b03811161018c57600054600181811c91168015610383575b602082101461036d57601f8111610338575b50602092601f82116001146102d457928192936000926102c9575b50508160011b916000199060031b1c19161760005560ff90565b0151905038806102af565b601f1982169360008052806000209160005b8681106103205750836001959610610307575b505050811b0160005560ff90565b015160001960f88460031b161c191690553880806102f9565b919260206001819286850151815501940192016102e6565b60008052601f6020600020910160051c810190601f830160051c015b8181106103615750610294565b60008155600101610354565b634e487b7160e01b600052602260045260246000fd5b90607f1690610282565b908151602081106000146103b9575090601f815111610224576020815191015160208210610214571790565b6001600160401b03811161018c57600154600181811c911680156104c5575b602082101461036d57601f811161048f575b50602092601f821160011461042a579281929360009261041f575b50508160011b916000199060031b1c19161760015560ff90565b015190503880610405565b601f198216936001600052806000209160005b868110610477575083600195961061045e575b505050811b0160015560ff90565b015160001960f88460031b161c19169055388080610450565b9192602060018192868501518155019401920161043d565b6001600052601f6020600020910160051c810190601f830160051c015b8181106104b957506103ea565b600081556001016104ac565b90607f16906103d856fe6080604052600436101561001257600080fd5b60003560e01c80633dbfe077146106445780634104b579146105f357806382f6471a146101a557806384b0196e146100a85763bd11257c1461005357600080fd5b346100a35760403660031901126100a3576004356001600160a01b038116908190036100a35760005260026020526040600020602435600052602052602060ff6040600020541615604051908152f35b600080fd5b346100a35760003660031901126100a3576101476100e57f0000000000000000000000000000000000000000000000000000000000000000610ca2565b61010e7f0000000000000000000000000000000000000000000000000000000000000000610dce565b6020610155604051926101218385610965565b600084526000368137604051958695600f60f81b875260e08588015260e08701906108c9565b9085820360408701526108c9565b466060850152306080850152600060a085015283810360c085015281808451928381520193019160005b82811061018e57505050500390f35b83518552869550938101939281019260010161017f565b60403660031901126100a35760043567ffffffffffffffff81116100a357366023820112156100a357806004013567ffffffffffffffff81116100a3576024820191602436918360051b0101116100a3576024356001600160a01b03811691908290036100a35791610216346109e9565b8115906000906000946000915b8183106102c7575050503481036102af57508261023c57005b61028657600080808481945af16102516109b9565b501561025a575b005b80471061029757600080808093335af16102726109b9565b906102585780511561028657805190602001fd5b63d6bda27560e01b60005260046000fd5b4763cf47918160e01b60005260045260245260446000fd5b6362c7bced60e11b6000526004523460245260446000fd5b9091926102fa906102e560406102de87878761090a565b01356109e9565b60406102f286868661090a565b013590610942565b9261030681848461090a565b6000908661031382610a5a565b9492919092610528575b83610520575b5082610518575b5081610510575b50610365575b505015610349575b6001019190610223565b9561035d60019160406102f28a878761090a565b96905061033f565b90915061037182610a00565b9060a08301359160018060a01b031680600052600260205260406000208360005260205260ff604060002054166104f7578060005260026020526040600020836000526020526040600020600160ff198254161790557f2af71f10069c28afc67c3752e87e0e4616a97948d33c8f404a856c0c334b3e016020604051858152a287600080606086013595604061040960208301610a00565b61041660c0840184610a27565b6104606014602061042988979597610a00565b938551948186928484019a8b378201906bffffffffffffffffffffffff199060601b16838201520301600b19810184520182610965565b519301359089f1935a90851592836104d6575b50603f9004116104d45788806104cd575b6102865760408051938452901560208401526001600160a01b03909116917f842fb24a83793558587a3dab2be7674da4a51d09c5542d6dd354e5d0ea70813c9190a28880610337565b5080610484565bfe5b6104e1575b8a610473565b3d806104ed57506104db565b604051816000823efd5b905063cb85762760e01b60005260045260245260446000fd5b90508b610331565b91508c61032a565b92508d610323565b83156105c257811561059a57801561056b578261031d5760a08661054b81610a00565b63cb85762760e01b600052600180841b0316600452013560245260446000fd5b8461057587610a00565b636e55e4fd60e11b60009081526001600160a01b039283166004529116602452604490fd5b65ffffffffffff6105ad60808801610a14565b632c2ca14d60e21b6000521660045260246000fd5b6105ce60208701610a00565b631f834c2b60e21b60009081526001600160a01b039190911660045230602452604490fd5b346100a357602061060b61060636610894565b610a5a565b50918361063c575b5082610634575b508161062c575b506040519015158152f35b905082610621565b91508361061a565b925084610613565b61064d36610894565b60408101359081340361087b57610663346109e9565b60009161066f82610a5a565b93929091831561086f57811561085c578015610852578215610846578361083e575b5082610836575b508161082e575b506106af575b5050501561028657005b909192506106bc83610a00565b9160a08401359260018060a01b031680600052600260205260406000208460005260205260ff6040600020541661081557600091818392835260026020526040832086845260205260408320600160ff198254161790557f2af71f10069c28afc67c3752e87e0e4616a97948d33c8f404a856c0c334b3e016020604051888152a260608601359561074f60208201610a00565b9161076f6107a76014602061076760c0870187610a27565b949096610a00565b9360405194818692848401998a378201906bffffffffffffffffffffffff199060601b16838201520301600b19810184520182610965565b519288f1925a84159182610809575b603f9004116104d4576102865760408051928352600160208401526001600160a01b03909116917f842fb24a83793558587a3dab2be7674da4a51d09c5542d6dd354e5d0ea70813c9190a28180806106a5565b3d806104ed57506107b6565b839063cb85762760e01b60005260045260245260446000fd5b90508561069f565b915086610698565b925087610691565b60a08761054b81610a00565b8461057588610a00565b65ffffffffffff6105ad60808901610a14565b6105ce60208801610a00565b506362c7bced60e11b6000526004523460245260446000fd5b60206003198201126100a3576004359067ffffffffffffffff82116100a3576101009082900360031901126100a35760040190565b919082519283825260005b8481106108f5575050826000602080949584010152601f8019910116010190565b806020809284010151828286010152016108d4565b919081101561092c5760051b8101359060fe19813603018212156100a3570190565b634e487b7160e01b600052603260045260246000fd5b9190820180921161094f57565b634e487b7160e01b600052601160045260246000fd5b90601f8019910116810190811067ffffffffffffffff82111761098757604052565b634e487b7160e01b600052604160045260246000fd5b67ffffffffffffffff811161098757601f01601f191660200190565b3d156109e4573d906109ca8261099d565b916109d86040519384610965565b82523d6000602084013e565b606090565b6109ef57565b63644f20c160e01b60005260046000fd5b356001600160a01b03811681036100a35790565b3565ffffffffffff811681036100a35790565b903590601e19813603018212156100a3570180359067ffffffffffffffff82116100a3576020019181360383136100a357565b90610a6482610a00565b906020830191610a7383610a00565b91610b69604260a0870135936080880195610a8d87610a14565b65ffffffffffff610aab610aa460c08d018d610a27565b3691610c6b565b60208151910120916040519360208501957f7f96328b83274ebc7c1cf4f7a3abda602b51a78b7fa1d86a2ce353d75e587cac875260018060a01b0316604086015260018060a01b0316606085015260408c0135608085015260608c013560a08501528860c08501521660e08301526101008201526101008152610b3061012082610965565b519020610b3b610edc565b906040519161190160f01b83526002830152602282015220610b63610aa460e0890189610a27565b90610ea0565b506004819492941015610c55576000610b856020921597610a00565b6040518381019063572b6c0560e01b825230602482015260248152610bab604482610965565b51915afa933d6000519086610c49575b5085610c3d575b50610bcc90610a14565b9585610c18575b6001600160a01b0390610be590610a00565b16600052600260205260406000209060005260205260ff6040600020541615929465ffffffffffff429116101593929190565b94506001600160a01b03610c2b86610a00565b166001600160a01b0384161494610bd3565b15159450610bcc610bc2565b60201115955038610bbb565b634e487b7160e01b600052602160045260246000fd5b929192610c778261099d565b91610c856040519384610965565b8294818452818301116100a3578281602093846000960137010152565b60ff8114610cec5760ff811690601f8211610cdb576040805192610cc68285610965565b6020808552840191601f190136833783525290565b632cd44ac360e21b60005260046000fd5b5060405160008054908160011c91600181168015610dc4575b602084108114610db0578385528492918115610d915750600114610d33575b610d3092500382610965565b90565b50600080805290917f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b818310610d75575050906020610d3092820101610d24565b6020919350806001915483858801015201910190918392610d5d565b60209250610d3094915060ff191682840152151560051b820101610d24565b634e487b7160e01b83526022600452602483fd5b92607f1692610d05565b60ff8114610df25760ff811690601f8211610cdb576040805192610cc68285610965565b506040516000600154908160011c91600181168015610e96575b602084108114610db0578385528492918115610d915750600114610e3657610d3092500382610965565b506001600090815290917fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b818310610e7a575050906020610d3092820101610d24565b6020919350806001915483858801015201910190918392610e62565b92607f1692610e0c565b8151919060418303610ed157610eca92506020820151906060604084015193015160001a90610ff8565b9192909190565b505060009160029190565b307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161480610fcf575b15610f37577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a08152610fc960c082610965565b51902090565b507f00000000000000000000000000000000000000000000000000000000000000004614610f0e565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411611081579160209360809260ff60009560405194855216868401526040830152606082015282805260015afa15611075576000516001600160a01b038116156110695790600090600090565b50600090600190600090565b6040513d6000823e3d90fd5b5050506000916003919056fea26469706673582212202342d531ce00e8ff9b6c970bd7c79cfc85d6bd1f94b51dc9e4547a174daf714564736f6c634300081c0033","deployedBytecode":"0x6080604052600436101561001257600080fd5b60003560e01c80633dbfe077146106445780634104b579146105f357806382f6471a146101a557806384b0196e146100a85763bd11257c1461005357600080fd5b346100a35760403660031901126100a3576004356001600160a01b038116908190036100a35760005260026020526040600020602435600052602052602060ff6040600020541615604051908152f35b600080fd5b346100a35760003660031901126100a3576101476100e57f0000000000000000000000000000000000000000000000000000000000000000610ca2565b61010e7f0000000000000000000000000000000000000000000000000000000000000000610dce565b6020610155604051926101218385610965565b600084526000368137604051958695600f60f81b875260e08588015260e08701906108c9565b9085820360408701526108c9565b466060850152306080850152600060a085015283810360c085015281808451928381520193019160005b82811061018e57505050500390f35b83518552869550938101939281019260010161017f565b60403660031901126100a35760043567ffffffffffffffff81116100a357366023820112156100a357806004013567ffffffffffffffff81116100a3576024820191602436918360051b0101116100a3576024356001600160a01b03811691908290036100a35791610216346109e9565b8115906000906000946000915b8183106102c7575050503481036102af57508261023c57005b61028657600080808481945af16102516109b9565b501561025a575b005b80471061029757600080808093335af16102726109b9565b906102585780511561028657805190602001fd5b63d6bda27560e01b60005260046000fd5b4763cf47918160e01b60005260045260245260446000fd5b6362c7bced60e11b6000526004523460245260446000fd5b9091926102fa906102e560406102de87878761090a565b01356109e9565b60406102f286868661090a565b013590610942565b9261030681848461090a565b6000908661031382610a5a565b9492919092610528575b83610520575b5082610518575b5081610510575b50610365575b505015610349575b6001019190610223565b9561035d60019160406102f28a878761090a565b96905061033f565b90915061037182610a00565b9060a08301359160018060a01b031680600052600260205260406000208360005260205260ff604060002054166104f7578060005260026020526040600020836000526020526040600020600160ff198254161790557f2af71f10069c28afc67c3752e87e0e4616a97948d33c8f404a856c0c334b3e016020604051858152a287600080606086013595604061040960208301610a00565b61041660c0840184610a27565b6104606014602061042988979597610a00565b938551948186928484019a8b378201906bffffffffffffffffffffffff199060601b16838201520301600b19810184520182610965565b519301359089f1935a90851592836104d6575b50603f9004116104d45788806104cd575b6102865760408051938452901560208401526001600160a01b03909116917f842fb24a83793558587a3dab2be7674da4a51d09c5542d6dd354e5d0ea70813c9190a28880610337565b5080610484565bfe5b6104e1575b8a610473565b3d806104ed57506104db565b604051816000823efd5b905063cb85762760e01b60005260045260245260446000fd5b90508b610331565b91508c61032a565b92508d610323565b83156105c257811561059a57801561056b578261031d5760a08661054b81610a00565b63cb85762760e01b600052600180841b0316600452013560245260446000fd5b8461057587610a00565b636e55e4fd60e11b60009081526001600160a01b039283166004529116602452604490fd5b65ffffffffffff6105ad60808801610a14565b632c2ca14d60e21b6000521660045260246000fd5b6105ce60208701610a00565b631f834c2b60e21b60009081526001600160a01b039190911660045230602452604490fd5b346100a357602061060b61060636610894565b610a5a565b50918361063c575b5082610634575b508161062c575b506040519015158152f35b905082610621565b91508361061a565b925084610613565b61064d36610894565b60408101359081340361087b57610663346109e9565b60009161066f82610a5a565b93929091831561086f57811561085c578015610852578215610846578361083e575b5082610836575b508161082e575b506106af575b5050501561028657005b909192506106bc83610a00565b9160a08401359260018060a01b031680600052600260205260406000208460005260205260ff6040600020541661081557600091818392835260026020526040832086845260205260408320600160ff198254161790557f2af71f10069c28afc67c3752e87e0e4616a97948d33c8f404a856c0c334b3e016020604051888152a260608601359561074f60208201610a00565b9161076f6107a76014602061076760c0870187610a27565b949096610a00565b9360405194818692848401998a378201906bffffffffffffffffffffffff199060601b16838201520301600b19810184520182610965565b519288f1925a84159182610809575b603f9004116104d4576102865760408051928352600160208401526001600160a01b03909116917f842fb24a83793558587a3dab2be7674da4a51d09c5542d6dd354e5d0ea70813c9190a28180806106a5565b3d806104ed57506107b6565b839063cb85762760e01b60005260045260245260446000fd5b90508561069f565b915086610698565b925087610691565b60a08761054b81610a00565b8461057588610a00565b65ffffffffffff6105ad60808901610a14565b6105ce60208801610a00565b506362c7bced60e11b6000526004523460245260446000fd5b60206003198201126100a3576004359067ffffffffffffffff82116100a3576101009082900360031901126100a35760040190565b919082519283825260005b8481106108f5575050826000602080949584010152601f8019910116010190565b806020809284010151828286010152016108d4565b919081101561092c5760051b8101359060fe19813603018212156100a3570190565b634e487b7160e01b600052603260045260246000fd5b9190820180921161094f57565b634e487b7160e01b600052601160045260246000fd5b90601f8019910116810190811067ffffffffffffffff82111761098757604052565b634e487b7160e01b600052604160045260246000fd5b67ffffffffffffffff811161098757601f01601f191660200190565b3d156109e4573d906109ca8261099d565b916109d86040519384610965565b82523d6000602084013e565b606090565b6109ef57565b63644f20c160e01b60005260046000fd5b356001600160a01b03811681036100a35790565b3565ffffffffffff811681036100a35790565b903590601e19813603018212156100a3570180359067ffffffffffffffff82116100a3576020019181360383136100a357565b90610a6482610a00565b906020830191610a7383610a00565b91610b69604260a0870135936080880195610a8d87610a14565b65ffffffffffff610aab610aa460c08d018d610a27565b3691610c6b565b60208151910120916040519360208501957f7f96328b83274ebc7c1cf4f7a3abda602b51a78b7fa1d86a2ce353d75e587cac875260018060a01b0316604086015260018060a01b0316606085015260408c0135608085015260608c013560a08501528860c08501521660e08301526101008201526101008152610b3061012082610965565b519020610b3b610edc565b906040519161190160f01b83526002830152602282015220610b63610aa460e0890189610a27565b90610ea0565b506004819492941015610c55576000610b856020921597610a00565b6040518381019063572b6c0560e01b825230602482015260248152610bab604482610965565b51915afa933d6000519086610c49575b5085610c3d575b50610bcc90610a14565b9585610c18575b6001600160a01b0390610be590610a00565b16600052600260205260406000209060005260205260ff6040600020541615929465ffffffffffff429116101593929190565b94506001600160a01b03610c2b86610a00565b166001600160a01b0384161494610bd3565b15159450610bcc610bc2565b60201115955038610bbb565b634e487b7160e01b600052602160045260246000fd5b929192610c778261099d565b91610c856040519384610965565b8294818452818301116100a3578281602093846000960137010152565b60ff8114610cec5760ff811690601f8211610cdb576040805192610cc68285610965565b6020808552840191601f190136833783525290565b632cd44ac360e21b60005260046000fd5b5060405160008054908160011c91600181168015610dc4575b602084108114610db0578385528492918115610d915750600114610d33575b610d3092500382610965565b90565b50600080805290917f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b818310610d75575050906020610d3092820101610d24565b6020919350806001915483858801015201910190918392610d5d565b60209250610d3094915060ff191682840152151560051b820101610d24565b634e487b7160e01b83526022600452602483fd5b92607f1692610d05565b60ff8114610df25760ff811690601f8211610cdb576040805192610cc68285610965565b506040516000600154908160011c91600181168015610e96575b602084108114610db0578385528492918115610d915750600114610e3657610d3092500382610965565b506001600090815290917fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b818310610e7a575050906020610d3092820101610d24565b6020919350806001915483858801015201910190918392610e62565b92607f1692610e0c565b8151919060418303610ed157610eca92506020820151906060604084015193015160001a90610ff8565b9192909190565b505060009160029190565b307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161480610fcf575b15610f37577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a08152610fc960c082610965565b51902090565b507f00000000000000000000000000000000000000000000000000000000000000004614610f0e565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411611081579160209360809260ff60009560405194855216868401526040830152606082015282805260015afa15611075576000516001600160a01b038116156110695790600090600090565b50600090600190600090565b6040513d6000823e3d90fd5b5050506000916003919056fea26469706673582212202342d531ce00e8ff9b6c970bd7c79cfc85d6bd1f94b51dc9e4547a174daf714564736f6c634300081c0033","immutableReferences":{}}
1
+ {"abi":[{"inputs":[{"internalType":"string","name":"name","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"uint48","name":"deadline","type":"uint48"}],"name":"ERC2771CustomForwarder_ExpiredRequest","type":"error"},{"inputs":[{"internalType":"address","name":"signer","type":"address"},{"internalType":"address","name":"from","type":"address"}],"name":"ERC2771CustomForwarder_InvalidSigner","type":"error"},{"inputs":[{"internalType":"uint256","name":"requestedValue","type":"uint256"},{"internalType":"uint256","name":"msgValue","type":"uint256"}],"name":"ERC2771CustomForwarder_MismatchedValue","type":"error"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"address","name":"forwarder","type":"address"}],"name":"ERC2771CustomForwarder_UntrustfulTarget","type":"error"},{"inputs":[],"name":"FailedCall","type":"error"},{"inputs":[{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"InsufficientBalance","type":"error"},{"inputs":[],"name":"InvalidShortString","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"}],"name":"Nonces_InvalidAccountNonce","type":"error"},{"inputs":[{"internalType":"string","name":"str","type":"string"}],"name":"StringTooLong","type":"error"},{"anonymous":false,"inputs":[],"name":"EIP712DomainChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"signer","type":"address"},{"indexed":false,"internalType":"uint256","name":"nonce","type":"uint256"},{"indexed":false,"internalType":"bool","name":"success","type":"bool"}],"name":"ExecutedForwardRequest","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"nonce","type":"uint256"}],"name":"NonceUsed","type":"event"},{"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":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"gas","type":"uint256"},{"internalType":"uint48","name":"deadline","type":"uint48"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"bytes","name":"signature","type":"bytes"}],"internalType":"struct ERC2771CustomForwarder.ForwardRequestData","name":"request","type":"tuple"}],"name":"execute","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"gas","type":"uint256"},{"internalType":"uint48","name":"deadline","type":"uint48"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"bytes","name":"signature","type":"bytes"}],"internalType":"struct ERC2771CustomForwarder.ForwardRequestData[]","name":"requests","type":"tuple[]"},{"internalType":"address payable","name":"refundReceiver","type":"address"}],"name":"executeBatch","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"owner_","type":"address"},{"internalType":"uint256","name":"nonce_","type":"uint256"}],"name":"isNonceValid","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"gas","type":"uint256"},{"internalType":"uint48","name":"deadline","type":"uint48"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"bytes","name":"signature","type":"bytes"}],"internalType":"struct ERC2771CustomForwarder.ForwardRequestData","name":"request","type":"tuple"}],"name":"verify","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}],"bytecode":"0x61016080604052346101895761144d803803809161001d82856101a4565b8339810190602081830312610189578051906001600160401b03821161018957019080601f83011215610189578151916001600160401b03831161018e5760405192610073601f8201601f1916602001856101a4565b8084526020840192602082840101116101895782602061009393016101c7565b6040918251916100a384846101a4565b600183526020830191603160f81b83526100bc816101ea565b610120526100c98461038f565b61014052519020918260e05251902080610100524660a05282519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f84528483015260608201524660808201523060a082015260a0815261013060c0826101a4565b5190206080523060c05251610f7b90816104d2823960805181610dcd015260a05181610e8a015260c05181610d97015260e05181610e1c01526101005181610e42015261012051816102050152610140518161022e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b601f909101601f19168101906001600160401b0382119082101761018e57604052565b60005b8381106101da5750506000910152565b81810151838201526020016101ca565b90815160208110600014610265575090601f815111610226576020815191015160208210610216571790565b6000198260200360031b1b161790565b6044604051809263305a27a960e01b82526020600483015261025781518092816024860152602086860191016101c7565b601f01601f19168101030190fd5b6001600160401b03811161018e57600054600181811c91168015610385575b602082101461036f57601f811161033a575b50602092601f82116001146102d657928192936000926102cb575b50508160011b916000199060031b1c19161760005560ff90565b0151905038806102b1565b601f1982169360008052806000209160005b8681106103225750836001959610610309575b505050811b0160005560ff90565b015160001960f88460031b161c191690553880806102fb565b919260206001819286850151815501940192016102e8565b60008052601f6020600020910160051c810190601f830160051c015b8181106103635750610296565b60008155600101610356565b634e487b7160e01b600052602260045260246000fd5b90607f1690610284565b908151602081106000146103bb575090601f815111610226576020815191015160208210610216571790565b6001600160401b03811161018e57600154600181811c911680156104c7575b602082101461036f57601f8111610491575b50602092601f821160011461042c5792819293600092610421575b50508160011b916000199060031b1c19161760015560ff90565b015190503880610407565b601f198216936001600052806000209160005b8681106104795750836001959610610460575b505050811b0160015560ff90565b015160001960f88460031b161c19169055388080610452565b9192602060018192868501518155019401920161043f565b6001600052601f6020600020910160051c810190601f830160051c015b8181106104bb57506103ec565b600081556001016104ae565b90607f16906103da56fe6080604052600436101561001257600080fd5b60003560e01c80633dbfe077146100675780634104b5791461006257806382f6471a1461005d57806384b0196e146100585763bd11257c1461005357600080fd5b6102ed565b6101ec565b610144565b6100f1565b610070366100b7565b60408101359081340361009e57610086906106a8565b1561008d57005b63d6bda27560e01b60005260046000fd5b506362c7bced60e11b6000526004523460245260446000fd5b60206003198201126100ec576004359067ffffffffffffffff82116100ec576101009082900360031901126100ec5760040190565b600080fd5b346100ec576020610109610104366100b7565b6107df565b50908261012b575b5081610123575b506040519015158152f35b905038610118565b915038610111565b6001600160a01b038116036100ec57565b60403660031901126100ec5760043567ffffffffffffffff81116100ec57366023820112156100ec5780600401359067ffffffffffffffff82116100ec573660248360051b830101116100ec576101a99160248035926101a384610133565b01610398565b005b919082519283825260005b8481106101d7575050826000602080949584010152601f8019910116010190565b806020809284010151828286010152016101b6565b346100ec5760003660031901126100ec576102926102297f0000000000000000000000000000000000000000000000000000000000000000610b4d565b6102527f0000000000000000000000000000000000000000000000000000000000000000610c34565b6020604051610261828261060b565b60008152816102a081830194601f198301368737604051978897600f60f81b895260e0858a015260e08901906101ab565b9087820360408901526101ab565b91466060870152306080870152600060a087015285830360c0870152519182815201929160005b8281106102d657505050500390f35b8351855286955093810193928101926001016102c7565b346100ec5760403660031901126100ec5760043561030a81610133565b6001600160a01b03166000908152600260209081526040808320602435845282529182902054915160ff90921615825290f35b919081101561035f5760051b8101359060fe19813603018212156100ec570190565b634e487b7160e01b600052603260045260246000fd5b9190820180921161038257565b634e487b7160e01b600052601160045260246000fd5b600091829182916001600160a01b03861615915b8184106103ec57505050503481036103d35750806103c8575050565b6103d191610968565b565b6362c7bced60e11b6000526004523460245260445b6000fd5b9091929361040990604061040187868661033d565b013590610375565b9361041581848461033d565b600085610421836107df565b9361055c575b82610554575b508161054c575b5061046b575b501590505b61044f575b6001019291906103ac565b94610463600191604061040189878761033d565b959050610444565b905061047682610632565b9061048660a084013580936109e5565b600080606085013561049a60208701610632565b60408701356104ac60c0890189610652565b6104de6104bb8b959395610632565b916104d0604051938492602084019889610685565b03601f19810183528261060b565b5193f1923d806000803e8415610542575b508361043f9493926105227f842fb24a83793558587a3dab2be7674da4a51d09c5542d6dd354e5d0ea70813c935a610a8e565b6040805194855291151560208501526001600160a01b031692a23861043a565b80156104ef576000fd5b905038610434565b91503861042d565b82156105c657811561059c5780610427576103e88461057a88610632565b636e55e4fd60e11b6000526001600160a01b0391821660045216602452604490565b6103e86105ab6080880161063f565b632c2ca14d60e21b60005265ffffffffffff16600452602490565b6103e86105d560208801610632565b631f834c2b60e21b6000526001600160a01b031660045230602452604490565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff82111761062d57604052565b6105f5565b3561063c81610133565b90565b3565ffffffffffff811681036100ec5790565b903590601e19813603018212156100ec570180359067ffffffffffffffff82116100ec576020019181360383136100ec57565b826014949392823701906bffffffffffffffffffffffff199060601b1681520190565b906000916106b5816107df565b92919082156107d05781156107c15780156107b457826107ac575b50816107a4575b506106e0575050565b9092506106ec83610632565b906106fc60a085013580936109e5565b600080606086013561071060208801610632565b604088013561072260c08a018a610652565b6107316104bb8c959395610632565b5193f180943d806000803e8215610794575b50916107707f842fb24a83793558587a3dab2be7674da4a51d09c5542d6dd354e5d0ea70813c935a610a8e565b6040805194855291151560208501526001600160a01b03169290819081015b0390a2565b809192506103e857908591610743565b9050386106d7565b9150386106d0565b6103e88461057a87610632565b6103e86105ab6080870161063f565b6103e86105d560208701610632565b906108fa8235916107ef83610133565b6108356109056108ff6108e66108d0602089019761080c89610632565b6108c860408c0135916104d08d60608101359060a0810135610847610840608084019e8f61063f565b9360c0810190610652565b3691610aa0565b6020815191012092604051978896602088019a8b9365ffffffffffff9360e096929998979361010087019a7f7f96328b83274ebc7c1cf4f7a3abda602b51a78b7fa1d86a2ce353d75e587cac885260018060a01b0316602088015260018060a01b031660408701526060860152608085015260a08401521660c08201520152565b519020610cf0565b6108e061084060e08b018b610652565b90610d16565b506108f381979297610ad7565b1596610632565b610af7565b9161063f565b948461091f575b509365ffffffffffff4291161015929190565b61093a91945061092e90610632565b6001600160a01b031690565b6001600160a01b03831614923861090c565b67ffffffffffffffff811161062d57601f01601f191660200190565b8147106109cc576000918291829182916001600160a01b03165af13d156109c4573d906109948261094c565b916109a2604051938461060b565b82523d6000602084013e5b156109b55750565b80511561008d57805190602001fd5b6060906109ad565b504763cf47918160e01b60005260045260245260446000fd5b60018060a01b03169081600052600260205260406000208160005260205260ff60406000205416610a765761078f7f2af71f10069c28afc67c3752e87e0e4616a97948d33c8f404a856c0c334b3e0191836000526002602052610a66610a5982604060002090600052602052604060002090565b805460ff19166001179055565b6040519081529081906020820190565b9063cb85762760e01b60005260045260245260446000fd5b906060603f9101350411610a9e57565bfe5b929192610aac8261094c565b91610aba604051938461060b565b8294818452818301116100ec578281602093846000960137010152565b60041115610ae157565b634e487b7160e01b600052602160045260246000fd5b60006020916040518381019063572b6c0560e01b825230602482015260248152610b2260448261060b565b51915afa6000513d82610b41575b5081610b3a575090565b9050151590565b60201115915038610b30565b60ff8114610b5e5761063c90610d52565b5060405160008054908160011c9160018116908115610c2a575b602084108214610c165783855284929160208401918115610bfd5750600114610ba9575b5061063c9250038261060b565b600080805291507f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b848310610be6575061063c93500138610b9c565b805482840152859350602090920191600101610bd2565b60ff191682525061063c93151560051b01905038610b9c565b634e487b7160e01b83526022600452602483fd5b92607f1692610b78565b60ff8114610c455761063c90610d52565b506040516000600154908160011c9160018116908115610ce6575b602084108214610c165783855284929160208401918115610bfd5750600114610c90575061063c9250038261060b565b6001600090815291507fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b848310610ccf575061063c93500138610b9c565b805482840152859350602090920191600101610cbb565b92607f1692610c60565b604290610cfb610d94565b906040519161190160f01b8352600283015260228201522090565b8151919060418303610d4757610d4092506020820151906060604084015193015160001a90610eb0565b9192909190565b505060009160029190565b60ff811690601f8211610d83576040805192610d6e828561060b565b6020808552840191601f190136833783525290565b632cd44ac360e21b60005260046000fd5b307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161480610e87575b15610def577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a08152610e8160c08261060b565b51902090565b507f00000000000000000000000000000000000000000000000000000000000000004614610dc6565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411610f39579160209360809260ff60009560405194855216868401526040830152606082015282805260015afa15610f2d576000516001600160a01b03811615610f215790600090600090565b50600090600190600090565b6040513d6000823e3d90fd5b5050506000916003919056fea2646970667358221220cbcb295c80e1255aa32f60eb1b3601cf4c4170d4c040682dc064e0ded33227ac64736f6c634300081c0033","deployedBytecode":"0x6080604052600436101561001257600080fd5b60003560e01c80633dbfe077146100675780634104b5791461006257806382f6471a1461005d57806384b0196e146100585763bd11257c1461005357600080fd5b6102ed565b6101ec565b610144565b6100f1565b610070366100b7565b60408101359081340361009e57610086906106a8565b1561008d57005b63d6bda27560e01b60005260046000fd5b506362c7bced60e11b6000526004523460245260446000fd5b60206003198201126100ec576004359067ffffffffffffffff82116100ec576101009082900360031901126100ec5760040190565b600080fd5b346100ec576020610109610104366100b7565b6107df565b50908261012b575b5081610123575b506040519015158152f35b905038610118565b915038610111565b6001600160a01b038116036100ec57565b60403660031901126100ec5760043567ffffffffffffffff81116100ec57366023820112156100ec5780600401359067ffffffffffffffff82116100ec573660248360051b830101116100ec576101a99160248035926101a384610133565b01610398565b005b919082519283825260005b8481106101d7575050826000602080949584010152601f8019910116010190565b806020809284010151828286010152016101b6565b346100ec5760003660031901126100ec576102926102297f0000000000000000000000000000000000000000000000000000000000000000610b4d565b6102527f0000000000000000000000000000000000000000000000000000000000000000610c34565b6020604051610261828261060b565b60008152816102a081830194601f198301368737604051978897600f60f81b895260e0858a015260e08901906101ab565b9087820360408901526101ab565b91466060870152306080870152600060a087015285830360c0870152519182815201929160005b8281106102d657505050500390f35b8351855286955093810193928101926001016102c7565b346100ec5760403660031901126100ec5760043561030a81610133565b6001600160a01b03166000908152600260209081526040808320602435845282529182902054915160ff90921615825290f35b919081101561035f5760051b8101359060fe19813603018212156100ec570190565b634e487b7160e01b600052603260045260246000fd5b9190820180921161038257565b634e487b7160e01b600052601160045260246000fd5b600091829182916001600160a01b03861615915b8184106103ec57505050503481036103d35750806103c8575050565b6103d191610968565b565b6362c7bced60e11b6000526004523460245260445b6000fd5b9091929361040990604061040187868661033d565b013590610375565b9361041581848461033d565b600085610421836107df565b9361055c575b82610554575b508161054c575b5061046b575b501590505b61044f575b6001019291906103ac565b94610463600191604061040189878761033d565b959050610444565b905061047682610632565b9061048660a084013580936109e5565b600080606085013561049a60208701610632565b60408701356104ac60c0890189610652565b6104de6104bb8b959395610632565b916104d0604051938492602084019889610685565b03601f19810183528261060b565b5193f1923d806000803e8415610542575b508361043f9493926105227f842fb24a83793558587a3dab2be7674da4a51d09c5542d6dd354e5d0ea70813c935a610a8e565b6040805194855291151560208501526001600160a01b031692a23861043a565b80156104ef576000fd5b905038610434565b91503861042d565b82156105c657811561059c5780610427576103e88461057a88610632565b636e55e4fd60e11b6000526001600160a01b0391821660045216602452604490565b6103e86105ab6080880161063f565b632c2ca14d60e21b60005265ffffffffffff16600452602490565b6103e86105d560208801610632565b631f834c2b60e21b6000526001600160a01b031660045230602452604490565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff82111761062d57604052565b6105f5565b3561063c81610133565b90565b3565ffffffffffff811681036100ec5790565b903590601e19813603018212156100ec570180359067ffffffffffffffff82116100ec576020019181360383136100ec57565b826014949392823701906bffffffffffffffffffffffff199060601b1681520190565b906000916106b5816107df565b92919082156107d05781156107c15780156107b457826107ac575b50816107a4575b506106e0575050565b9092506106ec83610632565b906106fc60a085013580936109e5565b600080606086013561071060208801610632565b604088013561072260c08a018a610652565b6107316104bb8c959395610632565b5193f180943d806000803e8215610794575b50916107707f842fb24a83793558587a3dab2be7674da4a51d09c5542d6dd354e5d0ea70813c935a610a8e565b6040805194855291151560208501526001600160a01b03169290819081015b0390a2565b809192506103e857908591610743565b9050386106d7565b9150386106d0565b6103e88461057a87610632565b6103e86105ab6080870161063f565b6103e86105d560208701610632565b906108fa8235916107ef83610133565b6108356109056108ff6108e66108d0602089019761080c89610632565b6108c860408c0135916104d08d60608101359060a0810135610847610840608084019e8f61063f565b9360c0810190610652565b3691610aa0565b6020815191012092604051978896602088019a8b9365ffffffffffff9360e096929998979361010087019a7f7f96328b83274ebc7c1cf4f7a3abda602b51a78b7fa1d86a2ce353d75e587cac885260018060a01b0316602088015260018060a01b031660408701526060860152608085015260a08401521660c08201520152565b519020610cf0565b6108e061084060e08b018b610652565b90610d16565b506108f381979297610ad7565b1596610632565b610af7565b9161063f565b948461091f575b509365ffffffffffff4291161015929190565b61093a91945061092e90610632565b6001600160a01b031690565b6001600160a01b03831614923861090c565b67ffffffffffffffff811161062d57601f01601f191660200190565b8147106109cc576000918291829182916001600160a01b03165af13d156109c4573d906109948261094c565b916109a2604051938461060b565b82523d6000602084013e5b156109b55750565b80511561008d57805190602001fd5b6060906109ad565b504763cf47918160e01b60005260045260245260446000fd5b60018060a01b03169081600052600260205260406000208160005260205260ff60406000205416610a765761078f7f2af71f10069c28afc67c3752e87e0e4616a97948d33c8f404a856c0c334b3e0191836000526002602052610a66610a5982604060002090600052602052604060002090565b805460ff19166001179055565b6040519081529081906020820190565b9063cb85762760e01b60005260045260245260446000fd5b906060603f9101350411610a9e57565bfe5b929192610aac8261094c565b91610aba604051938461060b565b8294818452818301116100ec578281602093846000960137010152565b60041115610ae157565b634e487b7160e01b600052602160045260246000fd5b60006020916040518381019063572b6c0560e01b825230602482015260248152610b2260448261060b565b51915afa6000513d82610b41575b5081610b3a575090565b9050151590565b60201115915038610b30565b60ff8114610b5e5761063c90610d52565b5060405160008054908160011c9160018116908115610c2a575b602084108214610c165783855284929160208401918115610bfd5750600114610ba9575b5061063c9250038261060b565b600080805291507f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b848310610be6575061063c93500138610b9c565b805482840152859350602090920191600101610bd2565b60ff191682525061063c93151560051b01905038610b9c565b634e487b7160e01b83526022600452602483fd5b92607f1692610b78565b60ff8114610c455761063c90610d52565b506040516000600154908160011c9160018116908115610ce6575b602084108214610c165783855284929160208401918115610bfd5750600114610c90575061063c9250038261060b565b6001600090815291507fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b848310610ccf575061063c93500138610b9c565b805482840152859350602090920191600101610cbb565b92607f1692610c60565b604290610cfb610d94565b906040519161190160f01b8352600283015260228201522090565b8151919060418303610d4757610d4092506020820151906060604084015193015160001a90610eb0565b9192909190565b505060009160029190565b60ff811690601f8211610d83576040805192610d6e828561060b565b6020808552840191601f190136833783525290565b632cd44ac360e21b60005260046000fd5b307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161480610e87575b15610def577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a08152610e8160c08261060b565b51902090565b507f00000000000000000000000000000000000000000000000000000000000000004614610dc6565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411610f39579160209360809260ff60009560405194855216868401526040830152606082015282805260015afa15610f2d576000516001600160a01b03811615610f215790600090600090565b50600090600190600090565b6040513d6000823e3d90fd5b5050506000916003919056fea2646970667358221220cbcb295c80e1255aa32f60eb1b3601cf4c4170d4c040682dc064e0ded33227ac64736f6c634300081c0033","immutableReferences":{}}
@@ -1 +1 @@
1
- {"abi":[{"inputs":[{"internalType":"address","name":"contractAdmin_","type":"address"},{"internalType":"address","name":"walletsAdmin_","type":"address"},{"internalType":"address","name":"trustedForwarder_","type":"address"},{"internalType":"uint256","name":"amlKycValidityDuration_","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"EasyAccessControl_AlreadyHasRole","type":"error"},{"inputs":[],"name":"EasyAccessControl_ArraysMustBeSameLength","type":"error"},{"inputs":[],"name":"EasyAccessControl_AtLeastOneContractAdminRequired","type":"error"},{"inputs":[],"name":"EasyAccessControl_CannotRevokeRole","type":"error"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"EasyAccessControl_DoesNotHaveContractAdminRole","type":"error"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"EasyAccessControl_DoesNotHaveWalletsAdminRole","type":"error"},{"inputs":[],"name":"EasyAccessControl_InvalidRole","type":"error"},{"inputs":[],"name":"EasyAccessControl_InvalidZeroAddress","type":"error"},{"inputs":[],"name":"IdentityRegistry_AlreadyHasSameAmlKycValidityDuration","type":"error"},{"inputs":[],"name":"IdentityRegistry_EmptyRegionsArray","type":"error"},{"inputs":[],"name":"IdentityRegistry_InvalidAmlKycValidityDuration","type":"error"},{"inputs":[],"name":"IdentityRegistry_InvalidRegion","type":"error"},{"inputs":[],"name":"IdentityRegistry_InvalidTrustedForwarder","type":"error"},{"inputs":[],"name":"IdentityRegistry_InvalidWalletsAdmin","type":"error"},{"inputs":[],"name":"IdentityRegistry_RegionsExceedsMaxCount","type":"error"},{"inputs":[],"name":"IdentityRegistry_TimestampInTheFuture","type":"error"},{"inputs":[],"name":"IdentityRegistry_WalletAlreadyHasNoAccreditation","type":"error"},{"inputs":[],"name":"IdentityRegistry_WalletAlreadyHasRegion","type":"error"},{"inputs":[],"name":"IdentityRegistry_WalletAlreadyHasSameAccreditationLevel","type":"error"},{"inputs":[],"name":"IdentityRegistry_WalletAlreadyHasSameAmlKycStatus","type":"error"},{"inputs":[],"name":"IdentityRegistry_WalletAlreadyHasSameRegions","type":"error"},{"inputs":[],"name":"IdentityRegistry_WalletDoesNotHaveRegion","type":"error"},{"inputs":[],"name":"IdentityRegistry_WalletHasNoIdentityToRemove","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"authority","type":"address"},{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"newAccreditationLevel","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"accreditationTimestamp","type":"uint256"}],"name":"AccreditationGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"authority","type":"address"},{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"revokedAccreditationLevel","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"accreditationTimestamp","type":"uint256"}],"name":"AccreditationRevoked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"authority","type":"address"},{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"amlKycTimestamp","type":"uint256"}],"name":"AmlKycFailed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"authority","type":"address"},{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"amlKycTimestamp","type":"uint256"}],"name":"AmlKycPassed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"authority","type":"address"},{"indexed":false,"internalType":"uint256","name":"oldAmlKycValidityDuration","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newAmlKycValidityDuration","type":"uint256"}],"name":"AmlKycValidityDurationSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"authority","type":"address"},{"indexed":true,"internalType":"address","name":"owner","type":"address"}],"name":"IdentityCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"authority","type":"address"},{"indexed":true,"internalType":"address","name":"owner","type":"address"}],"name":"IdentityRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"authority","type":"address"},{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"region","type":"uint256"}],"name":"RegionAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"authority","type":"address"},{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"region","type":"uint256"}],"name":"RegionRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"authority","type":"address"},{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256[]","name":"regions","type":"uint256[]"}],"name":"RegionsSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"grantor","type":"address"},{"indexed":true,"internalType":"address","name":"grantee","type":"address"},{"indexed":false,"internalType":"uint8","name":"role","type":"uint8"},{"indexed":true,"internalType":"bool","name":"status","type":"bool"}],"name":"RoleChange","type":"event"},{"inputs":[],"name":"CONTRACT_ADMIN_ROLE","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"INTERFACE_ID","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MINT_ADMIN_ROLE","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"RESERVE_ADMIN_ROLE","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SOFT_BURN_ADMIN_ROLE","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TRANSFER_ADMIN_ROLE","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"WALLETS_ADMIN_ROLE","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"accreditationType","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"region","type":"uint256"}],"name":"addRegion","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"amlKycValidityDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"uint8[]","name":"roles_","type":"uint8[]"}],"name":"batchGrantRoles","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"uint8[]","name":"roles_","type":"uint8[]"}],"name":"batchRevokeRoles","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"owners","type":"address[]"},{"components":[{"internalType":"uint256[]","name":"regions","type":"uint256[]"},{"internalType":"uint256","name":"accreditationType","type":"uint256"},{"internalType":"uint256","name":"lastAmlKycChangeTimestamp","type":"uint256"},{"internalType":"uint256","name":"lastAccreditationChangeTimestamp","type":"uint256"},{"internalType":"bool","name":"amlKycPassed","type":"bool"}],"internalType":"struct IIdentityRegistry.IdentityInfo","name":"info","type":"tuple"}],"name":"batchSetIdentity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"contractAdminCount","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"_accreditationType","type":"uint256"},{"internalType":"uint256","name":"accreditationTimestamp","type":"uint256"}],"name":"grantAccreditation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"amlKycTimestamp","type":"uint256"}],"name":"grantAmlKyc","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint8","name":"role","type":"uint8"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"region","type":"uint256"}],"name":"hasRegion","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint8","name":"role","type":"uint8"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"identity","outputs":[{"components":[{"internalType":"uint256[]","name":"regions","type":"uint256[]"},{"internalType":"uint256","name":"accreditationType","type":"uint256"},{"internalType":"uint256","name":"lastAmlKycChangeTimestamp","type":"uint256"},{"internalType":"uint256","name":"lastAccreditationChangeTimestamp","type":"uint256"},{"internalType":"bool","name":"amlKycPassed","type":"bool"}],"internalType":"struct IIdentityRegistry.IdentityInfo","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"isAmlKycPassed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"forwarder","type":"address"}],"name":"isTrustedForwarder","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"regions","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"removeIdentity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"region","type":"uint256"}],"name":"removeRegion","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"accreditationTimestamp","type":"uint256"}],"name":"revokeAccreditation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"amlKycTimestamp","type":"uint256"}],"name":"revokeAmlKyc","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint8","name":"role","type":"uint8"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"roles","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amlKycValidityDuration_","type":"uint256"}],"name":"setAmlKycValidityDuration","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"components":[{"internalType":"uint256[]","name":"regions","type":"uint256[]"},{"internalType":"uint256","name":"accreditationType","type":"uint256"},{"internalType":"uint256","name":"lastAmlKycChangeTimestamp","type":"uint256"},{"internalType":"uint256","name":"lastAccreditationChangeTimestamp","type":"uint256"},{"internalType":"bool","name":"amlKycPassed","type":"bool"}],"internalType":"struct IIdentityRegistry.IdentityInfo","name":"info","type":"tuple"}],"name":"setIdentity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256[]","name":"newRegions","type":"uint256[]"}],"name":"setRegions","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":"trustedForwarder","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}],"bytecode":"0x60c03461031c57600061231a3881900390601f8201601f191684016001600160401b0381118582101761030857918085926080946040528339810103126103055761004982610321565b9161005660208201610321565b606061006460408401610321565b920151936001600160a01b03169283156102f6575060009280845283602052600180604086205416146102e75780845283602052600160408520541615806102df575b6102a6575b808452602084905260408420805460ff19811660ff91909116176001908117909155906001600160a01b036100df610335565b166000805160206122fa8339815191526020604051858152a460808290526001600160a01b0316908115610297576001600160a01b03161561028857638df9be3160e01b60a0528082528160205260048060408420541614610279578082528160205260016040832054161580610272575b610239575b808252602082905260408220805460ff19811660ff919091161760041790556001906001600160a01b03610188610335565b166000805160206122fa833981519152602060405160048152a463bbf81e00821161022a57507fde3795c64f30dfff45460f405d8c2478ea26a2c986010352086d613d6dd02a8860406003548360035560018060a01b036101e7610335565b169382519182526020820152a2604051611f739081610387823960805181818161094901528181610b700152611e87015260a051818181610f11015261116b0152f35b632ef7f53b60e21b8152600490fd5b60015460ff811660ff811461025e5760ff19909116600191820160ff16179055610156565b634e487b7160e01b84526011600452602484fd5b5081610151565b63750f2ef960e01b8252600482fd5b630dd2785160e31b8252600482fd5b635b256d1160e01b8352600483fd5b60015460ff811660ff81146102cb5760ff19909116600191820160ff161790556100ac565b634e487b7160e01b86526011600452602486fd5b5060016100a7565b63750f2ef960e01b8452600484fd5b63122c6df560e11b8152600490fd5b80fd5b634e487b7160e01b84526041600452602484fd5b600080fd5b51906001600160a01b038216820361031c57565b6080516001600160a01b031633148061037b575b15610377576013193601368111610361573560601c90565b634e487b7160e01b600052601160045260246000fd5b3390565b50601436101561034956fe6080604052600436101561001257600080fd5b60003560e01c8062181381146111b957806301ffc9a7146111415780630312d1ba14611029578063077d3c0314610f4157806309b862b914610efb5780631da0331214610edf5780632a18f91f14610eb257806330f2e76c14610e6857806338cb57e814610e4c5780633b3f378014610ce85780633d74a49d14610ccc5780633e84023614610be357806340eb9f6c14610ba4578063572b6c0514610b5057806362f0deb814610b1357806368a37ae814610af757806370210246146109db5780637b00dbb7146109785780637da0a877146109335780637ea319b71461079b57806385a712af146107805780638e64eac51461075f5780638e7758851461071657806395a8c58d146106f357806399374642146106b65780639a5ea8011461061d5780639efbbf98146105d8578063aca31ef8146105ba578063bb394e6c14610575578063c1f2f1aa14610405578063c200305c14610369578063ca706c461461034d578063eb5f9c4c146102a45763f0eb5e541461019157600080fd5b3461029f57602036600319011261029f576101aa611410565b600060806040516101ba816113ba565b60608152826020820152826040820152826060820152015260018060a01b031660005260026020526040600020604051906101f4826113ba565b6101fd81611638565b82526001810154602083019081526002820154916040840192835260ff60046003830154926060870193845201541690608085019115158252604051936020855260c0850195519360a060208701528451809752602060e0870195016000975b80891061028757505085965051604086015251606085015251608084015251151560a08301520390f35b9095602080600192895181520197019801979061025d565b600080fd5b3461029f57602036600319011261029f576102bd611410565b60035460009190806103095750602091506001905b6001600160a01b0316600090815260028352604090206004015460ff169081610301575b506040519015158152f35b9050826102f6565b6001600160a01b0382168352600260208190526040842001549081019081106103395760209250421115906102d2565b634e487b7160e01b83526011600452602483fd5b3461029f57600036600319011261029f57602060405160108152f35b3461029f57602036600319011261029f5760043561038561173a565b6003548082146103f45763bbf81e0082116103e35760038290557fde3795c64f30dfff45460f405d8c2478ea26a2c986010352086d613d6dd02a88906040906001600160a01b036103d4611e84565b169382519182526020820152a2005b632ef7f53b60e21b60005260046000fd5b636915cd9d60e01b60005260046000fd5b3461029f57602036600319011261029f5761041e611410565b6104266116e1565b6001600160a01b03166000818152600260205260409081902090519061044b826113ba565b61045481611638565b9182815260018201549081602082015260028301549182604083015260ff600460038601549586606086015201541615916080831591015215938461056b575b5083610563575b508261055a575b5081610551575b5061054057806000526002602052604060002080546000825580610519575b506004816000600181940155826002820155826003820155015560018060a01b036104f1611e84565b167f59d6590e225b81befe259af056324092801080acbb7feab310eb34678871f327600080a3005b816000526020600020908101905b81811061053457506104c8565b60008155600101610527565b630ac478f560e21b60005260046000fd5b905015826104a9565b159150836104a2565b92508461049b565b5115935085610494565b3461029f57604036600319011261029f576105a2610591611410565b6105996116e1565b60243590611bea565b156105a957005b63bb726e9160e01b60005260046000fd5b3461029f57600036600319011261029f576020600354604051908152f35b3461029f57604036600319011261029f576106056105f4611410565b6105fc6116e1565b60243590611871565b1561060c57005b63a491e3c760e01b60005260046000fd5b3461029f57604036600319011261029f57610636611410565b602435906106426116e1565b60018060a01b031690816000526002602052610662816040600020611ddf565b156106a5577f060afe8139b4251fa46f07b16f229d4237d4c2c148d219df4ed62338238bc60b60206001600160a01b0361069a611e84565b1692604051908152a3005b631713fdd560e01b60005260046000fd5b3461029f57602036600319011261029f576001600160a01b036106d7611410565b166000526000602052602060ff60406000205416604051908152f35b3461029f57602061070c61070636611572565b9061169d565b6040519015158152f35b3461029f57606036600319011261029f57610747610732611410565b61073a6116e1565b6044359060243590611cb0565b1561074e57005b631e4c9a9f60e11b60005260046000fd5b3461029f57600036600319011261029f57602060ff60015416604051908152f35b3461029f57600036600319011261029f576020604051818152f35b3461029f576107a936611520565b90926107b361173a565b8183036109235760005b8381106107c657005b6107d96107d4828685611606565b611616565b906107ed6107e8828689611606565b61162a565b9160ff83169283158015610919575b610908576001600160a01b0382169182156108f757816108239161081e61173a565b61169d565b6108e65781600052600060205260016040600020541615806108da575b610899575b90600193849282600052600060205260ff60406000209181835416171660ff19825416179055600080516020611f1e8339815191526020848060a01b0361088a611e84565b1692604051908152a4016107bd565b906001549360ff85169260ff84146108c45760ff19909516600193840160ff16179092559092610845565b634e487b7160e01b600052601160045260246000fd5b50600181161515610840565b63750f2ef960e01b60005260046000fd5b63122c6df560e11b60005260046000fd5b63762160bf60e11b60005260046000fd5b50603f84116107fc565b627b626760e91b60005260046000fd5b3461029f57600036600319011261029f576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461029f57604036600319011261029f57610991611410565b6024359067ffffffffffffffff821161029f576109b56109c3923690600401611426565b906109be6116e1565b611a52565b156109ca57005b636621e7ed60e01b60005260046000fd5b3461029f57604036600319011261029f576109f4611410565b60243590610a006116e1565b60018060a01b031690816000526002602052610a2881610a236040600020611638565b611da9565b610ae657816000526002602052600a6040600020541015610ad55781600052600260205260406000208054600160401b811015610abf57610a7381610a8c9360018694018155611685565b90919082549060031b91821b91600019901b1916179055565b7fecd48f64283876bda21405e8d6f5e417b8db7773eb78b73d6c95a0265c7bca6260206001600160a01b0361069a611e84565b634e487b7160e01b600052604160045260246000fd5b63195fe0bb60e11b60005260046000fd5b637ceb0c1f60e11b60005260046000fd5b3461029f57600036600319011261029f57602060405160088152f35b3461029f57602036600319011261029f576001600160a01b03610b34611410565b1660005260026020526020600160406000200154604051908152f35b3461029f57602036600319011261029f576020610b6b611410565b6040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169216919091148152f35b3461029f57604036600319011261029f576001600160a01b03610bc5611410565b166000526002602052602061070c602435610a236040600020611638565b3461029f57610bf136611572565b9060ff821680158015610cc2575b610908576001600160a01b0382169182156108f75783610c219161081e61173a565b6108e6578160005260006020526001604060002054161580610cb6575b610c90575b60019282600052600060205260ff60406000209181835416171660ff19825416179055600080516020611f1e8339815191526020848060a01b03610c85611e84565b1692604051908152a4005b6001549260ff84169360ff85146108c45760ff1916600194850160ff1617909355610c43565b50600183161515610c3e565b50603f8111610bff565b3461029f57600036600319011261029f57602060405160048152f35b3461029f57604036600319011261029f57610d01611410565b6024359067ffffffffffffffff821161029f57610d25610deb923690600401611483565b610d2d6116e1565b6001600160a01b03821660008181526002602052604090819020905190610d53826113ba565b610d5c81611638565b80835260018201549283602082015260028301549182604083015260ff600460038601549586606086015201541615916080831591015251159384610e43575b5083610e3b575b5082610e32575b5081610e29575b50610ded575b50610dc3815183611a52565b50610dda6080820151151560408301519084611943565b506060602082015191015191611cb0565b005b6001600160a01b03610dfd611e84565b167f45afe31e3a48a54e27da1d1f2ec6c6e272ce5838616e0d61071b223bceb5c690600080a383610db7565b90501585610db1565b15915086610daa565b925087610da3565b15935088610d9c565b3461029f57600036600319011261029f57602060405160028152f35b3461029f57602036600319011261029f576001600160a01b03610e89611410565b166000526002602052610eae610ea26040600020611638565b604051918291826115a2565b0390f35b3461029f57604036600319011261029f57610605610ece611410565b610ed66116e1565b60243590611796565b3461029f57600036600319011261029f57602060405160018152f35b3461029f57600036600319011261029f576040517f00000000000000000000000000000000000000000000000000000000000000006001600160e01b0319168152602090f35b3461029f57610f4f36611572565b9060ff82168015801561101f575b610908576001600160a01b0382169182156108f75783610f7f9161081e61173a565b1561100e5760018316610fcd575b6000928284528360205260ff604085209181835416181660ff19825416179055600080516020611f1e833981519152602060018060a01b03610c85611e84565b6001549260ff84169360018514610ffd5784156108c45760ff191660001990940160ff1693909317600155610f8d565b635b1f8af160e11b60005260046000fd5b632478c9fd60e11b60005260046000fd5b50603f8111610f5d565b3461029f5761103736611520565b909261104161173a565b8183036109235760005b83811061105457005b6110626107d4828685611606565b906110716107e8828689611606565b9160ff83169283158015611137575b610908576001600160a01b0382169182156108f757816110a29161081e61173a565b1561100e5760018116611102575b906001936000928284528360205260ff604085209181835416181660ff19825416179055600080516020611f1e8339815191526020868060a01b036110f3611e84565b1692604051908152a40161104b565b906001549360ff85169260018414610ffd5783156108c45760ff1990951660001990930160ff169290921760015590926110b0565b50603f8411611080565b3461029f57602036600319011261029f5760043563ffffffff60e01b811680910361029f576020907f00000000000000000000000000000000000000000000000000000000000000006001600160e01b03191681149081156111a857506040519015158152f35b6301ffc9a760e01b149050826102f6565b3461029f57604036600319011261029f5760043567ffffffffffffffff811161029f573660238201121561029f5780600401356111f5816113f8565b9161120360405193846113d6565b8183526024602084019260051b8201019036821161029f57602401915b81831061139a578360243567ffffffffffffffff811161029f57611248903690600401611483565b906112516116e1565b60408201916080810190606081016020820160005b8551811015610deb576001906113366001600160a01b03611287838a6115dc565b51166112916116e1565b8060005260026020526040600020604051906112ac826113ba565b6112b581611638565b808352868201549283602082015260028301549182604083015260ff600460038601549586606086015201541615916080831591015251159384611391575b5083611389575b5082611380575b5081611377575b5061133d575b61131a875182611a52565b5061132b885115158b519083611943565b508451865191611cb0565b5001611266565b80848060a01b0361134c611e84565b167f45afe31e3a48a54e27da1d1f2ec6c6e272ce5838616e0d61071b223bceb5c690600080a361130f565b9050158b611309565b1591508c611302565b92508d6112fb565b1593508e6112f4565b82356001600160a01b038116810361029f57815260209283019201611220565b60a0810190811067ffffffffffffffff821117610abf57604052565b90601f8019910116810190811067ffffffffffffffff821117610abf57604052565b67ffffffffffffffff8111610abf5760051b60200190565b600435906001600160a01b038216820361029f57565b9080601f8301121561029f57813561143d816113f8565b9261144b60405194856113d6565b81845260208085019260051b82010192831161029f57602001905b8282106114735750505090565b8135815260209182019101611466565b919060a08382031261029f576040519061149c826113ba565b8193803567ffffffffffffffff811161029f576080926114bd918301611426565b8352602081013560208401526040810135604084015260608101356060840152013590811515820361029f5760800152565b9181601f8401121561029f5782359167ffffffffffffffff831161029f576020808501948460051b01011161029f57565b604060031982011261029f5760043567ffffffffffffffff811161029f578161154b916004016114ef565b929092916024359067ffffffffffffffff821161029f5761156e916004016114ef565b9091565b604090600319011261029f576004356001600160a01b038116810361029f579060243560ff8116810361029f5790565b602060408183019282815284518094520192019060005b8181106115c65750505090565b82518452602093840193909201916001016115b9565b80518210156115f05760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b91908110156115f05760051b0190565b356001600160a01b038116810361029f5790565b3560ff8116810361029f5790565b906040519182815491828252602082019060005260206000209260005b81811061166c57505061166a925003836113d6565b565b8454835260019485019487945060209093019201611655565b80548210156115f05760005260206000200190600090565b9060ff811691821580156116d7575b610908576001600160a01b03169081156108f75760ff91600052600060205260406000205416161490565b50603f83116116ac565b6116e9611e84565b6001600160a01b031680156108f7576000526000602052600480604060002054160361171157565b611719611e84565b6303b109ab60e01b60009081526001600160a01b0391909116600452602490fd5b611742611e84565b6001600160a01b031680156108f7576000526000602052600180604060002054160361176a57565b611772611e84565b60016212a1d960e01b031960009081526001600160a01b0391909116600452602490fd5b600091428111611862578061185c575042905b6001600160a01b03168083526002602052604083206004015490919060ff1615801590611843575b6117da57505090565b818352600260208181526040808620600401805460ff191690558486528282529094200181905590917f24eb2262aa5408d660566a8e867a5b8175fe9c9f30fc351108dbb9a1ef97fcaa906001600160a01b03611835611e84565b1692604051908152a3600190565b50818352600260205280600260408520015414156117d1565b906117a9565b63333aa88960e11b8352600483fd5b90428111611932578061192c575042905b6001600160a01b031660008181526002602052604090206004015490919060ff161515600114801590611911575b6118bb575050600090565b600082815260026020818152604090922060048101805460ff19166001179055018290557fe665d8e43d83c10743e100d8d50e9dc7b2b021c971a6a925a451804c37bf6032906001600160a01b03611835611e84565b508160005260026020528060026040600020015414156118b0565b90611882565b63333aa88960e11b60005260046000fd5b90914281116119325780611a4c575042905b6001600160a01b03166000818152600260205260409020600401549092908115159060ff1615158114801590611a31575b6119935750505050600090565b83600052600260205260046040600020019060ff80198354169116179055826000526002602052816002604060002001556000146119fe577fe665d8e43d83c10743e100d8d50e9dc7b2b021c971a6a925a451804c37bf603260206001600160a01b03611835611e84565b7f24eb2262aa5408d660566a8e867a5b8175fe9c9f30fc351108dbb9a1ef97fcaa60206001600160a01b03611835611e84565b50836000526002602052826002604060002001541415611986565b90611955565b91815115611bd957600a825111610ad5576000925b8251841015611ac457600184018085116108c4575b8351811015611ab957611a8f85856115dc565b51611a9a82866115dc565b5114611aa857600101611a7c565b63883eb7d160e01b60005260046000fd5b509260010192611a67565b90925060018060a01b031690816000526002602052611aef81611aea6040600020611638565b611edd565b15611afb575050600090565b816000526002602052604060002081519067ffffffffffffffff8211610abf57600160401b8211610abf578054828255808310611bb0575b506020830190600052602060002060005b838110611b9c57507fc186fc41bf08662e2c9edd4ec05766f81720da46dd2d71dc23ebd23b0a8f36fa9250611b9491506001600160a01b039050611b86611e84565b1692604051918291826115a2565b0390a3600190565b600190602084519401938184015501611b44565b8160005282602060002091820191015b818110611bcd5750611b33565b60008155600101611bc0565b63ac6ca07d60e01b60005260046000fd5b904281116119325780611caa575042905b6001600160a01b031660008181526002602052604090206001015490919015801590611c8f575b611c2d575050600090565b6000828152600260205260408082206001810180549390556003018390557f7a1c069a41076644476d2d858419a9373b6439affaf7be506f414a1440c29bcd916001600160a01b03611c7d611e84565b169382519182526020820152a3600190565b50816000526002602052806003604060002001541415611c22565b90611bfb565b90914281116119325780611da3575042905b6001600160a01b03166000818152600260205260409020600101549092908114801590611d88575b611cf657505050600090565b60008381526002602052604090206001810180549083905560039091018390559080611d5257507f7a1c069a41076644476d2d858419a9373b6439affaf7be506f414a1440c29bcd906040906001600160a01b03611c7d611e84565b7f5f186f7f6030f4be156f944b96d11b8e44b2a9b2bba0d5b156ad89d1dad3d5af91506040906001600160a01b03611c7d611e84565b50826000526002602052816003604060002001541415611cea565b90611cc2565b9060005b8251811015611dd75781611dc182856115dc565b5114611dcf57600101611dad565b505050600190565b505050600090565b60005b815480821015611e7b5783611df78385611685565b90549060031b1c14611e0c5750600101611de2565b91925060001982019182116108c457610a73611e2b611e399385611685565b90549060031b1c9184611685565b80548015611e65576000190190611e508282611685565b8154906000199060031b1b1916905555600190565b634e487b7160e01b600052603160045260246000fd5b50505050600090565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161480611ed2575b15611ece5760131936013681116108c4573560601c90565b3390565b506014361015611eb6565b908151815103611f165760005b8251811015611dcf57611efd81846115dc565b51611f0882846115dc565b5103611dd757600101611eea565b505060009056fe7e9e87d17fbf2950f3379a6331b75b6e997a147bbd3eaedc68c30c62186c68cba2646970667358221220372f6d857eb9b14b8b88d8e371ff622e75ef1e1578ec4affc81223a14a0744de64736f6c634300081c00337e9e87d17fbf2950f3379a6331b75b6e997a147bbd3eaedc68c30c62186c68cb","deployedBytecode":"0x6080604052600436101561001257600080fd5b60003560e01c8062181381146111b957806301ffc9a7146111415780630312d1ba14611029578063077d3c0314610f4157806309b862b914610efb5780631da0331214610edf5780632a18f91f14610eb257806330f2e76c14610e6857806338cb57e814610e4c5780633b3f378014610ce85780633d74a49d14610ccc5780633e84023614610be357806340eb9f6c14610ba4578063572b6c0514610b5057806362f0deb814610b1357806368a37ae814610af757806370210246146109db5780637b00dbb7146109785780637da0a877146109335780637ea319b71461079b57806385a712af146107805780638e64eac51461075f5780638e7758851461071657806395a8c58d146106f357806399374642146106b65780639a5ea8011461061d5780639efbbf98146105d8578063aca31ef8146105ba578063bb394e6c14610575578063c1f2f1aa14610405578063c200305c14610369578063ca706c461461034d578063eb5f9c4c146102a45763f0eb5e541461019157600080fd5b3461029f57602036600319011261029f576101aa611410565b600060806040516101ba816113ba565b60608152826020820152826040820152826060820152015260018060a01b031660005260026020526040600020604051906101f4826113ba565b6101fd81611638565b82526001810154602083019081526002820154916040840192835260ff60046003830154926060870193845201541690608085019115158252604051936020855260c0850195519360a060208701528451809752602060e0870195016000975b80891061028757505085965051604086015251606085015251608084015251151560a08301520390f35b9095602080600192895181520197019801979061025d565b600080fd5b3461029f57602036600319011261029f576102bd611410565b60035460009190806103095750602091506001905b6001600160a01b0316600090815260028352604090206004015460ff169081610301575b506040519015158152f35b9050826102f6565b6001600160a01b0382168352600260208190526040842001549081019081106103395760209250421115906102d2565b634e487b7160e01b83526011600452602483fd5b3461029f57600036600319011261029f57602060405160108152f35b3461029f57602036600319011261029f5760043561038561173a565b6003548082146103f45763bbf81e0082116103e35760038290557fde3795c64f30dfff45460f405d8c2478ea26a2c986010352086d613d6dd02a88906040906001600160a01b036103d4611e84565b169382519182526020820152a2005b632ef7f53b60e21b60005260046000fd5b636915cd9d60e01b60005260046000fd5b3461029f57602036600319011261029f5761041e611410565b6104266116e1565b6001600160a01b03166000818152600260205260409081902090519061044b826113ba565b61045481611638565b9182815260018201549081602082015260028301549182604083015260ff600460038601549586606086015201541615916080831591015215938461056b575b5083610563575b508261055a575b5081610551575b5061054057806000526002602052604060002080546000825580610519575b506004816000600181940155826002820155826003820155015560018060a01b036104f1611e84565b167f59d6590e225b81befe259af056324092801080acbb7feab310eb34678871f327600080a3005b816000526020600020908101905b81811061053457506104c8565b60008155600101610527565b630ac478f560e21b60005260046000fd5b905015826104a9565b159150836104a2565b92508461049b565b5115935085610494565b3461029f57604036600319011261029f576105a2610591611410565b6105996116e1565b60243590611bea565b156105a957005b63bb726e9160e01b60005260046000fd5b3461029f57600036600319011261029f576020600354604051908152f35b3461029f57604036600319011261029f576106056105f4611410565b6105fc6116e1565b60243590611871565b1561060c57005b63a491e3c760e01b60005260046000fd5b3461029f57604036600319011261029f57610636611410565b602435906106426116e1565b60018060a01b031690816000526002602052610662816040600020611ddf565b156106a5577f060afe8139b4251fa46f07b16f229d4237d4c2c148d219df4ed62338238bc60b60206001600160a01b0361069a611e84565b1692604051908152a3005b631713fdd560e01b60005260046000fd5b3461029f57602036600319011261029f576001600160a01b036106d7611410565b166000526000602052602060ff60406000205416604051908152f35b3461029f57602061070c61070636611572565b9061169d565b6040519015158152f35b3461029f57606036600319011261029f57610747610732611410565b61073a6116e1565b6044359060243590611cb0565b1561074e57005b631e4c9a9f60e11b60005260046000fd5b3461029f57600036600319011261029f57602060ff60015416604051908152f35b3461029f57600036600319011261029f576020604051818152f35b3461029f576107a936611520565b90926107b361173a565b8183036109235760005b8381106107c657005b6107d96107d4828685611606565b611616565b906107ed6107e8828689611606565b61162a565b9160ff83169283158015610919575b610908576001600160a01b0382169182156108f757816108239161081e61173a565b61169d565b6108e65781600052600060205260016040600020541615806108da575b610899575b90600193849282600052600060205260ff60406000209181835416171660ff19825416179055600080516020611f1e8339815191526020848060a01b0361088a611e84565b1692604051908152a4016107bd565b906001549360ff85169260ff84146108c45760ff19909516600193840160ff16179092559092610845565b634e487b7160e01b600052601160045260246000fd5b50600181161515610840565b63750f2ef960e01b60005260046000fd5b63122c6df560e11b60005260046000fd5b63762160bf60e11b60005260046000fd5b50603f84116107fc565b627b626760e91b60005260046000fd5b3461029f57600036600319011261029f576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461029f57604036600319011261029f57610991611410565b6024359067ffffffffffffffff821161029f576109b56109c3923690600401611426565b906109be6116e1565b611a52565b156109ca57005b636621e7ed60e01b60005260046000fd5b3461029f57604036600319011261029f576109f4611410565b60243590610a006116e1565b60018060a01b031690816000526002602052610a2881610a236040600020611638565b611da9565b610ae657816000526002602052600a6040600020541015610ad55781600052600260205260406000208054600160401b811015610abf57610a7381610a8c9360018694018155611685565b90919082549060031b91821b91600019901b1916179055565b7fecd48f64283876bda21405e8d6f5e417b8db7773eb78b73d6c95a0265c7bca6260206001600160a01b0361069a611e84565b634e487b7160e01b600052604160045260246000fd5b63195fe0bb60e11b60005260046000fd5b637ceb0c1f60e11b60005260046000fd5b3461029f57600036600319011261029f57602060405160088152f35b3461029f57602036600319011261029f576001600160a01b03610b34611410565b1660005260026020526020600160406000200154604051908152f35b3461029f57602036600319011261029f576020610b6b611410565b6040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169216919091148152f35b3461029f57604036600319011261029f576001600160a01b03610bc5611410565b166000526002602052602061070c602435610a236040600020611638565b3461029f57610bf136611572565b9060ff821680158015610cc2575b610908576001600160a01b0382169182156108f75783610c219161081e61173a565b6108e6578160005260006020526001604060002054161580610cb6575b610c90575b60019282600052600060205260ff60406000209181835416171660ff19825416179055600080516020611f1e8339815191526020848060a01b03610c85611e84565b1692604051908152a4005b6001549260ff84169360ff85146108c45760ff1916600194850160ff1617909355610c43565b50600183161515610c3e565b50603f8111610bff565b3461029f57600036600319011261029f57602060405160048152f35b3461029f57604036600319011261029f57610d01611410565b6024359067ffffffffffffffff821161029f57610d25610deb923690600401611483565b610d2d6116e1565b6001600160a01b03821660008181526002602052604090819020905190610d53826113ba565b610d5c81611638565b80835260018201549283602082015260028301549182604083015260ff600460038601549586606086015201541615916080831591015251159384610e43575b5083610e3b575b5082610e32575b5081610e29575b50610ded575b50610dc3815183611a52565b50610dda6080820151151560408301519084611943565b506060602082015191015191611cb0565b005b6001600160a01b03610dfd611e84565b167f45afe31e3a48a54e27da1d1f2ec6c6e272ce5838616e0d61071b223bceb5c690600080a383610db7565b90501585610db1565b15915086610daa565b925087610da3565b15935088610d9c565b3461029f57600036600319011261029f57602060405160028152f35b3461029f57602036600319011261029f576001600160a01b03610e89611410565b166000526002602052610eae610ea26040600020611638565b604051918291826115a2565b0390f35b3461029f57604036600319011261029f57610605610ece611410565b610ed66116e1565b60243590611796565b3461029f57600036600319011261029f57602060405160018152f35b3461029f57600036600319011261029f576040517f00000000000000000000000000000000000000000000000000000000000000006001600160e01b0319168152602090f35b3461029f57610f4f36611572565b9060ff82168015801561101f575b610908576001600160a01b0382169182156108f75783610f7f9161081e61173a565b1561100e5760018316610fcd575b6000928284528360205260ff604085209181835416181660ff19825416179055600080516020611f1e833981519152602060018060a01b03610c85611e84565b6001549260ff84169360018514610ffd5784156108c45760ff191660001990940160ff1693909317600155610f8d565b635b1f8af160e11b60005260046000fd5b632478c9fd60e11b60005260046000fd5b50603f8111610f5d565b3461029f5761103736611520565b909261104161173a565b8183036109235760005b83811061105457005b6110626107d4828685611606565b906110716107e8828689611606565b9160ff83169283158015611137575b610908576001600160a01b0382169182156108f757816110a29161081e61173a565b1561100e5760018116611102575b906001936000928284528360205260ff604085209181835416181660ff19825416179055600080516020611f1e8339815191526020868060a01b036110f3611e84565b1692604051908152a40161104b565b906001549360ff85169260018414610ffd5783156108c45760ff1990951660001990930160ff169290921760015590926110b0565b50603f8411611080565b3461029f57602036600319011261029f5760043563ffffffff60e01b811680910361029f576020907f00000000000000000000000000000000000000000000000000000000000000006001600160e01b03191681149081156111a857506040519015158152f35b6301ffc9a760e01b149050826102f6565b3461029f57604036600319011261029f5760043567ffffffffffffffff811161029f573660238201121561029f5780600401356111f5816113f8565b9161120360405193846113d6565b8183526024602084019260051b8201019036821161029f57602401915b81831061139a578360243567ffffffffffffffff811161029f57611248903690600401611483565b906112516116e1565b60408201916080810190606081016020820160005b8551811015610deb576001906113366001600160a01b03611287838a6115dc565b51166112916116e1565b8060005260026020526040600020604051906112ac826113ba565b6112b581611638565b808352868201549283602082015260028301549182604083015260ff600460038601549586606086015201541615916080831591015251159384611391575b5083611389575b5082611380575b5081611377575b5061133d575b61131a875182611a52565b5061132b885115158b519083611943565b508451865191611cb0565b5001611266565b80848060a01b0361134c611e84565b167f45afe31e3a48a54e27da1d1f2ec6c6e272ce5838616e0d61071b223bceb5c690600080a361130f565b9050158b611309565b1591508c611302565b92508d6112fb565b1593508e6112f4565b82356001600160a01b038116810361029f57815260209283019201611220565b60a0810190811067ffffffffffffffff821117610abf57604052565b90601f8019910116810190811067ffffffffffffffff821117610abf57604052565b67ffffffffffffffff8111610abf5760051b60200190565b600435906001600160a01b038216820361029f57565b9080601f8301121561029f57813561143d816113f8565b9261144b60405194856113d6565b81845260208085019260051b82010192831161029f57602001905b8282106114735750505090565b8135815260209182019101611466565b919060a08382031261029f576040519061149c826113ba565b8193803567ffffffffffffffff811161029f576080926114bd918301611426565b8352602081013560208401526040810135604084015260608101356060840152013590811515820361029f5760800152565b9181601f8401121561029f5782359167ffffffffffffffff831161029f576020808501948460051b01011161029f57565b604060031982011261029f5760043567ffffffffffffffff811161029f578161154b916004016114ef565b929092916024359067ffffffffffffffff821161029f5761156e916004016114ef565b9091565b604090600319011261029f576004356001600160a01b038116810361029f579060243560ff8116810361029f5790565b602060408183019282815284518094520192019060005b8181106115c65750505090565b82518452602093840193909201916001016115b9565b80518210156115f05760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b91908110156115f05760051b0190565b356001600160a01b038116810361029f5790565b3560ff8116810361029f5790565b906040519182815491828252602082019060005260206000209260005b81811061166c57505061166a925003836113d6565b565b8454835260019485019487945060209093019201611655565b80548210156115f05760005260206000200190600090565b9060ff811691821580156116d7575b610908576001600160a01b03169081156108f75760ff91600052600060205260406000205416161490565b50603f83116116ac565b6116e9611e84565b6001600160a01b031680156108f7576000526000602052600480604060002054160361171157565b611719611e84565b6303b109ab60e01b60009081526001600160a01b0391909116600452602490fd5b611742611e84565b6001600160a01b031680156108f7576000526000602052600180604060002054160361176a57565b611772611e84565b60016212a1d960e01b031960009081526001600160a01b0391909116600452602490fd5b600091428111611862578061185c575042905b6001600160a01b03168083526002602052604083206004015490919060ff1615801590611843575b6117da57505090565b818352600260208181526040808620600401805460ff191690558486528282529094200181905590917f24eb2262aa5408d660566a8e867a5b8175fe9c9f30fc351108dbb9a1ef97fcaa906001600160a01b03611835611e84565b1692604051908152a3600190565b50818352600260205280600260408520015414156117d1565b906117a9565b63333aa88960e11b8352600483fd5b90428111611932578061192c575042905b6001600160a01b031660008181526002602052604090206004015490919060ff161515600114801590611911575b6118bb575050600090565b600082815260026020818152604090922060048101805460ff19166001179055018290557fe665d8e43d83c10743e100d8d50e9dc7b2b021c971a6a925a451804c37bf6032906001600160a01b03611835611e84565b508160005260026020528060026040600020015414156118b0565b90611882565b63333aa88960e11b60005260046000fd5b90914281116119325780611a4c575042905b6001600160a01b03166000818152600260205260409020600401549092908115159060ff1615158114801590611a31575b6119935750505050600090565b83600052600260205260046040600020019060ff80198354169116179055826000526002602052816002604060002001556000146119fe577fe665d8e43d83c10743e100d8d50e9dc7b2b021c971a6a925a451804c37bf603260206001600160a01b03611835611e84565b7f24eb2262aa5408d660566a8e867a5b8175fe9c9f30fc351108dbb9a1ef97fcaa60206001600160a01b03611835611e84565b50836000526002602052826002604060002001541415611986565b90611955565b91815115611bd957600a825111610ad5576000925b8251841015611ac457600184018085116108c4575b8351811015611ab957611a8f85856115dc565b51611a9a82866115dc565b5114611aa857600101611a7c565b63883eb7d160e01b60005260046000fd5b509260010192611a67565b90925060018060a01b031690816000526002602052611aef81611aea6040600020611638565b611edd565b15611afb575050600090565b816000526002602052604060002081519067ffffffffffffffff8211610abf57600160401b8211610abf578054828255808310611bb0575b506020830190600052602060002060005b838110611b9c57507fc186fc41bf08662e2c9edd4ec05766f81720da46dd2d71dc23ebd23b0a8f36fa9250611b9491506001600160a01b039050611b86611e84565b1692604051918291826115a2565b0390a3600190565b600190602084519401938184015501611b44565b8160005282602060002091820191015b818110611bcd5750611b33565b60008155600101611bc0565b63ac6ca07d60e01b60005260046000fd5b904281116119325780611caa575042905b6001600160a01b031660008181526002602052604090206001015490919015801590611c8f575b611c2d575050600090565b6000828152600260205260408082206001810180549390556003018390557f7a1c069a41076644476d2d858419a9373b6439affaf7be506f414a1440c29bcd916001600160a01b03611c7d611e84565b169382519182526020820152a3600190565b50816000526002602052806003604060002001541415611c22565b90611bfb565b90914281116119325780611da3575042905b6001600160a01b03166000818152600260205260409020600101549092908114801590611d88575b611cf657505050600090565b60008381526002602052604090206001810180549083905560039091018390559080611d5257507f7a1c069a41076644476d2d858419a9373b6439affaf7be506f414a1440c29bcd906040906001600160a01b03611c7d611e84565b7f5f186f7f6030f4be156f944b96d11b8e44b2a9b2bba0d5b156ad89d1dad3d5af91506040906001600160a01b03611c7d611e84565b50826000526002602052816003604060002001541415611cea565b90611cc2565b9060005b8251811015611dd75781611dc182856115dc565b5114611dcf57600101611dad565b505050600190565b505050600090565b60005b815480821015611e7b5783611df78385611685565b90549060031b1c14611e0c5750600101611de2565b91925060001982019182116108c457610a73611e2b611e399385611685565b90549060031b1c9184611685565b80548015611e65576000190190611e508282611685565b8154906000199060031b1b1916905555600190565b634e487b7160e01b600052603160045260246000fd5b50505050600090565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161480611ed2575b15611ece5760131936013681116108c4573560601c90565b3390565b506014361015611eb6565b908151815103611f165760005b8251811015611dcf57611efd81846115dc565b51611f0882846115dc565b5103611dd757600101611eea565b505060009056fe7e9e87d17fbf2950f3379a6331b75b6e997a147bbd3eaedc68c30c62186c68cba2646970667358221220372f6d857eb9b14b8b88d8e371ff622e75ef1e1578ec4affc81223a14a0744de64736f6c634300081c0033","immutableReferences":{}}
1
+ {"abi":[{"inputs":[{"internalType":"address","name":"contractAdmin_","type":"address"},{"internalType":"address","name":"walletsAdmin_","type":"address"},{"internalType":"address","name":"trustedForwarder_","type":"address"},{"internalType":"uint256","name":"amlKycValidityDuration_","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"EasyAccessControl_AlreadyHasRole","type":"error"},{"inputs":[],"name":"EasyAccessControl_ArraysMustBeSameLength","type":"error"},{"inputs":[],"name":"EasyAccessControl_AtLeastOneContractAdminRequired","type":"error"},{"inputs":[],"name":"EasyAccessControl_CannotRevokeRole","type":"error"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"EasyAccessControl_DoesNotHaveContractAdminRole","type":"error"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"EasyAccessControl_DoesNotHaveWalletsAdminRole","type":"error"},{"inputs":[],"name":"EasyAccessControl_InvalidRole","type":"error"},{"inputs":[],"name":"EasyAccessControl_InvalidZeroAddress","type":"error"},{"inputs":[],"name":"IdentityRegistry_AlreadyHasSameAmlKycValidityDuration","type":"error"},{"inputs":[],"name":"IdentityRegistry_EmptyRegionsArray","type":"error"},{"inputs":[],"name":"IdentityRegistry_InvalidAmlKycValidityDuration","type":"error"},{"inputs":[],"name":"IdentityRegistry_InvalidRegion","type":"error"},{"inputs":[],"name":"IdentityRegistry_InvalidTrustedForwarder","type":"error"},{"inputs":[],"name":"IdentityRegistry_InvalidWalletsAdmin","type":"error"},{"inputs":[],"name":"IdentityRegistry_RegionsExceedsMaxCount","type":"error"},{"inputs":[],"name":"IdentityRegistry_TimestampInTheFuture","type":"error"},{"inputs":[],"name":"IdentityRegistry_WalletAlreadyHasNoAccreditation","type":"error"},{"inputs":[],"name":"IdentityRegistry_WalletAlreadyHasRegion","type":"error"},{"inputs":[],"name":"IdentityRegistry_WalletAlreadyHasSameAccreditationLevel","type":"error"},{"inputs":[],"name":"IdentityRegistry_WalletAlreadyHasSameAmlKycStatus","type":"error"},{"inputs":[],"name":"IdentityRegistry_WalletAlreadyHasSameRegions","type":"error"},{"inputs":[],"name":"IdentityRegistry_WalletDoesNotHaveRegion","type":"error"},{"inputs":[],"name":"IdentityRegistry_WalletHasNoIdentityToRemove","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"authority","type":"address"},{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"newAccreditationLevel","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"accreditationTimestamp","type":"uint256"}],"name":"AccreditationGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"authority","type":"address"},{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"revokedAccreditationLevel","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"accreditationTimestamp","type":"uint256"}],"name":"AccreditationRevoked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"authority","type":"address"},{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"amlKycTimestamp","type":"uint256"}],"name":"AmlKycFailed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"authority","type":"address"},{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"amlKycTimestamp","type":"uint256"}],"name":"AmlKycPassed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"authority","type":"address"},{"indexed":false,"internalType":"uint256","name":"oldAmlKycValidityDuration","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newAmlKycValidityDuration","type":"uint256"}],"name":"AmlKycValidityDurationSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"authority","type":"address"},{"indexed":true,"internalType":"address","name":"owner","type":"address"}],"name":"IdentityCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"authority","type":"address"},{"indexed":true,"internalType":"address","name":"owner","type":"address"}],"name":"IdentityRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"authority","type":"address"},{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"region","type":"uint256"}],"name":"RegionAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"authority","type":"address"},{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"region","type":"uint256"}],"name":"RegionRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"authority","type":"address"},{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256[]","name":"regions","type":"uint256[]"}],"name":"RegionsSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"grantor","type":"address"},{"indexed":true,"internalType":"address","name":"grantee","type":"address"},{"indexed":false,"internalType":"uint8","name":"role","type":"uint8"},{"indexed":true,"internalType":"bool","name":"status","type":"bool"}],"name":"RoleChange","type":"event"},{"inputs":[],"name":"CONTRACT_ADMIN_ROLE","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"INTERFACE_ID","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MINT_ADMIN_ROLE","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"RESERVE_ADMIN_ROLE","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SOFT_BURN_ADMIN_ROLE","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TRANSFER_ADMIN_ROLE","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"WALLETS_ADMIN_ROLE","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"accreditationType","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"region","type":"uint256"}],"name":"addRegion","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"amlKycValidityDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"uint8[]","name":"roles_","type":"uint8[]"}],"name":"batchGrantRoles","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"uint8[]","name":"roles_","type":"uint8[]"}],"name":"batchRevokeRoles","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"owners","type":"address[]"},{"components":[{"internalType":"uint256[]","name":"regions","type":"uint256[]"},{"internalType":"uint256","name":"accreditationType","type":"uint256"},{"internalType":"uint256","name":"lastAmlKycChangeTimestamp","type":"uint256"},{"internalType":"uint256","name":"lastAccreditationChangeTimestamp","type":"uint256"},{"internalType":"bool","name":"amlKycPassed","type":"bool"}],"internalType":"struct IIdentityRegistry.IdentityInfo","name":"info","type":"tuple"}],"name":"batchSetIdentity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"contractAdminCount","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"_accreditationType","type":"uint256"},{"internalType":"uint256","name":"accreditationTimestamp","type":"uint256"}],"name":"grantAccreditation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"amlKycTimestamp","type":"uint256"}],"name":"grantAmlKyc","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint8","name":"role","type":"uint8"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"region","type":"uint256"}],"name":"hasRegion","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint8","name":"role","type":"uint8"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"identity","outputs":[{"components":[{"internalType":"uint256[]","name":"regions","type":"uint256[]"},{"internalType":"uint256","name":"accreditationType","type":"uint256"},{"internalType":"uint256","name":"lastAmlKycChangeTimestamp","type":"uint256"},{"internalType":"uint256","name":"lastAccreditationChangeTimestamp","type":"uint256"},{"internalType":"bool","name":"amlKycPassed","type":"bool"}],"internalType":"struct IIdentityRegistry.IdentityInfo","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"isAmlKycPassed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"forwarder","type":"address"}],"name":"isTrustedForwarder","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"regions","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"removeIdentity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"region","type":"uint256"}],"name":"removeRegion","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"accreditationTimestamp","type":"uint256"}],"name":"revokeAccreditation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"amlKycTimestamp","type":"uint256"}],"name":"revokeAmlKyc","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint8","name":"role","type":"uint8"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"roles","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amlKycValidityDuration_","type":"uint256"}],"name":"setAmlKycValidityDuration","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"components":[{"internalType":"uint256[]","name":"regions","type":"uint256[]"},{"internalType":"uint256","name":"accreditationType","type":"uint256"},{"internalType":"uint256","name":"lastAmlKycChangeTimestamp","type":"uint256"},{"internalType":"uint256","name":"lastAccreditationChangeTimestamp","type":"uint256"},{"internalType":"bool","name":"amlKycPassed","type":"bool"}],"internalType":"struct IIdentityRegistry.IdentityInfo","name":"info","type":"tuple"}],"name":"setIdentity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256[]","name":"newRegions","type":"uint256[]"}],"name":"setRegions","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":"trustedForwarder","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}],"bytecode":"0x60c03461031c57600061231a3881900390601f8201601f191684016001600160401b0381118582101761030857918085926080946040528339810103126103055761004982610321565b9161005660208201610321565b606061006460408401610321565b920151936001600160a01b03169283156102f6575060009280845283602052600180604086205416146102e75780845283602052600160408520541615806102df575b6102a6575b808452602084905260408420805460ff19811660ff91909116176001908117909155906001600160a01b036100df610335565b166000805160206122fa8339815191526020604051858152a460808290526001600160a01b0316908115610297576001600160a01b03161561028857638df9be3160e01b60a0528082528160205260048060408420541614610279578082528160205260016040832054161580610272575b610239575b808252602082905260408220805460ff19811660ff919091161760041790556001906001600160a01b03610188610335565b166000805160206122fa833981519152602060405160048152a463bbf81e00821161022a57507fde3795c64f30dfff45460f405d8c2478ea26a2c986010352086d613d6dd02a8860406003548360035560018060a01b036101e7610335565b169382519182526020820152a2604051611f739081610387823960805181818161094901528181610b700152611e87015260a051818181610f11015261116b0152f35b632ef7f53b60e21b8152600490fd5b60015460ff811660ff811461025e5760ff19909116600191820160ff16179055610156565b634e487b7160e01b84526011600452602484fd5b5081610151565b63750f2ef960e01b8252600482fd5b630dd2785160e31b8252600482fd5b635b256d1160e01b8352600483fd5b60015460ff811660ff81146102cb5760ff19909116600191820160ff161790556100ac565b634e487b7160e01b86526011600452602486fd5b5060016100a7565b63750f2ef960e01b8452600484fd5b63122c6df560e11b8152600490fd5b80fd5b634e487b7160e01b84526041600452602484fd5b600080fd5b51906001600160a01b038216820361031c57565b6080516001600160a01b031633148061037b575b15610377576013193601368111610361573560601c90565b634e487b7160e01b600052601160045260246000fd5b3390565b50601436101561034956fe6080604052600436101561001257600080fd5b60003560e01c8062181381146111b957806301ffc9a7146111415780630312d1ba14611029578063077d3c0314610f4157806309b862b914610efb5780631da0331214610edf5780632a18f91f14610eb257806330f2e76c14610e6857806338cb57e814610e4c5780633b3f378014610ce85780633d74a49d14610ccc5780633e84023614610be357806340eb9f6c14610ba4578063572b6c0514610b5057806362f0deb814610b1357806368a37ae814610af757806370210246146109db5780637b00dbb7146109785780637da0a877146109335780637ea319b71461079b57806385a712af146107805780638e64eac51461075f5780638e7758851461071657806395a8c58d146106f357806399374642146106b65780639a5ea8011461061d5780639efbbf98146105d8578063aca31ef8146105ba578063bb394e6c14610575578063c1f2f1aa14610405578063c200305c14610369578063ca706c461461034d578063eb5f9c4c146102a45763f0eb5e541461019157600080fd5b3461029f57602036600319011261029f576101aa611410565b600060806040516101ba816113ba565b60608152826020820152826040820152826060820152015260018060a01b031660005260026020526040600020604051906101f4826113ba565b6101fd81611638565b82526001810154602083019081526002820154916040840192835260ff60046003830154926060870193845201541690608085019115158252604051936020855260c0850195519360a060208701528451809752602060e0870195016000975b80891061028757505085965051604086015251606085015251608084015251151560a08301520390f35b9095602080600192895181520197019801979061025d565b600080fd5b3461029f57602036600319011261029f576102bd611410565b60035460009190806103095750602091506001905b6001600160a01b0316600090815260028352604090206004015460ff169081610301575b506040519015158152f35b9050826102f6565b6001600160a01b0382168352600260208190526040842001549081019081106103395760209250421115906102d2565b634e487b7160e01b83526011600452602483fd5b3461029f57600036600319011261029f57602060405160108152f35b3461029f57602036600319011261029f5760043561038561173a565b6003548082146103f45763bbf81e0082116103e35760038290557fde3795c64f30dfff45460f405d8c2478ea26a2c986010352086d613d6dd02a88906040906001600160a01b036103d4611e84565b169382519182526020820152a2005b632ef7f53b60e21b60005260046000fd5b636915cd9d60e01b60005260046000fd5b3461029f57602036600319011261029f5761041e611410565b6104266116e1565b6001600160a01b03166000818152600260205260409081902090519061044b826113ba565b61045481611638565b9182815260018201549081602082015260028301549182604083015260ff600460038601549586606086015201541615916080831591015215938461056b575b5083610563575b508261055a575b5081610551575b5061054057806000526002602052604060002080546000825580610519575b506004816000600181940155826002820155826003820155015560018060a01b036104f1611e84565b167f59d6590e225b81befe259af056324092801080acbb7feab310eb34678871f327600080a3005b816000526020600020908101905b81811061053457506104c8565b60008155600101610527565b630ac478f560e21b60005260046000fd5b905015826104a9565b159150836104a2565b92508461049b565b5115935085610494565b3461029f57604036600319011261029f576105a2610591611410565b6105996116e1565b60243590611bea565b156105a957005b63bb726e9160e01b60005260046000fd5b3461029f57600036600319011261029f576020600354604051908152f35b3461029f57604036600319011261029f576106056105f4611410565b6105fc6116e1565b60243590611871565b1561060c57005b63a491e3c760e01b60005260046000fd5b3461029f57604036600319011261029f57610636611410565b602435906106426116e1565b60018060a01b031690816000526002602052610662816040600020611ddf565b156106a5577f060afe8139b4251fa46f07b16f229d4237d4c2c148d219df4ed62338238bc60b60206001600160a01b0361069a611e84565b1692604051908152a3005b631713fdd560e01b60005260046000fd5b3461029f57602036600319011261029f576001600160a01b036106d7611410565b166000526000602052602060ff60406000205416604051908152f35b3461029f57602061070c61070636611572565b9061169d565b6040519015158152f35b3461029f57606036600319011261029f57610747610732611410565b61073a6116e1565b6044359060243590611cb0565b1561074e57005b631e4c9a9f60e11b60005260046000fd5b3461029f57600036600319011261029f57602060ff60015416604051908152f35b3461029f57600036600319011261029f576020604051818152f35b3461029f576107a936611520565b90926107b361173a565b8183036109235760005b8381106107c657005b6107d96107d4828685611606565b611616565b906107ed6107e8828689611606565b61162a565b9160ff83169283158015610919575b610908576001600160a01b0382169182156108f757816108239161081e61173a565b61169d565b6108e65781600052600060205260016040600020541615806108da575b610899575b90600193849282600052600060205260ff60406000209181835416171660ff19825416179055600080516020611f1e8339815191526020848060a01b0361088a611e84565b1692604051908152a4016107bd565b906001549360ff85169260ff84146108c45760ff19909516600193840160ff16179092559092610845565b634e487b7160e01b600052601160045260246000fd5b50600181161515610840565b63750f2ef960e01b60005260046000fd5b63122c6df560e11b60005260046000fd5b63762160bf60e11b60005260046000fd5b50603f84116107fc565b627b626760e91b60005260046000fd5b3461029f57600036600319011261029f576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461029f57604036600319011261029f57610991611410565b6024359067ffffffffffffffff821161029f576109b56109c3923690600401611426565b906109be6116e1565b611a52565b156109ca57005b636621e7ed60e01b60005260046000fd5b3461029f57604036600319011261029f576109f4611410565b60243590610a006116e1565b60018060a01b031690816000526002602052610a2881610a236040600020611638565b611da9565b610ae657816000526002602052600a6040600020541015610ad55781600052600260205260406000208054600160401b811015610abf57610a7381610a8c9360018694018155611685565b90919082549060031b91821b91600019901b1916179055565b7fecd48f64283876bda21405e8d6f5e417b8db7773eb78b73d6c95a0265c7bca6260206001600160a01b0361069a611e84565b634e487b7160e01b600052604160045260246000fd5b63195fe0bb60e11b60005260046000fd5b637ceb0c1f60e11b60005260046000fd5b3461029f57600036600319011261029f57602060405160088152f35b3461029f57602036600319011261029f576001600160a01b03610b34611410565b1660005260026020526020600160406000200154604051908152f35b3461029f57602036600319011261029f576020610b6b611410565b6040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169216919091148152f35b3461029f57604036600319011261029f576001600160a01b03610bc5611410565b166000526002602052602061070c602435610a236040600020611638565b3461029f57610bf136611572565b9060ff821680158015610cc2575b610908576001600160a01b0382169182156108f75783610c219161081e61173a565b6108e6578160005260006020526001604060002054161580610cb6575b610c90575b60019282600052600060205260ff60406000209181835416171660ff19825416179055600080516020611f1e8339815191526020848060a01b03610c85611e84565b1692604051908152a4005b6001549260ff84169360ff85146108c45760ff1916600194850160ff1617909355610c43565b50600183161515610c3e565b50603f8111610bff565b3461029f57600036600319011261029f57602060405160048152f35b3461029f57604036600319011261029f57610d01611410565b6024359067ffffffffffffffff821161029f57610d25610deb923690600401611483565b610d2d6116e1565b6001600160a01b03821660008181526002602052604090819020905190610d53826113ba565b610d5c81611638565b80835260018201549283602082015260028301549182604083015260ff600460038601549586606086015201541615916080831591015251159384610e43575b5083610e3b575b5082610e32575b5081610e29575b50610ded575b50610dc3815183611a52565b50610dda6080820151151560408301519084611943565b506060602082015191015191611cb0565b005b6001600160a01b03610dfd611e84565b167f45afe31e3a48a54e27da1d1f2ec6c6e272ce5838616e0d61071b223bceb5c690600080a383610db7565b90501585610db1565b15915086610daa565b925087610da3565b15935088610d9c565b3461029f57600036600319011261029f57602060405160028152f35b3461029f57602036600319011261029f576001600160a01b03610e89611410565b166000526002602052610eae610ea26040600020611638565b604051918291826115a2565b0390f35b3461029f57604036600319011261029f57610605610ece611410565b610ed66116e1565b60243590611796565b3461029f57600036600319011261029f57602060405160018152f35b3461029f57600036600319011261029f576040517f00000000000000000000000000000000000000000000000000000000000000006001600160e01b0319168152602090f35b3461029f57610f4f36611572565b9060ff82168015801561101f575b610908576001600160a01b0382169182156108f75783610f7f9161081e61173a565b1561100e5760018316610fcd575b6000928284528360205260ff604085209181835416181660ff19825416179055600080516020611f1e833981519152602060018060a01b03610c85611e84565b6001549260ff84169360018514610ffd5784156108c45760ff191660001990940160ff1693909317600155610f8d565b635b1f8af160e11b60005260046000fd5b632478c9fd60e11b60005260046000fd5b50603f8111610f5d565b3461029f5761103736611520565b909261104161173a565b8183036109235760005b83811061105457005b6110626107d4828685611606565b906110716107e8828689611606565b9160ff83169283158015611137575b610908576001600160a01b0382169182156108f757816110a29161081e61173a565b1561100e5760018116611102575b906001936000928284528360205260ff604085209181835416181660ff19825416179055600080516020611f1e8339815191526020868060a01b036110f3611e84565b1692604051908152a40161104b565b906001549360ff85169260018414610ffd5783156108c45760ff1990951660001990930160ff169290921760015590926110b0565b50603f8411611080565b3461029f57602036600319011261029f5760043563ffffffff60e01b811680910361029f576020907f00000000000000000000000000000000000000000000000000000000000000006001600160e01b03191681149081156111a857506040519015158152f35b6301ffc9a760e01b149050826102f6565b3461029f57604036600319011261029f5760043567ffffffffffffffff811161029f573660238201121561029f5780600401356111f5816113f8565b9161120360405193846113d6565b8183526024602084019260051b8201019036821161029f57602401915b81831061139a578360243567ffffffffffffffff811161029f57611248903690600401611483565b906112516116e1565b60408201916080810190606081016020820160005b8551811015610deb576001906113366001600160a01b03611287838a6115dc565b51166112916116e1565b8060005260026020526040600020604051906112ac826113ba565b6112b581611638565b808352868201549283602082015260028301549182604083015260ff600460038601549586606086015201541615916080831591015251159384611391575b5083611389575b5082611380575b5081611377575b5061133d575b61131a875182611a52565b5061132b885115158b519083611943565b508451865191611cb0565b5001611266565b80848060a01b0361134c611e84565b167f45afe31e3a48a54e27da1d1f2ec6c6e272ce5838616e0d61071b223bceb5c690600080a361130f565b9050158b611309565b1591508c611302565b92508d6112fb565b1593508e6112f4565b82356001600160a01b038116810361029f57815260209283019201611220565b60a0810190811067ffffffffffffffff821117610abf57604052565b90601f8019910116810190811067ffffffffffffffff821117610abf57604052565b67ffffffffffffffff8111610abf5760051b60200190565b600435906001600160a01b038216820361029f57565b9080601f8301121561029f57813561143d816113f8565b9261144b60405194856113d6565b81845260208085019260051b82010192831161029f57602001905b8282106114735750505090565b8135815260209182019101611466565b919060a08382031261029f576040519061149c826113ba565b8193803567ffffffffffffffff811161029f576080926114bd918301611426565b8352602081013560208401526040810135604084015260608101356060840152013590811515820361029f5760800152565b9181601f8401121561029f5782359167ffffffffffffffff831161029f576020808501948460051b01011161029f57565b604060031982011261029f5760043567ffffffffffffffff811161029f578161154b916004016114ef565b929092916024359067ffffffffffffffff821161029f5761156e916004016114ef565b9091565b604090600319011261029f576004356001600160a01b038116810361029f579060243560ff8116810361029f5790565b602060408183019282815284518094520192019060005b8181106115c65750505090565b82518452602093840193909201916001016115b9565b80518210156115f05760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b91908110156115f05760051b0190565b356001600160a01b038116810361029f5790565b3560ff8116810361029f5790565b906040519182815491828252602082019060005260206000209260005b81811061166c57505061166a925003836113d6565b565b8454835260019485019487945060209093019201611655565b80548210156115f05760005260206000200190600090565b9060ff811691821580156116d7575b610908576001600160a01b03169081156108f75760ff91600052600060205260406000205416161490565b50603f83116116ac565b6116e9611e84565b6001600160a01b031680156108f7576000526000602052600480604060002054160361171157565b611719611e84565b6303b109ab60e01b60009081526001600160a01b0391909116600452602490fd5b611742611e84565b6001600160a01b031680156108f7576000526000602052600180604060002054160361176a57565b611772611e84565b60016212a1d960e01b031960009081526001600160a01b0391909116600452602490fd5b600091428111611862578061185c575042905b6001600160a01b03168083526002602052604083206004015490919060ff1615801590611843575b6117da57505090565b818352600260208181526040808620600401805460ff191690558486528282529094200181905590917f24eb2262aa5408d660566a8e867a5b8175fe9c9f30fc351108dbb9a1ef97fcaa906001600160a01b03611835611e84565b1692604051908152a3600190565b50818352600260205280600260408520015414156117d1565b906117a9565b63333aa88960e11b8352600483fd5b90428111611932578061192c575042905b6001600160a01b031660008181526002602052604090206004015490919060ff161515600114801590611911575b6118bb575050600090565b600082815260026020818152604090922060048101805460ff19166001179055018290557fe665d8e43d83c10743e100d8d50e9dc7b2b021c971a6a925a451804c37bf6032906001600160a01b03611835611e84565b508160005260026020528060026040600020015414156118b0565b90611882565b63333aa88960e11b60005260046000fd5b90914281116119325780611a4c575042905b6001600160a01b03166000818152600260205260409020600401549092908115159060ff1615158114801590611a31575b6119935750505050600090565b83600052600260205260046040600020019060ff80198354169116179055826000526002602052816002604060002001556000146119fe577fe665d8e43d83c10743e100d8d50e9dc7b2b021c971a6a925a451804c37bf603260206001600160a01b03611835611e84565b7f24eb2262aa5408d660566a8e867a5b8175fe9c9f30fc351108dbb9a1ef97fcaa60206001600160a01b03611835611e84565b50836000526002602052826002604060002001541415611986565b90611955565b91815115611bd957600a825111610ad5576000925b8251841015611ac457600184018085116108c4575b8351811015611ab957611a8f85856115dc565b51611a9a82866115dc565b5114611aa857600101611a7c565b63883eb7d160e01b60005260046000fd5b509260010192611a67565b90925060018060a01b031690816000526002602052611aef81611aea6040600020611638565b611edd565b15611afb575050600090565b816000526002602052604060002081519067ffffffffffffffff8211610abf57600160401b8211610abf578054828255808310611bb0575b506020830190600052602060002060005b838110611b9c57507fc186fc41bf08662e2c9edd4ec05766f81720da46dd2d71dc23ebd23b0a8f36fa9250611b9491506001600160a01b039050611b86611e84565b1692604051918291826115a2565b0390a3600190565b600190602084519401938184015501611b44565b8160005282602060002091820191015b818110611bcd5750611b33565b60008155600101611bc0565b63ac6ca07d60e01b60005260046000fd5b904281116119325780611caa575042905b6001600160a01b031660008181526002602052604090206001015490919015801590611c8f575b611c2d575050600090565b6000828152600260205260408082206001810180549390556003018390557f7a1c069a41076644476d2d858419a9373b6439affaf7be506f414a1440c29bcd916001600160a01b03611c7d611e84565b169382519182526020820152a3600190565b50816000526002602052806003604060002001541415611c22565b90611bfb565b90914281116119325780611da3575042905b6001600160a01b03166000818152600260205260409020600101549092908114801590611d88575b611cf657505050600090565b60008381526002602052604090206001810180549083905560039091018390559080611d5257507f7a1c069a41076644476d2d858419a9373b6439affaf7be506f414a1440c29bcd906040906001600160a01b03611c7d611e84565b7f5f186f7f6030f4be156f944b96d11b8e44b2a9b2bba0d5b156ad89d1dad3d5af91506040906001600160a01b03611c7d611e84565b50826000526002602052816003604060002001541415611cea565b90611cc2565b9060005b8251811015611dd75781611dc182856115dc565b5114611dcf57600101611dad565b505050600190565b505050600090565b60005b815480821015611e7b5783611df78385611685565b90549060031b1c14611e0c5750600101611de2565b91925060001982019182116108c457610a73611e2b611e399385611685565b90549060031b1c9184611685565b80548015611e65576000190190611e508282611685565b8154906000199060031b1b1916905555600190565b634e487b7160e01b600052603160045260246000fd5b50505050600090565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161480611ed2575b15611ece5760131936013681116108c4573560601c90565b3390565b506014361015611eb6565b908151815103611f165760005b8251811015611dcf57611efd81846115dc565b51611f0882846115dc565b5103611dd757600101611eea565b505060009056fe7e9e87d17fbf2950f3379a6331b75b6e997a147bbd3eaedc68c30c62186c68cba264697066735822122071b06b1f2fc5c7a74fd49c37e50cd2fed3ce45a25e693b8954f2945488fc7f2b64736f6c634300081c00337e9e87d17fbf2950f3379a6331b75b6e997a147bbd3eaedc68c30c62186c68cb","deployedBytecode":"0x6080604052600436101561001257600080fd5b60003560e01c8062181381146111b957806301ffc9a7146111415780630312d1ba14611029578063077d3c0314610f4157806309b862b914610efb5780631da0331214610edf5780632a18f91f14610eb257806330f2e76c14610e6857806338cb57e814610e4c5780633b3f378014610ce85780633d74a49d14610ccc5780633e84023614610be357806340eb9f6c14610ba4578063572b6c0514610b5057806362f0deb814610b1357806368a37ae814610af757806370210246146109db5780637b00dbb7146109785780637da0a877146109335780637ea319b71461079b57806385a712af146107805780638e64eac51461075f5780638e7758851461071657806395a8c58d146106f357806399374642146106b65780639a5ea8011461061d5780639efbbf98146105d8578063aca31ef8146105ba578063bb394e6c14610575578063c1f2f1aa14610405578063c200305c14610369578063ca706c461461034d578063eb5f9c4c146102a45763f0eb5e541461019157600080fd5b3461029f57602036600319011261029f576101aa611410565b600060806040516101ba816113ba565b60608152826020820152826040820152826060820152015260018060a01b031660005260026020526040600020604051906101f4826113ba565b6101fd81611638565b82526001810154602083019081526002820154916040840192835260ff60046003830154926060870193845201541690608085019115158252604051936020855260c0850195519360a060208701528451809752602060e0870195016000975b80891061028757505085965051604086015251606085015251608084015251151560a08301520390f35b9095602080600192895181520197019801979061025d565b600080fd5b3461029f57602036600319011261029f576102bd611410565b60035460009190806103095750602091506001905b6001600160a01b0316600090815260028352604090206004015460ff169081610301575b506040519015158152f35b9050826102f6565b6001600160a01b0382168352600260208190526040842001549081019081106103395760209250421115906102d2565b634e487b7160e01b83526011600452602483fd5b3461029f57600036600319011261029f57602060405160108152f35b3461029f57602036600319011261029f5760043561038561173a565b6003548082146103f45763bbf81e0082116103e35760038290557fde3795c64f30dfff45460f405d8c2478ea26a2c986010352086d613d6dd02a88906040906001600160a01b036103d4611e84565b169382519182526020820152a2005b632ef7f53b60e21b60005260046000fd5b636915cd9d60e01b60005260046000fd5b3461029f57602036600319011261029f5761041e611410565b6104266116e1565b6001600160a01b03166000818152600260205260409081902090519061044b826113ba565b61045481611638565b9182815260018201549081602082015260028301549182604083015260ff600460038601549586606086015201541615916080831591015215938461056b575b5083610563575b508261055a575b5081610551575b5061054057806000526002602052604060002080546000825580610519575b506004816000600181940155826002820155826003820155015560018060a01b036104f1611e84565b167f59d6590e225b81befe259af056324092801080acbb7feab310eb34678871f327600080a3005b816000526020600020908101905b81811061053457506104c8565b60008155600101610527565b630ac478f560e21b60005260046000fd5b905015826104a9565b159150836104a2565b92508461049b565b5115935085610494565b3461029f57604036600319011261029f576105a2610591611410565b6105996116e1565b60243590611bea565b156105a957005b63bb726e9160e01b60005260046000fd5b3461029f57600036600319011261029f576020600354604051908152f35b3461029f57604036600319011261029f576106056105f4611410565b6105fc6116e1565b60243590611871565b1561060c57005b63a491e3c760e01b60005260046000fd5b3461029f57604036600319011261029f57610636611410565b602435906106426116e1565b60018060a01b031690816000526002602052610662816040600020611ddf565b156106a5577f060afe8139b4251fa46f07b16f229d4237d4c2c148d219df4ed62338238bc60b60206001600160a01b0361069a611e84565b1692604051908152a3005b631713fdd560e01b60005260046000fd5b3461029f57602036600319011261029f576001600160a01b036106d7611410565b166000526000602052602060ff60406000205416604051908152f35b3461029f57602061070c61070636611572565b9061169d565b6040519015158152f35b3461029f57606036600319011261029f57610747610732611410565b61073a6116e1565b6044359060243590611cb0565b1561074e57005b631e4c9a9f60e11b60005260046000fd5b3461029f57600036600319011261029f57602060ff60015416604051908152f35b3461029f57600036600319011261029f576020604051818152f35b3461029f576107a936611520565b90926107b361173a565b8183036109235760005b8381106107c657005b6107d96107d4828685611606565b611616565b906107ed6107e8828689611606565b61162a565b9160ff83169283158015610919575b610908576001600160a01b0382169182156108f757816108239161081e61173a565b61169d565b6108e65781600052600060205260016040600020541615806108da575b610899575b90600193849282600052600060205260ff60406000209181835416171660ff19825416179055600080516020611f1e8339815191526020848060a01b0361088a611e84565b1692604051908152a4016107bd565b906001549360ff85169260ff84146108c45760ff19909516600193840160ff16179092559092610845565b634e487b7160e01b600052601160045260246000fd5b50600181161515610840565b63750f2ef960e01b60005260046000fd5b63122c6df560e11b60005260046000fd5b63762160bf60e11b60005260046000fd5b50603f84116107fc565b627b626760e91b60005260046000fd5b3461029f57600036600319011261029f576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461029f57604036600319011261029f57610991611410565b6024359067ffffffffffffffff821161029f576109b56109c3923690600401611426565b906109be6116e1565b611a52565b156109ca57005b636621e7ed60e01b60005260046000fd5b3461029f57604036600319011261029f576109f4611410565b60243590610a006116e1565b60018060a01b031690816000526002602052610a2881610a236040600020611638565b611da9565b610ae657816000526002602052600a6040600020541015610ad55781600052600260205260406000208054600160401b811015610abf57610a7381610a8c9360018694018155611685565b90919082549060031b91821b91600019901b1916179055565b7fecd48f64283876bda21405e8d6f5e417b8db7773eb78b73d6c95a0265c7bca6260206001600160a01b0361069a611e84565b634e487b7160e01b600052604160045260246000fd5b63195fe0bb60e11b60005260046000fd5b637ceb0c1f60e11b60005260046000fd5b3461029f57600036600319011261029f57602060405160088152f35b3461029f57602036600319011261029f576001600160a01b03610b34611410565b1660005260026020526020600160406000200154604051908152f35b3461029f57602036600319011261029f576020610b6b611410565b6040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169216919091148152f35b3461029f57604036600319011261029f576001600160a01b03610bc5611410565b166000526002602052602061070c602435610a236040600020611638565b3461029f57610bf136611572565b9060ff821680158015610cc2575b610908576001600160a01b0382169182156108f75783610c219161081e61173a565b6108e6578160005260006020526001604060002054161580610cb6575b610c90575b60019282600052600060205260ff60406000209181835416171660ff19825416179055600080516020611f1e8339815191526020848060a01b03610c85611e84565b1692604051908152a4005b6001549260ff84169360ff85146108c45760ff1916600194850160ff1617909355610c43565b50600183161515610c3e565b50603f8111610bff565b3461029f57600036600319011261029f57602060405160048152f35b3461029f57604036600319011261029f57610d01611410565b6024359067ffffffffffffffff821161029f57610d25610deb923690600401611483565b610d2d6116e1565b6001600160a01b03821660008181526002602052604090819020905190610d53826113ba565b610d5c81611638565b80835260018201549283602082015260028301549182604083015260ff600460038601549586606086015201541615916080831591015251159384610e43575b5083610e3b575b5082610e32575b5081610e29575b50610ded575b50610dc3815183611a52565b50610dda6080820151151560408301519084611943565b506060602082015191015191611cb0565b005b6001600160a01b03610dfd611e84565b167f45afe31e3a48a54e27da1d1f2ec6c6e272ce5838616e0d61071b223bceb5c690600080a383610db7565b90501585610db1565b15915086610daa565b925087610da3565b15935088610d9c565b3461029f57600036600319011261029f57602060405160028152f35b3461029f57602036600319011261029f576001600160a01b03610e89611410565b166000526002602052610eae610ea26040600020611638565b604051918291826115a2565b0390f35b3461029f57604036600319011261029f57610605610ece611410565b610ed66116e1565b60243590611796565b3461029f57600036600319011261029f57602060405160018152f35b3461029f57600036600319011261029f576040517f00000000000000000000000000000000000000000000000000000000000000006001600160e01b0319168152602090f35b3461029f57610f4f36611572565b9060ff82168015801561101f575b610908576001600160a01b0382169182156108f75783610f7f9161081e61173a565b1561100e5760018316610fcd575b6000928284528360205260ff604085209181835416181660ff19825416179055600080516020611f1e833981519152602060018060a01b03610c85611e84565b6001549260ff84169360018514610ffd5784156108c45760ff191660001990940160ff1693909317600155610f8d565b635b1f8af160e11b60005260046000fd5b632478c9fd60e11b60005260046000fd5b50603f8111610f5d565b3461029f5761103736611520565b909261104161173a565b8183036109235760005b83811061105457005b6110626107d4828685611606565b906110716107e8828689611606565b9160ff83169283158015611137575b610908576001600160a01b0382169182156108f757816110a29161081e61173a565b1561100e5760018116611102575b906001936000928284528360205260ff604085209181835416181660ff19825416179055600080516020611f1e8339815191526020868060a01b036110f3611e84565b1692604051908152a40161104b565b906001549360ff85169260018414610ffd5783156108c45760ff1990951660001990930160ff169290921760015590926110b0565b50603f8411611080565b3461029f57602036600319011261029f5760043563ffffffff60e01b811680910361029f576020907f00000000000000000000000000000000000000000000000000000000000000006001600160e01b03191681149081156111a857506040519015158152f35b6301ffc9a760e01b149050826102f6565b3461029f57604036600319011261029f5760043567ffffffffffffffff811161029f573660238201121561029f5780600401356111f5816113f8565b9161120360405193846113d6565b8183526024602084019260051b8201019036821161029f57602401915b81831061139a578360243567ffffffffffffffff811161029f57611248903690600401611483565b906112516116e1565b60408201916080810190606081016020820160005b8551811015610deb576001906113366001600160a01b03611287838a6115dc565b51166112916116e1565b8060005260026020526040600020604051906112ac826113ba565b6112b581611638565b808352868201549283602082015260028301549182604083015260ff600460038601549586606086015201541615916080831591015251159384611391575b5083611389575b5082611380575b5081611377575b5061133d575b61131a875182611a52565b5061132b885115158b519083611943565b508451865191611cb0565b5001611266565b80848060a01b0361134c611e84565b167f45afe31e3a48a54e27da1d1f2ec6c6e272ce5838616e0d61071b223bceb5c690600080a361130f565b9050158b611309565b1591508c611302565b92508d6112fb565b1593508e6112f4565b82356001600160a01b038116810361029f57815260209283019201611220565b60a0810190811067ffffffffffffffff821117610abf57604052565b90601f8019910116810190811067ffffffffffffffff821117610abf57604052565b67ffffffffffffffff8111610abf5760051b60200190565b600435906001600160a01b038216820361029f57565b9080601f8301121561029f57813561143d816113f8565b9261144b60405194856113d6565b81845260208085019260051b82010192831161029f57602001905b8282106114735750505090565b8135815260209182019101611466565b919060a08382031261029f576040519061149c826113ba565b8193803567ffffffffffffffff811161029f576080926114bd918301611426565b8352602081013560208401526040810135604084015260608101356060840152013590811515820361029f5760800152565b9181601f8401121561029f5782359167ffffffffffffffff831161029f576020808501948460051b01011161029f57565b604060031982011261029f5760043567ffffffffffffffff811161029f578161154b916004016114ef565b929092916024359067ffffffffffffffff821161029f5761156e916004016114ef565b9091565b604090600319011261029f576004356001600160a01b038116810361029f579060243560ff8116810361029f5790565b602060408183019282815284518094520192019060005b8181106115c65750505090565b82518452602093840193909201916001016115b9565b80518210156115f05760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b91908110156115f05760051b0190565b356001600160a01b038116810361029f5790565b3560ff8116810361029f5790565b906040519182815491828252602082019060005260206000209260005b81811061166c57505061166a925003836113d6565b565b8454835260019485019487945060209093019201611655565b80548210156115f05760005260206000200190600090565b9060ff811691821580156116d7575b610908576001600160a01b03169081156108f75760ff91600052600060205260406000205416161490565b50603f83116116ac565b6116e9611e84565b6001600160a01b031680156108f7576000526000602052600480604060002054160361171157565b611719611e84565b6303b109ab60e01b60009081526001600160a01b0391909116600452602490fd5b611742611e84565b6001600160a01b031680156108f7576000526000602052600180604060002054160361176a57565b611772611e84565b60016212a1d960e01b031960009081526001600160a01b0391909116600452602490fd5b600091428111611862578061185c575042905b6001600160a01b03168083526002602052604083206004015490919060ff1615801590611843575b6117da57505090565b818352600260208181526040808620600401805460ff191690558486528282529094200181905590917f24eb2262aa5408d660566a8e867a5b8175fe9c9f30fc351108dbb9a1ef97fcaa906001600160a01b03611835611e84565b1692604051908152a3600190565b50818352600260205280600260408520015414156117d1565b906117a9565b63333aa88960e11b8352600483fd5b90428111611932578061192c575042905b6001600160a01b031660008181526002602052604090206004015490919060ff161515600114801590611911575b6118bb575050600090565b600082815260026020818152604090922060048101805460ff19166001179055018290557fe665d8e43d83c10743e100d8d50e9dc7b2b021c971a6a925a451804c37bf6032906001600160a01b03611835611e84565b508160005260026020528060026040600020015414156118b0565b90611882565b63333aa88960e11b60005260046000fd5b90914281116119325780611a4c575042905b6001600160a01b03166000818152600260205260409020600401549092908115159060ff1615158114801590611a31575b6119935750505050600090565b83600052600260205260046040600020019060ff80198354169116179055826000526002602052816002604060002001556000146119fe577fe665d8e43d83c10743e100d8d50e9dc7b2b021c971a6a925a451804c37bf603260206001600160a01b03611835611e84565b7f24eb2262aa5408d660566a8e867a5b8175fe9c9f30fc351108dbb9a1ef97fcaa60206001600160a01b03611835611e84565b50836000526002602052826002604060002001541415611986565b90611955565b91815115611bd957600a825111610ad5576000925b8251841015611ac457600184018085116108c4575b8351811015611ab957611a8f85856115dc565b51611a9a82866115dc565b5114611aa857600101611a7c565b63883eb7d160e01b60005260046000fd5b509260010192611a67565b90925060018060a01b031690816000526002602052611aef81611aea6040600020611638565b611edd565b15611afb575050600090565b816000526002602052604060002081519067ffffffffffffffff8211610abf57600160401b8211610abf578054828255808310611bb0575b506020830190600052602060002060005b838110611b9c57507fc186fc41bf08662e2c9edd4ec05766f81720da46dd2d71dc23ebd23b0a8f36fa9250611b9491506001600160a01b039050611b86611e84565b1692604051918291826115a2565b0390a3600190565b600190602084519401938184015501611b44565b8160005282602060002091820191015b818110611bcd5750611b33565b60008155600101611bc0565b63ac6ca07d60e01b60005260046000fd5b904281116119325780611caa575042905b6001600160a01b031660008181526002602052604090206001015490919015801590611c8f575b611c2d575050600090565b6000828152600260205260408082206001810180549390556003018390557f7a1c069a41076644476d2d858419a9373b6439affaf7be506f414a1440c29bcd916001600160a01b03611c7d611e84565b169382519182526020820152a3600190565b50816000526002602052806003604060002001541415611c22565b90611bfb565b90914281116119325780611da3575042905b6001600160a01b03166000818152600260205260409020600101549092908114801590611d88575b611cf657505050600090565b60008381526002602052604090206001810180549083905560039091018390559080611d5257507f7a1c069a41076644476d2d858419a9373b6439affaf7be506f414a1440c29bcd906040906001600160a01b03611c7d611e84565b7f5f186f7f6030f4be156f944b96d11b8e44b2a9b2bba0d5b156ad89d1dad3d5af91506040906001600160a01b03611c7d611e84565b50826000526002602052816003604060002001541415611cea565b90611cc2565b9060005b8251811015611dd75781611dc182856115dc565b5114611dcf57600101611dad565b505050600190565b505050600090565b60005b815480821015611e7b5783611df78385611685565b90549060031b1c14611e0c5750600101611de2565b91925060001982019182116108c457610a73611e2b611e399385611685565b90549060031b1c9184611685565b80548015611e65576000190190611e508282611685565b8154906000199060031b1b1916905555600190565b634e487b7160e01b600052603160045260246000fd5b50505050600090565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161480611ed2575b15611ece5760131936013681116108c4573560601c90565b3390565b506014361015611eb6565b908151815103611f165760005b8251811015611dcf57611efd81846115dc565b51611f0882846115dc565b5103611dd757600101611eea565b505060009056fe7e9e87d17fbf2950f3379a6331b75b6e997a147bbd3eaedc68c30c62186c68cba264697066735822122071b06b1f2fc5c7a74fd49c37e50cd2fed3ce45a25e693b8954f2945488fc7f2b64736f6c634300081c0033","immutableReferences":{}}