New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@white-matrix/amethyst-sdk

Package Overview
Dependencies
Maintainers
12
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@white-matrix/amethyst-sdk - npm Package Compare versions

Comparing version 0.0.1 to 0.0.2

dist/contracts/typechain/AccessControl__factory.ts

116

dist/contracts/typechain/AmethystRoleManagementImpl__factory.ts

@@ -54,21 +54,2 @@ /* Autogenerated file. Do not edit manually. */

{
indexed: true,
internalType: "address",
name: "previousOwner",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "newOwner",
type: "address",
},
],
name: "OwnershipTransferred",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: false,

@@ -176,3 +157,3 @@ internalType: "address",

internalType: "bool",
name: "haveRole",
name: "enable",
type: "bool",

@@ -187,3 +168,3 @@ },

],
name: "SetRole",
name: "SetAmethystRole",
type: "event",

@@ -301,13 +282,13 @@ },

{
internalType: "bytes32",
name: "role",
type: "bytes32",
},
{
internalType: "address",
name: "account",
name: "person",
type: "address",
},
{
internalType: "string",
name: "role",
type: "string",
},
],
name: "hasRole",
name: "hasAmethystRole",
outputs: [

@@ -326,13 +307,13 @@ {

{
internalType: "bytes32",
name: "role",
type: "bytes32",
},
{
internalType: "address",
name: "person",
name: "account",
type: "address",
},
{
internalType: "string",
name: "role",
type: "string",
},
],
name: "haveRole",
name: "hasRole",
outputs: [

@@ -389,15 +370,2 @@ {

inputs: [],
name: "owner",
outputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "pause",

@@ -422,9 +390,2 @@ outputs: [],

{
inputs: [],
name: "renounceOwnership",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [

@@ -468,15 +429,2 @@ {

{
internalType: "uint256",
name: "expiration",
type: "uint256",
},
],
name: "setMaxExpiration",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",

@@ -493,3 +441,3 @@ name: "person",

internalType: "bool",
name: "isHaveRole",
name: "enable",
type: "bool",

@@ -508,3 +456,3 @@ },

],
name: "setRole",
name: "setAmethystRole",
outputs: [],

@@ -517,2 +465,15 @@ stateMutability: "nonpayable",

{
internalType: "uint256",
name: "newMaxExpiration",
type: "uint256",
},
],
name: "setMaxExpiration",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",

@@ -548,15 +509,2 @@ name: "newSigner",

{
inputs: [
{
internalType: "address",
name: "newOwner",
type: "address",
},
],
name: "transferOwnership",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],

@@ -602,3 +550,3 @@ name: "unpause",

const _bytecode =
"0x60a06040523060601b60805234801561001757600080fd5b50600054610100900460ff1680610031575060005460ff16155b6100985760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b600054610100900460ff161580156100c3576000805460ff1961ff0019909116610100171660011790555b80156100d5576000805461ff00191690555b5060805160601c6120d56101096000396000818161057e015281816105be0152818161067801526106b801526120d56000f3fe60806040526004361061014b5760003560e01c80636c19e783116100b6578063d547741f1161006f578063d547741f146103a2578063e17ad931146103c2578063e18c7260146103e2578063e198bc3a14610403578063f2fde38b14610423578063f72c0d8b146104435761014b565b80636c19e783146102f0578063715018a6146103105780638456cb59146103255780638da5cb5b1461033a57806391d148541461036d578063a217fddf1461038d5761014b565b806336568abe1161010857806336568abe146102505780633659cfe6146102705780633f4ba83a146102905780634f1ef286146102a557806355cad18a146102b85780635c975abb146102d85761014b565b806301ffc9a7146101505780630676695b1461018557806306bfcec6146101a7578063248a9ca3146101db57806325bee3e9146102195780632f2ff15d14610230575b600080fd5b34801561015c57600080fd5b5061017061016b366004611d2f565b61045a565b60405190151581526020015b60405180910390f35b34801561019157600080fd5b506101a56101a0366004611cec565b610493565b005b3480156101b357600080fd5b5060408051808201825260058152640312e302e360dc1b6020820152905161017c9190611e62565b3480156101e757600080fd5b5061020b6101f6366004611cec565b60009081526065602052604090206001015490565b60405190815260200161017c565b34801561022557600080fd5b5061020b6101915481565b34801561023c57600080fd5b506101a561024b366004611d04565b6104c9565b34801561025c57600080fd5b506101a561026b366004611d04565b6104f5565b34801561027c57600080fd5b506101a561028b366004611bb7565b610573565b34801561029c57600080fd5b506101a561063c565b6101a56102b3366004611bd1565b61066d565b3480156102c457600080fd5b506101706102d3366004611c1d565b610723565b3480156102e457600080fd5b5060975460ff16610170565b3480156102fc57600080fd5b506101a561030b366004611bb7565b610781565b34801561031c57600080fd5b506101a56107cb565b34801561033157600080fd5b506101a5610830565b34801561034657600080fd5b5061015f546001600160a01b03165b6040516001600160a01b03909116815260200161017c565b34801561037957600080fd5b50610170610388366004611d04565b61085f565b34801561039957600080fd5b5061020b600081565b3480156103ae57600080fd5b506101a56103bd366004611d04565b61088a565b3480156103ce57600080fd5b506101a56103dd366004611cc3565b6108b0565b3480156103ee57600080fd5b5061019554610355906001600160a01b031681565b34801561040f57600080fd5b506101a561041e366004611c2f565b6109ac565b34801561042f57600080fd5b506101a561043e366004611bb7565b610cc4565b34801561044f57600080fd5b5061020b6101925481565b60006001600160e01b03198216637965db0b60e01b148061048b57506301ffc9a760e01b6001600160e01b03198316145b90505b919050565b61049e600033610388565b6104c35760405162461bcd60e51b81526004016104ba90611e9a565b60405180910390fd5b61019155565b6000828152606560205260409020600101546104e681335b610d8d565b6104f08383610df1565b505050565b6001600160a01b03811633146105655760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084016104ba565b61056f8282610e77565b5050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156105bc5760405162461bcd60e51b81526004016104ba90611ed1565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166105ee610ede565b6001600160a01b0316146106145760405162461bcd60e51b81526004016104ba90611f1d565b61061d81610f0c565b6040805160008082526020820190925261063991839190610f66565b50565b610647600033610388565b6106635760405162461bcd60e51b81526004016104ba90611e9a565b61066b6110b1565b565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156106b65760405162461bcd60e51b81526004016104ba90611ed1565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166106e8610ede565b6001600160a01b03161461070e5760405162461bcd60e51b81526004016104ba90611f1d565b61071782610f0c565b61056f82826001610f66565b6001600160a01b03821660009081526101936020908152604080832090519091839161075191869101611dd1565b60408051808303601f190181529181528151602092830120835290820192909252016000205460ff169392505050565b61078c600033610388565b6107a85760405162461bcd60e51b81526004016104ba90611e9a565b61019580546001600160a01b0319166001600160a01b0392909216919091179055565b61015f546001600160a01b031633146108265760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104ba565b61066b6000611144565b61083b600033610388565b6108575760405162461bcd60e51b81526004016104ba90611e9a565b61066b611197565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6000828152606560205260409020600101546108a681336104e1565b6104f08383610e77565b600054610100900460ff16806108c9575060005460ff16155b6108e55760405162461bcd60e51b81526004016104ba90611f69565b600054610100900460ff16158015610910576000805460ff1961ff0019909116610100171660011790555b610918611212565b610920611296565b610928611306565b61093061137e565b6109386113e6565b61094360003361144d565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3610192819055610974903361144d565b61019580546001600160a01b0319166001600160a01b03851617905561019182905580156104f0576000805461ff0019169055505050565b60975460ff16156109f25760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b60448201526064016104ba565b6109fd600033610388565b610c0f5761019154610a0f4284611457565b10610a545760405162461bcd60e51b81526020600482015260156024820152741cda59db985d1d5c99481a185cc8195e1c1a5c9959605a1b60448201526064016104ba565b610194600082604051602001610a6a9190611dd1565b60408051601f198184030181529181528151602092830120835290820192909252016000205460ff1615610ad55760405162461bcd60e51b81526020600482015260126024820152711cda59db985d1d5c99481a185cc81d5cd95960721b60448201526064016104ba565b6000610b5186868686604051602001610af19493929190611d83565b60408051601f1981840301815282825280516020918201207f19457468657265756d205369676e6564204d6573736167653a0a33320000000084830152603c8085019190915282518085039091018152605c909301909152815191012090565b610195549091506001600160a01b0316610b6b828461146a565b6001600160a01b031614610bc15760405162461bcd60e51b815260206004820152601a60248201527f756e61626c6520746f20766572696679207369676e617475726500000000000060448201526064016104ba565b6001610194600084604051602001610bd99190611dd1565b60408051808303601f19018152918152815160209283012083529082019290925201600020805460ff1916911515919091179055505b6001600160a01b038516600090815261019360209081526040808320905186939192610c3d91899101611dd1565b60405160208183030381529060405280519060200120815260200190815260200160002060006101000a81548160ff021916908315150217905550846001600160a01b03167fe0db73124855f618948ae9654bf9fb29dbc4e9da043a0e3750e3635066fbe814858542604051610cb593929190611e75565b60405180910390a25050505050565b61015f546001600160a01b03163314610d1f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104ba565b6001600160a01b038116610d845760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104ba565b61063981611144565b610d97828261085f565b61056f57610daf816001600160a01b031660146114e9565b610dba8360206114e9565b604051602001610dcb929190611ded565b60408051601f198184030181529082905262461bcd60e51b82526104ba91600401611e62565b610dfb828261085f565b61056f5760008281526065602090815260408083206001600160a01b03851684529091529020805460ff19166001179055610e333390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b610e81828261085f565b1561056f5760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b610f1a610192546103883390565b6106395760405162461bcd60e51b815260206004820152601b60248201527f72657175697265207570677261646572207065726d697373696f6e000000000060448201526064016104ba565b6000610f70610ede565b9050610f7b846116cb565b600083511180610f885750815b15610f9957610f978484611770565b505b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143805460ff166110aa57805460ff191660011781556040516001600160a01b038316602482015261101890869060440160408051601f198184030181529190526020810180516001600160e01b0316631b2ce7f360e11b179052611770565b50805460ff19168155611029610ede565b6001600160a01b0316826001600160a01b0316146110a15760405162461bcd60e51b815260206004820152602f60248201527f45524331393637557067726164653a207570677261646520627265616b73206660448201526e75727468657220757067726164657360881b60648201526084016104ba565b6110aa8561185b565b5050505050565b60975460ff166110fa5760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b60448201526064016104ba565b6097805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b61015f80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60975460ff16156111dd5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b60448201526064016104ba565b6097805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586111273390565b600054610100900460ff168061122b575060005460ff16155b6112475760405162461bcd60e51b81526004016104ba90611f69565b600054610100900460ff16158015611272576000805460ff1961ff0019909116610100171660011790555b61127a61189b565b61128261190e565b8015610639576000805461ff001916905550565b600054610100900460ff16806112af575060005460ff16155b6112cb5760405162461bcd60e51b81526004016104ba90611f69565b600054610100900460ff161580156112f6576000805460ff1961ff0019909116610100171660011790555b6112fe61189b565b611282611977565b600054610100900460ff168061131f575060005460ff16155b61133b5760405162461bcd60e51b81526004016104ba90611f69565b600054610100900460ff16158015611366576000805460ff1961ff0019909116610100171660011790555b61136e61189b565b61137661189b565b61128261189b565b600054610100900460ff1680611397575060005460ff16155b6113b35760405162461bcd60e51b81526004016104ba90611f69565b600054610100900460ff161580156113de576000805460ff1961ff0019909116610100171660011790555b6112826119f5565b600054610100900460ff16806113ff575060005460ff16155b61141b5760405162461bcd60e51b81526004016104ba90611f69565b600054610100900460ff1615801561136e576000805460ff1961ff00199091166101001716600117905561137661189b565b61056f8282610df1565b60006114638284611fee565b9392505050565b60008060008061147985611a6e565b6040805160008152602081018083528b905260ff8516918101919091526060810183905260808101829052929550909350915060019060a0016020604051602081039080840390855afa1580156114d4573d6000803e3d6000fd5b5050604051601f190151979650505050505050565b606060006114f8836002611fcf565b611503906002611fb7565b67ffffffffffffffff81111561152957634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015611553576020820181803683370190505b509050600360fc1b8160008151811061157c57634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106115b957634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a90535060006115dd846002611fcf565b6115e8906001611fb7565b90505b600181111561167c576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061162a57634e487b7160e01b600052603260045260246000fd5b1a60f81b82828151811061164e57634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a90535060049490941c9361167581612035565b90506115eb565b5083156114635760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016104ba565b803b61172f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016104ba565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060823b6117cf5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084016104ba565b600080846001600160a01b0316846040516117ea9190611dd1565b600060405180830381855af49150503d8060008114611825576040519150601f19603f3d011682016040523d82523d6000602084013e61182a565b606091505b5091509150611852828260405180606001604052806027815260200161207960279139611ae0565b95945050505050565b611864816116cb565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b600054610100900460ff16806118b4575060005460ff16155b6118d05760405162461bcd60e51b81526004016104ba90611f69565b600054610100900460ff16158015611282576000805460ff1961ff0019909116610100171660011790558015610639576000805461ff001916905550565b600054610100900460ff1680611927575060005460ff16155b6119435760405162461bcd60e51b81526004016104ba90611f69565b600054610100900460ff1615801561196e576000805460ff1961ff0019909116610100171660011790555b61128233611144565b600054610100900460ff1680611990575060005460ff16155b6119ac5760405162461bcd60e51b81526004016104ba90611f69565b600054610100900460ff161580156119d7576000805460ff1961ff0019909116610100171660011790555b6097805460ff191690558015610639576000805461ff001916905550565b600054610100900460ff1680611a0e575060005460ff16155b611a2a5760405162461bcd60e51b81526004016104ba90611f69565b600054610100900460ff16158015611a55576000805460ff1961ff0019909116610100171660011790555b600160c9558015610639576000805461ff001916905550565b60008060008351604114611ac45760405162461bcd60e51b815260206004820152601860248201527f696e76616c6964207369676e6174757265206c656e677468000000000000000060448201526064016104ba565b5050506020810151604082015160609092015160001a92909190565b60608315611aef575081611463565b825115611aff5782518084602001fd5b8160405162461bcd60e51b81526004016104ba9190611e62565b80356001600160a01b038116811461048e57600080fd5b600082601f830112611b40578081fd5b813567ffffffffffffffff80821115611b5b57611b5b612062565b604051601f8301601f19908116603f01168101908282118183101715611b8357611b83612062565b81604052838152866020858801011115611b9b578485fd5b8360208701602083013792830160200193909352509392505050565b600060208284031215611bc8578081fd5b61146382611b19565b60008060408385031215611be3578081fd5b611bec83611b19565b9150602083013567ffffffffffffffff811115611c07578182fd5b611c1385828601611b30565b9150509250929050565b60008060408385031215611be3578182fd5b600080600080600060a08688031215611c46578081fd5b611c4f86611b19565b9450602086013567ffffffffffffffff80821115611c6b578283fd5b611c7789838a01611b30565b9550604088013591508115158214611c8d578283fd5b9093506060870135925060808701359080821115611ca9578283fd5b50611cb688828901611b30565b9150509295509295909350565b60008060408385031215611cd5578182fd5b611cde83611b19565b946020939093013593505050565b600060208284031215611cfd578081fd5b5035919050565b60008060408385031215611d16578182fd5b82359150611d2660208401611b19565b90509250929050565b600060208284031215611d40578081fd5b81356001600160e01b031981168114611463578182fd5b60008151808452611d6f816020860160208601612005565b601f01601f19169290920160200192915050565b60006bffffffffffffffffffffffff198660601b1682528451611dad816014850160208901612005565b93151560f81b91909301601481019190915260158101919091526035019392505050565b60008251611de3818460208701612005565b9190910192915050565b60007f416363657373436f6e74726f6c3a206163636f756e742000000000000000000082528351611e25816017850160208801612005565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351611e56816028840160208801612005565b01602801949350505050565b6000602082526114636020830184611d57565b600060608252611e886060830186611d57565b93151560208301525060400152919050565b60208082526018908201527f726571756972652061646d696e207065726d697373696f6e0000000000000000604082015260600190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b60008219821115611fca57611fca61204c565b500190565b6000816000190483118215151615611fe957611fe961204c565b500290565b6000828210156120005761200061204c565b500390565b60005b83811015612020578181015183820152602001612008565b8381111561202f576000848401525b50505050565b6000816120445761204461204c565b506000190190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fdfe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122082b69c7adc970433c8e1206b16e859a8fd20d89566339dd324a8868cd40fe4da64736f6c63430008020033";
"0x60a06040523060601b60805234801561001757600080fd5b50600054610100900460ff1680610031575060005460ff16155b6100985760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b600054610100900460ff161580156100c3576000805460ff1961ff0019909116610100171660011790555b80156100d5576000805461ff00191690555b5060805160601c611e026101096000396000818161050d0152818161054d0152818161060701526106470152611e026000f3fe60806040526004361061012a5760003560e01c80635c975abb116100ab578063d547741f1161006f578063d547741f14610319578063dd60d96514610339578063e17ad93114610359578063e18c726014610379578063f65903b9146103b2578063f72c0d8b146103d25761012a565b80635c975abb146102975780636c19e783146102af5780638456cb59146102cf57806391d14854146102e4578063a217fddf146103045761012a565b80632f2ff15d116100f25780632f2ff15d1461020f57806336568abe1461022f5780633659cfe61461024f5780633f4ba83a1461026f5780634f1ef286146102845761012a565b806301ffc9a71461012f5780630676695b1461016457806306bfcec614610186578063248a9ca3146101ba57806325bee3e9146101f8575b600080fd5b34801561013b57600080fd5b5061014f61014a366004611a5c565b6103e9565b60405190151581526020015b60405180910390f35b34801561017057600080fd5b5061018461017f366004611a19565b610422565b005b34801561019257600080fd5b5060408051808201825260058152640312e302e360dc1b6020820152905161015b9190611b8f565b3480156101c657600080fd5b506101ea6101d5366004611a19565b60009081526065602052604090206001015490565b60405190815260200161015b565b34801561020457600080fd5b506101ea61015f5481565b34801561021b57600080fd5b5061018461022a366004611a31565b610458565b34801561023b57600080fd5b5061018461024a366004611a31565b610484565b34801561025b57600080fd5b5061018461026a3660046118e4565b610502565b34801561027b57600080fd5b506101846105cb565b6101846102923660046118fe565b6105fc565b3480156102a357600080fd5b5060975460ff1661014f565b3480156102bb57600080fd5b506101846102ca3660046118e4565b6106b2565b3480156102db57600080fd5b506101846106fc565b3480156102f057600080fd5b5061014f6102ff366004611a31565b61072b565b34801561031057600080fd5b506101ea600081565b34801561032557600080fd5b50610184610334366004611a31565b610756565b34801561034557600080fd5b5061014f61035436600461194a565b61077c565b34801561036557600080fd5b506101846103743660046119f0565b6107da565b34801561038557600080fd5b506101635461039a906001600160a01b031681565b6040516001600160a01b03909116815260200161015b565b3480156103be57600080fd5b506101846103cd36600461195c565b6108ce565b3480156103de57600080fd5b506101ea6101605481565b60006001600160e01b03198216637965db0b60e01b148061041a57506301ffc9a760e01b6001600160e01b03198316145b90505b919050565b61042d6000336102ff565b6104525760405162461bcd60e51b815260040161044990611bc7565b60405180910390fd5b61015f55565b60008281526065602052604090206001015461047581335b610be6565b61047f8383610c4a565b505050565b6001600160a01b03811633146104f45760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610449565b6104fe8282610cd0565b5050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016141561054b5760405162461bcd60e51b815260040161044990611bfe565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661057d610d37565b6001600160a01b0316146105a35760405162461bcd60e51b815260040161044990611c4a565b6105ac81610d65565b604080516000808252602082019092526105c891839190610dbf565b50565b6105d66000336102ff565b6105f25760405162461bcd60e51b815260040161044990611bc7565b6105fa610f0a565b565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156106455760405162461bcd60e51b815260040161044990611bfe565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610677610d37565b6001600160a01b03161461069d5760405162461bcd60e51b815260040161044990611c4a565b6106a682610d65565b6104fe82826001610dbf565b6106bd6000336102ff565b6106d95760405162461bcd60e51b815260040161044990611bc7565b61016380546001600160a01b0319166001600160a01b0392909216919091179055565b6107076000336102ff565b6107235760405162461bcd60e51b815260040161044990611bc7565b6105fa610f9d565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6000828152606560205260409020600101546107728133610470565b61047f8383610cd0565b6001600160a01b0382166000908152610161602090815260408083209051909183916107aa91869101611afe565b60408051808303601f190181529181528151602092830120835290820192909252016000205460ff169392505050565b600054610100900460ff16806107f3575060005460ff16155b61080f5760405162461bcd60e51b815260040161044990611c96565b600054610100900460ff1615801561083a576000805460ff1961ff0019909116610100171660011790555b610842611018565b61084a61109c565b610852611114565b61085a61117c565b6108656000336111e3565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e361016081905561089690336111e3565b61016380546001600160a01b0319166001600160a01b03851617905561015f829055801561047f576000805461ff0019169055505050565b60975460ff16156109145760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610449565b61091f6000336102ff565b610b315761015f5461093142846111ed565b106109765760405162461bcd60e51b81526020600482015260156024820152741cda59db985d1d5c99481a185cc8195e1c1a5c9959605a1b6044820152606401610449565b61016260008260405160200161098c9190611afe565b60408051601f198184030181529181528151602092830120835290820192909252016000205460ff16156109f75760405162461bcd60e51b81526020600482015260126024820152711cda59db985d1d5c99481a185cc81d5cd95960721b6044820152606401610449565b6000610a7386868686604051602001610a139493929190611ab0565b60408051601f1981840301815282825280516020918201207f19457468657265756d205369676e6564204d6573736167653a0a33320000000084830152603c8085019190915282518085039091018152605c909301909152815191012090565b610163549091506001600160a01b0316610a8d8284611200565b6001600160a01b031614610ae35760405162461bcd60e51b815260206004820152601a60248201527f756e61626c6520746f20766572696679207369676e61747572650000000000006044820152606401610449565b6001610162600084604051602001610afb9190611afe565b60408051808303601f19018152918152815160209283012083529082019290925201600020805460ff1916911515919091179055505b6001600160a01b038516600090815261016160209081526040808320905186939192610b5f91899101611afe565b60405160208183030381529060405280519060200120815260200190815260200160002060006101000a81548160ff021916908315150217905550846001600160a01b03167fa75afcecb86d16fdeb01f70715df8a51df373661d7f07e7c944fefcc07aa8704858542604051610bd793929190611ba2565b60405180910390a25050505050565b610bf0828261072b565b6104fe57610c08816001600160a01b0316601461127f565b610c1383602061127f565b604051602001610c24929190611b1a565b60408051601f198184030181529082905262461bcd60e51b825261044991600401611b8f565b610c54828261072b565b6104fe5760008281526065602090815260408083206001600160a01b03851684529091529020805460ff19166001179055610c8c3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b610cda828261072b565b156104fe5760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b610d73610160546102ff3390565b6105c85760405162461bcd60e51b815260206004820152601b60248201527f72657175697265207570677261646572207065726d697373696f6e00000000006044820152606401610449565b6000610dc9610d37565b9050610dd484611461565b600083511180610de15750815b15610df257610df08484611506565b505b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143805460ff16610f0357805460ff191660011781556040516001600160a01b0383166024820152610e7190869060440160408051601f198184030181529190526020810180516001600160e01b0316631b2ce7f360e11b179052611506565b50805460ff19168155610e82610d37565b6001600160a01b0316826001600160a01b031614610efa5760405162461bcd60e51b815260206004820152602f60248201527f45524331393637557067726164653a207570677261646520627265616b73206660448201526e75727468657220757067726164657360881b6064820152608401610449565b610f03856115f1565b5050505050565b60975460ff16610f535760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610449565b6097805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b60975460ff1615610fe35760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610449565b6097805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258610f803390565b600054610100900460ff1680611031575060005460ff16155b61104d5760405162461bcd60e51b815260040161044990611c96565b600054610100900460ff16158015611078576000805460ff1961ff0019909116610100171660011790555b611080611631565b6110886116a4565b80156105c8576000805461ff001916905550565b600054610100900460ff16806110b5575060005460ff16155b6110d15760405162461bcd60e51b815260040161044990611c96565b600054610100900460ff161580156110fc576000805460ff1961ff0019909116610100171660011790555b611104611631565b61110c611631565b611088611631565b600054610100900460ff168061112d575060005460ff16155b6111495760405162461bcd60e51b815260040161044990611c96565b600054610100900460ff16158015611174576000805460ff1961ff0019909116610100171660011790555b611088611722565b600054610100900460ff1680611195575060005460ff16155b6111b15760405162461bcd60e51b815260040161044990611c96565b600054610100900460ff16158015611104576000805460ff1961ff00199091166101001716600117905561110c611631565b6104fe8282610c4a565b60006111f98284611d1b565b9392505050565b60008060008061120f8561179b565b6040805160008152602081018083528b905260ff8516918101919091526060810183905260808101829052929550909350915060019060a0016020604051602081039080840390855afa15801561126a573d6000803e3d6000fd5b5050604051601f190151979650505050505050565b6060600061128e836002611cfc565b611299906002611ce4565b67ffffffffffffffff8111156112bf57634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f1916602001820160405280156112e9576020820181803683370190505b509050600360fc1b8160008151811061131257634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061134f57634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a9053506000611373846002611cfc565b61137e906001611ce4565b90505b6001811115611412576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106113c057634e487b7160e01b600052603260045260246000fd5b1a60f81b8282815181106113e457634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a90535060049490941c9361140b81611d62565b9050611381565b5083156111f95760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610449565b803b6114c55760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610449565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060823b6115655760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610449565b600080846001600160a01b0316846040516115809190611afe565b600060405180830381855af49150503d80600081146115bb576040519150601f19603f3d011682016040523d82523d6000602084013e6115c0565b606091505b50915091506115e88282604051806060016040528060278152602001611da66027913961180d565b95945050505050565b6115fa81611461565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b600054610100900460ff168061164a575060005460ff16155b6116665760405162461bcd60e51b815260040161044990611c96565b600054610100900460ff16158015611088576000805460ff1961ff00199091166101001716600117905580156105c8576000805461ff001916905550565b600054610100900460ff16806116bd575060005460ff16155b6116d95760405162461bcd60e51b815260040161044990611c96565b600054610100900460ff16158015611704576000805460ff1961ff0019909116610100171660011790555b6097805460ff1916905580156105c8576000805461ff001916905550565b600054610100900460ff168061173b575060005460ff16155b6117575760405162461bcd60e51b815260040161044990611c96565b600054610100900460ff16158015611782576000805460ff1961ff0019909116610100171660011790555b600160c95580156105c8576000805461ff001916905550565b600080600083516041146117f15760405162461bcd60e51b815260206004820152601860248201527f696e76616c6964207369676e6174757265206c656e67746800000000000000006044820152606401610449565b5050506020810151604082015160609092015160001a92909190565b6060831561181c5750816111f9565b82511561182c5782518084602001fd5b8160405162461bcd60e51b81526004016104499190611b8f565b80356001600160a01b038116811461041d57600080fd5b600082601f83011261186d578081fd5b813567ffffffffffffffff8082111561188857611888611d8f565b604051601f8301601f19908116603f011681019082821181831017156118b0576118b0611d8f565b816040528381528660208588010111156118c8578485fd5b8360208701602083013792830160200193909352509392505050565b6000602082840312156118f5578081fd5b6111f982611846565b60008060408385031215611910578081fd5b61191983611846565b9150602083013567ffffffffffffffff811115611934578182fd5b6119408582860161185d565b9150509250929050565b60008060408385031215611910578182fd5b600080600080600060a08688031215611973578081fd5b61197c86611846565b9450602086013567ffffffffffffffff80821115611998578283fd5b6119a489838a0161185d565b95506040880135915081151582146119ba578283fd5b90935060608701359250608087013590808211156119d6578283fd5b506119e38882890161185d565b9150509295509295909350565b60008060408385031215611a02578182fd5b611a0b83611846565b946020939093013593505050565b600060208284031215611a2a578081fd5b5035919050565b60008060408385031215611a43578182fd5b82359150611a5360208401611846565b90509250929050565b600060208284031215611a6d578081fd5b81356001600160e01b0319811681146111f9578182fd5b60008151808452611a9c816020860160208601611d32565b601f01601f19169290920160200192915050565b60006bffffffffffffffffffffffff198660601b1682528451611ada816014850160208901611d32565b93151560f81b91909301601481019190915260158101919091526035019392505050565b60008251611b10818460208701611d32565b9190910192915050565b60007f416363657373436f6e74726f6c3a206163636f756e742000000000000000000082528351611b52816017850160208801611d32565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351611b83816028840160208801611d32565b01602801949350505050565b6000602082526111f96020830184611a84565b600060608252611bb56060830186611a84565b93151560208301525060400152919050565b60208082526018908201527f726571756972652061646d696e207065726d697373696f6e0000000000000000604082015260600190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b60008219821115611cf757611cf7611d79565b500190565b6000816000190483118215151615611d1657611d16611d79565b500290565b600082821015611d2d57611d2d611d79565b500390565b60005b83811015611d4d578181015183820152602001611d35565b83811115611d5c576000848401525b50505050565b600081611d7157611d71611d79565b506000190190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fdfe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220709819f0139f9f48d08c53d533f742fd6c7cc9eb2c75932627e9d93154799b1464736f6c63430008020033";

@@ -605,0 +553,0 @@ export class AmethystRoleManagementImpl__factory extends ContractFactory {

@@ -30,18 +30,15 @@ /* Autogenerated file. Do not edit manually. */

"grantRole(bytes32,address)": FunctionFragment;
"hasAmethystRole(address,string)": FunctionFragment;
"hasRole(bytes32,address)": FunctionFragment;
"haveRole(address,string)": FunctionFragment;
"hostSigner()": FunctionFragment;
"implementationVersion()": FunctionFragment;
"maxExpiration()": FunctionFragment;
"owner()": FunctionFragment;
"pause()": FunctionFragment;
"paused()": FunctionFragment;
"renounceOwnership()": FunctionFragment;
"renounceRole(bytes32,address)": FunctionFragment;
"revokeRole(bytes32,address)": FunctionFragment;
"setAmethystRole(address,string,bool,uint256,bytes)": FunctionFragment;
"setMaxExpiration(uint256)": FunctionFragment;
"setRole(address,string,bool,uint256,bytes)": FunctionFragment;
"setSigner(address)": FunctionFragment;
"supportsInterface(bytes4)": FunctionFragment;
"transferOwnership(address)": FunctionFragment;
"unpause()": FunctionFragment;

@@ -73,2 +70,6 @@ "upgradeTo(address)": FunctionFragment;

encodeFunctionData(
functionFragment: "hasAmethystRole",
values: [string, string]
): string;
encodeFunctionData(
functionFragment: "hasRole",

@@ -78,6 +79,2 @@ values: [BytesLike, string]

encodeFunctionData(
functionFragment: "haveRole",
values: [string, string]
): string;
encodeFunctionData(
functionFragment: "hostSigner",

@@ -94,10 +91,5 @@ values?: undefined

): string;
encodeFunctionData(functionFragment: "owner", values?: undefined): string;
encodeFunctionData(functionFragment: "pause", values?: undefined): string;
encodeFunctionData(functionFragment: "paused", values?: undefined): string;
encodeFunctionData(
functionFragment: "renounceOwnership",
values?: undefined
): string;
encodeFunctionData(
functionFragment: "renounceRole",

@@ -111,9 +103,9 @@ values: [BytesLike, string]

encodeFunctionData(
functionFragment: "setAmethystRole",
values: [string, string, boolean, BigNumberish, BytesLike]
): string;
encodeFunctionData(
functionFragment: "setMaxExpiration",
values: [BigNumberish]
): string;
encodeFunctionData(
functionFragment: "setRole",
values: [string, string, boolean, BigNumberish, BytesLike]
): string;
encodeFunctionData(functionFragment: "setSigner", values: [string]): string;

@@ -124,6 +116,2 @@ encodeFunctionData(

): string;
encodeFunctionData(
functionFragment: "transferOwnership",
values: [string]
): string;
encodeFunctionData(functionFragment: "unpause", values?: undefined): string;

@@ -153,4 +141,7 @@ encodeFunctionData(functionFragment: "upgradeTo", values: [string]): string;

decodeFunctionResult(functionFragment: "grantRole", data: BytesLike): Result;
decodeFunctionResult(
functionFragment: "hasAmethystRole",
data: BytesLike
): Result;
decodeFunctionResult(functionFragment: "hasRole", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "haveRole", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "hostSigner", data: BytesLike): Result;

@@ -165,14 +156,13 @@ decodeFunctionResult(

): Result;
decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "pause", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "paused", data: BytesLike): Result;
decodeFunctionResult(
functionFragment: "renounceOwnership",
functionFragment: "renounceRole",
data: BytesLike
): Result;
decodeFunctionResult(functionFragment: "revokeRole", data: BytesLike): Result;
decodeFunctionResult(
functionFragment: "renounceRole",
functionFragment: "setAmethystRole",
data: BytesLike
): Result;
decodeFunctionResult(functionFragment: "revokeRole", data: BytesLike): Result;
decodeFunctionResult(

@@ -182,3 +172,2 @@ functionFragment: "setMaxExpiration",

): Result;
decodeFunctionResult(functionFragment: "setRole", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "setSigner", data: BytesLike): Result;

@@ -189,6 +178,2 @@ decodeFunctionResult(

): Result;
decodeFunctionResult(
functionFragment: "transferOwnership",
data: BytesLike
): Result;
decodeFunctionResult(functionFragment: "unpause", data: BytesLike): Result;

@@ -204,3 +189,2 @@ decodeFunctionResult(functionFragment: "upgradeTo", data: BytesLike): Result;

"BeaconUpgraded(address)": EventFragment;
"OwnershipTransferred(address,address)": EventFragment;
"Paused(address)": EventFragment;

@@ -210,3 +194,3 @@ "RoleAdminChanged(bytes32,bytes32,bytes32)": EventFragment;

"RoleRevoked(bytes32,address,address)": EventFragment;
"SetRole(address,string,bool,uint256)": EventFragment;
"SetAmethystRole(address,string,bool,uint256)": EventFragment;
"Unpaused(address)": EventFragment;

@@ -218,3 +202,2 @@ "Upgraded(address)": EventFragment;

getEvent(nameOrSignatureOrTopic: "BeaconUpgraded"): EventFragment;
getEvent(nameOrSignatureOrTopic: "OwnershipTransferred"): EventFragment;
getEvent(nameOrSignatureOrTopic: "Paused"): EventFragment;

@@ -224,3 +207,3 @@ getEvent(nameOrSignatureOrTopic: "RoleAdminChanged"): EventFragment;

getEvent(nameOrSignatureOrTopic: "RoleRevoked"): EventFragment;
getEvent(nameOrSignatureOrTopic: "SetRole"): EventFragment;
getEvent(nameOrSignatureOrTopic: "SetAmethystRole"): EventFragment;
getEvent(nameOrSignatureOrTopic: "Unpaused"): EventFragment;

@@ -236,6 +219,2 @@ getEvent(nameOrSignatureOrTopic: "Upgraded"): EventFragment;

export type OwnershipTransferredEvent = TypedEvent<
[string, string] & { previousOwner: string; newOwner: string }
>;
export type PausedEvent = TypedEvent<[string] & { account: string }>;

@@ -259,7 +238,7 @@

export type SetRoleEvent = TypedEvent<
export type SetAmethystRoleEvent = TypedEvent<
[string, string, boolean, BigNumber] & {
person: string;
role: string;
haveRole: boolean;
enable: boolean;
eventTime: BigNumber;

@@ -335,2 +314,8 @@ }

hasAmethystRole(
person: string,
role: string,
overrides?: CallOverrides
): Promise<[boolean]>;
hasRole(

@@ -342,8 +327,2 @@ role: BytesLike,

haveRole(
person: string,
role: string,
overrides?: CallOverrides
): Promise<[boolean]>;
hostSigner(overrides?: CallOverrides): Promise<[string]>;

@@ -355,4 +334,2 @@

owner(overrides?: CallOverrides): Promise<[string]>;
pause(

@@ -364,6 +341,2 @@ overrides?: Overrides & { from?: string | Promise<string> }

renounceOwnership(
overrides?: Overrides & { from?: string | Promise<string> }
): Promise<ContractTransaction>;
renounceRole(

@@ -381,11 +354,6 @@ role: BytesLike,

setMaxExpiration(
expiration: BigNumberish,
overrides?: Overrides & { from?: string | Promise<string> }
): Promise<ContractTransaction>;
setRole(
setAmethystRole(
person: string,
role: string,
isHaveRole: boolean,
enable: boolean,
timestamp: BigNumberish,

@@ -396,2 +364,7 @@ signature: BytesLike,

setMaxExpiration(
newMaxExpiration: BigNumberish,
overrides?: Overrides & { from?: string | Promise<string> }
): Promise<ContractTransaction>;
setSigner(

@@ -407,7 +380,2 @@ newSigner: string,

transferOwnership(
newOwner: string,
overrides?: Overrides & { from?: string | Promise<string> }
): Promise<ContractTransaction>;
unpause(

@@ -447,2 +415,8 @@ overrides?: Overrides & { from?: string | Promise<string> }

hasAmethystRole(
person: string,
role: string,
overrides?: CallOverrides
): Promise<boolean>;
hasRole(

@@ -454,8 +428,2 @@ role: BytesLike,

haveRole(
person: string,
role: string,
overrides?: CallOverrides
): Promise<boolean>;
hostSigner(overrides?: CallOverrides): Promise<string>;

@@ -467,4 +435,2 @@

owner(overrides?: CallOverrides): Promise<string>;
pause(

@@ -476,6 +442,2 @@ overrides?: Overrides & { from?: string | Promise<string> }

renounceOwnership(
overrides?: Overrides & { from?: string | Promise<string> }
): Promise<ContractTransaction>;
renounceRole(

@@ -493,11 +455,6 @@ role: BytesLike,

setMaxExpiration(
expiration: BigNumberish,
overrides?: Overrides & { from?: string | Promise<string> }
): Promise<ContractTransaction>;
setRole(
setAmethystRole(
person: string,
role: string,
isHaveRole: boolean,
enable: boolean,
timestamp: BigNumberish,

@@ -508,2 +465,7 @@ signature: BytesLike,

setMaxExpiration(
newMaxExpiration: BigNumberish,
overrides?: Overrides & { from?: string | Promise<string> }
): Promise<ContractTransaction>;
setSigner(

@@ -519,7 +481,2 @@ newSigner: string,

transferOwnership(
newOwner: string,
overrides?: Overrides & { from?: string | Promise<string> }
): Promise<ContractTransaction>;
unpause(

@@ -559,2 +516,8 @@ overrides?: Overrides & { from?: string | Promise<string> }

hasAmethystRole(
person: string,
role: string,
overrides?: CallOverrides
): Promise<boolean>;
hasRole(

@@ -566,8 +529,2 @@ role: BytesLike,

haveRole(
person: string,
role: string,
overrides?: CallOverrides
): Promise<boolean>;
hostSigner(overrides?: CallOverrides): Promise<string>;

@@ -579,4 +536,2 @@

owner(overrides?: CallOverrides): Promise<string>;
pause(overrides?: CallOverrides): Promise<void>;

@@ -586,4 +541,2 @@

renounceOwnership(overrides?: CallOverrides): Promise<void>;
renounceRole(

@@ -601,11 +554,6 @@ role: BytesLike,

setMaxExpiration(
expiration: BigNumberish,
overrides?: CallOverrides
): Promise<void>;
setRole(
setAmethystRole(
person: string,
role: string,
isHaveRole: boolean,
enable: boolean,
timestamp: BigNumberish,

@@ -616,2 +564,7 @@ signature: BytesLike,

setMaxExpiration(
newMaxExpiration: BigNumberish,
overrides?: CallOverrides
): Promise<void>;
setSigner(newSigner: string, overrides?: CallOverrides): Promise<void>;

@@ -624,7 +577,2 @@

transferOwnership(
newOwner: string,
overrides?: CallOverrides
): Promise<void>;
unpause(overrides?: CallOverrides): Promise<void>;

@@ -669,18 +617,2 @@

"OwnershipTransferred(address,address)"(
previousOwner?: string | null,
newOwner?: string | null
): TypedEventFilter<
[string, string],
{ previousOwner: string; newOwner: string }
>;
OwnershipTransferred(
previousOwner?: string | null,
newOwner?: string | null
): TypedEventFilter<
[string, string],
{ previousOwner: string; newOwner: string }
>;
"Paused(address)"(

@@ -746,20 +678,20 @@ account?: null

"SetRole(address,string,bool,uint256)"(
"SetAmethystRole(address,string,bool,uint256)"(
person?: string | null,
role?: null,
haveRole?: null,
enable?: null,
eventTime?: null
): TypedEventFilter<
[string, string, boolean, BigNumber],
{ person: string; role: string; haveRole: boolean; eventTime: BigNumber }
{ person: string; role: string; enable: boolean; eventTime: BigNumber }
>;
SetRole(
SetAmethystRole(
person?: string | null,
role?: null,
haveRole?: null,
enable?: null,
eventTime?: null
): TypedEventFilter<
[string, string, boolean, BigNumber],
{ person: string; role: string; haveRole: boolean; eventTime: BigNumber }
{ person: string; role: string; enable: boolean; eventTime: BigNumber }
>;

@@ -804,2 +736,8 @@

hasAmethystRole(
person: string,
role: string,
overrides?: CallOverrides
): Promise<BigNumber>;
hasRole(

@@ -811,8 +749,2 @@ role: BytesLike,

haveRole(
person: string,
role: string,
overrides?: CallOverrides
): Promise<BigNumber>;
hostSigner(overrides?: CallOverrides): Promise<BigNumber>;

@@ -824,4 +756,2 @@

owner(overrides?: CallOverrides): Promise<BigNumber>;
pause(

@@ -833,6 +763,2 @@ overrides?: Overrides & { from?: string | Promise<string> }

renounceOwnership(
overrides?: Overrides & { from?: string | Promise<string> }
): Promise<BigNumber>;
renounceRole(

@@ -850,11 +776,6 @@ role: BytesLike,

setMaxExpiration(
expiration: BigNumberish,
overrides?: Overrides & { from?: string | Promise<string> }
): Promise<BigNumber>;
setRole(
setAmethystRole(
person: string,
role: string,
isHaveRole: boolean,
enable: boolean,
timestamp: BigNumberish,

@@ -865,2 +786,7 @@ signature: BytesLike,

setMaxExpiration(
newMaxExpiration: BigNumberish,
overrides?: Overrides & { from?: string | Promise<string> }
): Promise<BigNumber>;
setSigner(

@@ -876,7 +802,2 @@ newSigner: string,

transferOwnership(
newOwner: string,
overrides?: Overrides & { from?: string | Promise<string> }
): Promise<BigNumber>;
unpause(

@@ -922,2 +843,8 @@ overrides?: Overrides & { from?: string | Promise<string> }

hasAmethystRole(
person: string,
role: string,
overrides?: CallOverrides
): Promise<PopulatedTransaction>;
hasRole(

@@ -929,8 +856,2 @@ role: BytesLike,

haveRole(
person: string,
role: string,
overrides?: CallOverrides
): Promise<PopulatedTransaction>;
hostSigner(overrides?: CallOverrides): Promise<PopulatedTransaction>;

@@ -944,4 +865,2 @@

owner(overrides?: CallOverrides): Promise<PopulatedTransaction>;
pause(

@@ -953,6 +872,2 @@ overrides?: Overrides & { from?: string | Promise<string> }

renounceOwnership(
overrides?: Overrides & { from?: string | Promise<string> }
): Promise<PopulatedTransaction>;
renounceRole(

@@ -970,11 +885,6 @@ role: BytesLike,

setMaxExpiration(
expiration: BigNumberish,
overrides?: Overrides & { from?: string | Promise<string> }
): Promise<PopulatedTransaction>;
setRole(
setAmethystRole(
person: string,
role: string,
isHaveRole: boolean,
enable: boolean,
timestamp: BigNumberish,

@@ -985,2 +895,7 @@ signature: BytesLike,

setMaxExpiration(
newMaxExpiration: BigNumberish,
overrides?: Overrides & { from?: string | Promise<string> }
): Promise<PopulatedTransaction>;
setSigner(

@@ -996,7 +911,2 @@ newSigner: string,

transferOwnership(
newOwner: string,
overrides?: Overrides & { from?: string | Promise<string> }
): Promise<PopulatedTransaction>;
unpause(

@@ -1003,0 +913,0 @@ overrides?: Overrides & { from?: string | Promise<string> }

@@ -14,3 +14,3 @@ import { Signer, ContractFactory, Overrides } from "ethers";

connect(signer: Signer): AmethystRoleManagementImpl__factory;
static readonly bytecode = "0x60a06040523060601b60805234801561001757600080fd5b50600054610100900460ff1680610031575060005460ff16155b6100985760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b600054610100900460ff161580156100c3576000805460ff1961ff0019909116610100171660011790555b80156100d5576000805461ff00191690555b5060805160601c6120d56101096000396000818161057e015281816105be0152818161067801526106b801526120d56000f3fe60806040526004361061014b5760003560e01c80636c19e783116100b6578063d547741f1161006f578063d547741f146103a2578063e17ad931146103c2578063e18c7260146103e2578063e198bc3a14610403578063f2fde38b14610423578063f72c0d8b146104435761014b565b80636c19e783146102f0578063715018a6146103105780638456cb59146103255780638da5cb5b1461033a57806391d148541461036d578063a217fddf1461038d5761014b565b806336568abe1161010857806336568abe146102505780633659cfe6146102705780633f4ba83a146102905780634f1ef286146102a557806355cad18a146102b85780635c975abb146102d85761014b565b806301ffc9a7146101505780630676695b1461018557806306bfcec6146101a7578063248a9ca3146101db57806325bee3e9146102195780632f2ff15d14610230575b600080fd5b34801561015c57600080fd5b5061017061016b366004611d2f565b61045a565b60405190151581526020015b60405180910390f35b34801561019157600080fd5b506101a56101a0366004611cec565b610493565b005b3480156101b357600080fd5b5060408051808201825260058152640312e302e360dc1b6020820152905161017c9190611e62565b3480156101e757600080fd5b5061020b6101f6366004611cec565b60009081526065602052604090206001015490565b60405190815260200161017c565b34801561022557600080fd5b5061020b6101915481565b34801561023c57600080fd5b506101a561024b366004611d04565b6104c9565b34801561025c57600080fd5b506101a561026b366004611d04565b6104f5565b34801561027c57600080fd5b506101a561028b366004611bb7565b610573565b34801561029c57600080fd5b506101a561063c565b6101a56102b3366004611bd1565b61066d565b3480156102c457600080fd5b506101706102d3366004611c1d565b610723565b3480156102e457600080fd5b5060975460ff16610170565b3480156102fc57600080fd5b506101a561030b366004611bb7565b610781565b34801561031c57600080fd5b506101a56107cb565b34801561033157600080fd5b506101a5610830565b34801561034657600080fd5b5061015f546001600160a01b03165b6040516001600160a01b03909116815260200161017c565b34801561037957600080fd5b50610170610388366004611d04565b61085f565b34801561039957600080fd5b5061020b600081565b3480156103ae57600080fd5b506101a56103bd366004611d04565b61088a565b3480156103ce57600080fd5b506101a56103dd366004611cc3565b6108b0565b3480156103ee57600080fd5b5061019554610355906001600160a01b031681565b34801561040f57600080fd5b506101a561041e366004611c2f565b6109ac565b34801561042f57600080fd5b506101a561043e366004611bb7565b610cc4565b34801561044f57600080fd5b5061020b6101925481565b60006001600160e01b03198216637965db0b60e01b148061048b57506301ffc9a760e01b6001600160e01b03198316145b90505b919050565b61049e600033610388565b6104c35760405162461bcd60e51b81526004016104ba90611e9a565b60405180910390fd5b61019155565b6000828152606560205260409020600101546104e681335b610d8d565b6104f08383610df1565b505050565b6001600160a01b03811633146105655760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084016104ba565b61056f8282610e77565b5050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156105bc5760405162461bcd60e51b81526004016104ba90611ed1565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166105ee610ede565b6001600160a01b0316146106145760405162461bcd60e51b81526004016104ba90611f1d565b61061d81610f0c565b6040805160008082526020820190925261063991839190610f66565b50565b610647600033610388565b6106635760405162461bcd60e51b81526004016104ba90611e9a565b61066b6110b1565b565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156106b65760405162461bcd60e51b81526004016104ba90611ed1565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166106e8610ede565b6001600160a01b03161461070e5760405162461bcd60e51b81526004016104ba90611f1d565b61071782610f0c565b61056f82826001610f66565b6001600160a01b03821660009081526101936020908152604080832090519091839161075191869101611dd1565b60408051808303601f190181529181528151602092830120835290820192909252016000205460ff169392505050565b61078c600033610388565b6107a85760405162461bcd60e51b81526004016104ba90611e9a565b61019580546001600160a01b0319166001600160a01b0392909216919091179055565b61015f546001600160a01b031633146108265760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104ba565b61066b6000611144565b61083b600033610388565b6108575760405162461bcd60e51b81526004016104ba90611e9a565b61066b611197565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6000828152606560205260409020600101546108a681336104e1565b6104f08383610e77565b600054610100900460ff16806108c9575060005460ff16155b6108e55760405162461bcd60e51b81526004016104ba90611f69565b600054610100900460ff16158015610910576000805460ff1961ff0019909116610100171660011790555b610918611212565b610920611296565b610928611306565b61093061137e565b6109386113e6565b61094360003361144d565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3610192819055610974903361144d565b61019580546001600160a01b0319166001600160a01b03851617905561019182905580156104f0576000805461ff0019169055505050565b60975460ff16156109f25760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b60448201526064016104ba565b6109fd600033610388565b610c0f5761019154610a0f4284611457565b10610a545760405162461bcd60e51b81526020600482015260156024820152741cda59db985d1d5c99481a185cc8195e1c1a5c9959605a1b60448201526064016104ba565b610194600082604051602001610a6a9190611dd1565b60408051601f198184030181529181528151602092830120835290820192909252016000205460ff1615610ad55760405162461bcd60e51b81526020600482015260126024820152711cda59db985d1d5c99481a185cc81d5cd95960721b60448201526064016104ba565b6000610b5186868686604051602001610af19493929190611d83565b60408051601f1981840301815282825280516020918201207f19457468657265756d205369676e6564204d6573736167653a0a33320000000084830152603c8085019190915282518085039091018152605c909301909152815191012090565b610195549091506001600160a01b0316610b6b828461146a565b6001600160a01b031614610bc15760405162461bcd60e51b815260206004820152601a60248201527f756e61626c6520746f20766572696679207369676e617475726500000000000060448201526064016104ba565b6001610194600084604051602001610bd99190611dd1565b60408051808303601f19018152918152815160209283012083529082019290925201600020805460ff1916911515919091179055505b6001600160a01b038516600090815261019360209081526040808320905186939192610c3d91899101611dd1565b60405160208183030381529060405280519060200120815260200190815260200160002060006101000a81548160ff021916908315150217905550846001600160a01b03167fe0db73124855f618948ae9654bf9fb29dbc4e9da043a0e3750e3635066fbe814858542604051610cb593929190611e75565b60405180910390a25050505050565b61015f546001600160a01b03163314610d1f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104ba565b6001600160a01b038116610d845760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104ba565b61063981611144565b610d97828261085f565b61056f57610daf816001600160a01b031660146114e9565b610dba8360206114e9565b604051602001610dcb929190611ded565b60408051601f198184030181529082905262461bcd60e51b82526104ba91600401611e62565b610dfb828261085f565b61056f5760008281526065602090815260408083206001600160a01b03851684529091529020805460ff19166001179055610e333390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b610e81828261085f565b1561056f5760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b610f1a610192546103883390565b6106395760405162461bcd60e51b815260206004820152601b60248201527f72657175697265207570677261646572207065726d697373696f6e000000000060448201526064016104ba565b6000610f70610ede565b9050610f7b846116cb565b600083511180610f885750815b15610f9957610f978484611770565b505b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143805460ff166110aa57805460ff191660011781556040516001600160a01b038316602482015261101890869060440160408051601f198184030181529190526020810180516001600160e01b0316631b2ce7f360e11b179052611770565b50805460ff19168155611029610ede565b6001600160a01b0316826001600160a01b0316146110a15760405162461bcd60e51b815260206004820152602f60248201527f45524331393637557067726164653a207570677261646520627265616b73206660448201526e75727468657220757067726164657360881b60648201526084016104ba565b6110aa8561185b565b5050505050565b60975460ff166110fa5760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b60448201526064016104ba565b6097805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b61015f80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60975460ff16156111dd5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b60448201526064016104ba565b6097805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586111273390565b600054610100900460ff168061122b575060005460ff16155b6112475760405162461bcd60e51b81526004016104ba90611f69565b600054610100900460ff16158015611272576000805460ff1961ff0019909116610100171660011790555b61127a61189b565b61128261190e565b8015610639576000805461ff001916905550565b600054610100900460ff16806112af575060005460ff16155b6112cb5760405162461bcd60e51b81526004016104ba90611f69565b600054610100900460ff161580156112f6576000805460ff1961ff0019909116610100171660011790555b6112fe61189b565b611282611977565b600054610100900460ff168061131f575060005460ff16155b61133b5760405162461bcd60e51b81526004016104ba90611f69565b600054610100900460ff16158015611366576000805460ff1961ff0019909116610100171660011790555b61136e61189b565b61137661189b565b61128261189b565b600054610100900460ff1680611397575060005460ff16155b6113b35760405162461bcd60e51b81526004016104ba90611f69565b600054610100900460ff161580156113de576000805460ff1961ff0019909116610100171660011790555b6112826119f5565b600054610100900460ff16806113ff575060005460ff16155b61141b5760405162461bcd60e51b81526004016104ba90611f69565b600054610100900460ff1615801561136e576000805460ff1961ff00199091166101001716600117905561137661189b565b61056f8282610df1565b60006114638284611fee565b9392505050565b60008060008061147985611a6e565b6040805160008152602081018083528b905260ff8516918101919091526060810183905260808101829052929550909350915060019060a0016020604051602081039080840390855afa1580156114d4573d6000803e3d6000fd5b5050604051601f190151979650505050505050565b606060006114f8836002611fcf565b611503906002611fb7565b67ffffffffffffffff81111561152957634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015611553576020820181803683370190505b509050600360fc1b8160008151811061157c57634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106115b957634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a90535060006115dd846002611fcf565b6115e8906001611fb7565b90505b600181111561167c576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061162a57634e487b7160e01b600052603260045260246000fd5b1a60f81b82828151811061164e57634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a90535060049490941c9361167581612035565b90506115eb565b5083156114635760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016104ba565b803b61172f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016104ba565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060823b6117cf5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084016104ba565b600080846001600160a01b0316846040516117ea9190611dd1565b600060405180830381855af49150503d8060008114611825576040519150601f19603f3d011682016040523d82523d6000602084013e61182a565b606091505b5091509150611852828260405180606001604052806027815260200161207960279139611ae0565b95945050505050565b611864816116cb565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b600054610100900460ff16806118b4575060005460ff16155b6118d05760405162461bcd60e51b81526004016104ba90611f69565b600054610100900460ff16158015611282576000805460ff1961ff0019909116610100171660011790558015610639576000805461ff001916905550565b600054610100900460ff1680611927575060005460ff16155b6119435760405162461bcd60e51b81526004016104ba90611f69565b600054610100900460ff1615801561196e576000805460ff1961ff0019909116610100171660011790555b61128233611144565b600054610100900460ff1680611990575060005460ff16155b6119ac5760405162461bcd60e51b81526004016104ba90611f69565b600054610100900460ff161580156119d7576000805460ff1961ff0019909116610100171660011790555b6097805460ff191690558015610639576000805461ff001916905550565b600054610100900460ff1680611a0e575060005460ff16155b611a2a5760405162461bcd60e51b81526004016104ba90611f69565b600054610100900460ff16158015611a55576000805460ff1961ff0019909116610100171660011790555b600160c9558015610639576000805461ff001916905550565b60008060008351604114611ac45760405162461bcd60e51b815260206004820152601860248201527f696e76616c6964207369676e6174757265206c656e677468000000000000000060448201526064016104ba565b5050506020810151604082015160609092015160001a92909190565b60608315611aef575081611463565b825115611aff5782518084602001fd5b8160405162461bcd60e51b81526004016104ba9190611e62565b80356001600160a01b038116811461048e57600080fd5b600082601f830112611b40578081fd5b813567ffffffffffffffff80821115611b5b57611b5b612062565b604051601f8301601f19908116603f01168101908282118183101715611b8357611b83612062565b81604052838152866020858801011115611b9b578485fd5b8360208701602083013792830160200193909352509392505050565b600060208284031215611bc8578081fd5b61146382611b19565b60008060408385031215611be3578081fd5b611bec83611b19565b9150602083013567ffffffffffffffff811115611c07578182fd5b611c1385828601611b30565b9150509250929050565b60008060408385031215611be3578182fd5b600080600080600060a08688031215611c46578081fd5b611c4f86611b19565b9450602086013567ffffffffffffffff80821115611c6b578283fd5b611c7789838a01611b30565b9550604088013591508115158214611c8d578283fd5b9093506060870135925060808701359080821115611ca9578283fd5b50611cb688828901611b30565b9150509295509295909350565b60008060408385031215611cd5578182fd5b611cde83611b19565b946020939093013593505050565b600060208284031215611cfd578081fd5b5035919050565b60008060408385031215611d16578182fd5b82359150611d2660208401611b19565b90509250929050565b600060208284031215611d40578081fd5b81356001600160e01b031981168114611463578182fd5b60008151808452611d6f816020860160208601612005565b601f01601f19169290920160200192915050565b60006bffffffffffffffffffffffff198660601b1682528451611dad816014850160208901612005565b93151560f81b91909301601481019190915260158101919091526035019392505050565b60008251611de3818460208701612005565b9190910192915050565b60007f416363657373436f6e74726f6c3a206163636f756e742000000000000000000082528351611e25816017850160208801612005565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351611e56816028840160208801612005565b01602801949350505050565b6000602082526114636020830184611d57565b600060608252611e886060830186611d57565b93151560208301525060400152919050565b60208082526018908201527f726571756972652061646d696e207065726d697373696f6e0000000000000000604082015260600190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b60008219821115611fca57611fca61204c565b500190565b6000816000190483118215151615611fe957611fe961204c565b500290565b6000828210156120005761200061204c565b500390565b60005b83811015612020578181015183820152602001612008565b8381111561202f576000848401525b50505050565b6000816120445761204461204c565b506000190190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fdfe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122082b69c7adc970433c8e1206b16e859a8fd20d89566339dd324a8868cd40fe4da64736f6c63430008020033";
static readonly bytecode = "0x60a06040523060601b60805234801561001757600080fd5b50600054610100900460ff1680610031575060005460ff16155b6100985760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b600054610100900460ff161580156100c3576000805460ff1961ff0019909116610100171660011790555b80156100d5576000805461ff00191690555b5060805160601c611e026101096000396000818161050d0152818161054d0152818161060701526106470152611e026000f3fe60806040526004361061012a5760003560e01c80635c975abb116100ab578063d547741f1161006f578063d547741f14610319578063dd60d96514610339578063e17ad93114610359578063e18c726014610379578063f65903b9146103b2578063f72c0d8b146103d25761012a565b80635c975abb146102975780636c19e783146102af5780638456cb59146102cf57806391d14854146102e4578063a217fddf146103045761012a565b80632f2ff15d116100f25780632f2ff15d1461020f57806336568abe1461022f5780633659cfe61461024f5780633f4ba83a1461026f5780634f1ef286146102845761012a565b806301ffc9a71461012f5780630676695b1461016457806306bfcec614610186578063248a9ca3146101ba57806325bee3e9146101f8575b600080fd5b34801561013b57600080fd5b5061014f61014a366004611a5c565b6103e9565b60405190151581526020015b60405180910390f35b34801561017057600080fd5b5061018461017f366004611a19565b610422565b005b34801561019257600080fd5b5060408051808201825260058152640312e302e360dc1b6020820152905161015b9190611b8f565b3480156101c657600080fd5b506101ea6101d5366004611a19565b60009081526065602052604090206001015490565b60405190815260200161015b565b34801561020457600080fd5b506101ea61015f5481565b34801561021b57600080fd5b5061018461022a366004611a31565b610458565b34801561023b57600080fd5b5061018461024a366004611a31565b610484565b34801561025b57600080fd5b5061018461026a3660046118e4565b610502565b34801561027b57600080fd5b506101846105cb565b6101846102923660046118fe565b6105fc565b3480156102a357600080fd5b5060975460ff1661014f565b3480156102bb57600080fd5b506101846102ca3660046118e4565b6106b2565b3480156102db57600080fd5b506101846106fc565b3480156102f057600080fd5b5061014f6102ff366004611a31565b61072b565b34801561031057600080fd5b506101ea600081565b34801561032557600080fd5b50610184610334366004611a31565b610756565b34801561034557600080fd5b5061014f61035436600461194a565b61077c565b34801561036557600080fd5b506101846103743660046119f0565b6107da565b34801561038557600080fd5b506101635461039a906001600160a01b031681565b6040516001600160a01b03909116815260200161015b565b3480156103be57600080fd5b506101846103cd36600461195c565b6108ce565b3480156103de57600080fd5b506101ea6101605481565b60006001600160e01b03198216637965db0b60e01b148061041a57506301ffc9a760e01b6001600160e01b03198316145b90505b919050565b61042d6000336102ff565b6104525760405162461bcd60e51b815260040161044990611bc7565b60405180910390fd5b61015f55565b60008281526065602052604090206001015461047581335b610be6565b61047f8383610c4a565b505050565b6001600160a01b03811633146104f45760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610449565b6104fe8282610cd0565b5050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016141561054b5760405162461bcd60e51b815260040161044990611bfe565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661057d610d37565b6001600160a01b0316146105a35760405162461bcd60e51b815260040161044990611c4a565b6105ac81610d65565b604080516000808252602082019092526105c891839190610dbf565b50565b6105d66000336102ff565b6105f25760405162461bcd60e51b815260040161044990611bc7565b6105fa610f0a565b565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156106455760405162461bcd60e51b815260040161044990611bfe565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610677610d37565b6001600160a01b03161461069d5760405162461bcd60e51b815260040161044990611c4a565b6106a682610d65565b6104fe82826001610dbf565b6106bd6000336102ff565b6106d95760405162461bcd60e51b815260040161044990611bc7565b61016380546001600160a01b0319166001600160a01b0392909216919091179055565b6107076000336102ff565b6107235760405162461bcd60e51b815260040161044990611bc7565b6105fa610f9d565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6000828152606560205260409020600101546107728133610470565b61047f8383610cd0565b6001600160a01b0382166000908152610161602090815260408083209051909183916107aa91869101611afe565b60408051808303601f190181529181528151602092830120835290820192909252016000205460ff169392505050565b600054610100900460ff16806107f3575060005460ff16155b61080f5760405162461bcd60e51b815260040161044990611c96565b600054610100900460ff1615801561083a576000805460ff1961ff0019909116610100171660011790555b610842611018565b61084a61109c565b610852611114565b61085a61117c565b6108656000336111e3565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e361016081905561089690336111e3565b61016380546001600160a01b0319166001600160a01b03851617905561015f829055801561047f576000805461ff0019169055505050565b60975460ff16156109145760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610449565b61091f6000336102ff565b610b315761015f5461093142846111ed565b106109765760405162461bcd60e51b81526020600482015260156024820152741cda59db985d1d5c99481a185cc8195e1c1a5c9959605a1b6044820152606401610449565b61016260008260405160200161098c9190611afe565b60408051601f198184030181529181528151602092830120835290820192909252016000205460ff16156109f75760405162461bcd60e51b81526020600482015260126024820152711cda59db985d1d5c99481a185cc81d5cd95960721b6044820152606401610449565b6000610a7386868686604051602001610a139493929190611ab0565b60408051601f1981840301815282825280516020918201207f19457468657265756d205369676e6564204d6573736167653a0a33320000000084830152603c8085019190915282518085039091018152605c909301909152815191012090565b610163549091506001600160a01b0316610a8d8284611200565b6001600160a01b031614610ae35760405162461bcd60e51b815260206004820152601a60248201527f756e61626c6520746f20766572696679207369676e61747572650000000000006044820152606401610449565b6001610162600084604051602001610afb9190611afe565b60408051808303601f19018152918152815160209283012083529082019290925201600020805460ff1916911515919091179055505b6001600160a01b038516600090815261016160209081526040808320905186939192610b5f91899101611afe565b60405160208183030381529060405280519060200120815260200190815260200160002060006101000a81548160ff021916908315150217905550846001600160a01b03167fa75afcecb86d16fdeb01f70715df8a51df373661d7f07e7c944fefcc07aa8704858542604051610bd793929190611ba2565b60405180910390a25050505050565b610bf0828261072b565b6104fe57610c08816001600160a01b0316601461127f565b610c1383602061127f565b604051602001610c24929190611b1a565b60408051601f198184030181529082905262461bcd60e51b825261044991600401611b8f565b610c54828261072b565b6104fe5760008281526065602090815260408083206001600160a01b03851684529091529020805460ff19166001179055610c8c3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b610cda828261072b565b156104fe5760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b610d73610160546102ff3390565b6105c85760405162461bcd60e51b815260206004820152601b60248201527f72657175697265207570677261646572207065726d697373696f6e00000000006044820152606401610449565b6000610dc9610d37565b9050610dd484611461565b600083511180610de15750815b15610df257610df08484611506565b505b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143805460ff16610f0357805460ff191660011781556040516001600160a01b0383166024820152610e7190869060440160408051601f198184030181529190526020810180516001600160e01b0316631b2ce7f360e11b179052611506565b50805460ff19168155610e82610d37565b6001600160a01b0316826001600160a01b031614610efa5760405162461bcd60e51b815260206004820152602f60248201527f45524331393637557067726164653a207570677261646520627265616b73206660448201526e75727468657220757067726164657360881b6064820152608401610449565b610f03856115f1565b5050505050565b60975460ff16610f535760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610449565b6097805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b60975460ff1615610fe35760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610449565b6097805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258610f803390565b600054610100900460ff1680611031575060005460ff16155b61104d5760405162461bcd60e51b815260040161044990611c96565b600054610100900460ff16158015611078576000805460ff1961ff0019909116610100171660011790555b611080611631565b6110886116a4565b80156105c8576000805461ff001916905550565b600054610100900460ff16806110b5575060005460ff16155b6110d15760405162461bcd60e51b815260040161044990611c96565b600054610100900460ff161580156110fc576000805460ff1961ff0019909116610100171660011790555b611104611631565b61110c611631565b611088611631565b600054610100900460ff168061112d575060005460ff16155b6111495760405162461bcd60e51b815260040161044990611c96565b600054610100900460ff16158015611174576000805460ff1961ff0019909116610100171660011790555b611088611722565b600054610100900460ff1680611195575060005460ff16155b6111b15760405162461bcd60e51b815260040161044990611c96565b600054610100900460ff16158015611104576000805460ff1961ff00199091166101001716600117905561110c611631565b6104fe8282610c4a565b60006111f98284611d1b565b9392505050565b60008060008061120f8561179b565b6040805160008152602081018083528b905260ff8516918101919091526060810183905260808101829052929550909350915060019060a0016020604051602081039080840390855afa15801561126a573d6000803e3d6000fd5b5050604051601f190151979650505050505050565b6060600061128e836002611cfc565b611299906002611ce4565b67ffffffffffffffff8111156112bf57634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f1916602001820160405280156112e9576020820181803683370190505b509050600360fc1b8160008151811061131257634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061134f57634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a9053506000611373846002611cfc565b61137e906001611ce4565b90505b6001811115611412576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106113c057634e487b7160e01b600052603260045260246000fd5b1a60f81b8282815181106113e457634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a90535060049490941c9361140b81611d62565b9050611381565b5083156111f95760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610449565b803b6114c55760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610449565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060823b6115655760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610449565b600080846001600160a01b0316846040516115809190611afe565b600060405180830381855af49150503d80600081146115bb576040519150601f19603f3d011682016040523d82523d6000602084013e6115c0565b606091505b50915091506115e88282604051806060016040528060278152602001611da66027913961180d565b95945050505050565b6115fa81611461565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b600054610100900460ff168061164a575060005460ff16155b6116665760405162461bcd60e51b815260040161044990611c96565b600054610100900460ff16158015611088576000805460ff1961ff00199091166101001716600117905580156105c8576000805461ff001916905550565b600054610100900460ff16806116bd575060005460ff16155b6116d95760405162461bcd60e51b815260040161044990611c96565b600054610100900460ff16158015611704576000805460ff1961ff0019909116610100171660011790555b6097805460ff1916905580156105c8576000805461ff001916905550565b600054610100900460ff168061173b575060005460ff16155b6117575760405162461bcd60e51b815260040161044990611c96565b600054610100900460ff16158015611782576000805460ff1961ff0019909116610100171660011790555b600160c95580156105c8576000805461ff001916905550565b600080600083516041146117f15760405162461bcd60e51b815260206004820152601860248201527f696e76616c6964207369676e6174757265206c656e67746800000000000000006044820152606401610449565b5050506020810151604082015160609092015160001a92909190565b6060831561181c5750816111f9565b82511561182c5782518084602001fd5b8160405162461bcd60e51b81526004016104499190611b8f565b80356001600160a01b038116811461041d57600080fd5b600082601f83011261186d578081fd5b813567ffffffffffffffff8082111561188857611888611d8f565b604051601f8301601f19908116603f011681019082821181831017156118b0576118b0611d8f565b816040528381528660208588010111156118c8578485fd5b8360208701602083013792830160200193909352509392505050565b6000602082840312156118f5578081fd5b6111f982611846565b60008060408385031215611910578081fd5b61191983611846565b9150602083013567ffffffffffffffff811115611934578182fd5b6119408582860161185d565b9150509250929050565b60008060408385031215611910578182fd5b600080600080600060a08688031215611973578081fd5b61197c86611846565b9450602086013567ffffffffffffffff80821115611998578283fd5b6119a489838a0161185d565b95506040880135915081151582146119ba578283fd5b90935060608701359250608087013590808211156119d6578283fd5b506119e38882890161185d565b9150509295509295909350565b60008060408385031215611a02578182fd5b611a0b83611846565b946020939093013593505050565b600060208284031215611a2a578081fd5b5035919050565b60008060408385031215611a43578182fd5b82359150611a5360208401611846565b90509250929050565b600060208284031215611a6d578081fd5b81356001600160e01b0319811681146111f9578182fd5b60008151808452611a9c816020860160208601611d32565b601f01601f19169290920160200192915050565b60006bffffffffffffffffffffffff198660601b1682528451611ada816014850160208901611d32565b93151560f81b91909301601481019190915260158101919091526035019392505050565b60008251611b10818460208701611d32565b9190910192915050565b60007f416363657373436f6e74726f6c3a206163636f756e742000000000000000000082528351611b52816017850160208801611d32565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351611b83816028840160208801611d32565b01602801949350505050565b6000602082526111f96020830184611a84565b600060608252611bb56060830186611a84565b93151560208301525060400152919050565b60208082526018908201527f726571756972652061646d696e207065726d697373696f6e0000000000000000604082015260600190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b60008219821115611cf757611cf7611d79565b500190565b6000816000190483118215151615611d1657611d16611d79565b500290565b600082821015611d2d57611d2d611d79565b500390565b60005b83811015611d4d578181015183820152602001611d35565b83811115611d5c576000848401525b50505050565b600081611d7157611d71611d79565b506000190190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fdfe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220709819f0139f9f48d08c53d533f742fd6c7cc9eb2c75932627e9d93154799b1464736f6c63430008020033";
static readonly abi: ({

@@ -17,0 +17,0 @@ inputs: never[];

@@ -47,21 +47,2 @@ "use strict";

{
indexed: true,
internalType: "address",
name: "previousOwner",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "newOwner",
type: "address",
},
],
name: "OwnershipTransferred",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: false,

@@ -169,3 +150,3 @@ internalType: "address",

internalType: "bool",
name: "haveRole",
name: "enable",
type: "bool",

@@ -180,3 +161,3 @@ },

],
name: "SetRole",
name: "SetAmethystRole",
type: "event",

@@ -294,13 +275,13 @@ },

{
internalType: "bytes32",
name: "role",
type: "bytes32",
},
{
internalType: "address",
name: "account",
name: "person",
type: "address",
},
{
internalType: "string",
name: "role",
type: "string",
},
],
name: "hasRole",
name: "hasAmethystRole",
outputs: [

@@ -319,13 +300,13 @@ {

{
internalType: "bytes32",
name: "role",
type: "bytes32",
},
{
internalType: "address",
name: "person",
name: "account",
type: "address",
},
{
internalType: "string",
name: "role",
type: "string",
},
],
name: "haveRole",
name: "hasRole",
outputs: [

@@ -382,15 +363,2 @@ {

inputs: [],
name: "owner",
outputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "pause",

@@ -415,9 +383,2 @@ outputs: [],

{
inputs: [],
name: "renounceOwnership",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [

@@ -461,15 +422,2 @@ {

{
internalType: "uint256",
name: "expiration",
type: "uint256",
},
],
name: "setMaxExpiration",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",

@@ -486,3 +434,3 @@ name: "person",

internalType: "bool",
name: "isHaveRole",
name: "enable",
type: "bool",

@@ -501,3 +449,3 @@ },

],
name: "setRole",
name: "setAmethystRole",
outputs: [],

@@ -510,2 +458,15 @@ stateMutability: "nonpayable",

{
internalType: "uint256",
name: "newMaxExpiration",
type: "uint256",
},
],
name: "setMaxExpiration",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",

@@ -541,15 +502,2 @@ name: "newSigner",

{
inputs: [
{
internalType: "address",
name: "newOwner",
type: "address",
},
],
name: "transferOwnership",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],

@@ -593,3 +541,3 @@ name: "unpause",

];
const _bytecode = "0x60a06040523060601b60805234801561001757600080fd5b50600054610100900460ff1680610031575060005460ff16155b6100985760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b600054610100900460ff161580156100c3576000805460ff1961ff0019909116610100171660011790555b80156100d5576000805461ff00191690555b5060805160601c6120d56101096000396000818161057e015281816105be0152818161067801526106b801526120d56000f3fe60806040526004361061014b5760003560e01c80636c19e783116100b6578063d547741f1161006f578063d547741f146103a2578063e17ad931146103c2578063e18c7260146103e2578063e198bc3a14610403578063f2fde38b14610423578063f72c0d8b146104435761014b565b80636c19e783146102f0578063715018a6146103105780638456cb59146103255780638da5cb5b1461033a57806391d148541461036d578063a217fddf1461038d5761014b565b806336568abe1161010857806336568abe146102505780633659cfe6146102705780633f4ba83a146102905780634f1ef286146102a557806355cad18a146102b85780635c975abb146102d85761014b565b806301ffc9a7146101505780630676695b1461018557806306bfcec6146101a7578063248a9ca3146101db57806325bee3e9146102195780632f2ff15d14610230575b600080fd5b34801561015c57600080fd5b5061017061016b366004611d2f565b61045a565b60405190151581526020015b60405180910390f35b34801561019157600080fd5b506101a56101a0366004611cec565b610493565b005b3480156101b357600080fd5b5060408051808201825260058152640312e302e360dc1b6020820152905161017c9190611e62565b3480156101e757600080fd5b5061020b6101f6366004611cec565b60009081526065602052604090206001015490565b60405190815260200161017c565b34801561022557600080fd5b5061020b6101915481565b34801561023c57600080fd5b506101a561024b366004611d04565b6104c9565b34801561025c57600080fd5b506101a561026b366004611d04565b6104f5565b34801561027c57600080fd5b506101a561028b366004611bb7565b610573565b34801561029c57600080fd5b506101a561063c565b6101a56102b3366004611bd1565b61066d565b3480156102c457600080fd5b506101706102d3366004611c1d565b610723565b3480156102e457600080fd5b5060975460ff16610170565b3480156102fc57600080fd5b506101a561030b366004611bb7565b610781565b34801561031c57600080fd5b506101a56107cb565b34801561033157600080fd5b506101a5610830565b34801561034657600080fd5b5061015f546001600160a01b03165b6040516001600160a01b03909116815260200161017c565b34801561037957600080fd5b50610170610388366004611d04565b61085f565b34801561039957600080fd5b5061020b600081565b3480156103ae57600080fd5b506101a56103bd366004611d04565b61088a565b3480156103ce57600080fd5b506101a56103dd366004611cc3565b6108b0565b3480156103ee57600080fd5b5061019554610355906001600160a01b031681565b34801561040f57600080fd5b506101a561041e366004611c2f565b6109ac565b34801561042f57600080fd5b506101a561043e366004611bb7565b610cc4565b34801561044f57600080fd5b5061020b6101925481565b60006001600160e01b03198216637965db0b60e01b148061048b57506301ffc9a760e01b6001600160e01b03198316145b90505b919050565b61049e600033610388565b6104c35760405162461bcd60e51b81526004016104ba90611e9a565b60405180910390fd5b61019155565b6000828152606560205260409020600101546104e681335b610d8d565b6104f08383610df1565b505050565b6001600160a01b03811633146105655760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084016104ba565b61056f8282610e77565b5050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156105bc5760405162461bcd60e51b81526004016104ba90611ed1565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166105ee610ede565b6001600160a01b0316146106145760405162461bcd60e51b81526004016104ba90611f1d565b61061d81610f0c565b6040805160008082526020820190925261063991839190610f66565b50565b610647600033610388565b6106635760405162461bcd60e51b81526004016104ba90611e9a565b61066b6110b1565b565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156106b65760405162461bcd60e51b81526004016104ba90611ed1565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166106e8610ede565b6001600160a01b03161461070e5760405162461bcd60e51b81526004016104ba90611f1d565b61071782610f0c565b61056f82826001610f66565b6001600160a01b03821660009081526101936020908152604080832090519091839161075191869101611dd1565b60408051808303601f190181529181528151602092830120835290820192909252016000205460ff169392505050565b61078c600033610388565b6107a85760405162461bcd60e51b81526004016104ba90611e9a565b61019580546001600160a01b0319166001600160a01b0392909216919091179055565b61015f546001600160a01b031633146108265760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104ba565b61066b6000611144565b61083b600033610388565b6108575760405162461bcd60e51b81526004016104ba90611e9a565b61066b611197565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6000828152606560205260409020600101546108a681336104e1565b6104f08383610e77565b600054610100900460ff16806108c9575060005460ff16155b6108e55760405162461bcd60e51b81526004016104ba90611f69565b600054610100900460ff16158015610910576000805460ff1961ff0019909116610100171660011790555b610918611212565b610920611296565b610928611306565b61093061137e565b6109386113e6565b61094360003361144d565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3610192819055610974903361144d565b61019580546001600160a01b0319166001600160a01b03851617905561019182905580156104f0576000805461ff0019169055505050565b60975460ff16156109f25760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b60448201526064016104ba565b6109fd600033610388565b610c0f5761019154610a0f4284611457565b10610a545760405162461bcd60e51b81526020600482015260156024820152741cda59db985d1d5c99481a185cc8195e1c1a5c9959605a1b60448201526064016104ba565b610194600082604051602001610a6a9190611dd1565b60408051601f198184030181529181528151602092830120835290820192909252016000205460ff1615610ad55760405162461bcd60e51b81526020600482015260126024820152711cda59db985d1d5c99481a185cc81d5cd95960721b60448201526064016104ba565b6000610b5186868686604051602001610af19493929190611d83565b60408051601f1981840301815282825280516020918201207f19457468657265756d205369676e6564204d6573736167653a0a33320000000084830152603c8085019190915282518085039091018152605c909301909152815191012090565b610195549091506001600160a01b0316610b6b828461146a565b6001600160a01b031614610bc15760405162461bcd60e51b815260206004820152601a60248201527f756e61626c6520746f20766572696679207369676e617475726500000000000060448201526064016104ba565b6001610194600084604051602001610bd99190611dd1565b60408051808303601f19018152918152815160209283012083529082019290925201600020805460ff1916911515919091179055505b6001600160a01b038516600090815261019360209081526040808320905186939192610c3d91899101611dd1565b60405160208183030381529060405280519060200120815260200190815260200160002060006101000a81548160ff021916908315150217905550846001600160a01b03167fe0db73124855f618948ae9654bf9fb29dbc4e9da043a0e3750e3635066fbe814858542604051610cb593929190611e75565b60405180910390a25050505050565b61015f546001600160a01b03163314610d1f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104ba565b6001600160a01b038116610d845760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104ba565b61063981611144565b610d97828261085f565b61056f57610daf816001600160a01b031660146114e9565b610dba8360206114e9565b604051602001610dcb929190611ded565b60408051601f198184030181529082905262461bcd60e51b82526104ba91600401611e62565b610dfb828261085f565b61056f5760008281526065602090815260408083206001600160a01b03851684529091529020805460ff19166001179055610e333390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b610e81828261085f565b1561056f5760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b610f1a610192546103883390565b6106395760405162461bcd60e51b815260206004820152601b60248201527f72657175697265207570677261646572207065726d697373696f6e000000000060448201526064016104ba565b6000610f70610ede565b9050610f7b846116cb565b600083511180610f885750815b15610f9957610f978484611770565b505b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143805460ff166110aa57805460ff191660011781556040516001600160a01b038316602482015261101890869060440160408051601f198184030181529190526020810180516001600160e01b0316631b2ce7f360e11b179052611770565b50805460ff19168155611029610ede565b6001600160a01b0316826001600160a01b0316146110a15760405162461bcd60e51b815260206004820152602f60248201527f45524331393637557067726164653a207570677261646520627265616b73206660448201526e75727468657220757067726164657360881b60648201526084016104ba565b6110aa8561185b565b5050505050565b60975460ff166110fa5760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b60448201526064016104ba565b6097805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b61015f80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60975460ff16156111dd5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b60448201526064016104ba565b6097805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586111273390565b600054610100900460ff168061122b575060005460ff16155b6112475760405162461bcd60e51b81526004016104ba90611f69565b600054610100900460ff16158015611272576000805460ff1961ff0019909116610100171660011790555b61127a61189b565b61128261190e565b8015610639576000805461ff001916905550565b600054610100900460ff16806112af575060005460ff16155b6112cb5760405162461bcd60e51b81526004016104ba90611f69565b600054610100900460ff161580156112f6576000805460ff1961ff0019909116610100171660011790555b6112fe61189b565b611282611977565b600054610100900460ff168061131f575060005460ff16155b61133b5760405162461bcd60e51b81526004016104ba90611f69565b600054610100900460ff16158015611366576000805460ff1961ff0019909116610100171660011790555b61136e61189b565b61137661189b565b61128261189b565b600054610100900460ff1680611397575060005460ff16155b6113b35760405162461bcd60e51b81526004016104ba90611f69565b600054610100900460ff161580156113de576000805460ff1961ff0019909116610100171660011790555b6112826119f5565b600054610100900460ff16806113ff575060005460ff16155b61141b5760405162461bcd60e51b81526004016104ba90611f69565b600054610100900460ff1615801561136e576000805460ff1961ff00199091166101001716600117905561137661189b565b61056f8282610df1565b60006114638284611fee565b9392505050565b60008060008061147985611a6e565b6040805160008152602081018083528b905260ff8516918101919091526060810183905260808101829052929550909350915060019060a0016020604051602081039080840390855afa1580156114d4573d6000803e3d6000fd5b5050604051601f190151979650505050505050565b606060006114f8836002611fcf565b611503906002611fb7565b67ffffffffffffffff81111561152957634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015611553576020820181803683370190505b509050600360fc1b8160008151811061157c57634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106115b957634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a90535060006115dd846002611fcf565b6115e8906001611fb7565b90505b600181111561167c576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061162a57634e487b7160e01b600052603260045260246000fd5b1a60f81b82828151811061164e57634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a90535060049490941c9361167581612035565b90506115eb565b5083156114635760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016104ba565b803b61172f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016104ba565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060823b6117cf5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084016104ba565b600080846001600160a01b0316846040516117ea9190611dd1565b600060405180830381855af49150503d8060008114611825576040519150601f19603f3d011682016040523d82523d6000602084013e61182a565b606091505b5091509150611852828260405180606001604052806027815260200161207960279139611ae0565b95945050505050565b611864816116cb565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b600054610100900460ff16806118b4575060005460ff16155b6118d05760405162461bcd60e51b81526004016104ba90611f69565b600054610100900460ff16158015611282576000805460ff1961ff0019909116610100171660011790558015610639576000805461ff001916905550565b600054610100900460ff1680611927575060005460ff16155b6119435760405162461bcd60e51b81526004016104ba90611f69565b600054610100900460ff1615801561196e576000805460ff1961ff0019909116610100171660011790555b61128233611144565b600054610100900460ff1680611990575060005460ff16155b6119ac5760405162461bcd60e51b81526004016104ba90611f69565b600054610100900460ff161580156119d7576000805460ff1961ff0019909116610100171660011790555b6097805460ff191690558015610639576000805461ff001916905550565b600054610100900460ff1680611a0e575060005460ff16155b611a2a5760405162461bcd60e51b81526004016104ba90611f69565b600054610100900460ff16158015611a55576000805460ff1961ff0019909116610100171660011790555b600160c9558015610639576000805461ff001916905550565b60008060008351604114611ac45760405162461bcd60e51b815260206004820152601860248201527f696e76616c6964207369676e6174757265206c656e677468000000000000000060448201526064016104ba565b5050506020810151604082015160609092015160001a92909190565b60608315611aef575081611463565b825115611aff5782518084602001fd5b8160405162461bcd60e51b81526004016104ba9190611e62565b80356001600160a01b038116811461048e57600080fd5b600082601f830112611b40578081fd5b813567ffffffffffffffff80821115611b5b57611b5b612062565b604051601f8301601f19908116603f01168101908282118183101715611b8357611b83612062565b81604052838152866020858801011115611b9b578485fd5b8360208701602083013792830160200193909352509392505050565b600060208284031215611bc8578081fd5b61146382611b19565b60008060408385031215611be3578081fd5b611bec83611b19565b9150602083013567ffffffffffffffff811115611c07578182fd5b611c1385828601611b30565b9150509250929050565b60008060408385031215611be3578182fd5b600080600080600060a08688031215611c46578081fd5b611c4f86611b19565b9450602086013567ffffffffffffffff80821115611c6b578283fd5b611c7789838a01611b30565b9550604088013591508115158214611c8d578283fd5b9093506060870135925060808701359080821115611ca9578283fd5b50611cb688828901611b30565b9150509295509295909350565b60008060408385031215611cd5578182fd5b611cde83611b19565b946020939093013593505050565b600060208284031215611cfd578081fd5b5035919050565b60008060408385031215611d16578182fd5b82359150611d2660208401611b19565b90509250929050565b600060208284031215611d40578081fd5b81356001600160e01b031981168114611463578182fd5b60008151808452611d6f816020860160208601612005565b601f01601f19169290920160200192915050565b60006bffffffffffffffffffffffff198660601b1682528451611dad816014850160208901612005565b93151560f81b91909301601481019190915260158101919091526035019392505050565b60008251611de3818460208701612005565b9190910192915050565b60007f416363657373436f6e74726f6c3a206163636f756e742000000000000000000082528351611e25816017850160208801612005565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351611e56816028840160208801612005565b01602801949350505050565b6000602082526114636020830184611d57565b600060608252611e886060830186611d57565b93151560208301525060400152919050565b60208082526018908201527f726571756972652061646d696e207065726d697373696f6e0000000000000000604082015260600190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b60008219821115611fca57611fca61204c565b500190565b6000816000190483118215151615611fe957611fe961204c565b500290565b6000828210156120005761200061204c565b500390565b60005b83811015612020578181015183820152602001612008565b8381111561202f576000848401525b50505050565b6000816120445761204461204c565b506000190190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fdfe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122082b69c7adc970433c8e1206b16e859a8fd20d89566339dd324a8868cd40fe4da64736f6c63430008020033";
const _bytecode = "0x60a06040523060601b60805234801561001757600080fd5b50600054610100900460ff1680610031575060005460ff16155b6100985760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b600054610100900460ff161580156100c3576000805460ff1961ff0019909116610100171660011790555b80156100d5576000805461ff00191690555b5060805160601c611e026101096000396000818161050d0152818161054d0152818161060701526106470152611e026000f3fe60806040526004361061012a5760003560e01c80635c975abb116100ab578063d547741f1161006f578063d547741f14610319578063dd60d96514610339578063e17ad93114610359578063e18c726014610379578063f65903b9146103b2578063f72c0d8b146103d25761012a565b80635c975abb146102975780636c19e783146102af5780638456cb59146102cf57806391d14854146102e4578063a217fddf146103045761012a565b80632f2ff15d116100f25780632f2ff15d1461020f57806336568abe1461022f5780633659cfe61461024f5780633f4ba83a1461026f5780634f1ef286146102845761012a565b806301ffc9a71461012f5780630676695b1461016457806306bfcec614610186578063248a9ca3146101ba57806325bee3e9146101f8575b600080fd5b34801561013b57600080fd5b5061014f61014a366004611a5c565b6103e9565b60405190151581526020015b60405180910390f35b34801561017057600080fd5b5061018461017f366004611a19565b610422565b005b34801561019257600080fd5b5060408051808201825260058152640312e302e360dc1b6020820152905161015b9190611b8f565b3480156101c657600080fd5b506101ea6101d5366004611a19565b60009081526065602052604090206001015490565b60405190815260200161015b565b34801561020457600080fd5b506101ea61015f5481565b34801561021b57600080fd5b5061018461022a366004611a31565b610458565b34801561023b57600080fd5b5061018461024a366004611a31565b610484565b34801561025b57600080fd5b5061018461026a3660046118e4565b610502565b34801561027b57600080fd5b506101846105cb565b6101846102923660046118fe565b6105fc565b3480156102a357600080fd5b5060975460ff1661014f565b3480156102bb57600080fd5b506101846102ca3660046118e4565b6106b2565b3480156102db57600080fd5b506101846106fc565b3480156102f057600080fd5b5061014f6102ff366004611a31565b61072b565b34801561031057600080fd5b506101ea600081565b34801561032557600080fd5b50610184610334366004611a31565b610756565b34801561034557600080fd5b5061014f61035436600461194a565b61077c565b34801561036557600080fd5b506101846103743660046119f0565b6107da565b34801561038557600080fd5b506101635461039a906001600160a01b031681565b6040516001600160a01b03909116815260200161015b565b3480156103be57600080fd5b506101846103cd36600461195c565b6108ce565b3480156103de57600080fd5b506101ea6101605481565b60006001600160e01b03198216637965db0b60e01b148061041a57506301ffc9a760e01b6001600160e01b03198316145b90505b919050565b61042d6000336102ff565b6104525760405162461bcd60e51b815260040161044990611bc7565b60405180910390fd5b61015f55565b60008281526065602052604090206001015461047581335b610be6565b61047f8383610c4a565b505050565b6001600160a01b03811633146104f45760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610449565b6104fe8282610cd0565b5050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016141561054b5760405162461bcd60e51b815260040161044990611bfe565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661057d610d37565b6001600160a01b0316146105a35760405162461bcd60e51b815260040161044990611c4a565b6105ac81610d65565b604080516000808252602082019092526105c891839190610dbf565b50565b6105d66000336102ff565b6105f25760405162461bcd60e51b815260040161044990611bc7565b6105fa610f0a565b565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156106455760405162461bcd60e51b815260040161044990611bfe565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610677610d37565b6001600160a01b03161461069d5760405162461bcd60e51b815260040161044990611c4a565b6106a682610d65565b6104fe82826001610dbf565b6106bd6000336102ff565b6106d95760405162461bcd60e51b815260040161044990611bc7565b61016380546001600160a01b0319166001600160a01b0392909216919091179055565b6107076000336102ff565b6107235760405162461bcd60e51b815260040161044990611bc7565b6105fa610f9d565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6000828152606560205260409020600101546107728133610470565b61047f8383610cd0565b6001600160a01b0382166000908152610161602090815260408083209051909183916107aa91869101611afe565b60408051808303601f190181529181528151602092830120835290820192909252016000205460ff169392505050565b600054610100900460ff16806107f3575060005460ff16155b61080f5760405162461bcd60e51b815260040161044990611c96565b600054610100900460ff1615801561083a576000805460ff1961ff0019909116610100171660011790555b610842611018565b61084a61109c565b610852611114565b61085a61117c565b6108656000336111e3565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e361016081905561089690336111e3565b61016380546001600160a01b0319166001600160a01b03851617905561015f829055801561047f576000805461ff0019169055505050565b60975460ff16156109145760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610449565b61091f6000336102ff565b610b315761015f5461093142846111ed565b106109765760405162461bcd60e51b81526020600482015260156024820152741cda59db985d1d5c99481a185cc8195e1c1a5c9959605a1b6044820152606401610449565b61016260008260405160200161098c9190611afe565b60408051601f198184030181529181528151602092830120835290820192909252016000205460ff16156109f75760405162461bcd60e51b81526020600482015260126024820152711cda59db985d1d5c99481a185cc81d5cd95960721b6044820152606401610449565b6000610a7386868686604051602001610a139493929190611ab0565b60408051601f1981840301815282825280516020918201207f19457468657265756d205369676e6564204d6573736167653a0a33320000000084830152603c8085019190915282518085039091018152605c909301909152815191012090565b610163549091506001600160a01b0316610a8d8284611200565b6001600160a01b031614610ae35760405162461bcd60e51b815260206004820152601a60248201527f756e61626c6520746f20766572696679207369676e61747572650000000000006044820152606401610449565b6001610162600084604051602001610afb9190611afe565b60408051808303601f19018152918152815160209283012083529082019290925201600020805460ff1916911515919091179055505b6001600160a01b038516600090815261016160209081526040808320905186939192610b5f91899101611afe565b60405160208183030381529060405280519060200120815260200190815260200160002060006101000a81548160ff021916908315150217905550846001600160a01b03167fa75afcecb86d16fdeb01f70715df8a51df373661d7f07e7c944fefcc07aa8704858542604051610bd793929190611ba2565b60405180910390a25050505050565b610bf0828261072b565b6104fe57610c08816001600160a01b0316601461127f565b610c1383602061127f565b604051602001610c24929190611b1a565b60408051601f198184030181529082905262461bcd60e51b825261044991600401611b8f565b610c54828261072b565b6104fe5760008281526065602090815260408083206001600160a01b03851684529091529020805460ff19166001179055610c8c3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b610cda828261072b565b156104fe5760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b610d73610160546102ff3390565b6105c85760405162461bcd60e51b815260206004820152601b60248201527f72657175697265207570677261646572207065726d697373696f6e00000000006044820152606401610449565b6000610dc9610d37565b9050610dd484611461565b600083511180610de15750815b15610df257610df08484611506565b505b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143805460ff16610f0357805460ff191660011781556040516001600160a01b0383166024820152610e7190869060440160408051601f198184030181529190526020810180516001600160e01b0316631b2ce7f360e11b179052611506565b50805460ff19168155610e82610d37565b6001600160a01b0316826001600160a01b031614610efa5760405162461bcd60e51b815260206004820152602f60248201527f45524331393637557067726164653a207570677261646520627265616b73206660448201526e75727468657220757067726164657360881b6064820152608401610449565b610f03856115f1565b5050505050565b60975460ff16610f535760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610449565b6097805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b60975460ff1615610fe35760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610449565b6097805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258610f803390565b600054610100900460ff1680611031575060005460ff16155b61104d5760405162461bcd60e51b815260040161044990611c96565b600054610100900460ff16158015611078576000805460ff1961ff0019909116610100171660011790555b611080611631565b6110886116a4565b80156105c8576000805461ff001916905550565b600054610100900460ff16806110b5575060005460ff16155b6110d15760405162461bcd60e51b815260040161044990611c96565b600054610100900460ff161580156110fc576000805460ff1961ff0019909116610100171660011790555b611104611631565b61110c611631565b611088611631565b600054610100900460ff168061112d575060005460ff16155b6111495760405162461bcd60e51b815260040161044990611c96565b600054610100900460ff16158015611174576000805460ff1961ff0019909116610100171660011790555b611088611722565b600054610100900460ff1680611195575060005460ff16155b6111b15760405162461bcd60e51b815260040161044990611c96565b600054610100900460ff16158015611104576000805460ff1961ff00199091166101001716600117905561110c611631565b6104fe8282610c4a565b60006111f98284611d1b565b9392505050565b60008060008061120f8561179b565b6040805160008152602081018083528b905260ff8516918101919091526060810183905260808101829052929550909350915060019060a0016020604051602081039080840390855afa15801561126a573d6000803e3d6000fd5b5050604051601f190151979650505050505050565b6060600061128e836002611cfc565b611299906002611ce4565b67ffffffffffffffff8111156112bf57634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f1916602001820160405280156112e9576020820181803683370190505b509050600360fc1b8160008151811061131257634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061134f57634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a9053506000611373846002611cfc565b61137e906001611ce4565b90505b6001811115611412576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106113c057634e487b7160e01b600052603260045260246000fd5b1a60f81b8282815181106113e457634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a90535060049490941c9361140b81611d62565b9050611381565b5083156111f95760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610449565b803b6114c55760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610449565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060823b6115655760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610449565b600080846001600160a01b0316846040516115809190611afe565b600060405180830381855af49150503d80600081146115bb576040519150601f19603f3d011682016040523d82523d6000602084013e6115c0565b606091505b50915091506115e88282604051806060016040528060278152602001611da66027913961180d565b95945050505050565b6115fa81611461565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b600054610100900460ff168061164a575060005460ff16155b6116665760405162461bcd60e51b815260040161044990611c96565b600054610100900460ff16158015611088576000805460ff1961ff00199091166101001716600117905580156105c8576000805461ff001916905550565b600054610100900460ff16806116bd575060005460ff16155b6116d95760405162461bcd60e51b815260040161044990611c96565b600054610100900460ff16158015611704576000805460ff1961ff0019909116610100171660011790555b6097805460ff1916905580156105c8576000805461ff001916905550565b600054610100900460ff168061173b575060005460ff16155b6117575760405162461bcd60e51b815260040161044990611c96565b600054610100900460ff16158015611782576000805460ff1961ff0019909116610100171660011790555b600160c95580156105c8576000805461ff001916905550565b600080600083516041146117f15760405162461bcd60e51b815260206004820152601860248201527f696e76616c6964207369676e6174757265206c656e67746800000000000000006044820152606401610449565b5050506020810151604082015160609092015160001a92909190565b6060831561181c5750816111f9565b82511561182c5782518084602001fd5b8160405162461bcd60e51b81526004016104499190611b8f565b80356001600160a01b038116811461041d57600080fd5b600082601f83011261186d578081fd5b813567ffffffffffffffff8082111561188857611888611d8f565b604051601f8301601f19908116603f011681019082821181831017156118b0576118b0611d8f565b816040528381528660208588010111156118c8578485fd5b8360208701602083013792830160200193909352509392505050565b6000602082840312156118f5578081fd5b6111f982611846565b60008060408385031215611910578081fd5b61191983611846565b9150602083013567ffffffffffffffff811115611934578182fd5b6119408582860161185d565b9150509250929050565b60008060408385031215611910578182fd5b600080600080600060a08688031215611973578081fd5b61197c86611846565b9450602086013567ffffffffffffffff80821115611998578283fd5b6119a489838a0161185d565b95506040880135915081151582146119ba578283fd5b90935060608701359250608087013590808211156119d6578283fd5b506119e38882890161185d565b9150509295509295909350565b60008060408385031215611a02578182fd5b611a0b83611846565b946020939093013593505050565b600060208284031215611a2a578081fd5b5035919050565b60008060408385031215611a43578182fd5b82359150611a5360208401611846565b90509250929050565b600060208284031215611a6d578081fd5b81356001600160e01b0319811681146111f9578182fd5b60008151808452611a9c816020860160208601611d32565b601f01601f19169290920160200192915050565b60006bffffffffffffffffffffffff198660601b1682528451611ada816014850160208901611d32565b93151560f81b91909301601481019190915260158101919091526035019392505050565b60008251611b10818460208701611d32565b9190910192915050565b60007f416363657373436f6e74726f6c3a206163636f756e742000000000000000000082528351611b52816017850160208801611d32565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351611b83816028840160208801611d32565b01602801949350505050565b6000602082526111f96020830184611a84565b600060608252611bb56060830186611a84565b93151560208301525060400152919050565b60208082526018908201527f726571756972652061646d696e207065726d697373696f6e0000000000000000604082015260600190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b60008219821115611cf757611cf7611d79565b500190565b6000816000190483118215151615611d1657611d16611d79565b500290565b600082821015611d2d57611d2d611d79565b500390565b60005b83811015611d4d578181015183820152602001611d35565b83811115611d5c576000848401525b50505050565b600081611d7157611d71611d79565b506000190190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fdfe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220709819f0139f9f48d08c53d533f742fd6c7cc9eb2c75932627e9d93154799b1464736f6c63430008020033";
class AmethystRoleManagementImpl__factory extends ethers_1.ContractFactory {

@@ -596,0 +544,0 @@ constructor(signer) {

@@ -24,3 +24,3 @@ "use strict";

internalType: "bool",
name: "haveRole",
name: "enable",
type: "bool",

@@ -35,3 +35,3 @@ },

],
name: "SetRole",
name: "SetAmethystRole",
type: "event",

@@ -52,3 +52,3 @@ },

],
name: "haveRole",
name: "hasAmethystRole",
outputs: [

@@ -87,15 +87,2 @@ {

{
internalType: "uint256",
name: "expiration",
type: "uint256",
},
],
name: "setMaxExpiration",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",

@@ -112,3 +99,3 @@ name: "person",

internalType: "bool",
name: "isHaveRole",
name: "enable",
type: "bool",

@@ -127,3 +114,3 @@ },

],
name: "setRole",
name: "setAmethystRole",
outputs: [],

@@ -136,2 +123,15 @@ stateMutability: "nonpayable",

{
internalType: "uint256",
name: "newMaxExpiration",
type: "uint256",
},
],
name: "setMaxExpiration",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",

@@ -138,0 +138,0 @@ name: "newSigner",

@@ -31,3 +31,3 @@ /* Autogenerated file. Do not edit manually. */

internalType: "bool",
name: "haveRole",
name: "enable",
type: "bool",

@@ -42,3 +42,3 @@ },

],
name: "SetRole",
name: "SetAmethystRole",
type: "event",

@@ -59,3 +59,3 @@ },

],
name: "haveRole",
name: "hasAmethystRole",
outputs: [

@@ -94,15 +94,2 @@ {

{
internalType: "uint256",
name: "expiration",
type: "uint256",
},
],
name: "setMaxExpiration",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",

@@ -119,3 +106,3 @@ name: "person",

internalType: "bool",
name: "isHaveRole",
name: "enable",
type: "bool",

@@ -134,3 +121,3 @@ },

],
name: "setRole",
name: "setAmethystRole",
outputs: [],

@@ -143,2 +130,15 @@ stateMutability: "nonpayable",

{
internalType: "uint256",
name: "newMaxExpiration",
type: "uint256",
},
],
name: "setMaxExpiration",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",

@@ -145,0 +145,0 @@ name: "newSigner",

@@ -24,7 +24,7 @@ /* Autogenerated file. Do not edit manually. */

functions: {
"haveRole(address,string)": FunctionFragment;
"hasAmethystRole(address,string)": FunctionFragment;
"implementationVersion()": FunctionFragment;
"pause()": FunctionFragment;
"setAmethystRole(address,string,bool,uint256,bytes)": FunctionFragment;
"setMaxExpiration(uint256)": FunctionFragment;
"setRole(address,string,bool,uint256,bytes)": FunctionFragment;
"setSigner(address)": FunctionFragment;

@@ -35,3 +35,3 @@ "unpause()": FunctionFragment;

encodeFunctionData(
functionFragment: "haveRole",
functionFragment: "hasAmethystRole",
values: [string, string]

@@ -45,14 +45,17 @@ ): string;

encodeFunctionData(
functionFragment: "setAmethystRole",
values: [string, string, boolean, BigNumberish, BytesLike]
): string;
encodeFunctionData(
functionFragment: "setMaxExpiration",
values: [BigNumberish]
): string;
encodeFunctionData(
functionFragment: "setRole",
values: [string, string, boolean, BigNumberish, BytesLike]
): string;
encodeFunctionData(functionFragment: "setSigner", values: [string]): string;
encodeFunctionData(functionFragment: "unpause", values?: undefined): string;
decodeFunctionResult(functionFragment: "haveRole", data: BytesLike): Result;
decodeFunctionResult(
functionFragment: "hasAmethystRole",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "implementationVersion",

@@ -63,6 +66,9 @@ data: BytesLike

decodeFunctionResult(
functionFragment: "setAmethystRole",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "setMaxExpiration",
data: BytesLike
): Result;
decodeFunctionResult(functionFragment: "setRole", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "setSigner", data: BytesLike): Result;

@@ -72,13 +78,13 @@ decodeFunctionResult(functionFragment: "unpause", data: BytesLike): Result;

events: {
"SetRole(address,string,bool,uint256)": EventFragment;
"SetAmethystRole(address,string,bool,uint256)": EventFragment;
};
getEvent(nameOrSignatureOrTopic: "SetRole"): EventFragment;
getEvent(nameOrSignatureOrTopic: "SetAmethystRole"): EventFragment;
}
export type SetRoleEvent = TypedEvent<
export type SetAmethystRoleEvent = TypedEvent<
[string, string, boolean, BigNumber] & {
person: string;
role: string;
haveRole: boolean;
enable: boolean;
eventTime: BigNumber;

@@ -132,3 +138,3 @@ }

functions: {
haveRole(
hasAmethystRole(
person: string,

@@ -145,11 +151,6 @@ role: string,

setMaxExpiration(
expiration: BigNumberish,
overrides?: Overrides & { from?: string | Promise<string> }
): Promise<ContractTransaction>;
setRole(
setAmethystRole(
person: string,
role: string,
isHaveRole: boolean,
enable: boolean,
timestamp: BigNumberish,

@@ -160,2 +161,7 @@ signature: BytesLike,

setMaxExpiration(
newMaxExpiration: BigNumberish,
overrides?: Overrides & { from?: string | Promise<string> }
): Promise<ContractTransaction>;
setSigner(

@@ -171,3 +177,3 @@ newSigner: string,

haveRole(
hasAmethystRole(
person: string,

@@ -184,11 +190,6 @@ role: string,

setMaxExpiration(
expiration: BigNumberish,
overrides?: Overrides & { from?: string | Promise<string> }
): Promise<ContractTransaction>;
setRole(
setAmethystRole(
person: string,
role: string,
isHaveRole: boolean,
enable: boolean,
timestamp: BigNumberish,

@@ -199,2 +200,7 @@ signature: BytesLike,

setMaxExpiration(
newMaxExpiration: BigNumberish,
overrides?: Overrides & { from?: string | Promise<string> }
): Promise<ContractTransaction>;
setSigner(

@@ -210,3 +216,3 @@ newSigner: string,

callStatic: {
haveRole(
hasAmethystRole(
person: string,

@@ -221,11 +227,6 @@ role: string,

setMaxExpiration(
expiration: BigNumberish,
overrides?: CallOverrides
): Promise<void>;
setRole(
setAmethystRole(
person: string,
role: string,
isHaveRole: boolean,
enable: boolean,
timestamp: BigNumberish,

@@ -236,2 +237,7 @@ signature: BytesLike,

setMaxExpiration(
newMaxExpiration: BigNumberish,
overrides?: CallOverrides
): Promise<void>;
setSigner(newSigner: string, overrides?: CallOverrides): Promise<void>;

@@ -243,20 +249,20 @@

filters: {
"SetRole(address,string,bool,uint256)"(
"SetAmethystRole(address,string,bool,uint256)"(
person?: string | null,
role?: null,
haveRole?: null,
enable?: null,
eventTime?: null
): TypedEventFilter<
[string, string, boolean, BigNumber],
{ person: string; role: string; haveRole: boolean; eventTime: BigNumber }
{ person: string; role: string; enable: boolean; eventTime: BigNumber }
>;
SetRole(
SetAmethystRole(
person?: string | null,
role?: null,
haveRole?: null,
enable?: null,
eventTime?: null
): TypedEventFilter<
[string, string, boolean, BigNumber],
{ person: string; role: string; haveRole: boolean; eventTime: BigNumber }
{ person: string; role: string; enable: boolean; eventTime: BigNumber }
>;

@@ -266,3 +272,3 @@ };

estimateGas: {
haveRole(
hasAmethystRole(
person: string,

@@ -279,11 +285,6 @@ role: string,

setMaxExpiration(
expiration: BigNumberish,
overrides?: Overrides & { from?: string | Promise<string> }
): Promise<BigNumber>;
setRole(
setAmethystRole(
person: string,
role: string,
isHaveRole: boolean,
enable: boolean,
timestamp: BigNumberish,

@@ -294,2 +295,7 @@ signature: BytesLike,

setMaxExpiration(
newMaxExpiration: BigNumberish,
overrides?: Overrides & { from?: string | Promise<string> }
): Promise<BigNumber>;
setSigner(

@@ -306,3 +312,3 @@ newSigner: string,

populateTransaction: {
haveRole(
hasAmethystRole(
person: string,

@@ -321,11 +327,6 @@ role: string,

setMaxExpiration(
expiration: BigNumberish,
overrides?: Overrides & { from?: string | Promise<string> }
): Promise<PopulatedTransaction>;
setRole(
setAmethystRole(
person: string,
role: string,
isHaveRole: boolean,
enable: boolean,
timestamp: BigNumberish,

@@ -336,2 +337,7 @@ signature: BytesLike,

setMaxExpiration(
newMaxExpiration: BigNumberish,
overrides?: Overrides & { from?: string | Promise<string> }
): Promise<PopulatedTransaction>;
setSigner(

@@ -338,0 +344,0 @@ newSigner: string,

export type { AccessControlUpgradeable } from "./AccessControlUpgradeable";
export type { IAccessControlUpgradeable } from "./IAccessControlUpgradeable";
export type { OwnableUpgradeable } from "./OwnableUpgradeable";
export type { IBeaconUpgradeable } from "./IBeaconUpgradeable";

@@ -14,3 +13,29 @@ export type { ERC1967UpgradeUpgradeable } from "./ERC1967UpgradeUpgradeable";

export type { IERC165Upgradeable } from "./IERC165Upgradeable";
export type { AccessControl } from "./AccessControl";
export type { IAccessControl } from "./IAccessControl";
export type { Ownable } from "./Ownable";
export type { GovernorCountingSimple } from "./GovernorCountingSimple";
export type { Governor } from "./Governor";
export type { IGovernor } from "./IGovernor";
export type { Pausable } from "./Pausable";
export type { ERC20 } from "./ERC20";
export type { IERC20Metadata } from "./IERC20Metadata";
export type { IERC20 } from "./IERC20";
export type { ERC721 } from "./ERC721";
export type { ERC721Enumerable } from "./ERC721Enumerable";
export type { IERC721Enumerable } from "./IERC721Enumerable";
export type { IERC721Metadata } from "./IERC721Metadata";
export type { IERC721 } from "./IERC721";
export type { IERC721Receiver } from "./IERC721Receiver";
export type { ERC165 } from "./ERC165";
export type { IERC165 } from "./IERC165";
export type { AmethystDAO } from "./AmethystDAO";
export type { AmethystFactory } from "./AmethystFactory";
export type { IAmethystDAO } from "./IAmethystDAO";
export type { IAmethystFactory } from "./IAmethystFactory";
export type { IAmethystRoleManagement } from "./IAmethystRoleManagement";
export type { IRemixNFT } from "./IRemixNFT";
export type { ProxyRegistry } from "./ProxyRegistry";
export type { RemixNFT } from "./RemixNFT";
export type { BUSDTEST } from "./BUSDTEST";
export type { ERC721Impl } from "./ERC721Impl";

@@ -20,3 +45,2 @@ export type { AmethystRoleManagementImpl } from "./AmethystRoleManagementImpl";

export { IAccessControlUpgradeable__factory } from "./factories/IAccessControlUpgradeable__factory";
export { OwnableUpgradeable__factory } from "./factories/OwnableUpgradeable__factory";
export { IBeaconUpgradeable__factory } from "./factories/IBeaconUpgradeable__factory";

@@ -32,4 +56,30 @@ export { ERC1967UpgradeUpgradeable__factory } from "./factories/ERC1967UpgradeUpgradeable__factory";

export { IERC165Upgradeable__factory } from "./factories/IERC165Upgradeable__factory";
export { AccessControl__factory } from "./factories/AccessControl__factory";
export { IAccessControl__factory } from "./factories/IAccessControl__factory";
export { Ownable__factory } from "./factories/Ownable__factory";
export { GovernorCountingSimple__factory } from "./factories/GovernorCountingSimple__factory";
export { Governor__factory } from "./factories/Governor__factory";
export { IGovernor__factory } from "./factories/IGovernor__factory";
export { Pausable__factory } from "./factories/Pausable__factory";
export { ERC20__factory } from "./factories/ERC20__factory";
export { IERC20Metadata__factory } from "./factories/IERC20Metadata__factory";
export { IERC20__factory } from "./factories/IERC20__factory";
export { ERC721__factory } from "./factories/ERC721__factory";
export { ERC721Enumerable__factory } from "./factories/ERC721Enumerable__factory";
export { IERC721Enumerable__factory } from "./factories/IERC721Enumerable__factory";
export { IERC721Metadata__factory } from "./factories/IERC721Metadata__factory";
export { IERC721__factory } from "./factories/IERC721__factory";
export { IERC721Receiver__factory } from "./factories/IERC721Receiver__factory";
export { ERC165__factory } from "./factories/ERC165__factory";
export { IERC165__factory } from "./factories/IERC165__factory";
export { AmethystDAO__factory } from "./factories/AmethystDAO__factory";
export { AmethystFactory__factory } from "./factories/AmethystFactory__factory";
export { IAmethystDAO__factory } from "./factories/IAmethystDAO__factory";
export { IAmethystFactory__factory } from "./factories/IAmethystFactory__factory";
export { IAmethystRoleManagement__factory } from "./factories/IAmethystRoleManagement__factory";
export { IRemixNFT__factory } from "./factories/IRemixNFT__factory";
export { ProxyRegistry__factory } from "./factories/ProxyRegistry__factory";
export { RemixNFT__factory } from "./factories/RemixNFT__factory";
export { BUSDTEST__factory } from "./factories/BUSDTEST__factory";
export { ERC721Impl__factory } from "./factories/ERC721Impl__factory";
export { AmethystRoleManagementImpl__factory } from "./factories/AmethystRoleManagementImpl__factory";
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.AmethystRoleManagementImpl__factory = exports.ERC721Impl__factory = exports.IAmethystRoleManagement__factory = exports.IERC165Upgradeable__factory = exports.ERC165Upgradeable__factory = exports.IERC721Upgradeable__factory = exports.IERC721ReceiverUpgradeable__factory = exports.IERC721MetadataUpgradeable__factory = exports.ERC721Upgradeable__factory = exports.PausableUpgradeable__factory = exports.UUPSUpgradeable__factory = exports.ERC1967UpgradeUpgradeable__factory = exports.IBeaconUpgradeable__factory = exports.OwnableUpgradeable__factory = exports.IAccessControlUpgradeable__factory = exports.AccessControlUpgradeable__factory = void 0;
exports.AmethystRoleManagementImpl__factory = exports.ERC721Impl__factory = exports.BUSDTEST__factory = exports.RemixNFT__factory = exports.ProxyRegistry__factory = exports.IRemixNFT__factory = exports.IAmethystRoleManagement__factory = exports.IAmethystFactory__factory = exports.IAmethystDAO__factory = exports.AmethystFactory__factory = exports.AmethystDAO__factory = exports.IERC165__factory = exports.ERC165__factory = exports.IERC721Receiver__factory = exports.IERC721__factory = exports.IERC721Metadata__factory = exports.IERC721Enumerable__factory = exports.ERC721Enumerable__factory = exports.ERC721__factory = exports.IERC20__factory = exports.IERC20Metadata__factory = exports.ERC20__factory = exports.Pausable__factory = exports.IGovernor__factory = exports.Governor__factory = exports.GovernorCountingSimple__factory = exports.Ownable__factory = exports.IAccessControl__factory = exports.AccessControl__factory = exports.IERC165Upgradeable__factory = exports.ERC165Upgradeable__factory = exports.IERC721Upgradeable__factory = exports.IERC721ReceiverUpgradeable__factory = exports.IERC721MetadataUpgradeable__factory = exports.ERC721Upgradeable__factory = exports.PausableUpgradeable__factory = exports.UUPSUpgradeable__factory = exports.ERC1967UpgradeUpgradeable__factory = exports.IBeaconUpgradeable__factory = exports.IAccessControlUpgradeable__factory = exports.AccessControlUpgradeable__factory = void 0;
var AccessControlUpgradeable__factory_1 = require("./factories/AccessControlUpgradeable__factory");

@@ -8,4 +8,2 @@ Object.defineProperty(exports, "AccessControlUpgradeable__factory", { enumerable: true, get: function () { return AccessControlUpgradeable__factory_1.AccessControlUpgradeable__factory; } });

Object.defineProperty(exports, "IAccessControlUpgradeable__factory", { enumerable: true, get: function () { return IAccessControlUpgradeable__factory_1.IAccessControlUpgradeable__factory; } });
var OwnableUpgradeable__factory_1 = require("./factories/OwnableUpgradeable__factory");
Object.defineProperty(exports, "OwnableUpgradeable__factory", { enumerable: true, get: function () { return OwnableUpgradeable__factory_1.OwnableUpgradeable__factory; } });
var IBeaconUpgradeable__factory_1 = require("./factories/IBeaconUpgradeable__factory");

@@ -31,4 +29,56 @@ Object.defineProperty(exports, "IBeaconUpgradeable__factory", { enumerable: true, get: function () { return IBeaconUpgradeable__factory_1.IBeaconUpgradeable__factory; } });

Object.defineProperty(exports, "IERC165Upgradeable__factory", { enumerable: true, get: function () { return IERC165Upgradeable__factory_1.IERC165Upgradeable__factory; } });
var AccessControl__factory_1 = require("./factories/AccessControl__factory");
Object.defineProperty(exports, "AccessControl__factory", { enumerable: true, get: function () { return AccessControl__factory_1.AccessControl__factory; } });
var IAccessControl__factory_1 = require("./factories/IAccessControl__factory");
Object.defineProperty(exports, "IAccessControl__factory", { enumerable: true, get: function () { return IAccessControl__factory_1.IAccessControl__factory; } });
var Ownable__factory_1 = require("./factories/Ownable__factory");
Object.defineProperty(exports, "Ownable__factory", { enumerable: true, get: function () { return Ownable__factory_1.Ownable__factory; } });
var GovernorCountingSimple__factory_1 = require("./factories/GovernorCountingSimple__factory");
Object.defineProperty(exports, "GovernorCountingSimple__factory", { enumerable: true, get: function () { return GovernorCountingSimple__factory_1.GovernorCountingSimple__factory; } });
var Governor__factory_1 = require("./factories/Governor__factory");
Object.defineProperty(exports, "Governor__factory", { enumerable: true, get: function () { return Governor__factory_1.Governor__factory; } });
var IGovernor__factory_1 = require("./factories/IGovernor__factory");
Object.defineProperty(exports, "IGovernor__factory", { enumerable: true, get: function () { return IGovernor__factory_1.IGovernor__factory; } });
var Pausable__factory_1 = require("./factories/Pausable__factory");
Object.defineProperty(exports, "Pausable__factory", { enumerable: true, get: function () { return Pausable__factory_1.Pausable__factory; } });
var ERC20__factory_1 = require("./factories/ERC20__factory");
Object.defineProperty(exports, "ERC20__factory", { enumerable: true, get: function () { return ERC20__factory_1.ERC20__factory; } });
var IERC20Metadata__factory_1 = require("./factories/IERC20Metadata__factory");
Object.defineProperty(exports, "IERC20Metadata__factory", { enumerable: true, get: function () { return IERC20Metadata__factory_1.IERC20Metadata__factory; } });
var IERC20__factory_1 = require("./factories/IERC20__factory");
Object.defineProperty(exports, "IERC20__factory", { enumerable: true, get: function () { return IERC20__factory_1.IERC20__factory; } });
var ERC721__factory_1 = require("./factories/ERC721__factory");
Object.defineProperty(exports, "ERC721__factory", { enumerable: true, get: function () { return ERC721__factory_1.ERC721__factory; } });
var ERC721Enumerable__factory_1 = require("./factories/ERC721Enumerable__factory");
Object.defineProperty(exports, "ERC721Enumerable__factory", { enumerable: true, get: function () { return ERC721Enumerable__factory_1.ERC721Enumerable__factory; } });
var IERC721Enumerable__factory_1 = require("./factories/IERC721Enumerable__factory");
Object.defineProperty(exports, "IERC721Enumerable__factory", { enumerable: true, get: function () { return IERC721Enumerable__factory_1.IERC721Enumerable__factory; } });
var IERC721Metadata__factory_1 = require("./factories/IERC721Metadata__factory");
Object.defineProperty(exports, "IERC721Metadata__factory", { enumerable: true, get: function () { return IERC721Metadata__factory_1.IERC721Metadata__factory; } });
var IERC721__factory_1 = require("./factories/IERC721__factory");
Object.defineProperty(exports, "IERC721__factory", { enumerable: true, get: function () { return IERC721__factory_1.IERC721__factory; } });
var IERC721Receiver__factory_1 = require("./factories/IERC721Receiver__factory");
Object.defineProperty(exports, "IERC721Receiver__factory", { enumerable: true, get: function () { return IERC721Receiver__factory_1.IERC721Receiver__factory; } });
var ERC165__factory_1 = require("./factories/ERC165__factory");
Object.defineProperty(exports, "ERC165__factory", { enumerable: true, get: function () { return ERC165__factory_1.ERC165__factory; } });
var IERC165__factory_1 = require("./factories/IERC165__factory");
Object.defineProperty(exports, "IERC165__factory", { enumerable: true, get: function () { return IERC165__factory_1.IERC165__factory; } });
var AmethystDAO__factory_1 = require("./factories/AmethystDAO__factory");
Object.defineProperty(exports, "AmethystDAO__factory", { enumerable: true, get: function () { return AmethystDAO__factory_1.AmethystDAO__factory; } });
var AmethystFactory__factory_1 = require("./factories/AmethystFactory__factory");
Object.defineProperty(exports, "AmethystFactory__factory", { enumerable: true, get: function () { return AmethystFactory__factory_1.AmethystFactory__factory; } });
var IAmethystDAO__factory_1 = require("./factories/IAmethystDAO__factory");
Object.defineProperty(exports, "IAmethystDAO__factory", { enumerable: true, get: function () { return IAmethystDAO__factory_1.IAmethystDAO__factory; } });
var IAmethystFactory__factory_1 = require("./factories/IAmethystFactory__factory");
Object.defineProperty(exports, "IAmethystFactory__factory", { enumerable: true, get: function () { return IAmethystFactory__factory_1.IAmethystFactory__factory; } });
var IAmethystRoleManagement__factory_1 = require("./factories/IAmethystRoleManagement__factory");
Object.defineProperty(exports, "IAmethystRoleManagement__factory", { enumerable: true, get: function () { return IAmethystRoleManagement__factory_1.IAmethystRoleManagement__factory; } });
var IRemixNFT__factory_1 = require("./factories/IRemixNFT__factory");
Object.defineProperty(exports, "IRemixNFT__factory", { enumerable: true, get: function () { return IRemixNFT__factory_1.IRemixNFT__factory; } });
var ProxyRegistry__factory_1 = require("./factories/ProxyRegistry__factory");
Object.defineProperty(exports, "ProxyRegistry__factory", { enumerable: true, get: function () { return ProxyRegistry__factory_1.ProxyRegistry__factory; } });
var RemixNFT__factory_1 = require("./factories/RemixNFT__factory");
Object.defineProperty(exports, "RemixNFT__factory", { enumerable: true, get: function () { return RemixNFT__factory_1.RemixNFT__factory; } });
var BUSDTEST__factory_1 = require("./factories/BUSDTEST__factory");
Object.defineProperty(exports, "BUSDTEST__factory", { enumerable: true, get: function () { return BUSDTEST__factory_1.BUSDTEST__factory; } });
var ERC721Impl__factory_1 = require("./factories/ERC721Impl__factory");

@@ -35,0 +85,0 @@ Object.defineProperty(exports, "ERC721Impl__factory", { enumerable: true, get: function () { return ERC721Impl__factory_1.ERC721Impl__factory; } });

@@ -6,3 +6,2 @@ /* Autogenerated file. Do not edit manually. */

export type { IAccessControlUpgradeable } from "./IAccessControlUpgradeable";
export type { OwnableUpgradeable } from "./OwnableUpgradeable";
export type { IBeaconUpgradeable } from "./IBeaconUpgradeable";

@@ -18,3 +17,29 @@ export type { ERC1967UpgradeUpgradeable } from "./ERC1967UpgradeUpgradeable";

export type { IERC165Upgradeable } from "./IERC165Upgradeable";
export type { AccessControl } from "./AccessControl";
export type { IAccessControl } from "./IAccessControl";
export type { Ownable } from "./Ownable";
export type { GovernorCountingSimple } from "./GovernorCountingSimple";
export type { Governor } from "./Governor";
export type { IGovernor } from "./IGovernor";
export type { Pausable } from "./Pausable";
export type { ERC20 } from "./ERC20";
export type { IERC20Metadata } from "./IERC20Metadata";
export type { IERC20 } from "./IERC20";
export type { ERC721 } from "./ERC721";
export type { ERC721Enumerable } from "./ERC721Enumerable";
export type { IERC721Enumerable } from "./IERC721Enumerable";
export type { IERC721Metadata } from "./IERC721Metadata";
export type { IERC721 } from "./IERC721";
export type { IERC721Receiver } from "./IERC721Receiver";
export type { ERC165 } from "./ERC165";
export type { IERC165 } from "./IERC165";
export type { AmethystDAO } from "./AmethystDAO";
export type { AmethystFactory } from "./AmethystFactory";
export type { IAmethystDAO } from "./IAmethystDAO";
export type { IAmethystFactory } from "./IAmethystFactory";
export type { IAmethystRoleManagement } from "./IAmethystRoleManagement";
export type { IRemixNFT } from "./IRemixNFT";
export type { ProxyRegistry } from "./ProxyRegistry";
export type { RemixNFT } from "./RemixNFT";
export type { BUSDTEST } from "./BUSDTEST";
export type { ERC721Impl } from "./ERC721Impl";

@@ -25,3 +50,2 @@ export type { AmethystRoleManagementImpl } from "./AmethystRoleManagementImpl";

export { IAccessControlUpgradeable__factory } from "./factories/IAccessControlUpgradeable__factory";
export { OwnableUpgradeable__factory } from "./factories/OwnableUpgradeable__factory";
export { IBeaconUpgradeable__factory } from "./factories/IBeaconUpgradeable__factory";

@@ -37,4 +61,30 @@ export { ERC1967UpgradeUpgradeable__factory } from "./factories/ERC1967UpgradeUpgradeable__factory";

export { IERC165Upgradeable__factory } from "./factories/IERC165Upgradeable__factory";
export { AccessControl__factory } from "./factories/AccessControl__factory";
export { IAccessControl__factory } from "./factories/IAccessControl__factory";
export { Ownable__factory } from "./factories/Ownable__factory";
export { GovernorCountingSimple__factory } from "./factories/GovernorCountingSimple__factory";
export { Governor__factory } from "./factories/Governor__factory";
export { IGovernor__factory } from "./factories/IGovernor__factory";
export { Pausable__factory } from "./factories/Pausable__factory";
export { ERC20__factory } from "./factories/ERC20__factory";
export { IERC20Metadata__factory } from "./factories/IERC20Metadata__factory";
export { IERC20__factory } from "./factories/IERC20__factory";
export { ERC721__factory } from "./factories/ERC721__factory";
export { ERC721Enumerable__factory } from "./factories/ERC721Enumerable__factory";
export { IERC721Enumerable__factory } from "./factories/IERC721Enumerable__factory";
export { IERC721Metadata__factory } from "./factories/IERC721Metadata__factory";
export { IERC721__factory } from "./factories/IERC721__factory";
export { IERC721Receiver__factory } from "./factories/IERC721Receiver__factory";
export { ERC165__factory } from "./factories/ERC165__factory";
export { IERC165__factory } from "./factories/IERC165__factory";
export { AmethystDAO__factory } from "./factories/AmethystDAO__factory";
export { AmethystFactory__factory } from "./factories/AmethystFactory__factory";
export { IAmethystDAO__factory } from "./factories/IAmethystDAO__factory";
export { IAmethystFactory__factory } from "./factories/IAmethystFactory__factory";
export { IAmethystRoleManagement__factory } from "./factories/IAmethystRoleManagement__factory";
export { IRemixNFT__factory } from "./factories/IRemixNFT__factory";
export { ProxyRegistry__factory } from "./factories/ProxyRegistry__factory";
export { RemixNFT__factory } from "./factories/RemixNFT__factory";
export { BUSDTEST__factory } from "./factories/BUSDTEST__factory";
export { ERC721Impl__factory } from "./factories/ERC721Impl__factory";
export { AmethystRoleManagementImpl__factory } from "./factories/AmethystRoleManagementImpl__factory";

@@ -13,4 +13,7 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.AmethystRoleManagement__factory = exports.AmethystRoleManagementProvider = void 0;
exports.RemixNFTProvider = exports.AmethystDAOProvider = exports.AmethystFactoryProvider = exports.AmethystRoleManagementProvider = void 0;
const EtherAmethystRoleManagementClient_1 = require("./client/EtherAmethystRoleManagementClient");
const EtherAmethystFactoryClient_1 = require("./client/EtherAmethystFactoryClient");
const EtherAmethystDAOClient_1 = require("./client/EtherAmethystDAOClient");
const EtherRemixNFTClient_1 = require("./client/EtherRemixNFTClient");
function AmethystRoleManagementProvider(mock = false) {

@@ -25,6 +28,31 @@ if (mock) {

exports.AmethystRoleManagementProvider = AmethystRoleManagementProvider;
function AmethystFactoryProvider(mock = false) {
if (mock) {
throw "Mock version deprecated";
}
else {
return new EtherAmethystFactoryClient_1.EtherAmethystFactoryClient();
}
}
exports.AmethystFactoryProvider = AmethystFactoryProvider;
function AmethystDAOProvider(mock = false) {
if (mock) {
throw "Mock version deprecated";
}
else {
return new EtherAmethystDAOClient_1.EtherAmethystDAOClient();
}
}
exports.AmethystDAOProvider = AmethystDAOProvider;
function RemixNFTProvider(mock = false) {
if (mock) {
throw "Mock version deprecated";
}
else {
return new EtherRemixNFTClient_1.EtherRemixNFTClient();
}
}
exports.RemixNFTProvider = RemixNFTProvider;
__exportStar(require("./model"), exports);
var typechain_1 = require("../../contracts/typechain");
Object.defineProperty(exports, "AmethystRoleManagement__factory", { enumerable: true, get: function () { return typechain_1.AmethystRoleManagementImpl__factory; } });
__exportStar(require("./config"), exports);
//# sourceMappingURL=index.js.map
{
"name": "@white-matrix/amethyst-sdk",
"version": "0.0.1",
"version": "0.0.2",
"main": "dist/sdk/src/index.js",

@@ -5,0 +5,0 @@ "types": "dist/sdk/src/index.d.ts",

@@ -1,1 +0,429 @@

# Solidity SDK Seed
# @white-matrix/amethyst-sdk
```javascript
export interface AmethystDAOClient {
connectProvider(address: string, provider: Provider): Promise<AmethystDAOClient>;
connectSigner(signer: Signer): AmethystDAOClient;
setWaitConfirmations(num: number): void;
/* ================ VIEWS ================ */
/**
* 获取所有account地址
*
* @param {CallOverrides} [config]
* @return {Promise<Array<string>>} // 所有account地址数组
* @memberof AmethystDAOClient
*/
accounts(config?: CallOverrides): Promise<Array<string>>;
/**
* 获取account的Share权重
*
* @param {string} account // 需要查询的account地址
* @param {CallOverrides} [config]
* @return {Promise<BigNumber>} // account的Share权重
* @memberof AmethystDAOClient
*/
accountShare(account: string, config?: CallOverrides): Promise<BigNumber>;
/**
* 获取proposalId
*
* @param {Array<string>} targets // proposal执行call的目标地址的数组
* @param {Array<BigNumber>} values // proposal向目标地址转账的eth数量的数组
* @param {BytesLike[]} calldatas // proposal执行calldata的数组
* @param {BytesLike} descriptionHash // description的hash值
* @param {CallOverrides} [config]
* @return {Promise<BigNumber>} // proposal的hash值
* @memberof AmethystDAOClient
*/
hashProposal(
targets: Array<string>,
values: Array<BigNumber>,
calldatas: BytesLike[],
descriptionHash: BytesLike,
config?: CallOverrides
): Promise<BigNumber>;
/**
* 获取proposal状态
*
* @param {BigNumber} proposalId // proposal的hash值
* @param {CallOverrides} [config]
* @return {Promise<number>} // proposal的状态值
* @memberof AmethystDAOClient
*/
state(proposalId: BigNumber, config?: CallOverrides): Promise<number>;
/**
* 获取proposal开始时间
*
* @param {BigNumber} proposalId // proposal的hash值
* @param {CallOverrides} [config]
* @return {Promise<BigNumber>} // proposal的开始时间
* @memberof AmethystDAOClient
*/
proposalSnapshot(proposalId: BigNumber, config?: CallOverrides): Promise<BigNumber>;
/**
* 获取proposal截止时间
*
* @param {BigNumber} proposalId // proposal的hash值
* @param {CallOverrides} [config]
* @return {Promise<BigNumber>} // proposal的截止时间
* @memberof AmethystDAOClient
*/
proposalDeadline(proposalId: BigNumber, config?: CallOverrides): Promise<BigNumber>;
/**
* 投票延时
*
* @param {CallOverrides} [config]
* @return {Promise<BigNumber>} // 从发起提案到投票开始的时间
* @memberof AmethystDAOClient
*/
votingDelay(config?: CallOverrides): Promise<BigNumber>;
/**
* 投票时间
*
* @param {CallOverrides} [config]
* @return {Promise<BigNumber>} // 从投票开始到投票结束的时间
* @memberof AmethystDAOClient
*/
votingPeriod(config?: CallOverrides): Promise<BigNumber>;
/**
* proposal可执行的最少投票数
*
* @param {CallOverrides} [config]
* @return {Promise<BigNumber>} // proposal可执行的最少投票数(支持+弃权)
* @memberof AmethystDAOClient
*/
quorum(config?: CallOverrides): Promise<BigNumber>;
/**
* 获取account票数
*
* @param {string} account // account地址
* @param {CallOverrides} [config]
* @return {Promise<BigNumber>} // account票数
* @memberof AmethystDAOClient
*/
getVotes(account: string, config?: CallOverrides): Promise<BigNumber>;
/**
* 查询account是否已经向proposal投票
*
* @param {BigNumber} proposalId // proposal的hash值
* @param {string} account // account地址
* @param {CallOverrides} [config]
* @return {Promise<boolean>} // 是否已经投票
* @memberof AmethystDAOClient
*/
hasVoted(proposalId: BigNumber, account: string, config?: CallOverrides): Promise<boolean>;
/* ================ TRANSACTIONS ================ */
/**
* 提出proposal
*
* @param {Array<string>} targets // proposal执行call的目标地址的数组
* @param {Array<BigNumber>} values // proposal向目标地址转账的eth数量的数组
* @param {BytesLike[]} calldatas // proposal执行calldata的数组
* @param {string} description // proposal说明
* @param {PayableOverrides} [config]
* @return {Promise<TransactionEvent>} // 交易事件
* @memberof AmethystDAOClient
*/
propose(
targets: Array<string>,
values: Array<BigNumber>,
calldatas: BytesLike[],
description: string,
executeTimeLock: BigNumber,
config?: PayableOverrides
): Promise<TransactionEvent>;
/**
* 执行proposal
*
* @param {Array<string>} targets // proposal执行call的目标地址的数组
* @param {Array<BigNumber>} values // proposal向目标地址转账的eth数量的数组
* @param {BytesLike[]} calldatas// proposal执行calldata的数组
* @param {BytesLike} descriptionHash // description的hash值
* @param {PayableOverrides} [config]
* @return {Promise<TransactionEvent>} // 交易事件
* @memberof AmethystDAOClient
*/
execute(
targets: Array<string>,
values: Array<BigNumber>,
calldatas: BytesLike[],
descriptionHash: BytesLike,
config?: PayableOverrides
): Promise<TransactionEvent>;
/**
* 向proposal投票并写原因
*
* @param {BigNumber} proposalId // proposal的hash值
* @param {number} support // 支持类型
* @param {string} reason // 原因
* @param {PayableOverrides} [config]
* @return {Promise<TransactionEvent>} // 交易事件
* @memberof AmethystDAOClient
*/
castVoteWithReason(
proposalId: BigNumber,
support: number,
reason: string,
config?: PayableOverrides
): Promise<TransactionEvent>;
}
export interface AmethystFactoryClient {
connectProvider(address: string, provider: Provider): Promise<AmethystFactoryClient>;
connectSigner(signer: Signer): AmethystFactoryClient;
setWaitConfirmations(num: number): void;
/* ================ TRANSACTIONS ================ */
/**
* 创建AmethystDAO
*
* @param {Array<string>} initAccounts // account数组
* @param {Array<number>} initShares // account对应的share权重数组
* @param {number} initQuorum // proposal可执行的最少投票数
* @param {number} initVotingDelay // 投票延时
* @param {number} initVotingPeriod // 投票时间
* @param {PayableOverrides} [config]
* @return {Promise<CreateAmethystDAOEvent>} // 交易哈希和amethystDAO地址
* @memberof AmethystFactoryClient
*/
createAmethystDAO(
initAccounts: Array<string>,
initShares: Array<number>,
initQuorum: number,
initVotingDelay: number,
initVotingPeriod: number,
config?: PayableOverrides
): Promise<AmethystDAOCreatedEvent>;
}
export interface AmethystRoleManagementClient {
connectProvider(address: string, provider: Provider): Promise<AmethystRoleManagementClient>;
connectSigner(signer: Signer): AmethystRoleManagementClient;
setWaitConfirmations(num: number): void;
/*======== VIEWS ======*/
/**
* 检查person是否有此AmethystRole
*
* @param {string} person // person地址
* @param {string} role // person角色
* @param {CallOverrides} [config]
* @return {Promise<boolean>} // 是否拥有该角色
* @memberof AmethystRoleManagementClient
*/
hasAmethystRole(person: string, role: string, config?: CallOverrides): Promise<boolean>;
/* ================ TRANSACTIONS ================ */
/**
* 设置AmethystRole
*
* @param {string} person // person地址
* @param {string} role // person角色
* @param {boolean} enable // 是否拥有该角色
* @param {number} timestamp // 时间戳
* @param {string} signature // 签名
* @param {PayableOverrides} [config]
* @return {Promise<TransactionEvent>} // 交易事件
* @memberof AmethystRoleManagementClient
*/
setAmethystRole(
person: string,
role: string,
enable: boolean,
timestamp: number,
signature: string,
config?: PayableOverrides
): Promise<TransactionEvent>;
/*======== UTILS ======*/
/**
* 使用私钥对设置AmethystRole的信息进行签名
*
* @param {string} privateKey // 私钥
* @param {string} person // person地址
* @param {string} role // person角色
* @param {boolean} enable // 是否拥有该角色
* @param {number} timestamp // 时间戳
* @return {Promise<string>} // 签名
* @memberof AmethystRoleManagementClient
*/
signSetAmethystRoleMessage(
privateKey: string,
person: string,
role: string,
enable: boolean,
timestamp: number
): Promise<string>;
}
export interface ERC721Client {
connectProvider(address: string, provider: Provider): Promise<ERC721Client>;
connectSigner(signer: Signer): ERC721Client;
setWaitConfirmations(num: number): void;
/* ================ VIEWS ================ */
/**
* 获取账户NFT余额
*
* @param {string} owner NFT所有者
* @param {CallOverrides} [config]
* @return {Promise<BigNumber>} 返回NFT个数
* @memberof ERC721Client
*/
balanceOf(owner: string, config?: CallOverrides): Promise<BigNumber>;
/**
* 获取NFT所有者
*
* @param {BigNumber} tokenId NFT的tokenId
* @param {CallOverrides} [config]
* @return {Promise<string>} 返回所有者地址
* @memberof ERC721Client
*/
ownerOf(tokenId: BigNumber, config?: CallOverrides): Promise<string>;
/**
* 获取NFT名称
*
* @param {CallOverrides} [config]
* @return {Promise<string>} 返回NFT名称
* @memberof ERC721Client
*/
name(config?: CallOverrides): Promise<string>;
/**
* 获取NFT标识符
*
* @param {CallOverrides} [config]
* @return {Promise<string>} 返回NFT标识符
* @memberof ERC721Client
*/
symbol(config?: CallOverrides): Promise<string>;
/**
* 获取NFT的metadata资源的URI地址
*
* @param {BigNumber} tokenId NFT的tokenId
* @param {CallOverrides} [config]
* @return {Promise<string>} 返回URI地址
* @memberof ERC721Client
*/
tokenURI(tokenId: BigNumber, config?: CallOverrides): Promise<string>;
/* ================ TRANSACTIONS ================ */
/**
* 转移NFT
*
* @param {string} from 转出者地址
* @param {string} to 转入者地址
* @param {BigNumber} tokenId NFT的tokenId
* @param {PayableOverrides} [config]
* @return {Promise<TransactionEvent>} 返回交易hash
* @memberof ERC721Client
*/
transferFrom(from: string, to: string, tokenId: BigNumber, config?: PayableOverrides): Promise<TransactionEvent>;
}
export interface RemixNFTClient extends ERC721Client {
connectProvider(address: string, provider: Provider): Promise<RemixNFTClient>;
connectSigner(signer: Signer): RemixNFTClient;
setWaitConfirmations(num: number): void;
/* ================ VIEWS ================ */
/**
* 获取NFT token的URI地址
*
* @param {BigNumber} tokenId NFT的tokenId
* @param {CallOverrides} [config]
* @return {Promise<string>} 返回URI地址
* @memberof RemixNFTClient
*/
tokenURI(tokenId: BigNumber, config?: CallOverrides): Promise<string>;
/**
* 获取NFT token的type
*
* @param {BigNumber} tokenId NFT的tokenId
* @param {CallOverrides} [config]
* @return {Promise<BigNumber>} 返回tokenType
* @memberof RemixNFTClient
*/
tokenType(tokenId: BigNumber, config?: CallOverrides): Promise<BigNumber>;
/* ================ TRANSACTIONS ================ */
/**
* 购买NFT
*
* @param {string} account 购买地址
* @param {Array<number>} tokenTypeArr tokenType数组
* @param {BigNumber} price 购买价格
* @param {number} timestamp 购买时间
* @param {string} signature 签名
* @param {PayableOverrides} [config]
* @return {Promise<RemixNFTClaimedEvent>}
* @memberof RemixNFTClient
*/
buy(
account: string,
tokenTypeArr: Array<number>,
price: BigNumber,
timestamp: number,
signature: string,
config?: PayableOverrides
): Promise<RemixNFTClaimedEvent>;
/* ================ UTILS ================ */
/**
* 购买NFT签名
*
* @param {string} privateKey 签名私钥
* @param {string} account 购买地址
* @param {Array<number>} tokenTypeArr tokenType数组
* @param {BigNumber} price 购买价格
* @param {number} timestamp 购买时间
* @return {Promise<string>} 返回签名
* @memberof RemixNFTClient
*/
signBuyMessage(
privateKey: string,
account: string,
tokenTypeArr: Array<number>,
price: BigNumber,
timestamp: number
): Promise<string>;
}
```

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc