diff --git a/package-lock.json b/package-lock.json index 7cd25cec8..32337406b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11985,26 +11985,16 @@ } }, "ethereumjs-util": { - "version": "7.0.8", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.0.8.tgz", - "integrity": "sha512-JJt7tDpCAmDPw/sGoFYeq0guOVqT3pTE9xlEbBmc/nlCij3JRCoS2c96SQ6kXVHOT3xWUNLDm5QCJLQaUnVAtQ==", + "version": "7.0.9", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.0.9.tgz", + "integrity": "sha512-cRqvYYKJoitq6vMKMf8pXeVwvTrX+dRD0JwHaYqm8jvogK14tqIoCWH/KUHcRwnVxVXEYF/o6pup5jRG4V0xzg==", "requires": { - "@types/bn.js": "^4.11.3", + "@types/bn.js": "^5.1.0", "bn.js": "^5.1.2", "create-hash": "^1.1.2", "ethereum-cryptography": "^0.1.3", "ethjs-util": "0.1.6", "rlp": "^2.2.4" - }, - "dependencies": { - "@types/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", - "requires": { - "@types/node": "*" - } - } } }, "ethers": { diff --git a/package.json b/package.json index 8e47fca84..77e31bbdc 100644 --- a/package.json +++ b/package.json @@ -5,8 +5,7 @@ "main": "index.js", "scripts": { "test": "lerna run test", - "test-integration": "mocha -r ts-node/register tests/integration/*.test.ts", - "test-rpc": "run-with-testrpc -m \"candy maple cake sugar pudding cream honey rich smooth crumble sweet treat\" --port 8544 --accounts 20 --networkId=9 --gasLimit=10000000 \"lerna run test && npm run test-integration\" ", + "test-rpc": "run-with-testrpc -m \"candy maple cake sugar pudding cream honey rich smooth crumble sweet treat\" --port 8544 --accounts 20 --networkId=9 --gasLimit=10000000 \"lerna run test\" ", "setup": "lerna bootstrap --hoist --no-ci", "build": "rm -rf build docs packages/*/dist && lerna run compile", "compile": "lerna run compile", diff --git a/packages/did-ethr-resolver/src/implementations/index.ts b/packages/did-ethr-resolver/src/implementations/index.ts index c3524ad5e..beec385c0 100644 --- a/packages/did-ethr-resolver/src/implementations/index.ts +++ b/packages/did-ethr-resolver/src/implementations/index.ts @@ -1,3 +1,2 @@ export { default as Resolver } from './resolver'; export * from './operator'; -export * from './proxyOperator'; diff --git a/packages/did-ethr-resolver/src/implementations/proxyOperator.ts b/packages/did-ethr-resolver/src/implementations/proxyOperator.ts deleted file mode 100644 index a788498db..000000000 --- a/packages/did-ethr-resolver/src/implementations/proxyOperator.ts +++ /dev/null @@ -1,202 +0,0 @@ -/* eslint-disable no-await-in-loop,no-restricted-syntax */ -import { Contract, Event, utils } from 'ethers'; -import { - DIDAttribute, - IUpdateData, - PubKeyType, - IAuthentication, - IPublicKey, - RegistrySettings, - IdentityOwner, -} from '@ew-did-registry/did-resolver-interface'; -import proxyBuild from '@ew-did-registry/proxyidentity/build/contracts/ProxyIdentity.json'; -import { - ethrReg, -} from '../constants'; -import { Operator } from './operator'; - -const { BigNumber, Interface, formatBytes32String } = utils; - -const { PublicKey, ServicePoint } = DIDAttribute; - -export class ProxyOperator extends Operator { - private proxy: Contract; - - private registry: Contract; - - /** - * - * @param owner - Signer connected to provider - * @param settings - Settings to establish connection with Ethereum DID registry - * @param proxy {string} - address of contract which proxies the identity - */ - constructor(owner: IdentityOwner, settings: RegistrySettings, proxy: string) { - super(owner, settings); - this.proxy = new Contract(proxy, proxyBuild.abi, owner); - this.registry = new Contract(this.settings.address, this.settings.abi, owner); - } - - /** - * Revokes authentication methods, public keys and delegates from DID document - * - * @example - * ```typescript - *import { Operator } from '@ew-did-registry/did-resolver'; - *import { Keys } from '@ew-did-registry/keys'; - * - * const ownerKeys = new Keys(); - * const operator = new Operator(ownerKeys); - * const updated = await operator.deactivate(did); - * ``` - * - * @param { string } did - * @returns Promise - */ - async deactivate(did: string): Promise { - const document = await this.read(did); - try { - await this._revokeAuthentications( - did, - document.authentication as IAuthentication[], - document.publicKey as IPublicKey[], - ); - await this._revokePublicKeys(did, document.publicKey); - await this._revokeServices(did, document.service); - } catch (e) { - throw new Error(`Can't deactivate document: ${e.message}`); - } - } - - /** - * Revokes the delegate from DID Document - * Returns true on success - * - * @param { string } identityDID - did of identity of interest - * @param { PubKeyType } delegateType - type of delegate of interest - * @param { string } delegateDID - did of delegate of interest - * @returns Promise - */ - async revokeDelegate( - identityDID: string, - delegateType: PubKeyType, - delegateDID: string, - ): Promise { - const bytesType = formatBytes32String(delegateType); - const [, , identityAddress] = identityDID.split(':'); - const [, , delegateAddress] = delegateDID.split(':'); - const params = [identityAddress, bytesType, delegateAddress]; - - try { - const data = new Interface(ethrReg.abi).functions.revokeDelegate.encode(params); - await this.proxy - .sendTransaction(data, this.settings.address, 0) - .then((tx: any) => tx.wait()); - } catch (error) { - throw new Error(error); - } - return true; - } - - /** - * Revokes the attribute from DID Document - * Returns true on success - * - * @param { string } identityDID - did of identity of interest - * @param { DIDAttribute } attributeType - type of attribute to revoke - * @param { IUpdateData } updateData - data required to identify the correct attribute to revoke - * @returns Promise - */ - async revokeAttribute( - identityDID: string, - attributeType: DIDAttribute, - updateData: IUpdateData, - ): Promise { - const [, , identityAddress] = identityDID.split(':'); - const attribute = this._composeAttributeName(attributeType, updateData); - const bytesType = formatBytes32String(attribute); - const bytesValue = this._hexify(updateData.value); - const params = [identityAddress, bytesType, bytesValue]; - - try { - const data = new Interface(ethrReg.abi).functions.revokeAttribute.encode(params); - await this.proxy - .sendTransaction(data, this.settings.address, 0) - .then((tx: any) => tx.wait()); - } catch (error) { - throw new Error(error); - } - return true; - } - - /** - * Changes the owner of particular decentralised identity - * Returns true on success - * - * @param { string } identityDID - did of current identity owner - * @param { string } newOwnerDid - did of new owner that will be set on success - * @returns Promise - */ - async changeOwner(identityDID: string, newOwnerDid: string): Promise { - const [, , identityAddress] = identityDID.split(':'); - const [, , delegateAddress] = newOwnerDid.split(':'); - const params = [identityAddress, delegateAddress]; - try { - const data = new Interface(ethrReg.abi).functions.changeOwner.encode(params); - await this.proxy - .sendTransaction(data, this.settings.address, 0) - .then((tx: any) => tx.wait()); - } catch (error) { - throw new Error(error); - } - return true; - } - - /** - * Function to send transactions to using proxy - * - * @param method - * @param did - * @param didAttribute - * @param updateData - * @param validity - * @param overrides TODO: either use or remove - * @protected - */ - protected async _sendTransaction( - method: Function, - did: string, - didAttribute: DIDAttribute, - updateData: IUpdateData, - validity?: number, - overrides?: { - nonce?: number; - }, - ): Promise { - const identity = this._parseDid(did); - const attributeName = this._composeAttributeName(didAttribute, updateData); - const bytesOfAttribute = formatBytes32String(attributeName); - const bytesOfValue = this._hexify( - didAttribute === PublicKey || didAttribute === ServicePoint - ? updateData.value - : updateData.delegate, - ); - const validityValue = validity !== undefined ? validity.toString() : ''; - const params = [identity, bytesOfAttribute, bytesOfValue, validityValue]; - let methodName: string; - if (didAttribute === DIDAttribute.PublicKey || didAttribute === DIDAttribute.ServicePoint) { - methodName = 'setAttribute'; - } else { - methodName = 'addDelegate'; - } - const data = new Interface(ethrReg.abi).functions[methodName].encode(params); - let event: Event; - try { - const tx = await this.proxy.sendTransaction(data, this.settings.address, 0); - const receipt = await tx.wait(); - event = receipt.events.find((e: Event) => e.event === 'TransactionSent'); - return new BigNumber(event.blockNumber); - } catch (e) { - throw new Error(`Can't send transaction: ${e.message}`); - } - } -} diff --git a/packages/did-ethr-resolver/test/did-proxy-operator.test.ts b/packages/did-ethr-resolver/test/did-proxy-operator.test.ts deleted file mode 100644 index d039b5495..000000000 --- a/packages/did-ethr-resolver/test/did-proxy-operator.test.ts +++ /dev/null @@ -1,308 +0,0 @@ -// eslint-disable-next-line import/no-extraneous-dependencies -import { assert, expect } from 'chai'; -import { Keys } from '@ew-did-registry/keys'; -import { - Contract, ContractFactory, Wallet, providers, -} from 'ethers'; -import { - Algorithms, - DIDAttribute, - Encoding, - IAuthentication, - IPublicKey, - IUpdateData, - PubKeyType, -} from '@ew-did-registry/did-resolver-interface'; -import { proxyBuild, multiproxyBuild } from '@ew-did-registry/proxyidentity'; -import { - ethrReg, ProxyOperator, signerFromKeys, walletPubKey, withProvider, withKey, -} from '../src'; -import { deployRegistry } from '../../../tests/init-ganache'; - -const { JsonRpcProvider } = providers; - -const { abi: proxyAbi, bytecode: proxyBytecode } = proxyBuild; -const { abi: abi1155, bytecode: bytecode1155 } = multiproxyBuild; -const { abi: abi1056 } = ethrReg; -const { fail } = assert; -const { Authenticate, PublicKey } = DIDAttribute; -const { Secp256k1, ED25519 } = Algorithms; -const { VerificationKey2018, SignatureAuthentication2018 } = PubKeyType; -const { HEX } = Encoding; - -describe('[DID-PROXY-OPERATOR]', function () { - this.timeout(0); - const keys = new Keys(); - let operator: ProxyOperator; - const validity = 10 * 60 * 1000; - let proxy: Contract; - let erc1056: Contract; - let erc1155: Contract; - const provider = new JsonRpcProvider('http://localhost:8544'); - const creator = new Wallet(keys.privateKey, provider); - const proxyFactory = new ContractFactory(proxyAbi, proxyBytecode, creator); - const erc1155Factory = new ContractFactory(abi1155, bytecode1155, creator); - let identity: string; - let did: string; - const serial = '123'; - let registry: string; - - before(async () => { - registry = await deployRegistry([keys.getAddress()]); - erc1056 = new Contract(registry, abi1056, creator); - erc1155 = await (await erc1155Factory.deploy()).deployed(); - proxy = await proxyFactory.deploy(erc1056.address, erc1155.address, serial, creator.address); - identity = proxy.address; - did = `did:ethr:${identity}`; - operator = new ProxyOperator( - withKey(withProvider(signerFromKeys(keys), provider), walletPubKey), - { address: registry }, - proxy.address, - ); - }); - - it('updating an attribute without providing validity should update the document with maximum validity', async () => { - const attribute = PublicKey; - const updateData: IUpdateData = { - algo: Secp256k1, - type: VerificationKey2018, - encoding: HEX, - value: { publicKey: `0x${new Keys().publicKey}`, tag: 'key-1' }, - }; - await operator.update(`did:ethr:${identity}`, attribute, updateData); - const document = await operator.read(`did:ethr:${identity}`); - expect(document.id).equal(`did:ethr:${identity}`); - const publicKey = document.publicKey.find( - (pk) => pk.publicKeyHex === updateData.value.publicKey, - ); - expect(publicKey).is.not.undefined; - }); - - it('setting public key attribute should update public keys of DID document', async () => { - const attribute = PublicKey; - const updateData: IUpdateData = { - algo: Secp256k1, - type: VerificationKey2018, - encoding: HEX, - value: { publicKey: `0x${new Keys().publicKey}`, tag: 'key-2' }, - }; - await operator.update(`did:ethr:${identity}`, attribute, updateData, validity); - const document = await operator.read(`did:ethr:${identity}`); - expect(document.id).equal(`did:ethr:${identity}`); - const publicKey = document.publicKey.find( - (pk) => pk.publicKeyHex === updateData.value.publicKey, - ); - expect(publicKey).is.not.undefined; - }); - - it('adding a delegate with a delegation type of VerificationKey should add a public key', - async () => { - const attribute = Authenticate; - const delegate = new Wallet(new Keys().privateKey); - const updateData: IUpdateData = { - algo: ED25519, - type: VerificationKey2018, - encoding: HEX, - delegate: delegate.address, - }; - await operator.update(did, attribute, updateData, validity); - const document = await operator.read(did); - expect(document.id).equal(did); - const authMethod = document.publicKey.find( - (pk: IPublicKey) => pk.id === `${did}#delegate-${updateData.type}-${updateData.delegate}`, - ); - expect(authMethod).include({ - type: 'Secp256k1VerificationKey2018', - controller: did, - ethereumAddress: updateData.delegate, - }); - }); - - it(`Adding a delegate with a delegation type of SignatureAuthentication should add a public - key and reference on it in authentication section of the DID document`, async () => { - const attribute = Authenticate; - const delegate = new Wallet(new Keys().privateKey); - const updateData: IUpdateData = { - algo: ED25519, - type: SignatureAuthentication2018, - encoding: HEX, - delegate: delegate.address, - }; - await operator.update(did, attribute, updateData, validity); - const document = await operator.read(did); - expect(document.id).equal(did); - const publicKeyId = `${did}#delegate-${updateData.type}-${updateData.delegate}`; - const auth = (document.authentication as IAuthentication[]).find( - (a) => a.publicKey === publicKeyId, - ); - expect(auth).not.undefined; - const publicKey = document.publicKey.find( - (pk: IPublicKey) => pk.id === publicKeyId, - ); - expect(publicKey).include({ - type: 'Secp256k1VerificationKey2018', - controller: did, - ethereumAddress: updateData.delegate, - }); - }); - - it('service endpoint update should add an entry in service section of the DID document', async () => { - const attribute = DIDAttribute.ServicePoint; - const endpoint = 'https://test.algo.com'; - const serviceId = 'UserClaimURL3'; - const updateData: IUpdateData = { - type: attribute, - value: { - id: `${did}#service-${serviceId}`, - type: 'ClaimStore', - serviceEndpoint: endpoint, - }, - }; - await operator.update(did, attribute, updateData, validity); - const document = await operator.read(did); - expect(document.id).equal(did); - expect(document.service.find( - (sv) => sv.serviceEndpoint === endpoint, - )).not.undefined; - }); - - it('setting attribute on invalid did should throw an error', async () => { - const invalidDid = `did:${identity}`; - const attribute = PublicKey; - const updateData: IUpdateData = { - algo: ED25519, - type: VerificationKey2018, - encoding: HEX, - value: { publicKey: `0x${new Keys().publicKey}`, tag: 'key-3' }, - }; - try { - await operator.update(invalidDid, attribute, updateData, validity); - fail('Error was not thrown'); - } catch (e) { - expect(e.message).to.equal('Invalid DID'); - } - }); - - it('setting attribute with negative validity should throw an error', async () => { - const attribute = PublicKey; - const updateData: IUpdateData = { - algo: ED25519, - type: VerificationKey2018, - encoding: HEX, - value: { publicKey: `0x${new Keys().publicKey}`, tag: 'key-4' }, - }; - try { - await operator.update(did, attribute, updateData, -100); - fail( - 'Error was not thrown', - ); - } catch (e) { - expect(e.message).to.equal('Validity must be non negative value'); - } - }); - - it('deactivating of document should resolve with true', async () => { - // add public key - let attribute = PublicKey; - let document; - let updateData: IUpdateData = { - algo: ED25519, - type: VerificationKey2018, - encoding: HEX, - value: { publicKey: `0x${new Keys().publicKey}`, tag: 'key-5' }, - }; - await operator.update(did, attribute, updateData, validity); - // add authentication method - attribute = Authenticate; - const delegate = new Wallet(new Keys().privateKey); - updateData = { - algo: ED25519, - type: SignatureAuthentication2018, - encoding: HEX, - delegate: delegate.address, - }; - document = await operator.read(did); - await operator.update(did, attribute, updateData, validity); - // add service endpoint - attribute = DIDAttribute.ServicePoint; - const serviceId = 'UserClaimURL4'; - const endpoint = 'https://example.com'; - updateData = { - type: attribute, - value: { - id: `${did}#service-${serviceId}`, - type: 'ClaimStore', - serviceEndpoint: endpoint, - }, - }; - document = await operator.read(did); - await operator.update(did, attribute, updateData, validity); - document = await operator.read(did); - await operator.deactivate(did); - document = await operator.read(did); - expect(document.service).to.be.empty; - expect(document.publicKey).to.be.empty; - expect(document.authentication.length).equal(1); - }); - - it('delegate update and revocation makes no changes to the document', async () => { - const attribute = Authenticate; - const keysDelegate = new Keys(); - const delegate = new Wallet(keysDelegate.privateKey); - const updateData: IUpdateData = { - algo: ED25519, - type: VerificationKey2018, - encoding: HEX, - delegate: delegate.address, - }; - await operator.update(did, attribute, updateData, validity); - let document = await operator.read(did); - expect(document.id).equal(did); - let authMethod = document.publicKey.find( - (pk) => pk.id === `${did}#delegate-${updateData.type}-${updateData.delegate}`, - ); - expect(authMethod).include({ - type: 'Secp256k1VerificationKey2018', - controller: did, - ethereumAddress: updateData.delegate, - }); - const delegateDid = `did:ethr:${delegate.address}`; - const revoked = await operator.revokeDelegate(did, VerificationKey2018, delegateDid); - expect(revoked).to.be.true; - document = await operator.read(did); - authMethod = document.publicKey.find( - (pk) => pk.id === `${did}#delegate-${updateData.type}-${updateData.delegate}`, - ); - expect(authMethod).to.be.undefined; - }); - - it('attribute update and revocation makes no changes to the document', async () => { - const attribute = PublicKey; - const updateData: IUpdateData = { - algo: ED25519, - type: VerificationKey2018, - encoding: HEX, - value: { publicKey: `0x${new Keys().publicKey}`, tag: 'key-6' }, - }; - await operator.update(`did:ethr:${identity}`, attribute, updateData, validity); - let document = await operator.read(`did:ethr:${identity}`); - expect(document.id).equal(`did:ethr:${identity}`); - let publicKey = document.publicKey.find( - (pk) => pk.publicKeyHex === updateData.value, - ); - expect(publicKey).to.be.not.null; - const revoked = await operator.revokeAttribute(`did:ethr:${identity}`, attribute, updateData); - expect(revoked).to.be.true; - document = await operator.read(did); - publicKey = document.publicKey.find( - (pk) => pk.publicKeyHex === updateData.value, - ); - expect(publicKey).to.be.undefined; - }); - - it('owner change should lead to expected result', async () => { - const identityNewOwner = '0xe8Aa15Dd9DCf8C96cb7f75d095DE21c308D483F7'; - await operator.changeOwner(`did:ethr:${proxy.address}`, `did:ethr:${identityNewOwner}`); - expect(await erc1056.functions.owners(proxy.address)).to.be.eql(identityNewOwner); - }); -}); diff --git a/packages/proxyIdentity/build/contracts/Address.json b/packages/proxyIdentity/build/contracts/Address.json deleted file mode 100644 index 4cf7226bf..000000000 --- a/packages/proxyIdentity/build/contracts/Address.json +++ /dev/null @@ -1,769 +0,0 @@ -{ - "contractName": "Address", - "abi": [], - "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{},\"notice\":\"Utility library of inline functions on addresses\"}},\"settings\":{\"compilationTarget\":{\"multi-token-standard/contracts/utils/Address.sol\":\"Address\"},\"evmVersion\":\"constantinople\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"multi-token-standard/contracts/utils/Address.sol\":{\"keccak256\":\"0xc089dcd9159bf02993336e47f629e8e86dcd3086cf2278e9ea06145b4094be5f\",\"urls\":[\"bzz-raw://bf05b053fb01bda8c24854d5d5c652c3c46c411597d90692e0c146b02a5154a0\",\"dweb:/ipfs/QmP5madVNQjx9JHqkdx9R79MdZZgeQJFEWVW5iwRYBV4ny\"]}},\"version\":1}", - "bytecode": "0x60556023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a72315820ff001a57cdb352632992bcdf5e56e40ee231a7a268cba65a267d17e298e3485164736f6c63430005110032", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a72315820ff001a57cdb352632992bcdf5e56e40ee231a7a268cba65a267d17e298e3485164736f6c63430005110032", - "sourceMap": "87:856:20:-;;132:2:-1;166:7;155:9;146:7;137:37;255:7;249:14;246:1;241:23;235:4;232:33;222:2;;269:9;222:2;293:9;290:1;283:20;323:4;314:7;306:22;347:7;338;331:24", - "deployedSourceMap": "87:856:20:-;;;;;;;;", - "source": "pragma solidity ^0.5.16;\n\n\n/**\n * Utility library of inline functions on addresses\n */\nlibrary Address {\n\n // Default hash for EOA accounts returned by extcodehash\n bytes32 constant internal ACCOUNT_HASH = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;\n\n /**\n * Returns whether the target address is a contract\n * @dev This function will return false if invoked during the constructor of a contract.\n * @param _address address of the account to check\n * @return Whether the target address is a contract\n */\n function isContract(address _address) internal view returns (bool) {\n bytes32 codehash;\n\n // Currently there is no better way to check if there is a contract in an address\n // than to check the size of the code at that address or if it has a non-zero code hash or account hash\n assembly { codehash := extcodehash(_address) }\n return (codehash != 0x0 && codehash != ACCOUNT_HASH);\n }\n}", - "sourcePath": "multi-token-standard/contracts/utils/Address.sol", - "ast": { - "absolutePath": "multi-token-standard/contracts/utils/Address.sol", - "exportedSymbols": { - "Address": [ - 3698 - ] - }, - "id": 3699, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 3673, - "literals": [ - "solidity", - "^", - "0.5", - ".16" - ], - "nodeType": "PragmaDirective", - "src": "0:24:20" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": "Utility library of inline functions on addresses", - "fullyImplemented": true, - "id": 3698, - "linearizedBaseContracts": [ - 3698 - ], - "name": "Address", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 3676, - "name": "ACCOUNT_HASH", - "nodeType": "VariableDeclaration", - "scope": 3698, - "src": "167:107:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 3674, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "167:7:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307863356432343630313836663732333363393237653764623264636337303363306535303062363533636138323237336237626661643830343564383561343730", - "id": 3675, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "208:66:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_89477152217924674838424037953991966239322087453347756267410168184682657981552_by_1", - "typeString": "int_const 8947...(69 digits omitted)...1552" - }, - "value": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470" - }, - "visibility": "internal" - }, - { - "body": { - "id": 3696, - "nodeType": "Block", - "src": "610:331:20", - "statements": [ - { - "assignments": [ - 3684 - ], - "declarations": [ - { - "constant": false, - "id": 3684, - "name": "codehash", - "nodeType": "VariableDeclaration", - "scope": 3696, - "src": "616:16:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 3683, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "616:7:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3685, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "616:16:20" - }, - { - "externalReferences": [ - { - "codehash": { - "declaration": 3684, - "isOffset": false, - "isSlot": false, - "src": "844:8:20", - "valueSize": 1 - } - }, - { - "_address": { - "declaration": 3678, - "isOffset": false, - "isSlot": false, - "src": "868:8:20", - "valueSize": 1 - } - } - ], - "id": 3686, - "nodeType": "InlineAssembly", - "operations": "{\n codehash := extcodehash(_address)\n}", - "src": "833:46:20" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3693, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 3689, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3687, - "name": "codehash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3684, - "src": "892:8:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830", - "id": 3688, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "904:3:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x0" - }, - "src": "892:15:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 3692, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3690, - "name": "codehash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3684, - "src": "911:8:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 3691, - "name": "ACCOUNT_HASH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3676, - "src": "923:12:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "911:24:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "892:43:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 3694, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "891:45:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 3682, - "id": 3695, - "nodeType": "Return", - "src": "884:52:20" - } - ] - }, - "documentation": "Returns whether the target address is a contract\n@dev This function will return false if invoked during the constructor of a contract.\n@param _address address of the account to check\n@return Whether the target address is a contract", - "id": 3697, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isContract", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3679, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3678, - "name": "_address", - "nodeType": "VariableDeclaration", - "scope": 3697, - "src": "563:16:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3677, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "563:7:20", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "562:18:20" - }, - "returnParameters": { - "id": 3682, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3681, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3697, - "src": "604:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3680, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "604:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "603:6:20" - }, - "scope": 3698, - "src": "543:398:20", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 3699, - "src": "87:856:20" - } - ], - "src": "0:943:20" - }, - "legacyAST": { - "absolutePath": "multi-token-standard/contracts/utils/Address.sol", - "exportedSymbols": { - "Address": [ - 3698 - ] - }, - "id": 3699, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 3673, - "literals": [ - "solidity", - "^", - "0.5", - ".16" - ], - "nodeType": "PragmaDirective", - "src": "0:24:20" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": "Utility library of inline functions on addresses", - "fullyImplemented": true, - "id": 3698, - "linearizedBaseContracts": [ - 3698 - ], - "name": "Address", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": true, - "id": 3676, - "name": "ACCOUNT_HASH", - "nodeType": "VariableDeclaration", - "scope": 3698, - "src": "167:107:20", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 3674, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "167:7:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "307863356432343630313836663732333363393237653764623264636337303363306535303062363533636138323237336237626661643830343564383561343730", - "id": 3675, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "208:66:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_89477152217924674838424037953991966239322087453347756267410168184682657981552_by_1", - "typeString": "int_const 8947...(69 digits omitted)...1552" - }, - "value": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470" - }, - "visibility": "internal" - }, - { - "body": { - "id": 3696, - "nodeType": "Block", - "src": "610:331:20", - "statements": [ - { - "assignments": [ - 3684 - ], - "declarations": [ - { - "constant": false, - "id": 3684, - "name": "codehash", - "nodeType": "VariableDeclaration", - "scope": 3696, - "src": "616:16:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 3683, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "616:7:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3685, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "616:16:20" - }, - { - "externalReferences": [ - { - "codehash": { - "declaration": 3684, - "isOffset": false, - "isSlot": false, - "src": "844:8:20", - "valueSize": 1 - } - }, - { - "_address": { - "declaration": 3678, - "isOffset": false, - "isSlot": false, - "src": "868:8:20", - "valueSize": 1 - } - } - ], - "id": 3686, - "nodeType": "InlineAssembly", - "operations": "{\n codehash := extcodehash(_address)\n}", - "src": "833:46:20" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3693, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 3689, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3687, - "name": "codehash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3684, - "src": "892:8:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830", - "id": 3688, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "904:3:20", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x0" - }, - "src": "892:15:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "id": 3692, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3690, - "name": "codehash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3684, - "src": "911:8:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "id": 3691, - "name": "ACCOUNT_HASH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3676, - "src": "923:12:20", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "src": "911:24:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "892:43:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 3694, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "891:45:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 3682, - "id": 3695, - "nodeType": "Return", - "src": "884:52:20" - } - ] - }, - "documentation": "Returns whether the target address is a contract\n@dev This function will return false if invoked during the constructor of a contract.\n@param _address address of the account to check\n@return Whether the target address is a contract", - "id": 3697, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isContract", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3679, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3678, - "name": "_address", - "nodeType": "VariableDeclaration", - "scope": 3697, - "src": "563:16:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3677, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "563:7:20", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "562:18:20" - }, - "returnParameters": { - "id": 3682, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3681, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3697, - "src": "604:4:20", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3680, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "604:4:20", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "603:6:20" - }, - "scope": 3698, - "src": "543:398:20", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 3699, - "src": "87:856:20" - } - ], - "src": "0:943:20" - }, - "compiler": { - "name": "solc", - "version": "0.5.17+commit.d19bba13.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.16", - "updatedAt": "2020-11-17T15:15:49.638Z", - "devdoc": { - "methods": {} - }, - "userdoc": { - "methods": {}, - "notice": "Utility library of inline functions on addresses" - } -} \ No newline at end of file diff --git a/packages/proxyIdentity/build/contracts/Context.json b/packages/proxyIdentity/build/contracts/Context.json deleted file mode 100644 index 0efda00d8..000000000 --- a/packages/proxyIdentity/build/contracts/Context.json +++ /dev/null @@ -1,595 +0,0 @@ -{ - "contractName": "Context", - "abi": [ - { - "inputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/GSN/Context.sol\":\"Context\"},\"evmVersion\":\"constantinople\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/GSN/Context.sol\":{\"keccak256\":\"0x90a3995645af7562d84b9d69363ffa5ae7217714ab61e951bf7bc450f40e4061\",\"urls\":[\"bzz-raw://216ef9d6b614db4eb46970b4e84903f2534a45572dd30a79f0041f1a5830f436\",\"dweb:/ipfs/QmNPrJ4MWKUAWzKXpUqeyKRUfosaoANZAqXgvepdrCwZAG\"]}},\"version\":1}", - "bytecode": "0x", - "deployedBytecode": "0x", - "sourceMap": "", - "deployedSourceMap": "", - "source": "pragma solidity ^0.5.0;\n\n/*\n * @dev Provides information about the current execution context, including the\n * sender of the transaction and its data. While these are generally available\n * via msg.sender and msg.data, they should not be accessed in such a direct\n * manner, since when dealing with GSN meta-transactions the account sending and\n * paying for execution may not be the actual sender (as far as an application\n * is concerned).\n *\n * This contract is only required for intermediate, library-like contracts.\n */\ncontract Context {\n // Empty internal constructor, to prevent people from mistakenly deploying\n // an instance of this contract, which should be used via inheritance.\n constructor () internal { }\n // solhint-disable-previous-line no-empty-blocks\n\n function _msgSender() internal view returns (address payable) {\n return msg.sender;\n }\n\n function _msgData() internal view returns (bytes memory) {\n this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691\n return msg.data;\n }\n}\n", - "sourcePath": "@openzeppelin/contracts/GSN/Context.sol", - "ast": { - "absolutePath": "@openzeppelin/contracts/GSN/Context.sol", - "exportedSymbols": { - "Context": [ - 1938 - ] - }, - "id": 1939, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1913, - "literals": [ - "solidity", - "^", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:23:8" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 1938, - "linearizedBaseContracts": [ - 1938 - ], - "name": "Context", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 1916, - "nodeType": "Block", - "src": "726:3:8", - "statements": [] - }, - "documentation": null, - "id": 1917, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1914, - "nodeType": "ParameterList", - "parameters": [], - "src": "714:2:8" - }, - "returnParameters": { - "id": 1915, - "nodeType": "ParameterList", - "parameters": [], - "src": "726:0:8" - }, - "scope": 1938, - "src": "702:27:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 1925, - "nodeType": "Block", - "src": "850:34:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1922, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "867:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1923, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "867:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "functionReturnParameters": 1921, - "id": 1924, - "nodeType": "Return", - "src": "860:17:8" - } - ] - }, - "documentation": null, - "id": 1926, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_msgSender", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1918, - "nodeType": "ParameterList", - "parameters": [], - "src": "807:2:8" - }, - "returnParameters": { - "id": 1921, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1920, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1926, - "src": "833:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "typeName": { - "id": 1919, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "833:15:8", - "stateMutability": "payable", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "832:17:8" - }, - "scope": 1938, - "src": "788:96:8", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 1936, - "nodeType": "Block", - "src": "947:165:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1931, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3890, - "src": "957:4:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Context_$1938", - "typeString": "contract Context" - } - }, - "id": 1932, - "nodeType": "ExpressionStatement", - "src": "957:4:8" - }, - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1933, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "1097:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1934, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "data", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1097:8:8", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "functionReturnParameters": 1930, - "id": 1935, - "nodeType": "Return", - "src": "1090:15:8" - } - ] - }, - "documentation": null, - "id": 1937, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_msgData", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1927, - "nodeType": "ParameterList", - "parameters": [], - "src": "907:2:8" - }, - "returnParameters": { - "id": 1930, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1929, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1937, - "src": "933:12:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1928, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "933:5:8", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "932:14:8" - }, - "scope": 1938, - "src": "890:222:8", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 1939, - "src": "525:589:8" - } - ], - "src": "0:1115:8" - }, - "legacyAST": { - "absolutePath": "@openzeppelin/contracts/GSN/Context.sol", - "exportedSymbols": { - "Context": [ - 1938 - ] - }, - "id": 1939, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1913, - "literals": [ - "solidity", - "^", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:23:8" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 1938, - "linearizedBaseContracts": [ - 1938 - ], - "name": "Context", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 1916, - "nodeType": "Block", - "src": "726:3:8", - "statements": [] - }, - "documentation": null, - "id": 1917, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1914, - "nodeType": "ParameterList", - "parameters": [], - "src": "714:2:8" - }, - "returnParameters": { - "id": 1915, - "nodeType": "ParameterList", - "parameters": [], - "src": "726:0:8" - }, - "scope": 1938, - "src": "702:27:8", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 1925, - "nodeType": "Block", - "src": "850:34:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1922, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "867:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1923, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "867:10:8", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "functionReturnParameters": 1921, - "id": 1924, - "nodeType": "Return", - "src": "860:17:8" - } - ] - }, - "documentation": null, - "id": 1926, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_msgSender", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1918, - "nodeType": "ParameterList", - "parameters": [], - "src": "807:2:8" - }, - "returnParameters": { - "id": 1921, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1920, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1926, - "src": "833:15:8", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "typeName": { - "id": 1919, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "833:15:8", - "stateMutability": "payable", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "832:17:8" - }, - "scope": 1938, - "src": "788:96:8", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 1936, - "nodeType": "Block", - "src": "947:165:8", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1931, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3890, - "src": "957:4:8", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Context_$1938", - "typeString": "contract Context" - } - }, - "id": 1932, - "nodeType": "ExpressionStatement", - "src": "957:4:8" - }, - { - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1933, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "1097:3:8", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1934, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "data", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1097:8:8", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - "functionReturnParameters": 1930, - "id": 1935, - "nodeType": "Return", - "src": "1090:15:8" - } - ] - }, - "documentation": null, - "id": 1937, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_msgData", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1927, - "nodeType": "ParameterList", - "parameters": [], - "src": "907:2:8" - }, - "returnParameters": { - "id": 1930, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1929, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1937, - "src": "933:12:8", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1928, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "933:5:8", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "932:14:8" - }, - "scope": 1938, - "src": "890:222:8", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 1939, - "src": "525:589:8" - } - ], - "src": "0:1115:8" - }, - "compiler": { - "name": "solc", - "version": "0.5.17+commit.d19bba13.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.16", - "updatedAt": "2020-11-17T15:15:49.602Z", - "devdoc": { - "methods": {} - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/packages/proxyIdentity/build/contracts/ERC1155.json b/packages/proxyIdentity/build/contracts/ERC1155.json deleted file mode 100644 index 9e4c31e52..000000000 --- a/packages/proxyIdentity/build/contracts/ERC1155.json +++ /dev/null @@ -1,14585 +0,0 @@ -{ - "contractName": "ERC1155", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_operator", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "_approved", - "type": "bool" - } - ], - "name": "ApprovalForAll", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_operator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "_ids", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "_amounts", - "type": "uint256[]" - } - ], - "name": "TransferBatch", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_operator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "TransferSingle", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "_amount", - "type": "string" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "_id", - "type": "uint256" - } - ], - "name": "URI", - "type": "event" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "_ids", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "_amounts", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "safeBatchTransferFrom", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_operator", - "type": "address" - }, - { - "internalType": "bool", - "name": "_approved", - "type": "bool" - } - ], - "name": "setApprovalForAll", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_operator", - "type": "address" - } - ], - "name": "isApprovedForAll", - "outputs": [ - { - "internalType": "bool", - "name": "isOperator", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address[]", - "name": "_owners", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "_ids", - "type": "uint256[]" - } - ], - "name": "balanceOfBatch", - "outputs": [ - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes4", - "name": "_interfaceID", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"_ids\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"_amounts\",\"type\":\"uint256[]\"}],\"name\":\"TransferBatch\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"TransferSingle\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"_amount\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"}],\"name\":\"URI\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_owners\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_ids\",\"type\":\"uint256[]\"}],\"name\":\"balanceOfBatch\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isOperator\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"_ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_amounts\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"safeBatchTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"_interfaceID\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of Multi-Token Standard contract\",\"methods\":{\"balanceOf(address,uint256)\":{\"params\":{\"_id\":\"ID of the Token\",\"_owner\":\"The address of the token holder\"},\"return\":\"The _owner's balance of the Token type requested\"},\"balanceOfBatch(address[],uint256[])\":{\"params\":{\"_ids\":\"ID of the Tokens\",\"_owners\":\"The addresses of the token holders\"},\"return\":\"The _owner's balance of the Token types requested (i.e. balance for each (owner, id) pair)\"},\"isApprovedForAll(address,address)\":{\"params\":{\"_operator\":\"Address of authorized operator\",\"_owner\":\"The owner of the Tokens\"},\"return\":\"True if the operator is approved, false if not\"},\"safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)\":{\"params\":{\"_amounts\":\"Transfer amounts per token type\",\"_data\":\"Additional data with no specified format, sent in call to `_to`\",\"_from\":\"Source addresses\",\"_ids\":\"IDs of each token type\",\"_to\":\"Target addresses\"}},\"safeTransferFrom(address,address,uint256,uint256,bytes)\":{\"params\":{\"_amount\":\"Transfered amount\",\"_data\":\"Additional data with no specified format, sent in call to `_to`\",\"_from\":\"Source address\",\"_id\":\"ID of the token type\",\"_to\":\"Target address\"}},\"setApprovalForAll(address,bool)\":{\"params\":{\"_approved\":\"True if the operator is approved, false to revoke approval\",\"_operator\":\"Address to add to the set of authorized operators\"}},\"supportsInterface(bytes4)\":{\"params\":{\"_interfaceID\":\"The interface identifier, as specified in ERC-165\"},\"return\":\"`true` if the contract implements `_interfaceID` and\"}}},\"userdoc\":{\"methods\":{\"balanceOf(address,uint256)\":{\"notice\":\"Get the balance of an account's Tokens\"},\"balanceOfBatch(address[],uint256[])\":{\"notice\":\"Get the balance of multiple account/token pairs\"},\"isApprovedForAll(address,address)\":{\"notice\":\"Queries the approval status of an operator for a given owner\"},\"safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)\":{\"notice\":\"Send multiple types of Tokens from the _from address to the _to address (with safety call)\"},\"safeTransferFrom(address,address,uint256,uint256,bytes)\":{\"notice\":\"Transfers amount amount of an _id from the _from address to the _to address specified\"},\"setApprovalForAll(address,bool)\":{\"notice\":\"Enable or disable approval for a third party (\\\"operator\\\") to manage all of caller's tokens\"},\"supportsInterface(bytes4)\":{\"notice\":\"Query if a contract implements an interface\"}}}},\"settings\":{\"compilationTarget\":{\"multi-token-standard/contracts/tokens/ERC1155/ERC1155.sol\":\"ERC1155\"},\"evmVersion\":\"constantinople\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"multi-token-standard/contracts/interfaces/IERC1155.sol\":{\"keccak256\":\"0x9632273d1c5272823807d1d0b1630af9e2dad7f1e41a65bfdbc66bda702c53a1\",\"urls\":[\"bzz-raw://6deb9bdff007e4b367d4561699f45f0f8521a4412a770a9292c109844f739f58\",\"dweb:/ipfs/QmTXrB3rTHHrNcHAa3PYoq2BRJiT4nMmMrPmA6AjDsk7HB\"]},\"multi-token-standard/contracts/interfaces/IERC1155TokenReceiver.sol\":{\"keccak256\":\"0xdf097e5f122d544a93027619c941dc8475bead114e421b9398d9a1482b9bffb8\",\"urls\":[\"bzz-raw://9bdc0f8d96e08965b0e7c98b8ba9e67a56afc26c014784caf53ea4e04a966eb3\",\"dweb:/ipfs/QmRiuqBiDqfQNUtpjiwj5rR1iD5Psh6KdzKiBNNriiq68m\"]},\"multi-token-standard/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x5561863476cd7598c203efcd18bb436746a2596ac61e37c7bbf73790a511de39\",\"urls\":[\"bzz-raw://92f034ed08c66e4a1579b6ad8dd53e615cb7d39b2f26a131fd62f90f3d30e25b\",\"dweb:/ipfs/QmXKMPTepiBrfEKgpQR8PneSgAsVi2769wy9THBM65BspH\"]},\"multi-token-standard/contracts/tokens/ERC1155/ERC1155.sol\":{\"keccak256\":\"0x454f992789731d8ca2e284409dc69115285e48c8c9ad8f38b1f35d9e7bc23320\",\"urls\":[\"bzz-raw://e101d27d80cecb9b8cc788982914974022984f90b213550bc1290818a7047139\",\"dweb:/ipfs/QmZu2HKUsQa5GbGrrtKbCkX5VLRZiPxAtDUxBDf1V7QtR1\"]},\"multi-token-standard/contracts/utils/Address.sol\":{\"keccak256\":\"0xc089dcd9159bf02993336e47f629e8e86dcd3086cf2278e9ea06145b4094be5f\",\"urls\":[\"bzz-raw://bf05b053fb01bda8c24854d5d5c652c3c46c411597d90692e0c146b02a5154a0\",\"dweb:/ipfs/QmP5madVNQjx9JHqkdx9R79MdZZgeQJFEWVW5iwRYBV4ny\"]},\"multi-token-standard/contracts/utils/SafeMath.sol\":{\"keccak256\":\"0x0a904266aa9620d2f126588f1a964ec47bd8e777f3b2281a6e8f6897bc1d9fbd\",\"urls\":[\"bzz-raw://c4fcd436cda8c33574b2146bb9098f560095e4b2d63084563c176c2d402a9554\",\"dweb:/ipfs/QmW3Jo5Lt6LUf8pp6r7vE5kfpMpknJNoFEqTH9FbK7eFiU\"]}},\"version\":1}", - "bytecode": "0x608060405234801561001057600080fd5b50611ab1806100206000396000f3fe608060405234801561001057600080fd5b506004361061007c5760003560e01c80634e1273f41161005b5780634e1273f41461036b578063a22cb4651461050c578063e985e9c51461055c578063f242432a146105d85761007c565b8062fdd58e1461008157806301ffc9a7146100e35780632eb2c2d614610148575b600080fd5b6100cd6004803603604081101561009757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506106e7565b6040518082815260200191505060405180910390f35b61012e600480360360208110156100f957600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610741565b604051808215151515815260200191505060405180910390f35b610369600480360360a081101561015e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156101bb57600080fd5b8201836020820111156101cd57600080fd5b803590602001918460208302840111640100000000831117156101ef57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561024f57600080fd5b82018360208201111561026157600080fd5b8035906020019184602083028401116401000000008311171561028357600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156102e357600080fd5b8201836020820111156102f557600080fd5b8035906020019184600183028401116401000000008311171561031757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506107f2565b005b6104b56004803603604081101561038157600080fd5b810190808035906020019064010000000081111561039e57600080fd5b8201836020820111156103b057600080fd5b803590602001918460208302840111640100000000831117156103d257600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561043257600080fd5b82018360208201111561044457600080fd5b8035906020019184602083028401116401000000008311171561046657600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050919291929050505061092e565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156104f85780820151818401526020810190506104dd565b505050509050019250505060405180910390f35b61055a6004803603604081101561052257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050610a74565b005b6105be6004803603604081101561057257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b75565b604051808215151515815260200191505060405180910390f35b6106e5600480360360a08110156105ee57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291908035906020019064010000000081111561065f57600080fd5b82018360208201111561067157600080fd5b8035906020019184600183028401116401000000008311171561069357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610c09565b005b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b60006301ffc9a760e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806107da575063d9b67a2660e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b156107e857600190506107ed565b600090505b919050565b8473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061083257506108318533610b75565b5b610887576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001806119d5602f913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561090d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806119796030913960400191505060405180910390fd5b61091985858585610d45565b610927858585855a866110aa565b5050505050565b6060815183511461098a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001806119a9602c913960400191505060405180910390fd5b606083516040519080825280602002602001820160405280156109bc5781602001602082028038833980820191505090505b50905060008090505b8451811015610a69576000808683815181106109dd57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858381518110610a2d57fe5b6020026020010151815260200190815260200160002054828281518110610a5057fe5b60200260200101818152505080806001019150506109c5565b508091505092915050565b80600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b8473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610c495750610c488533610b75565b5b610c9e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a81526020018061191a602a913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415610d24576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b8152602001806118ef602b913960400191505060405180910390fd5b610d3085858585611368565b610d3e858585855a8661155c565b5050505050565b8051825114610d9f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260358152602001806119446035913960400191505060405180910390fd5b60008251905060008090505b81811015610f9c57610e3b838281518110610dc257fe5b60200260200101516000808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000878581518110610e1657fe5b602002602001015181526020019081526020016000205461179890919063ffffffff16565b6000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000868481518110610e8757fe5b6020026020010151815260200190815260200160002081905550610f29838281518110610eb057fe5b60200260200101516000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000878581518110610f0457fe5b602002602001015181526020019081526020016000205461182190919063ffffffff16565b6000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000868481518110610f7557fe5b60200260200101518152602001908152602001600020819055508080600101915050610dab565b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561104c578082015181840152602081019050611031565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561108e578082015181840152602081019050611073565b5050505090500194505050505060405180910390a45050505050565b6110c98573ffffffffffffffffffffffffffffffffffffffff166118a9565b156113605760008573ffffffffffffffffffffffffffffffffffffffff1663bc197c8184338a8989886040518763ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b838110156111b0578082015181840152602081019050611195565b50505050905001848103835286818151815260200191508051906020019060200280838360005b838110156111f25780820151818401526020810190506111d7565b50505050905001848103825285818151815260200191508051906020019080838360005b83811015611231578082015181840152602081019050611216565b50505050905090810190601f16801561125e5780820380516001836020036101000a031916815260200191505b5098505050505050505050602060405180830381600088803b15801561128357600080fd5b5087f1158015611297573d6000803e3d6000fd5b50505050506040513d60208110156112ae57600080fd5b8101908080519060200190929190505050905063bc197c8160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461135e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603f815260200180611a04603f913960400191505060405180910390fd5b505b505050505050565b6113ca816000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008581526020019081526020016000205461179890919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008481526020019081526020016000208190555061147f816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008581526020019081526020016000205461182190919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000848152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628585604051808381526020018281526020019250505060405180910390a450505050565b61157b8573ffffffffffffffffffffffffffffffffffffffff166118a9565b156117905760008573ffffffffffffffffffffffffffffffffffffffff1663f23a6e6184338a8989886040518763ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611663578082015181840152602081019050611648565b50505050905090810190601f1680156116905780820380516001836020036101000a031916815260200191505b509650505050505050602060405180830381600088803b1580156116b357600080fd5b5087f11580156116c7573d6000803e3d6000fd5b50505050506040513d60208110156116de57600080fd5b8101908080519060200190929190505050905063f23a6e6160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461178e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180611a43603a913960400191505060405180910390fd5b505b505050505050565b600082821115611810576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f536166654d617468237375623a20554e444552464c4f5700000000000000000081525060200191505060405180910390fd5b600082840390508091505092915050565b60008082840190508381101561189f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f536166654d617468236164643a204f564552464c4f570000000000000000000081525060200191505060405180910390fd5b8091505092915050565b600080823f90506000801b81141580156118e657507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b8114155b91505091905056fe4552433131353523736166655472616e7366657246726f6d3a20494e56414c49445f524543495049454e544552433131353523736166655472616e7366657246726f6d3a20494e56414c49445f4f50455241544f5245524331313535235f7361666542617463685472616e7366657246726f6d3a20494e56414c49445f4152524159535f4c454e47544845524331313535237361666542617463685472616e7366657246726f6d3a20494e56414c49445f524543495049454e54455243313135352362616c616e63654f6642617463683a20494e56414c49445f41525241595f4c454e47544845524331313535237361666542617463685472616e7366657246726f6d3a20494e56414c49445f4f50455241544f5245524331313535235f63616c6c6f6e45524331313535426174636852656365697665643a20494e56414c49445f4f4e5f524543454956455f4d45535341474545524331313535235f63616c6c6f6e4552433131353552656365697665643a20494e56414c49445f4f4e5f524543454956455f4d455353414745a265627a7a7231582073668a86987b7923d3d91b9973bb91a568371582b35b24a924db8c145d43764f64736f6c63430005110032", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061007c5760003560e01c80634e1273f41161005b5780634e1273f41461036b578063a22cb4651461050c578063e985e9c51461055c578063f242432a146105d85761007c565b8062fdd58e1461008157806301ffc9a7146100e35780632eb2c2d614610148575b600080fd5b6100cd6004803603604081101561009757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506106e7565b6040518082815260200191505060405180910390f35b61012e600480360360208110156100f957600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610741565b604051808215151515815260200191505060405180910390f35b610369600480360360a081101561015e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156101bb57600080fd5b8201836020820111156101cd57600080fd5b803590602001918460208302840111640100000000831117156101ef57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561024f57600080fd5b82018360208201111561026157600080fd5b8035906020019184602083028401116401000000008311171561028357600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156102e357600080fd5b8201836020820111156102f557600080fd5b8035906020019184600183028401116401000000008311171561031757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506107f2565b005b6104b56004803603604081101561038157600080fd5b810190808035906020019064010000000081111561039e57600080fd5b8201836020820111156103b057600080fd5b803590602001918460208302840111640100000000831117156103d257600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561043257600080fd5b82018360208201111561044457600080fd5b8035906020019184602083028401116401000000008311171561046657600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050919291929050505061092e565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156104f85780820151818401526020810190506104dd565b505050509050019250505060405180910390f35b61055a6004803603604081101561052257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050610a74565b005b6105be6004803603604081101561057257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b75565b604051808215151515815260200191505060405180910390f35b6106e5600480360360a08110156105ee57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291908035906020019064010000000081111561065f57600080fd5b82018360208201111561067157600080fd5b8035906020019184600183028401116401000000008311171561069357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610c09565b005b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b60006301ffc9a760e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806107da575063d9b67a2660e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b156107e857600190506107ed565b600090505b919050565b8473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061083257506108318533610b75565b5b610887576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001806119d5602f913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561090d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806119796030913960400191505060405180910390fd5b61091985858585610d45565b610927858585855a866110aa565b5050505050565b6060815183511461098a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001806119a9602c913960400191505060405180910390fd5b606083516040519080825280602002602001820160405280156109bc5781602001602082028038833980820191505090505b50905060008090505b8451811015610a69576000808683815181106109dd57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858381518110610a2d57fe5b6020026020010151815260200190815260200160002054828281518110610a5057fe5b60200260200101818152505080806001019150506109c5565b508091505092915050565b80600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b8473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610c495750610c488533610b75565b5b610c9e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a81526020018061191a602a913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415610d24576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b8152602001806118ef602b913960400191505060405180910390fd5b610d3085858585611368565b610d3e858585855a8661155c565b5050505050565b8051825114610d9f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260358152602001806119446035913960400191505060405180910390fd5b60008251905060008090505b81811015610f9c57610e3b838281518110610dc257fe5b60200260200101516000808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000878581518110610e1657fe5b602002602001015181526020019081526020016000205461179890919063ffffffff16565b6000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000868481518110610e8757fe5b6020026020010151815260200190815260200160002081905550610f29838281518110610eb057fe5b60200260200101516000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000878581518110610f0457fe5b602002602001015181526020019081526020016000205461182190919063ffffffff16565b6000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000868481518110610f7557fe5b60200260200101518152602001908152602001600020819055508080600101915050610dab565b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561104c578082015181840152602081019050611031565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561108e578082015181840152602081019050611073565b5050505090500194505050505060405180910390a45050505050565b6110c98573ffffffffffffffffffffffffffffffffffffffff166118a9565b156113605760008573ffffffffffffffffffffffffffffffffffffffff1663bc197c8184338a8989886040518763ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b838110156111b0578082015181840152602081019050611195565b50505050905001848103835286818151815260200191508051906020019060200280838360005b838110156111f25780820151818401526020810190506111d7565b50505050905001848103825285818151815260200191508051906020019080838360005b83811015611231578082015181840152602081019050611216565b50505050905090810190601f16801561125e5780820380516001836020036101000a031916815260200191505b5098505050505050505050602060405180830381600088803b15801561128357600080fd5b5087f1158015611297573d6000803e3d6000fd5b50505050506040513d60208110156112ae57600080fd5b8101908080519060200190929190505050905063bc197c8160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461135e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603f815260200180611a04603f913960400191505060405180910390fd5b505b505050505050565b6113ca816000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008581526020019081526020016000205461179890919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008481526020019081526020016000208190555061147f816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008581526020019081526020016000205461182190919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000848152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628585604051808381526020018281526020019250505060405180910390a450505050565b61157b8573ffffffffffffffffffffffffffffffffffffffff166118a9565b156117905760008573ffffffffffffffffffffffffffffffffffffffff1663f23a6e6184338a8989886040518763ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611663578082015181840152602081019050611648565b50505050905090810190601f1680156116905780820380516001836020036101000a031916815260200191505b509650505050505050602060405180830381600088803b1580156116b357600080fd5b5087f11580156116c7573d6000803e3d6000fd5b50505050506040513d60208110156116de57600080fd5b8101908080519060200190929190505050905063f23a6e6160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461178e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180611a43603a913960400191505060405180910390fd5b505b505050505050565b600082821115611810576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f536166654d617468237375623a20554e444552464c4f5700000000000000000081525060200191505060405180910390fd5b600082840390508091505092915050565b60008082840190508381101561189f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f536166654d617468236164643a204f564552464c4f570000000000000000000081525060200191505060405180910390fd5b8091505092915050565b600080823f90506000801b81141580156118e657507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b8114155b91505091905056fe4552433131353523736166655472616e7366657246726f6d3a20494e56414c49445f524543495049454e544552433131353523736166655472616e7366657246726f6d3a20494e56414c49445f4f50455241544f5245524331313535235f7361666542617463685472616e7366657246726f6d3a20494e56414c49445f4152524159535f4c454e47544845524331313535237361666542617463685472616e7366657246726f6d3a20494e56414c49445f524543495049454e54455243313135352362616c616e63654f6642617463683a20494e56414c49445f41525241595f4c454e47544845524331313535237361666542617463685472616e7366657246726f6d3a20494e56414c49445f4f50455241544f5245524331313535235f63616c6c6f6e45524331313535426174636852656365697665643a20494e56414c49445f4f4e5f524543454956455f4d45535341474545524331313535235f63616c6c6f6e4552433131353552656365697665643a20494e56414c49445f4f4e5f524543454956455f4d455353414745a265627a7a7231582073668a86987b7923d3d91b9973bb91a568371582b35b24a924db8c145d43764f64736f6c63430005110032", - "sourceMap": "293:8912:18:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;293:8912:18;;;;;;;", - "deployedSourceMap": "293:8912:18:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;293:8912:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7048:123;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7048:123:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8969:234;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8969:234:18;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2273:513;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;2273:513:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;2273:513:18;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;2273:513:18;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;2273:513:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;2273:513:18;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;2273:513:18;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;2273:513:18;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;2273:513:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;2273:513:18;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;2273:513:18;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;2273:513:18;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;2273:513:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;2273:513:18;;;;;;;;;;;;;;;:::i;:::-;;7451:486;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7451:486:18;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;7451:486:18;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;7451:486:18;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;7451:486:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;7451:486:18;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;7451:486:18;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;7451:486:18;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;7451:486:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;7451:486:18;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;7451:486:18;;;;;;;;;;;;;;;;;6085:221;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6085:221:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;6557:151;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6557:151:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1343:547;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;1343:547:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;1343:547:18;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;1343:547:18;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;1343:547:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;1343:547:18;;;;;;;;;;;;;;;:::i;:::-;;7048:123;7121:7;7145:8;:16;7154:6;7145:16;;;;;;;;;;;;;;;:21;7162:3;7145:21;;;;;;;;;;;;7138:28;;7048:123;;;;:::o;8969:234::-;9040:4;8210:10;9072:26;;9056:42;;;:12;:42;;;;:97;;;;8743:10;9126:27;;9110:43;;;:12;:43;;;;9056:97;9052:129;;;9170:4;9163:11;;;;9052:129;9193:5;9186:12;;8969:234;;;;:::o;2273:513::-;2464:5;2450:19;;:10;:19;;;2449:60;;;;2474:35;2491:5;2498:10;2474:16;:35::i;:::-;2449:60;2441:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2590:1;2575:17;;:3;:17;;;;2567:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2652:50;2675:5;2682:3;2687:4;2693:8;2652:22;:50::i;:::-;2708:73;2736:5;2743:3;2748:4;2754:8;2764:9;2775:5;2708:27;:73::i;:::-;2273:513;;;;;:::o;7451:486::-;7549:16;7601:4;:11;7583:7;:14;:29;7575:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7685:30;7732:7;:14;7718:29;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;7718:29:18;;;;7685:62;;7803:9;7815:1;7803:13;;7798:108;7822:7;:14;7818:1;:18;7798:108;;;7870:8;:20;7879:7;7887:1;7879:10;;;;;;;;;;;;;;7870:20;;;;;;;;;;;;;;;:29;7891:4;7896:1;7891:7;;;;;;;;;;;;;;7870:29;;;;;;;;;;;;7851:13;7865:1;7851:16;;;;;;;;;;;;;:48;;;;;7838:3;;;;;;;7798:108;;;;7919:13;7912:20;;;7451:486;;;;:::o;6085:221::-;6233:9;6198;:21;6208:10;6198:21;;;;;;;;;;;;;;;:32;6220:9;6198:32;;;;;;;;;;;;;;;;:44;;;;;;;;;;;;;;;;;;6280:9;6253:48;;6268:10;6253:48;;;6291:9;6253:48;;;;;;;;;;;;;;;;;;;;;;6085:221;;:::o;6557:151::-;6643:15;6675:9;:17;6685:6;6675:17;;;;;;;;;;;;;;;:28;6693:9;6675:28;;;;;;;;;;;;;;;;;;;;;;;;;6668:35;;6557:151;;;;:::o;1343:547::-;1489:5;1475:19;;:10;:19;;;1474:60;;;;1499:35;1516:5;1523:10;1499:16;:35::i;:::-;1474:60;1466:115;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1610:1;1595:17;;:3;:17;;;;1587:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1770:43;1788:5;1795:3;1800;1805:7;1770:17;:43::i;:::-;1819:66;1842:5;1849:3;1854;1859:7;1868:9;1879:5;1819:22;:66::i;:::-;1343:547;;;;;:::o;4403:670::-;4557:8;:15;4542:4;:11;:30;4534:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4674:17;4694:4;:11;4674:31;;4748:9;4760:1;4748:13;;4743:243;4767:9;4763:1;:13;4743:243;;;4866:41;4895:8;4904:1;4895:11;;;;;;;;;;;;;;4866:8;:15;4875:5;4866:15;;;;;;;;;;;;;;;:24;4882:4;4887:1;4882:7;;;;;;;;;;;;;;4866:24;;;;;;;;;;;;:28;;:41;;;;:::i;:::-;4839:8;:15;4848:5;4839:15;;;;;;;;;;;;;;;:24;4855:4;4860:1;4855:7;;;;;;;;;;;;;;4839:24;;;;;;;;;;;:68;;;;4940:39;4967:8;4976:1;4967:11;;;;;;;;;;;;;;4940:8;:13;4949:3;4940:13;;;;;;;;;;;;;;;:22;4954:4;4959:1;4954:7;;;;;;;;;;;;;;4940:22;;;;;;;;;;;;:26;;:39;;;;:::i;:::-;4915:8;:13;4924:3;4915:13;;;;;;;;;;;;;;;:22;4929:4;4934:1;4929:7;;;;;;;;;;;;;;4915:22;;;;;;;;;;;:64;;;;4778:3;;;;;;;4743:243;;;;5048:3;5015:53;;5041:5;5015:53;;5029:10;5015:53;;;5053:4;5059:8;5015:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;5015:53:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;5015:53:18;;;;;;;;;;;;;;;;;;;4403:670;;;;;:::o;5186:502::-;5407:16;:3;:14;;;:16::i;:::-;5403:281;;;5433:13;5471:3;5449:49;;;5503:9;5514:10;5526:5;5533:4;5539:8;5549:5;5449:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;5449:106:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;5449:106:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;5449:106:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5449:106:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5449:106:18;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5449:106:18;;;;;;;;;;;;;;;;5433:122;;671:10;5581:28;;5571:38;;;:6;:38;;;;5563:114;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5403:281;;5186:502;;;;;;:::o;3176:367::-;3328:33;3353:7;3328:8;:15;3337:5;3328:15;;;;;;;;;;;;;;;:20;3344:3;3328:20;;;;;;;;;;;;:24;;:33;;;;:::i;:::-;3305:8;:15;3314:5;3305:15;;;;;;;;;;;;;;;:20;3321:3;3305:20;;;;;;;;;;;:56;;;;3407:31;3430:7;3407:8;:13;3416:3;3407:13;;;;;;;;;;;;;;;:18;3421:3;3407:18;;;;;;;;;;;;:22;;:31;;;;:::i;:::-;3386:8;:13;3395:3;3386:13;;;;;;;;;;;;;;;:18;3400:3;3386:18;;;;;;;;;;;:52;;;;3520:3;3486:52;;3513:5;3486:52;;3501:10;3486:52;;;3525:3;3530:7;3486:52;;;;;;;;;;;;;;;;;;;;;;;;3176:367;;;;:::o;3651:455::-;3843:16;:3;:14;;;:16::i;:::-;3839:263;;;3869:13;3907:3;3885:44;;;3934:9;3945:10;3957:5;3964:3;3969:7;3978:5;3885:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;3885:99:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3885:99:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3885:99:18;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3885:99:18;;;;;;;;;;;;;;;;3869:115;;601:10;4010:22;;4000:32;;;:6;:32;;;;3992:103;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3839:263;;3651:455;;;;;;:::o;1188:158:21:-;1246:7;1274:1;1269;:6;;1261:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1309:9;1325:1;1321;:5;1309:17;;1340:1;1333:8;;;1188:158;;;;:::o;1421:::-;1479:7;1494:9;1510:1;1506;:5;1494:17;;1530:1;1525;:6;;1517:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1572:1;1565:8;;;1421:158;;;;:::o;543:398:20:-;604:4;616:16;868:8;856:21;844:33;;904:3;892:15;;:8;:15;;:43;;;;;208:66;923:12;;911:8;:24;;892:43;884:52;;;543:398;;;:::o", - "source": "pragma solidity ^0.5.16;\n\nimport \"../../interfaces/IERC165.sol\";\nimport \"../../utils/SafeMath.sol\";\nimport \"../../interfaces/IERC1155TokenReceiver.sol\";\nimport \"../../interfaces/IERC1155.sol\";\nimport \"../../utils/Address.sol\";\n\n\n/**\n * @dev Implementation of Multi-Token Standard contract\n */\ncontract ERC1155 is IERC165, IERC1155 {\n using SafeMath for uint256;\n using Address for address;\n\n /***********************************|\n | Variables and Events |\n |__________________________________*/\n\n // onReceive function signatures\n bytes4 constant internal ERC1155_RECEIVED_VALUE = 0xf23a6e61;\n bytes4 constant internal ERC1155_BATCH_RECEIVED_VALUE = 0xbc197c81;\n\n // Objects balances\n mapping (address => mapping(uint256 => uint256)) internal balances;\n\n // Operator Functions\n mapping (address => mapping(address => bool)) internal operators;\n\n\n /***********************************|\n | Public Transfer Functions |\n |__________________________________*/\n\n /**\n * @notice Transfers amount amount of an _id from the _from address to the _to address specified\n * @param _from Source address\n * @param _to Target address\n * @param _id ID of the token type\n * @param _amount Transfered amount\n * @param _data Additional data with no specified format, sent in call to `_to`\n */\n function safeTransferFrom(address _from, address _to, uint256 _id, uint256 _amount, bytes memory _data)\n public\n {\n require((msg.sender == _from) || isApprovedForAll(_from, msg.sender), \"ERC1155#safeTransferFrom: INVALID_OPERATOR\");\n require(_to != address(0),\"ERC1155#safeTransferFrom: INVALID_RECIPIENT\");\n // require(_amount <= balances[_from][_id]) is not necessary since checked with safemath operations\n\n _safeTransferFrom(_from, _to, _id, _amount);\n _callonERC1155Received(_from, _to, _id, _amount, gasleft(), _data);\n }\n\n /**\n * @notice Send multiple types of Tokens from the _from address to the _to address (with safety call)\n * @param _from Source addresses\n * @param _to Target addresses\n * @param _ids IDs of each token type\n * @param _amounts Transfer amounts per token type\n * @param _data Additional data with no specified format, sent in call to `_to`\n */\n function safeBatchTransferFrom(address _from, address _to, uint256[] memory _ids, uint256[] memory _amounts, bytes memory _data)\n public\n {\n // Requirements\n require((msg.sender == _from) || isApprovedForAll(_from, msg.sender), \"ERC1155#safeBatchTransferFrom: INVALID_OPERATOR\");\n require(_to != address(0), \"ERC1155#safeBatchTransferFrom: INVALID_RECIPIENT\");\n\n _safeBatchTransferFrom(_from, _to, _ids, _amounts);\n _callonERC1155BatchReceived(_from, _to, _ids, _amounts, gasleft(), _data);\n }\n\n\n /***********************************|\n | Internal Transfer Functions |\n |__________________________________*/\n\n /**\n * @notice Transfers amount amount of an _id from the _from address to the _to address specified\n * @param _from Source address\n * @param _to Target address\n * @param _id ID of the token type\n * @param _amount Transfered amount\n */\n function _safeTransferFrom(address _from, address _to, uint256 _id, uint256 _amount)\n internal\n {\n // Update balances\n balances[_from][_id] = balances[_from][_id].sub(_amount); // Subtract amount\n balances[_to][_id] = balances[_to][_id].add(_amount); // Add amount\n\n // Emit event\n emit TransferSingle(msg.sender, _from, _to, _id, _amount);\n }\n\n /**\n * @notice Verifies if receiver is contract and if so, calls (_to).onERC1155Received(...)\n */\n function _callonERC1155Received(address _from, address _to, uint256 _id, uint256 _amount, uint256 _gasLimit, bytes memory _data)\n internal\n {\n // Check if recipient is contract\n if (_to.isContract()) {\n bytes4 retval = IERC1155TokenReceiver(_to).onERC1155Received.gas(_gasLimit)(msg.sender, _from, _id, _amount, _data);\n require(retval == ERC1155_RECEIVED_VALUE, \"ERC1155#_callonERC1155Received: INVALID_ON_RECEIVE_MESSAGE\");\n }\n }\n\n /**\n * @notice Send multiple types of Tokens from the _from address to the _to address (with safety call)\n * @param _from Source addresses\n * @param _to Target addresses\n * @param _ids IDs of each token type\n * @param _amounts Transfer amounts per token type\n */\n function _safeBatchTransferFrom(address _from, address _to, uint256[] memory _ids, uint256[] memory _amounts)\n internal\n {\n require(_ids.length == _amounts.length, \"ERC1155#_safeBatchTransferFrom: INVALID_ARRAYS_LENGTH\");\n\n // Number of transfer to execute\n uint256 nTransfer = _ids.length;\n\n // Executing all transfers\n for (uint256 i = 0; i < nTransfer; i++) {\n // Update storage balance of previous bin\n balances[_from][_ids[i]] = balances[_from][_ids[i]].sub(_amounts[i]);\n balances[_to][_ids[i]] = balances[_to][_ids[i]].add(_amounts[i]);\n }\n\n // Emit event\n emit TransferBatch(msg.sender, _from, _to, _ids, _amounts);\n }\n\n /**\n * @notice Verifies if receiver is contract and if so, calls (_to).onERC1155BatchReceived(...)\n */\n function _callonERC1155BatchReceived(address _from, address _to, uint256[] memory _ids, uint256[] memory _amounts, uint256 _gasLimit, bytes memory _data)\n internal\n {\n // Pass data if recipient is contract\n if (_to.isContract()) {\n bytes4 retval = IERC1155TokenReceiver(_to).onERC1155BatchReceived.gas(_gasLimit)(msg.sender, _from, _ids, _amounts, _data);\n require(retval == ERC1155_BATCH_RECEIVED_VALUE, \"ERC1155#_callonERC1155BatchReceived: INVALID_ON_RECEIVE_MESSAGE\");\n }\n }\n\n\n /***********************************|\n | Operator Functions |\n |__________________________________*/\n\n /**\n * @notice Enable or disable approval for a third party (\"operator\") to manage all of caller's tokens\n * @param _operator Address to add to the set of authorized operators\n * @param _approved True if the operator is approved, false to revoke approval\n */\n function setApprovalForAll(address _operator, bool _approved)\n external\n {\n // Update operator status\n operators[msg.sender][_operator] = _approved;\n emit ApprovalForAll(msg.sender, _operator, _approved);\n }\n\n /**\n * @notice Queries the approval status of an operator for a given owner\n * @param _owner The owner of the Tokens\n * @param _operator Address of authorized operator\n * @return True if the operator is approved, false if not\n */\n function isApprovedForAll(address _owner, address _operator)\n public view returns (bool isOperator)\n {\n return operators[_owner][_operator];\n }\n\n\n /***********************************|\n | Balance Functions |\n |__________________________________*/\n\n /**\n * @notice Get the balance of an account's Tokens\n * @param _owner The address of the token holder\n * @param _id ID of the Token\n * @return The _owner's balance of the Token type requested\n */\n function balanceOf(address _owner, uint256 _id)\n public view returns (uint256)\n {\n return balances[_owner][_id];\n }\n\n /**\n * @notice Get the balance of multiple account/token pairs\n * @param _owners The addresses of the token holders\n * @param _ids ID of the Tokens\n * @return The _owner's balance of the Token types requested (i.e. balance for each (owner, id) pair)\n */\n function balanceOfBatch(address[] memory _owners, uint256[] memory _ids)\n public view returns (uint256[] memory)\n {\n require(_owners.length == _ids.length, \"ERC1155#balanceOfBatch: INVALID_ARRAY_LENGTH\");\n\n // Variables\n uint256[] memory batchBalances = new uint256[](_owners.length);\n\n // Iterate over each owner and token ID\n for (uint256 i = 0; i < _owners.length; i++) {\n batchBalances[i] = balances[_owners[i]][_ids[i]];\n }\n\n return batchBalances;\n }\n\n\n /***********************************|\n | ERC165 Functions |\n |__________________________________*/\n\n /**\n * INTERFACE_SIGNATURE_ERC165 = bytes4(keccak256(\"supportsInterface(bytes4)\"));\n */\n bytes4 constant private INTERFACE_SIGNATURE_ERC165 = 0x01ffc9a7;\n\n /**\n * INTERFACE_SIGNATURE_ERC1155 =\n * bytes4(keccak256(\"safeTransferFrom(address,address,uint256,uint256,bytes)\")) ^\n * bytes4(keccak256(\"safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)\")) ^\n * bytes4(keccak256(\"balanceOf(address,uint256)\")) ^\n * bytes4(keccak256(\"balanceOfBatch(address[],uint256[])\")) ^\n * bytes4(keccak256(\"setApprovalForAll(address,bool)\")) ^\n * bytes4(keccak256(\"isApprovedForAll(address,address)\"));\n */\n bytes4 constant private INTERFACE_SIGNATURE_ERC1155 = 0xd9b67a26;\n\n /**\n * @notice Query if a contract implements an interface\n * @param _interfaceID The interface identifier, as specified in ERC-165\n * @return `true` if the contract implements `_interfaceID` and\n */\n function supportsInterface(bytes4 _interfaceID) external view returns (bool) {\n if (_interfaceID == INTERFACE_SIGNATURE_ERC165 ||\n _interfaceID == INTERFACE_SIGNATURE_ERC1155) {\n return true;\n }\n return false;\n }\n}\n", - "sourcePath": "multi-token-standard/contracts/tokens/ERC1155/ERC1155.sol", - "ast": { - "absolutePath": "multi-token-standard/contracts/tokens/ERC1155/ERC1155.sol", - "exportedSymbols": { - "ERC1155": [ - 3502 - ] - }, - "id": 3503, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2977, - "literals": [ - "solidity", - "^", - "0.5", - ".16" - ], - "nodeType": "PragmaDirective", - "src": "0:24:18" - }, - { - "absolutePath": "multi-token-standard/contracts/interfaces/IERC165.sol", - "file": "../../interfaces/IERC165.sol", - "id": 2978, - "nodeType": "ImportDirective", - "scope": 3503, - "sourceUnit": 2976, - "src": "26:38:18", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "multi-token-standard/contracts/utils/SafeMath.sol", - "file": "../../utils/SafeMath.sol", - "id": 2979, - "nodeType": "ImportDirective", - "scope": 3503, - "sourceUnit": 3832, - "src": "65:34:18", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "multi-token-standard/contracts/interfaces/IERC1155TokenReceiver.sol", - "file": "../../interfaces/IERC1155TokenReceiver.sol", - "id": 2980, - "nodeType": "ImportDirective", - "scope": 3503, - "sourceUnit": 2966, - "src": "100:52:18", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "multi-token-standard/contracts/interfaces/IERC1155.sol", - "file": "../../interfaces/IERC1155.sol", - "id": 2981, - "nodeType": "ImportDirective", - "scope": 3503, - "sourceUnit": 2924, - "src": "153:39:18", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "multi-token-standard/contracts/utils/Address.sol", - "file": "../../utils/Address.sol", - "id": 2982, - "nodeType": "ImportDirective", - "scope": 3503, - "sourceUnit": 3699, - "src": "193:33:18", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 2983, - "name": "IERC165", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2975, - "src": "313:7:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC165_$2975", - "typeString": "contract IERC165" - } - }, - "id": 2984, - "nodeType": "InheritanceSpecifier", - "src": "313:7:18" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 2985, - "name": "IERC1155", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2923, - "src": "322:8:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC1155_$2923", - "typeString": "contract IERC1155" - } - }, - "id": 2986, - "nodeType": "InheritanceSpecifier", - "src": "322:8:18" - } - ], - "contractDependencies": [ - 2923, - 2975 - ], - "contractKind": "contract", - "documentation": "@dev Implementation of Multi-Token Standard contract", - "fullyImplemented": true, - "id": 3502, - "linearizedBaseContracts": [ - 3502, - 2923, - 2975 - ], - "name": "ERC1155", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 2989, - "libraryName": { - "contractScope": null, - "id": 2987, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3831, - "src": "341:8:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$3831", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "335:27:18", - "typeName": { - "id": 2988, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "354:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 2992, - "libraryName": { - "contractScope": null, - "id": 2990, - "name": "Address", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3698, - "src": "371:7:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Address_$3698", - "typeString": "library Address" - } - }, - "nodeType": "UsingForDirective", - "src": "365:26:18", - "typeName": { - "id": 2991, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "383:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - { - "constant": true, - "id": 2995, - "name": "ERC1155_RECEIVED_VALUE", - "nodeType": "VariableDeclaration", - "scope": 3502, - "src": "551:60:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 2993, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "551:6:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30786632336136653631", - "id": 2994, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "601:10:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4063915617_by_1", - "typeString": "int_const 4063915617" - }, - "value": "0xf23a6e61" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 2998, - "name": "ERC1155_BATCH_RECEIVED_VALUE", - "nodeType": "VariableDeclaration", - "scope": 3502, - "src": "615:66:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 2996, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "615:6:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30786263313937633831", - "id": 2997, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "671:10:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3155786881_by_1", - "typeString": "int_const 3155786881" - }, - "value": "0xbc197c81" - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3004, - "name": "balances", - "nodeType": "VariableDeclaration", - "scope": 3502, - "src": "708:66:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - }, - "typeName": { - "id": 3003, - "keyType": { - "id": 2999, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "717:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "708:48:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - }, - "valueType": { - "id": 3002, - "keyType": { - "id": 3000, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "736:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "728:27:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - }, - "valueType": { - "id": 3001, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "747:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3010, - "name": "operators", - "nodeType": "VariableDeclaration", - "scope": 3502, - "src": "803:64:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - }, - "typeName": { - "id": 3009, - "keyType": { - "id": 3005, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "812:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "803:45:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - }, - "valueType": { - "id": 3008, - "keyType": { - "id": 3006, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "831:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "823:24:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueType": { - "id": 3007, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "842:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "body": { - "id": 3064, - "nodeType": "Block", - "src": "1460:430:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3034, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3027, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3024, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "1475:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3025, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1475:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 3026, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3012, - "src": "1489:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1475:19:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 3028, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1474:21:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3030, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3012, - "src": "1516:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3031, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "1523:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3032, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1523:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 3029, - "name": "isApprovedForAll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3396, - "src": "1499:16:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$", - "typeString": "function (address,address) view returns (bool)" - } - }, - "id": 3033, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1499:35:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1474:60:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433131353523736166655472616e7366657246726f6d3a20494e56414c49445f4f50455241544f52", - "id": 3035, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1536:44:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_391321fa85bb678df91a5e72636171ccb12770d7f5ab9dc059447ddcfd15a6c8", - "typeString": "literal_string \"ERC1155#safeTransferFrom: INVALID_OPERATOR\"" - }, - "value": "ERC1155#safeTransferFrom: INVALID_OPERATOR" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_391321fa85bb678df91a5e72636171ccb12770d7f5ab9dc059447ddcfd15a6c8", - "typeString": "literal_string \"ERC1155#safeTransferFrom: INVALID_OPERATOR\"" - } - ], - "id": 3023, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "1466:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1466:115:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3037, - "nodeType": "ExpressionStatement", - "src": "1466:115:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3043, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3039, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3014, - "src": "1595:3:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 3041, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1610:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 3040, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1602:7:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 3042, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1602:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "1595:17:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433131353523736166655472616e7366657246726f6d3a20494e56414c49445f524543495049454e54", - "id": 3044, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1613:45:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0bff6da1c1b80dde62b2a49dd7ff5f7217f2027603d1daa34872c0143a6e39a0", - "typeString": "literal_string \"ERC1155#safeTransferFrom: INVALID_RECIPIENT\"" - }, - "value": "ERC1155#safeTransferFrom: INVALID_RECIPIENT" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_0bff6da1c1b80dde62b2a49dd7ff5f7217f2027603d1daa34872c0143a6e39a0", - "typeString": "literal_string \"ERC1155#safeTransferFrom: INVALID_RECIPIENT\"" - } - ], - "id": 3038, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "1587:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3045, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1587:72:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3046, - "nodeType": "ExpressionStatement", - "src": "1587:72:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3048, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3012, - "src": "1788:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3049, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3014, - "src": "1795:3:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3050, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3016, - "src": "1800:3:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3051, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3018, - "src": "1805:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3047, - "name": "_safeTransferFrom", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3173, - "src": "1770:17:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256,uint256)" - } - }, - "id": 3052, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1770:43:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3053, - "nodeType": "ExpressionStatement", - "src": "1770:43:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3055, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3012, - "src": "1842:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3056, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3014, - "src": "1849:3:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3057, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3016, - "src": "1854:3:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3058, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3018, - "src": "1859:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 3059, - "name": "gasleft", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3839, - "src": "1868:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_gasleft_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 3060, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1868:9:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3061, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3020, - "src": "1879:5:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 3054, - "name": "_callonERC1155Received", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3218, - "src": "1819:22:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,address,uint256,uint256,uint256,bytes memory)" - } - }, - "id": 3062, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1819:66:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3063, - "nodeType": "ExpressionStatement", - "src": "1819:66:18" - } - ] - }, - "documentation": "@notice Transfers amount amount of an _id from the _from address to the _to address specified\n@param _from Source address\n@param _to Target address\n@param _id ID of the token type\n@param _amount Transfered amount\n@param _data Additional data with no specified format, sent in call to `_to`", - "id": 3065, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "safeTransferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3021, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3012, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 3065, - "src": "1369:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3011, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1369:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3014, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 3065, - "src": "1384:11:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3013, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1384:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3016, - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 3065, - "src": "1397:11:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3015, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1397:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3018, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 3065, - "src": "1410:15:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3017, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1410:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3020, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 3065, - "src": "1427:18:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 3019, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1427:5:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1368:78:18" - }, - "returnParameters": { - "id": 3022, - "nodeType": "ParameterList", - "parameters": [], - "src": "1460:0:18" - }, - "scope": 3502, - "src": "1343:547:18", - "stateMutability": "nonpayable", - "superFunction": 2870, - "visibility": "public" - }, - { - "body": { - "id": 3121, - "nodeType": "Block", - "src": "2415:371:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3091, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3084, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3081, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "2450:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3082, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2450:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 3083, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3067, - "src": "2464:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2450:19:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 3085, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2449:21:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3087, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3067, - "src": "2491:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3088, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "2498:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3089, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2498:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 3086, - "name": "isApprovedForAll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3396, - "src": "2474:16:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$", - "typeString": "function (address,address) view returns (bool)" - } - }, - "id": 3090, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2474:35:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "2449:60:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524331313535237361666542617463685472616e7366657246726f6d3a20494e56414c49445f4f50455241544f52", - "id": 3092, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2511:49:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_af2375b4d68efb9f9971de37573333a29442946b4cf45dada7b72253ac12f7e9", - "typeString": "literal_string \"ERC1155#safeBatchTransferFrom: INVALID_OPERATOR\"" - }, - "value": "ERC1155#safeBatchTransferFrom: INVALID_OPERATOR" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_af2375b4d68efb9f9971de37573333a29442946b4cf45dada7b72253ac12f7e9", - "typeString": "literal_string \"ERC1155#safeBatchTransferFrom: INVALID_OPERATOR\"" - } - ], - "id": 3080, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "2441:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3093, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2441:120:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3094, - "nodeType": "ExpressionStatement", - "src": "2441:120:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3100, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3096, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3069, - "src": "2575:3:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 3098, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2590:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 3097, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2582:7:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 3099, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2582:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "2575:17:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524331313535237361666542617463685472616e7366657246726f6d3a20494e56414c49445f524543495049454e54", - "id": 3101, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2594:50:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_909754ecf431a77f5e0445d029892e7f6b373421021181202e7a0bd0151a73cc", - "typeString": "literal_string \"ERC1155#safeBatchTransferFrom: INVALID_RECIPIENT\"" - }, - "value": "ERC1155#safeBatchTransferFrom: INVALID_RECIPIENT" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_909754ecf431a77f5e0445d029892e7f6b373421021181202e7a0bd0151a73cc", - "typeString": "literal_string \"ERC1155#safeBatchTransferFrom: INVALID_RECIPIENT\"" - } - ], - "id": 3095, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "2567:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3102, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2567:78:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3103, - "nodeType": "ExpressionStatement", - "src": "2567:78:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3105, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3067, - "src": "2675:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3106, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3069, - "src": "2682:3:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3107, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3072, - "src": "2687:4:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "argumentTypes": null, - "id": 3108, - "name": "_amounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3075, - "src": "2693:8:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "id": 3104, - "name": "_safeBatchTransferFrom", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3309, - "src": "2652:22:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", - "typeString": "function (address,address,uint256[] memory,uint256[] memory)" - } - }, - "id": 3109, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2652:50:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3110, - "nodeType": "ExpressionStatement", - "src": "2652:50:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3112, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3067, - "src": "2736:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3113, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3069, - "src": "2743:3:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3114, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3072, - "src": "2748:4:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "argumentTypes": null, - "id": 3115, - "name": "_amounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3075, - "src": "2754:8:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 3116, - "name": "gasleft", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3839, - "src": "2764:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_gasleft_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 3117, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2764:9:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3118, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3077, - "src": "2775:5:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 3111, - "name": "_callonERC1155BatchReceived", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3356, - "src": "2708:27:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,address,uint256[] memory,uint256[] memory,uint256,bytes memory)" - } - }, - "id": 3119, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2708:73:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3120, - "nodeType": "ExpressionStatement", - "src": "2708:73:18" - } - ] - }, - "documentation": "@notice Send multiple types of Tokens from the _from address to the _to address (with safety call)\n@param _from Source addresses\n@param _to Target addresses\n@param _ids IDs of each token type\n@param _amounts Transfer amounts per token type\n@param _data Additional data with no specified format, sent in call to `_to`", - "id": 3122, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "safeBatchTransferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3078, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3067, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 3122, - "src": "2304:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3066, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2304:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3069, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 3122, - "src": "2319:11:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3068, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2319:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3072, - "name": "_ids", - "nodeType": "VariableDeclaration", - "scope": 3122, - "src": "2332:21:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3070, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2332:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3071, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2332:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3075, - "name": "_amounts", - "nodeType": "VariableDeclaration", - "scope": 3122, - "src": "2355:25:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3073, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2355:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3074, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2355:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3077, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 3122, - "src": "2382:18:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 3076, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2382:5:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2303:98:18" - }, - "returnParameters": { - "id": 3079, - "nodeType": "ParameterList", - "parameters": [], - "src": "2415:0:18" - }, - "scope": 3502, - "src": "2273:513:18", - "stateMutability": "nonpayable", - "superFunction": 2885, - "visibility": "public" - }, - { - "body": { - "id": 3172, - "nodeType": "Block", - "src": "3276:267:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3133, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "3305:8:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 3136, - "indexExpression": { - "argumentTypes": null, - "id": 3134, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3124, - "src": "3314:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3305:15:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 3137, - "indexExpression": { - "argumentTypes": null, - "id": 3135, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3128, - "src": "3321:3:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3305:20:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3144, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3130, - "src": "3353:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3138, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "3328:8:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 3140, - "indexExpression": { - "argumentTypes": null, - "id": 3139, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3124, - "src": "3337:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3328:15:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 3142, - "indexExpression": { - "argumentTypes": null, - "id": 3141, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3128, - "src": "3344:3:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3328:20:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3143, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 3784, - "src": "3328:24:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3145, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3328:33:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3305:56:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3147, - "nodeType": "ExpressionStatement", - "src": "3305:56:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 3161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3148, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "3386:8:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 3151, - "indexExpression": { - "argumentTypes": null, - "id": 3149, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3126, - "src": "3395:3:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3386:13:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 3152, - "indexExpression": { - "argumentTypes": null, - "id": 3150, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3128, - "src": "3400:3:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3386:18:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3159, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3130, - "src": "3430:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3153, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "3407:8:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 3155, - "indexExpression": { - "argumentTypes": null, - "id": 3154, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3126, - "src": "3416:3:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3407:13:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 3157, - "indexExpression": { - "argumentTypes": null, - "id": 3156, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3128, - "src": "3421:3:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3407:18:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3158, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3809, - "src": "3407:22:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3160, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3407:31:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3386:52:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3162, - "nodeType": "ExpressionStatement", - "src": "3386:52:18" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3164, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "3501:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3165, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3501:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 3166, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3124, - "src": "3513:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3167, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3126, - "src": "3520:3:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3168, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3128, - "src": "3525:3:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3169, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3130, - "src": "3530:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3163, - "name": "TransferSingle", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2829, - "src": "3486:14:18", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,address,address,uint256,uint256)" - } - }, - "id": 3170, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3486:52:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3171, - "nodeType": "EmitStatement", - "src": "3481:57:18" - } - ] - }, - "documentation": "@notice Transfers amount amount of an _id from the _from address to the _to address specified\n@param _from Source address\n@param _to Target address\n@param _id ID of the token type\n@param _amount Transfered amount", - "id": 3173, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_safeTransferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3131, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3124, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 3173, - "src": "3203:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3123, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3203:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3126, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 3173, - "src": "3218:11:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3125, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3218:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3128, - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 3173, - "src": "3231:11:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3127, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3231:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3130, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 3173, - "src": "3244:15:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3129, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3244:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3202:58:18" - }, - "returnParameters": { - "id": 3132, - "nodeType": "ParameterList", - "parameters": [], - "src": "3276:0:18" - }, - "scope": 3502, - "src": "3176:367:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 3217, - "nodeType": "Block", - "src": "3795:311:18", - "statements": [ - { - "condition": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 3188, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3177, - "src": "3843:3:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 3189, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "isContract", - "nodeType": "MemberAccess", - "referencedDeclaration": 3697, - "src": "3843:14:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$bound_to$_t_address_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 3190, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3843:16:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 3216, - "nodeType": "IfStatement", - "src": "3839:263:18", - "trueBody": { - "id": 3215, - "nodeType": "Block", - "src": "3861:241:18", - "statements": [ - { - "assignments": [ - 3192 - ], - "declarations": [ - { - "constant": false, - "id": 3192, - "name": "retval", - "nodeType": "VariableDeclaration", - "scope": 3215, - "src": "3869:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 3191, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "3869:6:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3207, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3200, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "3945:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3201, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3945:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 3202, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3175, - "src": "3957:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3203, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3179, - "src": "3964:3:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3204, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3181, - "src": "3969:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3205, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3185, - "src": "3978:5:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "arguments": [ - { - "argumentTypes": null, - "id": 3198, - "name": "_gasLimit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3183, - "src": "3934:9:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3194, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3177, - "src": "3907:3:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3193, - "name": "IERC1155TokenReceiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2965, - "src": "3885:21:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC1155TokenReceiver_$2965_$", - "typeString": "type(contract IERC1155TokenReceiver)" - } - }, - "id": 3195, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3885:26:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC1155TokenReceiver_$2965", - "typeString": "contract IERC1155TokenReceiver" - } - }, - "id": 3196, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "onERC1155Received", - "nodeType": "MemberAccess", - "referencedDeclaration": 2940, - "src": "3885:44:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$", - "typeString": "function (address,address,uint256,uint256,bytes memory) external returns (bytes4)" - } - }, - "id": 3197, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "gas", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3885:48:18", - "typeDescriptions": { - "typeIdentifier": "t_function_setgas_pure$_t_uint256_$returns$_t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$gas_$", - "typeString": "function (uint256) pure returns (function (address,address,uint256,uint256,bytes memory) external returns (bytes4))" - } - }, - "id": 3199, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3885:59:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$gas", - "typeString": "function (address,address,uint256,uint256,bytes memory) external returns (bytes4)" - } - }, - "id": 3206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3885:99:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3869:115:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 3211, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3209, - "name": "retval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3192, - "src": "4000:6:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 3210, - "name": "ERC1155_RECEIVED_VALUE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2995, - "src": "4010:22:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "4000:32:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524331313535235f63616c6c6f6e4552433131353552656365697665643a20494e56414c49445f4f4e5f524543454956455f4d455353414745", - "id": 3212, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4034:60:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d1e4892029f7262891cacb3a63cb31fcb3ef3a098f2da66a45f307373dd74740", - "typeString": "literal_string \"ERC1155#_callonERC1155Received: INVALID_ON_RECEIVE_MESSAGE\"" - }, - "value": "ERC1155#_callonERC1155Received: INVALID_ON_RECEIVE_MESSAGE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d1e4892029f7262891cacb3a63cb31fcb3ef3a098f2da66a45f307373dd74740", - "typeString": "literal_string \"ERC1155#_callonERC1155Received: INVALID_ON_RECEIVE_MESSAGE\"" - } - ], - "id": 3208, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "3992:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3213, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3992:103:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3214, - "nodeType": "ExpressionStatement", - "src": "3992:103:18" - } - ] - } - } - ] - }, - "documentation": "@notice Verifies if receiver is contract and if so, calls (_to).onERC1155Received(...)", - "id": 3218, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_callonERC1155Received", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3186, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3175, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 3218, - "src": "3683:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3174, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3683:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3177, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 3218, - "src": "3698:11:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3176, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3698:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3179, - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 3218, - "src": "3711:11:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3178, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3711:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3181, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 3218, - "src": "3724:15:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3180, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3724:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3183, - "name": "_gasLimit", - "nodeType": "VariableDeclaration", - "scope": 3218, - "src": "3741:17:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3182, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3741:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3185, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 3218, - "src": "3760:18:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 3184, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3760:5:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3682:97:18" - }, - "returnParameters": { - "id": 3187, - "nodeType": "ParameterList", - "parameters": [], - "src": "3795:0:18" - }, - "scope": 3502, - "src": "3651:455:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 3308, - "nodeType": "Block", - "src": "4528:545:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3236, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3232, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3225, - "src": "4542:4:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4542:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3234, - "name": "_amounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3228, - "src": "4557:8:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3235, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4557:15:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4542:30:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524331313535235f7361666542617463685472616e7366657246726f6d3a20494e56414c49445f4152524159535f4c454e475448", - "id": 3237, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4574:55:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4f5f172baf37961126779b1494b916cae331a9ccc62d5cf3660ee672bc15e9e3", - "typeString": "literal_string \"ERC1155#_safeBatchTransferFrom: INVALID_ARRAYS_LENGTH\"" - }, - "value": "ERC1155#_safeBatchTransferFrom: INVALID_ARRAYS_LENGTH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_4f5f172baf37961126779b1494b916cae331a9ccc62d5cf3660ee672bc15e9e3", - "typeString": "literal_string \"ERC1155#_safeBatchTransferFrom: INVALID_ARRAYS_LENGTH\"" - } - ], - "id": 3231, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "4534:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3238, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4534:96:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3239, - "nodeType": "ExpressionStatement", - "src": "4534:96:18" - }, - { - "assignments": [ - 3241 - ], - "declarations": [ - { - "constant": false, - "id": 3241, - "name": "nTransfer", - "nodeType": "VariableDeclaration", - "scope": 3308, - "src": "4674:17:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3240, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4674:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3244, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3242, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3225, - "src": "4694:4:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3243, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4694:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4674:31:18" - }, - { - "body": { - "id": 3297, - "nodeType": "Block", - "src": "4783:203:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3255, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "4839:8:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 3260, - "indexExpression": { - "argumentTypes": null, - "id": 3256, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3220, - "src": "4848:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4839:15:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 3261, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3257, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3225, - "src": "4855:4:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3259, - "indexExpression": { - "argumentTypes": null, - "id": 3258, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3246, - "src": "4860:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4855:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4839:24:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3270, - "name": "_amounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3228, - "src": "4895:8:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3272, - "indexExpression": { - "argumentTypes": null, - "id": 3271, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3246, - "src": "4904:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4895:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3262, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "4866:8:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 3264, - "indexExpression": { - "argumentTypes": null, - "id": 3263, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3220, - "src": "4875:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4866:15:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 3268, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3265, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3225, - "src": "4882:4:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3267, - "indexExpression": { - "argumentTypes": null, - "id": 3266, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3246, - "src": "4887:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4882:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4866:24:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3269, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 3784, - "src": "4866:28:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3273, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4866:41:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4839:68:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3275, - "nodeType": "ExpressionStatement", - "src": "4839:68:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 3295, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3276, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "4915:8:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 3281, - "indexExpression": { - "argumentTypes": null, - "id": 3277, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3222, - "src": "4924:3:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4915:13:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 3282, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3278, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3225, - "src": "4929:4:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3280, - "indexExpression": { - "argumentTypes": null, - "id": 3279, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3246, - "src": "4934:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4929:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4915:22:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3291, - "name": "_amounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3228, - "src": "4967:8:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3293, - "indexExpression": { - "argumentTypes": null, - "id": 3292, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3246, - "src": "4976:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4967:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3283, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "4940:8:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 3285, - "indexExpression": { - "argumentTypes": null, - "id": 3284, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3222, - "src": "4949:3:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4940:13:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 3289, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3286, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3225, - "src": "4954:4:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3288, - "indexExpression": { - "argumentTypes": null, - "id": 3287, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3246, - "src": "4959:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4954:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4940:22:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3290, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3809, - "src": "4940:26:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4940:39:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4915:64:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3296, - "nodeType": "ExpressionStatement", - "src": "4915:64:18" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3251, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3249, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3246, - "src": "4763:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 3250, - "name": "nTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3241, - "src": "4767:9:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4763:13:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3298, - "initializationExpression": { - "assignments": [ - 3246 - ], - "declarations": [ - { - "constant": false, - "id": 3246, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 3298, - "src": "4748:9:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3245, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4748:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3248, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 3247, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4760:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "4748:13:18" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 3253, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "4778:3:18", - "subExpression": { - "argumentTypes": null, - "id": 3252, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3246, - "src": "4778:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3254, - "nodeType": "ExpressionStatement", - "src": "4778:3:18" - }, - "nodeType": "ForStatement", - "src": "4743:243:18" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3300, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "5029:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5029:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 3302, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3220, - "src": "5041:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3303, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3222, - "src": "5048:3:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3304, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3225, - "src": "5053:4:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "argumentTypes": null, - "id": 3305, - "name": "_amounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3228, - "src": "5059:8:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "id": 3299, - "name": "TransferBatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2843, - "src": "5015:13:18", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", - "typeString": "function (address,address,address,uint256[] memory,uint256[] memory)" - } - }, - "id": 3306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5015:53:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3307, - "nodeType": "EmitStatement", - "src": "5010:58:18" - } - ] - }, - "documentation": "@notice Send multiple types of Tokens from the _from address to the _to address (with safety call)\n@param _from Source addresses\n@param _to Target addresses\n@param _ids IDs of each token type\n@param _amounts Transfer amounts per token type", - "id": 3309, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_safeBatchTransferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3229, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3220, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 3309, - "src": "4435:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3219, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4435:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3222, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 3309, - "src": "4450:11:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3221, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4450:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3225, - "name": "_ids", - "nodeType": "VariableDeclaration", - "scope": 3309, - "src": "4463:21:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3223, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4463:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3224, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4463:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3228, - "name": "_amounts", - "nodeType": "VariableDeclaration", - "scope": 3309, - "src": "4486:25:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3226, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4486:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3227, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4486:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4434:78:18" - }, - "returnParameters": { - "id": 3230, - "nodeType": "ParameterList", - "parameters": [], - "src": "4528:0:18" - }, - "scope": 3502, - "src": "4403:670:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 3355, - "nodeType": "Block", - "src": "5355:333:18", - "statements": [ - { - "condition": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 3326, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3313, - "src": "5407:3:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 3327, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "isContract", - "nodeType": "MemberAccess", - "referencedDeclaration": 3697, - "src": "5407:14:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$bound_to$_t_address_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 3328, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5407:16:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 3354, - "nodeType": "IfStatement", - "src": "5403:281:18", - "trueBody": { - "id": 3353, - "nodeType": "Block", - "src": "5425:259:18", - "statements": [ - { - "assignments": [ - 3330 - ], - "declarations": [ - { - "constant": false, - "id": 3330, - "name": "retval", - "nodeType": "VariableDeclaration", - "scope": 3353, - "src": "5433:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 3329, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "5433:6:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3345, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3338, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "5514:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3339, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5514:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 3340, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3311, - "src": "5526:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3341, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3316, - "src": "5533:4:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "argumentTypes": null, - "id": 3342, - "name": "_amounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3319, - "src": "5539:8:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "argumentTypes": null, - "id": 3343, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3323, - "src": "5549:5:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "arguments": [ - { - "argumentTypes": null, - "id": 3336, - "name": "_gasLimit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3321, - "src": "5503:9:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3332, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3313, - "src": "5471:3:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3331, - "name": "IERC1155TokenReceiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2965, - "src": "5449:21:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC1155TokenReceiver_$2965_$", - "typeString": "type(contract IERC1155TokenReceiver)" - } - }, - "id": 3333, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5449:26:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC1155TokenReceiver_$2965", - "typeString": "contract IERC1155TokenReceiver" - } - }, - "id": 3334, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "onERC1155BatchReceived", - "nodeType": "MemberAccess", - "referencedDeclaration": 2957, - "src": "5449:49:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bytes4_$", - "typeString": "function (address,address,uint256[] memory,uint256[] memory,bytes memory) external returns (bytes4)" - } - }, - "id": 3335, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "gas", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5449:53:18", - "typeDescriptions": { - "typeIdentifier": "t_function_setgas_pure$_t_uint256_$returns$_t_function_external_nonpayable$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bytes4_$gas_$", - "typeString": "function (uint256) pure returns (function (address,address,uint256[] memory,uint256[] memory,bytes memory) external returns (bytes4))" - } - }, - "id": 3337, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5449:64:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bytes4_$gas", - "typeString": "function (address,address,uint256[] memory,uint256[] memory,bytes memory) external returns (bytes4)" - } - }, - "id": 3344, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5449:106:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5433:122:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 3349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3347, - "name": "retval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3330, - "src": "5571:6:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 3348, - "name": "ERC1155_BATCH_RECEIVED_VALUE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2998, - "src": "5581:28:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "5571:38:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524331313535235f63616c6c6f6e45524331313535426174636852656365697665643a20494e56414c49445f4f4e5f524543454956455f4d455353414745", - "id": 3350, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5611:65:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d01e89a9585e3758ec71f0b758b0e5a5f1316bddeb547d3737010dd4a5578f32", - "typeString": "literal_string \"ERC1155#_callonERC1155BatchReceived: INVALID_ON_RECEIVE_MESSAGE\"" - }, - "value": "ERC1155#_callonERC1155BatchReceived: INVALID_ON_RECEIVE_MESSAGE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d01e89a9585e3758ec71f0b758b0e5a5f1316bddeb547d3737010dd4a5578f32", - "typeString": "literal_string \"ERC1155#_callonERC1155BatchReceived: INVALID_ON_RECEIVE_MESSAGE\"" - } - ], - "id": 3346, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "5563:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3351, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5563:114:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3352, - "nodeType": "ExpressionStatement", - "src": "5563:114:18" - } - ] - } - } - ] - }, - "documentation": "@notice Verifies if receiver is contract and if so, calls (_to).onERC1155BatchReceived(...)", - "id": 3356, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_callonERC1155BatchReceived", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3324, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3311, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 3356, - "src": "5223:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3310, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5223:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3313, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 3356, - "src": "5238:11:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3312, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5238:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3316, - "name": "_ids", - "nodeType": "VariableDeclaration", - "scope": 3356, - "src": "5251:21:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3314, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5251:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3315, - "length": null, - "nodeType": "ArrayTypeName", - "src": "5251:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3319, - "name": "_amounts", - "nodeType": "VariableDeclaration", - "scope": 3356, - "src": "5274:25:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3317, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5274:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3318, - "length": null, - "nodeType": "ArrayTypeName", - "src": "5274:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3321, - "name": "_gasLimit", - "nodeType": "VariableDeclaration", - "scope": 3356, - "src": "5301:17:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3320, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5301:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3323, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 3356, - "src": "5320:18:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 3322, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5320:5:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5222:117:18" - }, - "returnParameters": { - "id": 3325, - "nodeType": "ParameterList", - "parameters": [], - "src": "5355:0:18" - }, - "scope": 3502, - "src": "5186:502:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 3379, - "nodeType": "Block", - "src": "6162:144:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3370, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3363, - "name": "operators", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3010, - "src": "6198:9:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - } - }, - "id": 3367, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3364, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "6208:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3365, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6208:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6198:21:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 3368, - "indexExpression": { - "argumentTypes": null, - "id": 3366, - "name": "_operator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3358, - "src": "6220:9:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6198:32:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3369, - "name": "_approved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3360, - "src": "6233:9:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "6198:44:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3371, - "nodeType": "ExpressionStatement", - "src": "6198:44:18" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3373, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "6268:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3374, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6268:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 3375, - "name": "_operator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3358, - "src": "6280:9:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3376, - "name": "_approved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3360, - "src": "6291:9:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3372, - "name": "ApprovalForAll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2851, - "src": "6253:14:18", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bool_$returns$__$", - "typeString": "function (address,address,bool)" - } - }, - "id": 3377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6253:48:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3378, - "nodeType": "EmitStatement", - "src": "6248:53:18" - } - ] - }, - "documentation": "@notice Enable or disable approval for a third party (\"operator\") to manage all of caller's tokens\n@param _operator Address to add to the set of authorized operators\n@param _approved True if the operator is approved, false to revoke approval", - "id": 3380, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "setApprovalForAll", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3361, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3358, - "name": "_operator", - "nodeType": "VariableDeclaration", - "scope": 3380, - "src": "6112:17:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3357, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6112:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3360, - "name": "_approved", - "nodeType": "VariableDeclaration", - "scope": 3380, - "src": "6131:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3359, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6131:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6111:35:18" - }, - "returnParameters": { - "id": 3362, - "nodeType": "ParameterList", - "parameters": [], - "src": "6162:0:18" - }, - "scope": 3502, - "src": "6085:221:18", - "stateMutability": "nonpayable", - "superFunction": 2913, - "visibility": "external" - }, - { - "body": { - "id": 3395, - "nodeType": "Block", - "src": "6662:46:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3389, - "name": "operators", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3010, - "src": "6675:9:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - } - }, - "id": 3391, - "indexExpression": { - "argumentTypes": null, - "id": 3390, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3382, - "src": "6685:6:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6675:17:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 3393, - "indexExpression": { - "argumentTypes": null, - "id": 3392, - "name": "_operator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3384, - "src": "6693:9:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6675:28:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 3388, - "id": 3394, - "nodeType": "Return", - "src": "6668:35:18" - } - ] - }, - "documentation": "@notice Queries the approval status of an operator for a given owner\n@param _owner The owner of the Tokens\n@param _operator Address of authorized operator\n@return True if the operator is approved, false if not", - "id": 3396, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isApprovedForAll", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3385, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3382, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 3396, - "src": "6583:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3381, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6583:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3384, - "name": "_operator", - "nodeType": "VariableDeclaration", - "scope": 3396, - "src": "6599:17:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3383, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6599:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6582:35:18" - }, - "returnParameters": { - "id": 3388, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3387, - "name": "isOperator", - "nodeType": "VariableDeclaration", - "scope": 3396, - "src": "6643:15:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3386, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6643:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6642:17:18" - }, - "scope": 3502, - "src": "6557:151:18", - "stateMutability": "view", - "superFunction": 2922, - "visibility": "public" - }, - { - "body": { - "id": 3411, - "nodeType": "Block", - "src": "7132:39:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3405, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "7145:8:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 3407, - "indexExpression": { - "argumentTypes": null, - "id": 3406, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3398, - "src": "7154:6:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7145:16:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 3409, - "indexExpression": { - "argumentTypes": null, - "id": 3408, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3400, - "src": "7162:3:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7145:21:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3404, - "id": 3410, - "nodeType": "Return", - "src": "7138:28:18" - } - ] - }, - "documentation": "@notice Get the balance of an account's Tokens\n@param _owner The address of the token holder\n@param _id ID of the Token\n@return The _owner's balance of the Token type requested", - "id": 3412, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3401, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3398, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 3412, - "src": "7067:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3397, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7067:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3400, - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 3412, - "src": "7083:11:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3399, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7083:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7066:29:18" - }, - "returnParameters": { - "id": 3404, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3403, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3412, - "src": "7121:7:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3402, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7121:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7120:9:18" - }, - "scope": 3502, - "src": "7048:123:18", - "stateMutability": "view", - "superFunction": 2894, - "visibility": "public" - }, - { - "body": { - "id": 3473, - "nodeType": "Block", - "src": "7569:368:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3429, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3425, - "name": "_owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3415, - "src": "7583:7:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 3426, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7583:14:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3427, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3418, - "src": "7601:4:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3428, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7601:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7583:29:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "455243313135352362616c616e63654f6642617463683a20494e56414c49445f41525241595f4c454e475448", - "id": 3430, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7614:46:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a4238933bea90e19d8a4b6d3db87260a7b7b62f1d27625f892fb051d61a85b44", - "typeString": "literal_string \"ERC1155#balanceOfBatch: INVALID_ARRAY_LENGTH\"" - }, - "value": "ERC1155#balanceOfBatch: INVALID_ARRAY_LENGTH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_a4238933bea90e19d8a4b6d3db87260a7b7b62f1d27625f892fb051d61a85b44", - "typeString": "literal_string \"ERC1155#balanceOfBatch: INVALID_ARRAY_LENGTH\"" - } - ], - "id": 3424, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "7575:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7575:86:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3432, - "nodeType": "ExpressionStatement", - "src": "7575:86:18" - }, - { - "assignments": [ - 3436 - ], - "declarations": [ - { - "constant": false, - "id": 3436, - "name": "batchBalances", - "nodeType": "VariableDeclaration", - "scope": 3473, - "src": "7685:30:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3434, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7685:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3435, - "length": null, - "nodeType": "ArrayTypeName", - "src": "7685:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3443, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3440, - "name": "_owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3415, - "src": "7732:7:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 3441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7732:14:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3439, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "7718:13:18", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "id": 3437, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7722:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3438, - "length": null, - "nodeType": "ArrayTypeName", - "src": "7722:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 3442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7718:29:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7685:62:18" - }, - { - "body": { - "id": 3469, - "nodeType": "Block", - "src": "7843:63:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3467, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3455, - "name": "batchBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3436, - "src": "7851:13:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3457, - "indexExpression": { - "argumentTypes": null, - "id": 3456, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3445, - "src": "7865:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7851:16:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3458, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "7870:8:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 3462, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3459, - "name": "_owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3415, - "src": "7879:7:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 3461, - "indexExpression": { - "argumentTypes": null, - "id": 3460, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3445, - "src": "7887:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7879:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7870:20:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 3466, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3463, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3418, - "src": "7891:4:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3465, - "indexExpression": { - "argumentTypes": null, - "id": 3464, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3445, - "src": "7896:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7891:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7870:29:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7851:48:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3468, - "nodeType": "ExpressionStatement", - "src": "7851:48:18" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3451, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3448, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3445, - "src": "7818:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3449, - "name": "_owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3415, - "src": "7822:7:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 3450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7822:14:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7818:18:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3470, - "initializationExpression": { - "assignments": [ - 3445 - ], - "declarations": [ - { - "constant": false, - "id": 3445, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 3470, - "src": "7803:9:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3444, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7803:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3447, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 3446, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7815:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "7803:13:18" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 3453, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "7838:3:18", - "subExpression": { - "argumentTypes": null, - "id": 3452, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3445, - "src": "7838:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3454, - "nodeType": "ExpressionStatement", - "src": "7838:3:18" - }, - "nodeType": "ForStatement", - "src": "7798:108:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 3471, - "name": "batchBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3436, - "src": "7919:13:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "functionReturnParameters": 3423, - "id": 3472, - "nodeType": "Return", - "src": "7912:20:18" - } - ] - }, - "documentation": "@notice Get the balance of multiple account/token pairs\n@param _owners The addresses of the token holders\n@param _ids ID of the Tokens\n@return The _owner's balance of the Token types requested (i.e. balance for each (owner, id) pair)", - "id": 3474, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "balanceOfBatch", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3419, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3415, - "name": "_owners", - "nodeType": "VariableDeclaration", - "scope": 3474, - "src": "7475:24:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 3413, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7475:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 3414, - "length": null, - "nodeType": "ArrayTypeName", - "src": "7475:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3418, - "name": "_ids", - "nodeType": "VariableDeclaration", - "scope": 3474, - "src": "7501:21:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3416, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7501:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3417, - "length": null, - "nodeType": "ArrayTypeName", - "src": "7501:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7474:49:18" - }, - "returnParameters": { - "id": 3423, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3422, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3474, - "src": "7549:16:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3420, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7549:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3421, - "length": null, - "nodeType": "ArrayTypeName", - "src": "7549:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7548:18:18" - }, - "scope": 3502, - "src": "7451:486:18", - "stateMutability": "view", - "superFunction": 2906, - "visibility": "public" - }, - { - "constant": true, - "id": 3477, - "name": "INTERFACE_SIGNATURE_ERC165", - "nodeType": "VariableDeclaration", - "scope": 3502, - "src": "8157:63:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 3475, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "8157:6:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783031666663396137", - "id": 3476, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8210:10:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_33540519_by_1", - "typeString": "int_const 33540519" - }, - "value": "0x01ffc9a7" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 3480, - "name": "INTERFACE_SIGNATURE_ERC1155", - "nodeType": "VariableDeclaration", - "scope": 3502, - "src": "8689:64:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 3478, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "8689:6:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30786439623637613236", - "id": 3479, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8743:10:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3652614694_by_1", - "typeString": "int_const 3652614694" - }, - "value": "0xd9b67a26" - }, - "visibility": "private" - }, - { - "body": { - "id": 3500, - "nodeType": "Block", - "src": "9046:157:18", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3493, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 3489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3487, - "name": "_interfaceID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3482, - "src": "9056:12:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 3488, - "name": "INTERFACE_SIGNATURE_ERC165", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3477, - "src": "9072:26:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "9056:42:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 3492, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3490, - "name": "_interfaceID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3482, - "src": "9110:12:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 3491, - "name": "INTERFACE_SIGNATURE_ERC1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3480, - "src": "9126:27:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "9110:43:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "9056:97:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 3497, - "nodeType": "IfStatement", - "src": "9052:129:18", - "trueBody": { - "id": 3496, - "nodeType": "Block", - "src": "9155:26:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 3494, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9170:4:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 3486, - "id": 3495, - "nodeType": "Return", - "src": "9163:11:18" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 3498, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9193:5:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 3486, - "id": 3499, - "nodeType": "Return", - "src": "9186:12:18" - } - ] - }, - "documentation": "@notice Query if a contract implements an interface\n@param _interfaceID The interface identifier, as specified in ERC-165\n@return `true` if the contract implements `_interfaceID` and", - "id": 3501, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "supportsInterface", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3483, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3482, - "name": "_interfaceID", - "nodeType": "VariableDeclaration", - "scope": 3501, - "src": "8996:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 3481, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "8996:6:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8995:21:18" - }, - "returnParameters": { - "id": 3486, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3485, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3501, - "src": "9040:4:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3484, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "9040:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9039:6:18" - }, - "scope": 3502, - "src": "8969:234:18", - "stateMutability": "view", - "superFunction": 2974, - "visibility": "external" - } - ], - "scope": 3503, - "src": "293:8912:18" - } - ], - "src": "0:9206:18" - }, - "legacyAST": { - "absolutePath": "multi-token-standard/contracts/tokens/ERC1155/ERC1155.sol", - "exportedSymbols": { - "ERC1155": [ - 3502 - ] - }, - "id": 3503, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2977, - "literals": [ - "solidity", - "^", - "0.5", - ".16" - ], - "nodeType": "PragmaDirective", - "src": "0:24:18" - }, - { - "absolutePath": "multi-token-standard/contracts/interfaces/IERC165.sol", - "file": "../../interfaces/IERC165.sol", - "id": 2978, - "nodeType": "ImportDirective", - "scope": 3503, - "sourceUnit": 2976, - "src": "26:38:18", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "multi-token-standard/contracts/utils/SafeMath.sol", - "file": "../../utils/SafeMath.sol", - "id": 2979, - "nodeType": "ImportDirective", - "scope": 3503, - "sourceUnit": 3832, - "src": "65:34:18", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "multi-token-standard/contracts/interfaces/IERC1155TokenReceiver.sol", - "file": "../../interfaces/IERC1155TokenReceiver.sol", - "id": 2980, - "nodeType": "ImportDirective", - "scope": 3503, - "sourceUnit": 2966, - "src": "100:52:18", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "multi-token-standard/contracts/interfaces/IERC1155.sol", - "file": "../../interfaces/IERC1155.sol", - "id": 2981, - "nodeType": "ImportDirective", - "scope": 3503, - "sourceUnit": 2924, - "src": "153:39:18", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "multi-token-standard/contracts/utils/Address.sol", - "file": "../../utils/Address.sol", - "id": 2982, - "nodeType": "ImportDirective", - "scope": 3503, - "sourceUnit": 3699, - "src": "193:33:18", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 2983, - "name": "IERC165", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2975, - "src": "313:7:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC165_$2975", - "typeString": "contract IERC165" - } - }, - "id": 2984, - "nodeType": "InheritanceSpecifier", - "src": "313:7:18" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 2985, - "name": "IERC1155", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2923, - "src": "322:8:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC1155_$2923", - "typeString": "contract IERC1155" - } - }, - "id": 2986, - "nodeType": "InheritanceSpecifier", - "src": "322:8:18" - } - ], - "contractDependencies": [ - 2923, - 2975 - ], - "contractKind": "contract", - "documentation": "@dev Implementation of Multi-Token Standard contract", - "fullyImplemented": true, - "id": 3502, - "linearizedBaseContracts": [ - 3502, - 2923, - 2975 - ], - "name": "ERC1155", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 2989, - "libraryName": { - "contractScope": null, - "id": 2987, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3831, - "src": "341:8:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$3831", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "335:27:18", - "typeName": { - "id": 2988, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "354:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "id": 2992, - "libraryName": { - "contractScope": null, - "id": 2990, - "name": "Address", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3698, - "src": "371:7:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Address_$3698", - "typeString": "library Address" - } - }, - "nodeType": "UsingForDirective", - "src": "365:26:18", - "typeName": { - "id": 2991, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "383:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - { - "constant": true, - "id": 2995, - "name": "ERC1155_RECEIVED_VALUE", - "nodeType": "VariableDeclaration", - "scope": 3502, - "src": "551:60:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 2993, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "551:6:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30786632336136653631", - "id": 2994, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "601:10:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4063915617_by_1", - "typeString": "int_const 4063915617" - }, - "value": "0xf23a6e61" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 2998, - "name": "ERC1155_BATCH_RECEIVED_VALUE", - "nodeType": "VariableDeclaration", - "scope": 3502, - "src": "615:66:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 2996, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "615:6:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30786263313937633831", - "id": 2997, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "671:10:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3155786881_by_1", - "typeString": "int_const 3155786881" - }, - "value": "0xbc197c81" - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 3004, - "name": "balances", - "nodeType": "VariableDeclaration", - "scope": 3502, - "src": "708:66:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - }, - "typeName": { - "id": 3003, - "keyType": { - "id": 2999, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "717:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "708:48:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - }, - "valueType": { - "id": 3002, - "keyType": { - "id": 3000, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "736:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "728:27:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - }, - "valueType": { - "id": 3001, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "747:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3010, - "name": "operators", - "nodeType": "VariableDeclaration", - "scope": 3502, - "src": "803:64:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - }, - "typeName": { - "id": 3009, - "keyType": { - "id": 3005, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "812:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "803:45:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - }, - "valueType": { - "id": 3008, - "keyType": { - "id": 3006, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "831:7:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "823:24:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueType": { - "id": 3007, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "842:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "body": { - "id": 3064, - "nodeType": "Block", - "src": "1460:430:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3034, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3027, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3024, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "1475:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3025, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1475:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 3026, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3012, - "src": "1489:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1475:19:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 3028, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1474:21:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3030, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3012, - "src": "1516:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3031, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "1523:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3032, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1523:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 3029, - "name": "isApprovedForAll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3396, - "src": "1499:16:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$", - "typeString": "function (address,address) view returns (bool)" - } - }, - "id": 3033, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1499:35:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1474:60:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433131353523736166655472616e7366657246726f6d3a20494e56414c49445f4f50455241544f52", - "id": 3035, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1536:44:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_391321fa85bb678df91a5e72636171ccb12770d7f5ab9dc059447ddcfd15a6c8", - "typeString": "literal_string \"ERC1155#safeTransferFrom: INVALID_OPERATOR\"" - }, - "value": "ERC1155#safeTransferFrom: INVALID_OPERATOR" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_391321fa85bb678df91a5e72636171ccb12770d7f5ab9dc059447ddcfd15a6c8", - "typeString": "literal_string \"ERC1155#safeTransferFrom: INVALID_OPERATOR\"" - } - ], - "id": 3023, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "1466:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3036, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1466:115:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3037, - "nodeType": "ExpressionStatement", - "src": "1466:115:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3043, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3039, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3014, - "src": "1595:3:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 3041, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1610:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 3040, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1602:7:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 3042, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1602:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "1595:17:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4552433131353523736166655472616e7366657246726f6d3a20494e56414c49445f524543495049454e54", - "id": 3044, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1613:45:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0bff6da1c1b80dde62b2a49dd7ff5f7217f2027603d1daa34872c0143a6e39a0", - "typeString": "literal_string \"ERC1155#safeTransferFrom: INVALID_RECIPIENT\"" - }, - "value": "ERC1155#safeTransferFrom: INVALID_RECIPIENT" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_0bff6da1c1b80dde62b2a49dd7ff5f7217f2027603d1daa34872c0143a6e39a0", - "typeString": "literal_string \"ERC1155#safeTransferFrom: INVALID_RECIPIENT\"" - } - ], - "id": 3038, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "1587:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3045, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1587:72:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3046, - "nodeType": "ExpressionStatement", - "src": "1587:72:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3048, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3012, - "src": "1788:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3049, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3014, - "src": "1795:3:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3050, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3016, - "src": "1800:3:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3051, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3018, - "src": "1805:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3047, - "name": "_safeTransferFrom", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3173, - "src": "1770:17:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256,uint256)" - } - }, - "id": 3052, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1770:43:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3053, - "nodeType": "ExpressionStatement", - "src": "1770:43:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3055, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3012, - "src": "1842:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3056, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3014, - "src": "1849:3:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3057, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3016, - "src": "1854:3:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3058, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3018, - "src": "1859:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 3059, - "name": "gasleft", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3839, - "src": "1868:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_gasleft_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 3060, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1868:9:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3061, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3020, - "src": "1879:5:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 3054, - "name": "_callonERC1155Received", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3218, - "src": "1819:22:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,address,uint256,uint256,uint256,bytes memory)" - } - }, - "id": 3062, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1819:66:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3063, - "nodeType": "ExpressionStatement", - "src": "1819:66:18" - } - ] - }, - "documentation": "@notice Transfers amount amount of an _id from the _from address to the _to address specified\n@param _from Source address\n@param _to Target address\n@param _id ID of the token type\n@param _amount Transfered amount\n@param _data Additional data with no specified format, sent in call to `_to`", - "id": 3065, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "safeTransferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3021, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3012, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 3065, - "src": "1369:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3011, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1369:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3014, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 3065, - "src": "1384:11:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3013, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1384:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3016, - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 3065, - "src": "1397:11:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3015, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1397:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3018, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 3065, - "src": "1410:15:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3017, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1410:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3020, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 3065, - "src": "1427:18:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 3019, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1427:5:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1368:78:18" - }, - "returnParameters": { - "id": 3022, - "nodeType": "ParameterList", - "parameters": [], - "src": "1460:0:18" - }, - "scope": 3502, - "src": "1343:547:18", - "stateMutability": "nonpayable", - "superFunction": 2870, - "visibility": "public" - }, - { - "body": { - "id": 3121, - "nodeType": "Block", - "src": "2415:371:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3091, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3084, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3081, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "2450:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3082, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2450:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 3083, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3067, - "src": "2464:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2450:19:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "id": 3085, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "2449:21:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3087, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3067, - "src": "2491:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3088, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "2498:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3089, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2498:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 3086, - "name": "isApprovedForAll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3396, - "src": "2474:16:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$", - "typeString": "function (address,address) view returns (bool)" - } - }, - "id": 3090, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2474:35:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "2449:60:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524331313535237361666542617463685472616e7366657246726f6d3a20494e56414c49445f4f50455241544f52", - "id": 3092, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2511:49:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_af2375b4d68efb9f9971de37573333a29442946b4cf45dada7b72253ac12f7e9", - "typeString": "literal_string \"ERC1155#safeBatchTransferFrom: INVALID_OPERATOR\"" - }, - "value": "ERC1155#safeBatchTransferFrom: INVALID_OPERATOR" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_af2375b4d68efb9f9971de37573333a29442946b4cf45dada7b72253ac12f7e9", - "typeString": "literal_string \"ERC1155#safeBatchTransferFrom: INVALID_OPERATOR\"" - } - ], - "id": 3080, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "2441:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3093, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2441:120:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3094, - "nodeType": "ExpressionStatement", - "src": "2441:120:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 3100, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3096, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3069, - "src": "2575:3:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 3098, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2590:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 3097, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2582:7:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 3099, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2582:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "2575:17:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524331313535237361666542617463685472616e7366657246726f6d3a20494e56414c49445f524543495049454e54", - "id": 3101, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2594:50:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_909754ecf431a77f5e0445d029892e7f6b373421021181202e7a0bd0151a73cc", - "typeString": "literal_string \"ERC1155#safeBatchTransferFrom: INVALID_RECIPIENT\"" - }, - "value": "ERC1155#safeBatchTransferFrom: INVALID_RECIPIENT" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_909754ecf431a77f5e0445d029892e7f6b373421021181202e7a0bd0151a73cc", - "typeString": "literal_string \"ERC1155#safeBatchTransferFrom: INVALID_RECIPIENT\"" - } - ], - "id": 3095, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "2567:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3102, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2567:78:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3103, - "nodeType": "ExpressionStatement", - "src": "2567:78:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3105, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3067, - "src": "2675:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3106, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3069, - "src": "2682:3:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3107, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3072, - "src": "2687:4:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "argumentTypes": null, - "id": 3108, - "name": "_amounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3075, - "src": "2693:8:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "id": 3104, - "name": "_safeBatchTransferFrom", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3309, - "src": "2652:22:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", - "typeString": "function (address,address,uint256[] memory,uint256[] memory)" - } - }, - "id": 3109, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2652:50:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3110, - "nodeType": "ExpressionStatement", - "src": "2652:50:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3112, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3067, - "src": "2736:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3113, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3069, - "src": "2743:3:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3114, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3072, - "src": "2748:4:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "argumentTypes": null, - "id": 3115, - "name": "_amounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3075, - "src": "2754:8:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 3116, - "name": "gasleft", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3839, - "src": "2764:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_gasleft_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 3117, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2764:9:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3118, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3077, - "src": "2775:5:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 3111, - "name": "_callonERC1155BatchReceived", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3356, - "src": "2708:27:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,address,uint256[] memory,uint256[] memory,uint256,bytes memory)" - } - }, - "id": 3119, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2708:73:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3120, - "nodeType": "ExpressionStatement", - "src": "2708:73:18" - } - ] - }, - "documentation": "@notice Send multiple types of Tokens from the _from address to the _to address (with safety call)\n@param _from Source addresses\n@param _to Target addresses\n@param _ids IDs of each token type\n@param _amounts Transfer amounts per token type\n@param _data Additional data with no specified format, sent in call to `_to`", - "id": 3122, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "safeBatchTransferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3078, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3067, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 3122, - "src": "2304:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3066, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2304:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3069, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 3122, - "src": "2319:11:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3068, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2319:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3072, - "name": "_ids", - "nodeType": "VariableDeclaration", - "scope": 3122, - "src": "2332:21:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3070, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2332:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3071, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2332:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3075, - "name": "_amounts", - "nodeType": "VariableDeclaration", - "scope": 3122, - "src": "2355:25:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3073, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2355:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3074, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2355:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3077, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 3122, - "src": "2382:18:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 3076, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2382:5:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2303:98:18" - }, - "returnParameters": { - "id": 3079, - "nodeType": "ParameterList", - "parameters": [], - "src": "2415:0:18" - }, - "scope": 3502, - "src": "2273:513:18", - "stateMutability": "nonpayable", - "superFunction": 2885, - "visibility": "public" - }, - { - "body": { - "id": 3172, - "nodeType": "Block", - "src": "3276:267:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3133, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "3305:8:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 3136, - "indexExpression": { - "argumentTypes": null, - "id": 3134, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3124, - "src": "3314:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3305:15:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 3137, - "indexExpression": { - "argumentTypes": null, - "id": 3135, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3128, - "src": "3321:3:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3305:20:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3144, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3130, - "src": "3353:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3138, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "3328:8:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 3140, - "indexExpression": { - "argumentTypes": null, - "id": 3139, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3124, - "src": "3337:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3328:15:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 3142, - "indexExpression": { - "argumentTypes": null, - "id": 3141, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3128, - "src": "3344:3:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3328:20:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3143, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 3784, - "src": "3328:24:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3145, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3328:33:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3305:56:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3147, - "nodeType": "ExpressionStatement", - "src": "3305:56:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 3161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3148, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "3386:8:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 3151, - "indexExpression": { - "argumentTypes": null, - "id": 3149, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3126, - "src": "3395:3:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3386:13:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 3152, - "indexExpression": { - "argumentTypes": null, - "id": 3150, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3128, - "src": "3400:3:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3386:18:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3159, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3130, - "src": "3430:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3153, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "3407:8:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 3155, - "indexExpression": { - "argumentTypes": null, - "id": 3154, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3126, - "src": "3416:3:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3407:13:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 3157, - "indexExpression": { - "argumentTypes": null, - "id": 3156, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3128, - "src": "3421:3:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3407:18:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3158, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3809, - "src": "3407:22:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3160, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3407:31:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3386:52:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3162, - "nodeType": "ExpressionStatement", - "src": "3386:52:18" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3164, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "3501:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3165, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3501:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 3166, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3124, - "src": "3513:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3167, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3126, - "src": "3520:3:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3168, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3128, - "src": "3525:3:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3169, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3130, - "src": "3530:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3163, - "name": "TransferSingle", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2829, - "src": "3486:14:18", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,address,address,uint256,uint256)" - } - }, - "id": 3170, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3486:52:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3171, - "nodeType": "EmitStatement", - "src": "3481:57:18" - } - ] - }, - "documentation": "@notice Transfers amount amount of an _id from the _from address to the _to address specified\n@param _from Source address\n@param _to Target address\n@param _id ID of the token type\n@param _amount Transfered amount", - "id": 3173, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_safeTransferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3131, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3124, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 3173, - "src": "3203:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3123, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3203:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3126, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 3173, - "src": "3218:11:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3125, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3218:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3128, - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 3173, - "src": "3231:11:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3127, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3231:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3130, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 3173, - "src": "3244:15:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3129, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3244:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3202:58:18" - }, - "returnParameters": { - "id": 3132, - "nodeType": "ParameterList", - "parameters": [], - "src": "3276:0:18" - }, - "scope": 3502, - "src": "3176:367:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 3217, - "nodeType": "Block", - "src": "3795:311:18", - "statements": [ - { - "condition": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 3188, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3177, - "src": "3843:3:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 3189, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "isContract", - "nodeType": "MemberAccess", - "referencedDeclaration": 3697, - "src": "3843:14:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$bound_to$_t_address_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 3190, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3843:16:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 3216, - "nodeType": "IfStatement", - "src": "3839:263:18", - "trueBody": { - "id": 3215, - "nodeType": "Block", - "src": "3861:241:18", - "statements": [ - { - "assignments": [ - 3192 - ], - "declarations": [ - { - "constant": false, - "id": 3192, - "name": "retval", - "nodeType": "VariableDeclaration", - "scope": 3215, - "src": "3869:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 3191, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "3869:6:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3207, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3200, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "3945:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3201, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3945:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 3202, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3175, - "src": "3957:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3203, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3179, - "src": "3964:3:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3204, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3181, - "src": "3969:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 3205, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3185, - "src": "3978:5:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "arguments": [ - { - "argumentTypes": null, - "id": 3198, - "name": "_gasLimit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3183, - "src": "3934:9:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3194, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3177, - "src": "3907:3:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3193, - "name": "IERC1155TokenReceiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2965, - "src": "3885:21:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC1155TokenReceiver_$2965_$", - "typeString": "type(contract IERC1155TokenReceiver)" - } - }, - "id": 3195, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3885:26:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC1155TokenReceiver_$2965", - "typeString": "contract IERC1155TokenReceiver" - } - }, - "id": 3196, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "onERC1155Received", - "nodeType": "MemberAccess", - "referencedDeclaration": 2940, - "src": "3885:44:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$", - "typeString": "function (address,address,uint256,uint256,bytes memory) external returns (bytes4)" - } - }, - "id": 3197, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "gas", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3885:48:18", - "typeDescriptions": { - "typeIdentifier": "t_function_setgas_pure$_t_uint256_$returns$_t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$gas_$", - "typeString": "function (uint256) pure returns (function (address,address,uint256,uint256,bytes memory) external returns (bytes4))" - } - }, - "id": 3199, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3885:59:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bytes4_$gas", - "typeString": "function (address,address,uint256,uint256,bytes memory) external returns (bytes4)" - } - }, - "id": 3206, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3885:99:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "3869:115:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 3211, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3209, - "name": "retval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3192, - "src": "4000:6:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 3210, - "name": "ERC1155_RECEIVED_VALUE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2995, - "src": "4010:22:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "4000:32:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524331313535235f63616c6c6f6e4552433131353552656365697665643a20494e56414c49445f4f4e5f524543454956455f4d455353414745", - "id": 3212, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4034:60:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d1e4892029f7262891cacb3a63cb31fcb3ef3a098f2da66a45f307373dd74740", - "typeString": "literal_string \"ERC1155#_callonERC1155Received: INVALID_ON_RECEIVE_MESSAGE\"" - }, - "value": "ERC1155#_callonERC1155Received: INVALID_ON_RECEIVE_MESSAGE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d1e4892029f7262891cacb3a63cb31fcb3ef3a098f2da66a45f307373dd74740", - "typeString": "literal_string \"ERC1155#_callonERC1155Received: INVALID_ON_RECEIVE_MESSAGE\"" - } - ], - "id": 3208, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "3992:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3213, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3992:103:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3214, - "nodeType": "ExpressionStatement", - "src": "3992:103:18" - } - ] - } - } - ] - }, - "documentation": "@notice Verifies if receiver is contract and if so, calls (_to).onERC1155Received(...)", - "id": 3218, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_callonERC1155Received", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3186, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3175, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 3218, - "src": "3683:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3174, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3683:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3177, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 3218, - "src": "3698:11:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3176, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3698:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3179, - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 3218, - "src": "3711:11:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3178, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3711:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3181, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 3218, - "src": "3724:15:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3180, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3724:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3183, - "name": "_gasLimit", - "nodeType": "VariableDeclaration", - "scope": 3218, - "src": "3741:17:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3182, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3741:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3185, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 3218, - "src": "3760:18:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 3184, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3760:5:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3682:97:18" - }, - "returnParameters": { - "id": 3187, - "nodeType": "ParameterList", - "parameters": [], - "src": "3795:0:18" - }, - "scope": 3502, - "src": "3651:455:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 3308, - "nodeType": "Block", - "src": "4528:545:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3236, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3232, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3225, - "src": "4542:4:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3233, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4542:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3234, - "name": "_amounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3228, - "src": "4557:8:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3235, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4557:15:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4542:30:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524331313535235f7361666542617463685472616e7366657246726f6d3a20494e56414c49445f4152524159535f4c454e475448", - "id": 3237, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4574:55:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4f5f172baf37961126779b1494b916cae331a9ccc62d5cf3660ee672bc15e9e3", - "typeString": "literal_string \"ERC1155#_safeBatchTransferFrom: INVALID_ARRAYS_LENGTH\"" - }, - "value": "ERC1155#_safeBatchTransferFrom: INVALID_ARRAYS_LENGTH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_4f5f172baf37961126779b1494b916cae331a9ccc62d5cf3660ee672bc15e9e3", - "typeString": "literal_string \"ERC1155#_safeBatchTransferFrom: INVALID_ARRAYS_LENGTH\"" - } - ], - "id": 3231, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "4534:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3238, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4534:96:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3239, - "nodeType": "ExpressionStatement", - "src": "4534:96:18" - }, - { - "assignments": [ - 3241 - ], - "declarations": [ - { - "constant": false, - "id": 3241, - "name": "nTransfer", - "nodeType": "VariableDeclaration", - "scope": 3308, - "src": "4674:17:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3240, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4674:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3244, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3242, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3225, - "src": "4694:4:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3243, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4694:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4674:31:18" - }, - { - "body": { - "id": 3297, - "nodeType": "Block", - "src": "4783:203:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3274, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3255, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "4839:8:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 3260, - "indexExpression": { - "argumentTypes": null, - "id": 3256, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3220, - "src": "4848:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4839:15:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 3261, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3257, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3225, - "src": "4855:4:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3259, - "indexExpression": { - "argumentTypes": null, - "id": 3258, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3246, - "src": "4860:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4855:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4839:24:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3270, - "name": "_amounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3228, - "src": "4895:8:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3272, - "indexExpression": { - "argumentTypes": null, - "id": 3271, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3246, - "src": "4904:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4895:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3262, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "4866:8:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 3264, - "indexExpression": { - "argumentTypes": null, - "id": 3263, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3220, - "src": "4875:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4866:15:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 3268, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3265, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3225, - "src": "4882:4:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3267, - "indexExpression": { - "argumentTypes": null, - "id": 3266, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3246, - "src": "4887:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4882:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4866:24:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3269, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 3784, - "src": "4866:28:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3273, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4866:41:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4839:68:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3275, - "nodeType": "ExpressionStatement", - "src": "4839:68:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 3295, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3276, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "4915:8:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 3281, - "indexExpression": { - "argumentTypes": null, - "id": 3277, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3222, - "src": "4924:3:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4915:13:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 3282, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3278, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3225, - "src": "4929:4:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3280, - "indexExpression": { - "argumentTypes": null, - "id": 3279, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3246, - "src": "4934:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4929:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4915:22:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3291, - "name": "_amounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3228, - "src": "4967:8:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3293, - "indexExpression": { - "argumentTypes": null, - "id": 3292, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3246, - "src": "4976:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4967:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3283, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "4940:8:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 3285, - "indexExpression": { - "argumentTypes": null, - "id": 3284, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3222, - "src": "4949:3:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4940:13:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 3289, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3286, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3225, - "src": "4954:4:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3288, - "indexExpression": { - "argumentTypes": null, - "id": 3287, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3246, - "src": "4959:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4954:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4940:22:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3290, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3809, - "src": "4940:26:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 3294, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4940:39:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4915:64:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3296, - "nodeType": "ExpressionStatement", - "src": "4915:64:18" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3251, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3249, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3246, - "src": "4763:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 3250, - "name": "nTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3241, - "src": "4767:9:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4763:13:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3298, - "initializationExpression": { - "assignments": [ - 3246 - ], - "declarations": [ - { - "constant": false, - "id": 3246, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 3298, - "src": "4748:9:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3245, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4748:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3248, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 3247, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4760:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "4748:13:18" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 3253, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "4778:3:18", - "subExpression": { - "argumentTypes": null, - "id": 3252, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3246, - "src": "4778:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3254, - "nodeType": "ExpressionStatement", - "src": "4778:3:18" - }, - "nodeType": "ForStatement", - "src": "4743:243:18" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3300, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "5029:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3301, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5029:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 3302, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3220, - "src": "5041:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3303, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3222, - "src": "5048:3:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3304, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3225, - "src": "5053:4:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "argumentTypes": null, - "id": 3305, - "name": "_amounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3228, - "src": "5059:8:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "id": 3299, - "name": "TransferBatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2843, - "src": "5015:13:18", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", - "typeString": "function (address,address,address,uint256[] memory,uint256[] memory)" - } - }, - "id": 3306, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5015:53:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3307, - "nodeType": "EmitStatement", - "src": "5010:58:18" - } - ] - }, - "documentation": "@notice Send multiple types of Tokens from the _from address to the _to address (with safety call)\n@param _from Source addresses\n@param _to Target addresses\n@param _ids IDs of each token type\n@param _amounts Transfer amounts per token type", - "id": 3309, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_safeBatchTransferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3229, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3220, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 3309, - "src": "4435:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3219, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4435:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3222, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 3309, - "src": "4450:11:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3221, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4450:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3225, - "name": "_ids", - "nodeType": "VariableDeclaration", - "scope": 3309, - "src": "4463:21:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3223, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4463:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3224, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4463:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3228, - "name": "_amounts", - "nodeType": "VariableDeclaration", - "scope": 3309, - "src": "4486:25:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3226, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4486:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3227, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4486:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4434:78:18" - }, - "returnParameters": { - "id": 3230, - "nodeType": "ParameterList", - "parameters": [], - "src": "4528:0:18" - }, - "scope": 3502, - "src": "4403:670:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 3355, - "nodeType": "Block", - "src": "5355:333:18", - "statements": [ - { - "condition": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 3326, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3313, - "src": "5407:3:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 3327, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "isContract", - "nodeType": "MemberAccess", - "referencedDeclaration": 3697, - "src": "5407:14:18", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$bound_to$_t_address_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 3328, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5407:16:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 3354, - "nodeType": "IfStatement", - "src": "5403:281:18", - "trueBody": { - "id": 3353, - "nodeType": "Block", - "src": "5425:259:18", - "statements": [ - { - "assignments": [ - 3330 - ], - "declarations": [ - { - "constant": false, - "id": 3330, - "name": "retval", - "nodeType": "VariableDeclaration", - "scope": 3353, - "src": "5433:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 3329, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "5433:6:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3345, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3338, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "5514:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3339, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5514:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 3340, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3311, - "src": "5526:5:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3341, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3316, - "src": "5533:4:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "argumentTypes": null, - "id": 3342, - "name": "_amounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3319, - "src": "5539:8:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "argumentTypes": null, - "id": 3343, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3323, - "src": "5549:5:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "arguments": [ - { - "argumentTypes": null, - "id": 3336, - "name": "_gasLimit", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3321, - "src": "5503:9:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3332, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3313, - "src": "5471:3:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 3331, - "name": "IERC1155TokenReceiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2965, - "src": "5449:21:18", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC1155TokenReceiver_$2965_$", - "typeString": "type(contract IERC1155TokenReceiver)" - } - }, - "id": 3333, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5449:26:18", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC1155TokenReceiver_$2965", - "typeString": "contract IERC1155TokenReceiver" - } - }, - "id": 3334, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "onERC1155BatchReceived", - "nodeType": "MemberAccess", - "referencedDeclaration": 2957, - "src": "5449:49:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bytes4_$", - "typeString": "function (address,address,uint256[] memory,uint256[] memory,bytes memory) external returns (bytes4)" - } - }, - "id": 3335, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "gas", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "5449:53:18", - "typeDescriptions": { - "typeIdentifier": "t_function_setgas_pure$_t_uint256_$returns$_t_function_external_nonpayable$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bytes4_$gas_$", - "typeString": "function (uint256) pure returns (function (address,address,uint256[] memory,uint256[] memory,bytes memory) external returns (bytes4))" - } - }, - "id": 3337, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5449:64:18", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_bytes4_$gas", - "typeString": "function (address,address,uint256[] memory,uint256[] memory,bytes memory) external returns (bytes4)" - } - }, - "id": 3344, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5449:106:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "5433:122:18" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 3349, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3347, - "name": "retval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3330, - "src": "5571:6:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 3348, - "name": "ERC1155_BATCH_RECEIVED_VALUE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2998, - "src": "5581:28:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "5571:38:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524331313535235f63616c6c6f6e45524331313535426174636852656365697665643a20494e56414c49445f4f4e5f524543454956455f4d455353414745", - "id": 3350, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5611:65:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d01e89a9585e3758ec71f0b758b0e5a5f1316bddeb547d3737010dd4a5578f32", - "typeString": "literal_string \"ERC1155#_callonERC1155BatchReceived: INVALID_ON_RECEIVE_MESSAGE\"" - }, - "value": "ERC1155#_callonERC1155BatchReceived: INVALID_ON_RECEIVE_MESSAGE" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d01e89a9585e3758ec71f0b758b0e5a5f1316bddeb547d3737010dd4a5578f32", - "typeString": "literal_string \"ERC1155#_callonERC1155BatchReceived: INVALID_ON_RECEIVE_MESSAGE\"" - } - ], - "id": 3346, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "5563:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3351, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5563:114:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3352, - "nodeType": "ExpressionStatement", - "src": "5563:114:18" - } - ] - } - } - ] - }, - "documentation": "@notice Verifies if receiver is contract and if so, calls (_to).onERC1155BatchReceived(...)", - "id": 3356, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_callonERC1155BatchReceived", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3324, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3311, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 3356, - "src": "5223:13:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3310, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5223:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3313, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 3356, - "src": "5238:11:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3312, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5238:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3316, - "name": "_ids", - "nodeType": "VariableDeclaration", - "scope": 3356, - "src": "5251:21:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3314, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5251:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3315, - "length": null, - "nodeType": "ArrayTypeName", - "src": "5251:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3319, - "name": "_amounts", - "nodeType": "VariableDeclaration", - "scope": 3356, - "src": "5274:25:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3317, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5274:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3318, - "length": null, - "nodeType": "ArrayTypeName", - "src": "5274:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3321, - "name": "_gasLimit", - "nodeType": "VariableDeclaration", - "scope": 3356, - "src": "5301:17:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3320, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5301:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3323, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 3356, - "src": "5320:18:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 3322, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5320:5:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5222:117:18" - }, - "returnParameters": { - "id": 3325, - "nodeType": "ParameterList", - "parameters": [], - "src": "5355:0:18" - }, - "scope": 3502, - "src": "5186:502:18", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 3379, - "nodeType": "Block", - "src": "6162:144:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3370, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3363, - "name": "operators", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3010, - "src": "6198:9:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - } - }, - "id": 3367, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3364, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "6208:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3365, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6208:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6198:21:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 3368, - "indexExpression": { - "argumentTypes": null, - "id": 3366, - "name": "_operator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3358, - "src": "6220:9:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6198:32:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3369, - "name": "_approved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3360, - "src": "6233:9:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "6198:44:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3371, - "nodeType": "ExpressionStatement", - "src": "6198:44:18" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3373, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "6268:3:18", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 3374, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6268:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 3375, - "name": "_operator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3358, - "src": "6280:9:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 3376, - "name": "_approved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3360, - "src": "6291:9:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "id": 3372, - "name": "ApprovalForAll", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2851, - "src": "6253:14:18", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bool_$returns$__$", - "typeString": "function (address,address,bool)" - } - }, - "id": 3377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6253:48:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3378, - "nodeType": "EmitStatement", - "src": "6248:53:18" - } - ] - }, - "documentation": "@notice Enable or disable approval for a third party (\"operator\") to manage all of caller's tokens\n@param _operator Address to add to the set of authorized operators\n@param _approved True if the operator is approved, false to revoke approval", - "id": 3380, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "setApprovalForAll", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3361, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3358, - "name": "_operator", - "nodeType": "VariableDeclaration", - "scope": 3380, - "src": "6112:17:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3357, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6112:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3360, - "name": "_approved", - "nodeType": "VariableDeclaration", - "scope": 3380, - "src": "6131:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3359, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6131:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6111:35:18" - }, - "returnParameters": { - "id": 3362, - "nodeType": "ParameterList", - "parameters": [], - "src": "6162:0:18" - }, - "scope": 3502, - "src": "6085:221:18", - "stateMutability": "nonpayable", - "superFunction": 2913, - "visibility": "external" - }, - { - "body": { - "id": 3395, - "nodeType": "Block", - "src": "6662:46:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3389, - "name": "operators", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3010, - "src": "6675:9:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_bool_$_$", - "typeString": "mapping(address => mapping(address => bool))" - } - }, - "id": 3391, - "indexExpression": { - "argumentTypes": null, - "id": 3390, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3382, - "src": "6685:6:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6675:17:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 3393, - "indexExpression": { - "argumentTypes": null, - "id": 3392, - "name": "_operator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3384, - "src": "6693:9:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6675:28:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 3388, - "id": 3394, - "nodeType": "Return", - "src": "6668:35:18" - } - ] - }, - "documentation": "@notice Queries the approval status of an operator for a given owner\n@param _owner The owner of the Tokens\n@param _operator Address of authorized operator\n@return True if the operator is approved, false if not", - "id": 3396, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isApprovedForAll", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3385, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3382, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 3396, - "src": "6583:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3381, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6583:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3384, - "name": "_operator", - "nodeType": "VariableDeclaration", - "scope": 3396, - "src": "6599:17:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3383, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6599:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6582:35:18" - }, - "returnParameters": { - "id": 3388, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3387, - "name": "isOperator", - "nodeType": "VariableDeclaration", - "scope": 3396, - "src": "6643:15:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3386, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6643:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6642:17:18" - }, - "scope": 3502, - "src": "6557:151:18", - "stateMutability": "view", - "superFunction": 2922, - "visibility": "public" - }, - { - "body": { - "id": 3411, - "nodeType": "Block", - "src": "7132:39:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3405, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "7145:8:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 3407, - "indexExpression": { - "argumentTypes": null, - "id": 3406, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3398, - "src": "7154:6:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7145:16:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 3409, - "indexExpression": { - "argumentTypes": null, - "id": 3408, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3400, - "src": "7162:3:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7145:21:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3404, - "id": 3410, - "nodeType": "Return", - "src": "7138:28:18" - } - ] - }, - "documentation": "@notice Get the balance of an account's Tokens\n@param _owner The address of the token holder\n@param _id ID of the Token\n@return The _owner's balance of the Token type requested", - "id": 3412, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3401, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3398, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 3412, - "src": "7067:14:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3397, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7067:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3400, - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 3412, - "src": "7083:11:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3399, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7083:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7066:29:18" - }, - "returnParameters": { - "id": 3404, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3403, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3412, - "src": "7121:7:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3402, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7121:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7120:9:18" - }, - "scope": 3502, - "src": "7048:123:18", - "stateMutability": "view", - "superFunction": 2894, - "visibility": "public" - }, - { - "body": { - "id": 3473, - "nodeType": "Block", - "src": "7569:368:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3429, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3425, - "name": "_owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3415, - "src": "7583:7:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 3426, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7583:14:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3427, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3418, - "src": "7601:4:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3428, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7601:11:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7583:29:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "455243313135352362616c616e63654f6642617463683a20494e56414c49445f41525241595f4c454e475448", - "id": 3430, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7614:46:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a4238933bea90e19d8a4b6d3db87260a7b7b62f1d27625f892fb051d61a85b44", - "typeString": "literal_string \"ERC1155#balanceOfBatch: INVALID_ARRAY_LENGTH\"" - }, - "value": "ERC1155#balanceOfBatch: INVALID_ARRAY_LENGTH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_a4238933bea90e19d8a4b6d3db87260a7b7b62f1d27625f892fb051d61a85b44", - "typeString": "literal_string \"ERC1155#balanceOfBatch: INVALID_ARRAY_LENGTH\"" - } - ], - "id": 3424, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "7575:7:18", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7575:86:18", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3432, - "nodeType": "ExpressionStatement", - "src": "7575:86:18" - }, - { - "assignments": [ - 3436 - ], - "declarations": [ - { - "constant": false, - "id": 3436, - "name": "batchBalances", - "nodeType": "VariableDeclaration", - "scope": 3473, - "src": "7685:30:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3434, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7685:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3435, - "length": null, - "nodeType": "ArrayTypeName", - "src": "7685:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3443, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3440, - "name": "_owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3415, - "src": "7732:7:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 3441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7732:14:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3439, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "7718:13:18", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_$", - "typeString": "function (uint256) pure returns (uint256[] memory)" - }, - "typeName": { - "baseType": { - "id": 3437, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7722:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3438, - "length": null, - "nodeType": "ArrayTypeName", - "src": "7722:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - } - }, - "id": 3442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7718:29:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory", - "typeString": "uint256[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "7685:62:18" - }, - { - "body": { - "id": 3469, - "nodeType": "Block", - "src": "7843:63:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3467, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3455, - "name": "batchBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3436, - "src": "7851:13:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3457, - "indexExpression": { - "argumentTypes": null, - "id": 3456, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3445, - "src": "7865:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7851:16:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3458, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "7870:8:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 3462, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3459, - "name": "_owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3415, - "src": "7879:7:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 3461, - "indexExpression": { - "argumentTypes": null, - "id": 3460, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3445, - "src": "7887:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7879:10:18", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7870:20:18", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 3466, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3463, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3418, - "src": "7891:4:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3465, - "indexExpression": { - "argumentTypes": null, - "id": 3464, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3445, - "src": "7896:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7891:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7870:29:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7851:48:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3468, - "nodeType": "ExpressionStatement", - "src": "7851:48:18" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3451, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3448, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3445, - "src": "7818:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3449, - "name": "_owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3415, - "src": "7822:7:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 3450, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "7822:14:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7818:18:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3470, - "initializationExpression": { - "assignments": [ - 3445 - ], - "declarations": [ - { - "constant": false, - "id": 3445, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 3470, - "src": "7803:9:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3444, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7803:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3447, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 3446, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7815:1:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "7803:13:18" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 3453, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "7838:3:18", - "subExpression": { - "argumentTypes": null, - "id": 3452, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3445, - "src": "7838:1:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3454, - "nodeType": "ExpressionStatement", - "src": "7838:3:18" - }, - "nodeType": "ForStatement", - "src": "7798:108:18" - }, - { - "expression": { - "argumentTypes": null, - "id": 3471, - "name": "batchBalances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3436, - "src": "7919:13:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "functionReturnParameters": 3423, - "id": 3472, - "nodeType": "Return", - "src": "7912:20:18" - } - ] - }, - "documentation": "@notice Get the balance of multiple account/token pairs\n@param _owners The addresses of the token holders\n@param _ids ID of the Tokens\n@return The _owner's balance of the Token types requested (i.e. balance for each (owner, id) pair)", - "id": 3474, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "balanceOfBatch", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3419, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3415, - "name": "_owners", - "nodeType": "VariableDeclaration", - "scope": 3474, - "src": "7475:24:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 3413, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7475:7:18", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 3414, - "length": null, - "nodeType": "ArrayTypeName", - "src": "7475:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3418, - "name": "_ids", - "nodeType": "VariableDeclaration", - "scope": 3474, - "src": "7501:21:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3416, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7501:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3417, - "length": null, - "nodeType": "ArrayTypeName", - "src": "7501:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7474:49:18" - }, - "returnParameters": { - "id": 3423, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3422, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3474, - "src": "7549:16:18", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3420, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7549:7:18", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3421, - "length": null, - "nodeType": "ArrayTypeName", - "src": "7549:9:18", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7548:18:18" - }, - "scope": 3502, - "src": "7451:486:18", - "stateMutability": "view", - "superFunction": 2906, - "visibility": "public" - }, - { - "constant": true, - "id": 3477, - "name": "INTERFACE_SIGNATURE_ERC165", - "nodeType": "VariableDeclaration", - "scope": 3502, - "src": "8157:63:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 3475, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "8157:6:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783031666663396137", - "id": 3476, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8210:10:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_33540519_by_1", - "typeString": "int_const 33540519" - }, - "value": "0x01ffc9a7" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 3480, - "name": "INTERFACE_SIGNATURE_ERC1155", - "nodeType": "VariableDeclaration", - "scope": 3502, - "src": "8689:64:18", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 3478, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "8689:6:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30786439623637613236", - "id": 3479, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8743:10:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3652614694_by_1", - "typeString": "int_const 3652614694" - }, - "value": "0xd9b67a26" - }, - "visibility": "private" - }, - { - "body": { - "id": 3500, - "nodeType": "Block", - "src": "9046:157:18", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 3493, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 3489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3487, - "name": "_interfaceID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3482, - "src": "9056:12:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 3488, - "name": "INTERFACE_SIGNATURE_ERC165", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3477, - "src": "9072:26:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "9056:42:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 3492, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3490, - "name": "_interfaceID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3482, - "src": "9110:12:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 3491, - "name": "INTERFACE_SIGNATURE_ERC1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3480, - "src": "9126:27:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "9110:43:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "9056:97:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 3497, - "nodeType": "IfStatement", - "src": "9052:129:18", - "trueBody": { - "id": 3496, - "nodeType": "Block", - "src": "9155:26:18", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 3494, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9170:4:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 3486, - "id": 3495, - "nodeType": "Return", - "src": "9163:11:18" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 3498, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "9193:5:18", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 3486, - "id": 3499, - "nodeType": "Return", - "src": "9186:12:18" - } - ] - }, - "documentation": "@notice Query if a contract implements an interface\n@param _interfaceID The interface identifier, as specified in ERC-165\n@return `true` if the contract implements `_interfaceID` and", - "id": 3501, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "supportsInterface", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3483, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3482, - "name": "_interfaceID", - "nodeType": "VariableDeclaration", - "scope": 3501, - "src": "8996:19:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 3481, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "8996:6:18", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "8995:21:18" - }, - "returnParameters": { - "id": 3486, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3485, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3501, - "src": "9040:4:18", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 3484, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "9040:4:18", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "9039:6:18" - }, - "scope": 3502, - "src": "8969:234:18", - "stateMutability": "view", - "superFunction": 2974, - "visibility": "external" - } - ], - "scope": 3503, - "src": "293:8912:18" - } - ], - "src": "0:9206:18" - }, - "compiler": { - "name": "solc", - "version": "0.5.17+commit.d19bba13.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.16", - "updatedAt": "2020-11-17T15:15:49.629Z", - "devdoc": { - "details": "Implementation of Multi-Token Standard contract", - "methods": { - "balanceOf(address,uint256)": { - "params": { - "_id": "ID of the Token", - "_owner": "The address of the token holder" - }, - "return": "The _owner's balance of the Token type requested" - }, - "balanceOfBatch(address[],uint256[])": { - "params": { - "_ids": "ID of the Tokens", - "_owners": "The addresses of the token holders" - }, - "return": "The _owner's balance of the Token types requested (i.e. balance for each (owner, id) pair)" - }, - "isApprovedForAll(address,address)": { - "params": { - "_operator": "Address of authorized operator", - "_owner": "The owner of the Tokens" - }, - "return": "True if the operator is approved, false if not" - }, - "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)": { - "params": { - "_amounts": "Transfer amounts per token type", - "_data": "Additional data with no specified format, sent in call to `_to`", - "_from": "Source addresses", - "_ids": "IDs of each token type", - "_to": "Target addresses" - } - }, - "safeTransferFrom(address,address,uint256,uint256,bytes)": { - "params": { - "_amount": "Transfered amount", - "_data": "Additional data with no specified format, sent in call to `_to`", - "_from": "Source address", - "_id": "ID of the token type", - "_to": "Target address" - } - }, - "setApprovalForAll(address,bool)": { - "params": { - "_approved": "True if the operator is approved, false to revoke approval", - "_operator": "Address to add to the set of authorized operators" - } - }, - "supportsInterface(bytes4)": { - "params": { - "_interfaceID": "The interface identifier, as specified in ERC-165" - }, - "return": "`true` if the contract implements `_interfaceID` and" - } - } - }, - "userdoc": { - "methods": { - "balanceOf(address,uint256)": { - "notice": "Get the balance of an account's Tokens" - }, - "balanceOfBatch(address[],uint256[])": { - "notice": "Get the balance of multiple account/token pairs" - }, - "isApprovedForAll(address,address)": { - "notice": "Queries the approval status of an operator for a given owner" - }, - "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)": { - "notice": "Send multiple types of Tokens from the _from address to the _to address (with safety call)" - }, - "safeTransferFrom(address,address,uint256,uint256,bytes)": { - "notice": "Transfers amount amount of an _id from the _from address to the _to address specified" - }, - "setApprovalForAll(address,bool)": { - "notice": "Enable or disable approval for a third party (\"operator\") to manage all of caller's tokens" - }, - "supportsInterface(bytes4)": { - "notice": "Query if a contract implements an interface" - } - } - } -} \ No newline at end of file diff --git a/packages/proxyIdentity/build/contracts/ERC1155Metadata.json b/packages/proxyIdentity/build/contracts/ERC1155Metadata.json deleted file mode 100644 index e33b2e7c9..000000000 --- a/packages/proxyIdentity/build/contracts/ERC1155Metadata.json +++ /dev/null @@ -1,4524 +0,0 @@ -{ - "contractName": "ERC1155Metadata", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "_uri", - "type": "string" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "_id", - "type": "uint256" - } - ], - "name": "URI", - "type": "event" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - } - ], - "name": "uri", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"_uri\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"}],\"name\":\"URI\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"}],\"name\":\"uri\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Methods assume a deterministic generation of URI based on token IDs. Methods also assume that URI uses hex representation of token IDs.\",\"methods\":{\"uri(uint256)\":{\"details\":\"URIs are defined in RFC 3986. URIs are assumed to be deterministically generated based on token ID Token IDs are assumed to be represented in their hex format in URIs\",\"return\":\"URI string\"}}},\"userdoc\":{\"methods\":{\"uri(uint256)\":{\"notice\":\"A distinct Uniform Resource Identifier (URI) for a given token.\"}},\"notice\":\"Contract that handles metadata related methods.\"}},\"settings\":{\"compilationTarget\":{\"multi-token-standard/contracts/tokens/ERC1155/ERC1155Metadata.sol\":\"ERC1155Metadata\"},\"evmVersion\":\"constantinople\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"multi-token-standard/contracts/interfaces/IERC1155.sol\":{\"keccak256\":\"0x9632273d1c5272823807d1d0b1630af9e2dad7f1e41a65bfdbc66bda702c53a1\",\"urls\":[\"bzz-raw://6deb9bdff007e4b367d4561699f45f0f8521a4412a770a9292c109844f739f58\",\"dweb:/ipfs/QmTXrB3rTHHrNcHAa3PYoq2BRJiT4nMmMrPmA6AjDsk7HB\"]},\"multi-token-standard/contracts/tokens/ERC1155/ERC1155Metadata.sol\":{\"keccak256\":\"0x4ef6482f64e22ea36be61c3eba61f85bed1fa75f83dcda5c4850697b5ed2c4d4\",\"urls\":[\"bzz-raw://e7550ccafd3c9e121a9d9a86e6246db33cf6a1917bf89fdd3dc35c3e539489b4\",\"dweb:/ipfs/QmQKsdE526BUTA4Xjo8FeTwmYQMWeXEUqHs392hLKeFZGn\"]}},\"version\":1}", - "bytecode": "0x608060405234801561001057600080fd5b5061033f806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80630e89341c14610030575b600080fd5b61005c6004803603602081101561004657600080fd5b81019080803590602001909291905050506100d7565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561009c578082015181840152602081019050610081565b50505050905090810190601f1680156100c95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b606060006100e4836101d7565b60405160200180838054600181600116156101000203166002900480156101425780601f10610120576101008083540402835291820191610142565b820191906000526020600020905b81548152906001019060200180831161012e575b505082805190602001908083835b602083106101735780518252602082019150602081019050602083039250610150565b6001836020036101000a038019825116818451168082178552505050505050905001807f2e6a736f6e000000000000000000000000000000000000000000000000000000815250600501925050506040516020818303038152906040529050919050565b6060600082141561021f576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050610305565b6000829050600083905060005b6000831461024e578080600101915050600a838161024657fe5b04925061022c565b6060816040519080825280601f01601f1916602001820160405280156102835781602001600182028038833980820191505090505b50905060006001830390505b600084146102fc57600a84816102a157fe5b0660300160f81b828280600190039350815181106102bb57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a84816102f457fe5b04935061028f565b81955050505050505b91905056fea265627a7a72315820ccd1d342e51bfff3ac814fba0b1d7e57596fff14757e5453ca7c25c9e4400e8764736f6c63430005110032", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c80630e89341c14610030575b600080fd5b61005c6004803603602081101561004657600080fd5b81019080803590602001909291905050506100d7565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561009c578082015181840152602081019050610081565b50505050905090810190601f1680156100c95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b606060006100e4836101d7565b60405160200180838054600181600116156101000203166002900480156101425780601f10610120576101008083540402835291820191610142565b820191906000526020600020905b81548152906001019060200180831161012e575b505082805190602001908083835b602083106101735780518252602082019150602081019050602083039250610150565b6001836020036101000a038019825116818451168082178552505050505050905001807f2e6a736f6e000000000000000000000000000000000000000000000000000000815250600501925050506040516020818303038152906040529050919050565b6060600082141561021f576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050610305565b6000829050600083905060005b6000831461024e578080600101915050600a838161024657fe5b04925061022c565b6060816040519080825280601f01601f1916602001820160405280156102835781602001600182028038833980820191505090505b50905060006001830390505b600084146102fc57600a84816102a157fe5b0660300160f81b828280600190039350815181106102bb57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a84816102f457fe5b04935061028f565b81955050505050505b91905056fea265627a7a72315820ccd1d342e51bfff3ac814fba0b1d7e57596fff14757e5453ca7c25c9e4400e8764736f6c63430005110032", - "sourceMap": "286:2308:19:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;286:2308:19;;;;;;;", - "deployedSourceMap": "286:2308:19:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;286:2308:19;;;;;;;;;;;;;;;;;;;859:146;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;859:146:19;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;859:146:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;906:13;958:15;975:14;985:3;975:9;:14::i;:::-;941:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;941:58:19;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;941:58:19;;;927:73;;859:146;;;:::o;2079:513::-;2133:27;2178:1;2172:2;:7;2168:38;;;2189:10;;;;;;;;;;;;;;;;;;;;;2168:38;2212:9;2224:2;2212:14;;2232:10;2245:2;2232:15;;2253:11;2298:50;2310:1;2305;:6;2298:50;;2321:5;;;;;;;2339:2;2334:7;;;;;;;;;2298:50;;;2354:17;2384:3;2374:14;;;;;;;;;;;;;;;;;;;;;;;;;29:1:-1;21:6;17:14;116:4;104:10;96:6;87:34;147:4;139:6;135:17;125:27;;0:156;2374:14:19;;;;2354:34;;2394:9;2412:1;2406:3;:7;2394:19;;2453:84;2466:1;2460:2;:7;2453:84;;2510:2;2505;:7;;;;;;2500:2;:12;2489:25;;2477:4;2482:3;;;;;;;2477:9;;;;;;;;;;;:37;;;;;;;;;;;2528:2;2522:8;;;;;;;;;2453:84;;;2582:4;2568:19;;;;;;;2079:513;;;;:::o", - "source": "pragma solidity ^0.5.16;\nimport \"../../interfaces/IERC1155.sol\";\n\n\n/**\n * @notice Contract that handles metadata related methods.\n * @dev Methods assume a deterministic generation of URI based on token IDs.\n * Methods also assume that URI uses hex representation of token IDs.\n */\ncontract ERC1155Metadata {\n // URI's default URI prefix\n string internal baseMetadataURI;\n event URI(string _uri, uint256 indexed _id);\n\n /***********************************|\n | Metadata Public Function s |\n |__________________________________*/\n\n /**\n * @notice A distinct Uniform Resource Identifier (URI) for a given token.\n * @dev URIs are defined in RFC 3986.\n * URIs are assumed to be deterministically generated based on token ID\n * Token IDs are assumed to be represented in their hex format in URIs\n * @return URI string\n */\n function uri(uint256 _id) public view returns (string memory) {\n return string(abi.encodePacked(baseMetadataURI, _uint2str(_id), \".json\"));\n }\n\n\n /***********************************|\n | Metadata Internal Functions |\n |__________________________________*/\n\n /**\n * @notice Will emit default URI log event for corresponding token _id\n * @param _tokenIDs Array of IDs of tokens to log default URI\n */\n function _logURIs(uint256[] memory _tokenIDs) internal {\n string memory baseURL = baseMetadataURI;\n string memory tokenURI;\n\n for (uint256 i = 0; i < _tokenIDs.length; i++) {\n tokenURI = string(abi.encodePacked(baseURL, _uint2str(_tokenIDs[i]), \".json\"));\n emit URI(tokenURI, _tokenIDs[i]);\n }\n }\n\n /**\n * @notice Will update the base URL of token's URI\n * @param _newBaseMetadataURI New base URL of token's URI\n */\n function _setBaseMetadataURI(string memory _newBaseMetadataURI) internal {\n baseMetadataURI = _newBaseMetadataURI;\n }\n\n\n /***********************************|\n | Utility Internal Functions |\n |__________________________________*/\n\n /**\n * @notice Convert uint256 to string\n * @param _i Unsigned integer to convert to string\n */\n function _uint2str(uint256 _i) internal pure returns (string memory _uintAsString) {\n if (_i == 0) {\n return \"0\";\n }\n\n uint256 j = _i;\n uint256 ii = _i;\n uint256 len;\n\n // Get number of bytes\n while (j != 0) {\n len++;\n j /= 10;\n }\n\n bytes memory bstr = new bytes(len);\n uint256 k = len - 1;\n\n // Get each individual ASCII\n while (ii != 0) {\n bstr[k--] = byte(uint8(48 + ii % 10));\n ii /= 10;\n }\n\n // Convert to string\n return string(bstr);\n }\n}", - "sourcePath": "multi-token-standard/contracts/tokens/ERC1155/ERC1155Metadata.sol", - "ast": { - "absolutePath": "multi-token-standard/contracts/tokens/ERC1155/ERC1155Metadata.sol", - "exportedSymbols": { - "ERC1155Metadata": [ - 3671 - ] - }, - "id": 3672, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 3504, - "literals": [ - "solidity", - "^", - "0.5", - ".16" - ], - "nodeType": "PragmaDirective", - "src": "0:24:19" - }, - { - "absolutePath": "multi-token-standard/contracts/interfaces/IERC1155.sol", - "file": "../../interfaces/IERC1155.sol", - "id": 3505, - "nodeType": "ImportDirective", - "scope": 3672, - "sourceUnit": 2924, - "src": "25:39:19", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": "@notice Contract that handles metadata related methods.\n@dev Methods assume a deterministic generation of URI based on token IDs.\n Methods also assume that URI uses hex representation of token IDs.", - "fullyImplemented": true, - "id": 3671, - "linearizedBaseContracts": [ - 3671 - ], - "name": "ERC1155Metadata", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 3507, - "name": "baseMetadataURI", - "nodeType": "VariableDeclaration", - "scope": 3671, - "src": "345:31:19", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 3506, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "345:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "anonymous": false, - "documentation": null, - "id": 3513, - "name": "URI", - "nodeType": "EventDefinition", - "parameters": { - "id": 3512, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3509, - "indexed": false, - "name": "_uri", - "nodeType": "VariableDeclaration", - "scope": 3513, - "src": "390:11:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 3508, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "390:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3511, - "indexed": true, - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 3513, - "src": "403:19:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3510, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "403:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "389:34:19" - }, - "src": "380:44:19" - }, - { - "body": { - "id": 3531, - "nodeType": "Block", - "src": "921:84:19", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3523, - "name": "baseMetadataURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3507, - "src": "958:15:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3525, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3515, - "src": "985:3:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3524, - "name": "_uint2str", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3670, - "src": "975:9:19", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$", - "typeString": "function (uint256) pure returns (string memory)" - } - }, - "id": 3526, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "975:14:19", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "hexValue": "2e6a736f6e", - "id": 3527, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "991:7:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972", - "typeString": "literal_string \".json\"" - }, - "value": ".json" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972", - "typeString": "literal_string \".json\"" - } - ], - "expression": { - "argumentTypes": null, - "id": 3521, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3833, - "src": "941:3:19", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 3522, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "941:16:19", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 3528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "941:58:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 3520, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "934:6:19", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - }, - "typeName": "string" - }, - "id": 3529, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "934:66:19", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 3519, - "id": 3530, - "nodeType": "Return", - "src": "927:73:19" - } - ] - }, - "documentation": "@notice A distinct Uniform Resource Identifier (URI) for a given token.\n@dev URIs are defined in RFC 3986.\n URIs are assumed to be deterministically generated based on token ID\n Token IDs are assumed to be represented in their hex format in URIs\n@return URI string", - "id": 3532, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "uri", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3516, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3515, - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 3532, - "src": "872:11:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3514, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "872:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "871:13:19" - }, - "returnParameters": { - "id": 3519, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3518, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3532, - "src": "906:13:19", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 3517, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "906:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "905:15:19" - }, - "scope": 3671, - "src": "859:146:19", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3580, - "nodeType": "Block", - "src": "1335:264:19", - "statements": [ - { - "assignments": [ - 3539 - ], - "declarations": [ - { - "constant": false, - "id": 3539, - "name": "baseURL", - "nodeType": "VariableDeclaration", - "scope": 3580, - "src": "1341:21:19", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 3538, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1341:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3541, - "initialValue": { - "argumentTypes": null, - "id": 3540, - "name": "baseMetadataURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3507, - "src": "1365:15:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1341:39:19" - }, - { - "assignments": [ - 3543 - ], - "declarations": [ - { - "constant": false, - "id": 3543, - "name": "tokenURI", - "nodeType": "VariableDeclaration", - "scope": 3580, - "src": "1386:22:19", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 3542, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1386:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3544, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "1386:22:19" - }, - { - "body": { - "id": 3578, - "nodeType": "Block", - "src": "1462:133:19", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3569, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3556, - "name": "tokenURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3543, - "src": "1470:8:19", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3560, - "name": "baseURL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3539, - "src": "1505:7:19", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3562, - "name": "_tokenIDs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3535, - "src": "1524:9:19", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3564, - "indexExpression": { - "argumentTypes": null, - "id": 3563, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3546, - "src": "1534:1:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1524:12:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3561, - "name": "_uint2str", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3670, - "src": "1514:9:19", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$", - "typeString": "function (uint256) pure returns (string memory)" - } - }, - "id": 3565, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1514:23:19", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "hexValue": "2e6a736f6e", - "id": 3566, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1539:7:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972", - "typeString": "literal_string \".json\"" - }, - "value": ".json" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972", - "typeString": "literal_string \".json\"" - } - ], - "expression": { - "argumentTypes": null, - "id": 3558, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3833, - "src": "1488:3:19", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 3559, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1488:16:19", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 3567, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1488:59:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 3557, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1481:6:19", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - }, - "typeName": "string" - }, - "id": 3568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1481:67:19", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "1470:78:19", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "id": 3570, - "nodeType": "ExpressionStatement", - "src": "1470:78:19" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3572, - "name": "tokenURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3543, - "src": "1565:8:19", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3573, - "name": "_tokenIDs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3535, - "src": "1575:9:19", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3575, - "indexExpression": { - "argumentTypes": null, - "id": 3574, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3546, - "src": "1585:1:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1575:12:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3571, - "name": "URI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3513, - "src": "1561:3:19", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (string memory,uint256)" - } - }, - "id": 3576, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1561:27:19", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3577, - "nodeType": "EmitStatement", - "src": "1556:32:19" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3552, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3549, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3546, - "src": "1435:1:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3550, - "name": "_tokenIDs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3535, - "src": "1439:9:19", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3551, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1439:16:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1435:20:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3579, - "initializationExpression": { - "assignments": [ - 3546 - ], - "declarations": [ - { - "constant": false, - "id": 3546, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 3579, - "src": "1420:9:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3545, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1420:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3548, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 3547, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1432:1:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "1420:13:19" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 3554, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "1457:3:19", - "subExpression": { - "argumentTypes": null, - "id": 3553, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3546, - "src": "1457:1:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3555, - "nodeType": "ExpressionStatement", - "src": "1457:3:19" - }, - "nodeType": "ForStatement", - "src": "1415:180:19" - } - ] - }, - "documentation": "@notice Will emit default URI log event for corresponding token _id\n@param _tokenIDs Array of IDs of tokens to log default URI", - "id": 3581, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_logURIs", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3536, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3535, - "name": "_tokenIDs", - "nodeType": "VariableDeclaration", - "scope": 3581, - "src": "1298:26:19", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3533, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1298:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3534, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1298:9:19", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1297:28:19" - }, - "returnParameters": { - "id": 3537, - "nodeType": "ParameterList", - "parameters": [], - "src": "1335:0:19" - }, - "scope": 3671, - "src": "1280:319:19", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 3590, - "nodeType": "Block", - "src": "1801:48:19", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3588, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3586, - "name": "baseMetadataURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3507, - "src": "1807:15:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3587, - "name": "_newBaseMetadataURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3583, - "src": "1825:19:19", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "1807:37:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 3589, - "nodeType": "ExpressionStatement", - "src": "1807:37:19" - } - ] - }, - "documentation": "@notice Will update the base URL of token's URI\n@param _newBaseMetadataURI New base URL of token's URI", - "id": 3591, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_setBaseMetadataURI", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3584, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3583, - "name": "_newBaseMetadataURI", - "nodeType": "VariableDeclaration", - "scope": 3591, - "src": "1757:33:19", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 3582, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1757:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1756:35:19" - }, - "returnParameters": { - "id": 3585, - "nodeType": "ParameterList", - "parameters": [], - "src": "1801:0:19" - }, - "scope": 3671, - "src": "1728:121:19", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 3669, - "nodeType": "Block", - "src": "2162:430:19", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3600, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3598, - "name": "_i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3593, - "src": "2172:2:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3599, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2178:1:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2172:7:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 3604, - "nodeType": "IfStatement", - "src": "2168:38:19", - "trueBody": { - "id": 3603, - "nodeType": "Block", - "src": "2181:25:19", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3601, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2196:3:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d", - "typeString": "literal_string \"0\"" - }, - "value": "0" - }, - "functionReturnParameters": 3597, - "id": 3602, - "nodeType": "Return", - "src": "2189:10:19" - } - ] - } - }, - { - "assignments": [ - 3606 - ], - "declarations": [ - { - "constant": false, - "id": 3606, - "name": "j", - "nodeType": "VariableDeclaration", - "scope": 3669, - "src": "2212:9:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3605, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2212:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3608, - "initialValue": { - "argumentTypes": null, - "id": 3607, - "name": "_i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3593, - "src": "2224:2:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2212:14:19" - }, - { - "assignments": [ - 3610 - ], - "declarations": [ - { - "constant": false, - "id": 3610, - "name": "ii", - "nodeType": "VariableDeclaration", - "scope": 3669, - "src": "2232:10:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3609, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2232:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3612, - "initialValue": { - "argumentTypes": null, - "id": 3611, - "name": "_i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3593, - "src": "2245:2:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2232:15:19" - }, - { - "assignments": [ - 3614 - ], - "declarations": [ - { - "constant": false, - "id": 3614, - "name": "len", - "nodeType": "VariableDeclaration", - "scope": 3669, - "src": "2253:11:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3613, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2253:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3615, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "2253:11:19" - }, - { - "body": { - "id": 3626, - "nodeType": "Block", - "src": "2313:35:19", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3620, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "2321:5:19", - "subExpression": { - "argumentTypes": null, - "id": 3619, - "name": "len", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3614, - "src": "2321:3:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3621, - "nodeType": "ExpressionStatement", - "src": "2321:5:19" - }, - { - "expression": { - "argumentTypes": null, - "id": 3624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3622, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3606, - "src": "2334:1:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "/=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "3130", - "id": 3623, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2339:2:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "src": "2334:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3625, - "nodeType": "ExpressionStatement", - "src": "2334:7:19" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3618, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3616, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3606, - "src": "2305:1:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3617, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2310:1:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2305:6:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3627, - "nodeType": "WhileStatement", - "src": "2298:50:19" - }, - { - "assignments": [ - 3629 - ], - "declarations": [ - { - "constant": false, - "id": 3629, - "name": "bstr", - "nodeType": "VariableDeclaration", - "scope": 3669, - "src": "2354:17:19", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 3628, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2354:5:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3634, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3632, - "name": "len", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3614, - "src": "2384:3:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3631, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "2374:9:19", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$", - "typeString": "function (uint256) pure returns (bytes memory)" - }, - "typeName": { - "id": 3630, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2378:5:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - } - }, - "id": 3633, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2374:14:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2354:34:19" - }, - { - "assignments": [ - 3636 - ], - "declarations": [ - { - "constant": false, - "id": 3636, - "name": "k", - "nodeType": "VariableDeclaration", - "scope": 3669, - "src": "2394:9:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3635, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2394:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3640, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3639, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3637, - "name": "len", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3614, - "src": "2406:3:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 3638, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2412:1:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "2406:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2394:19:19" - }, - { - "body": { - "id": 3663, - "nodeType": "Block", - "src": "2469:68:19", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3657, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3644, - "name": "bstr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3629, - "src": "2477:4:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 3647, - "indexExpression": { - "argumentTypes": null, - "id": 3646, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "--", - "prefix": false, - "src": "2482:3:19", - "subExpression": { - "argumentTypes": null, - "id": 3645, - "name": "k", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3636, - "src": "2482:1:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2477:9:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3654, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3438", - "id": 3650, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2500:2:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_48_by_1", - "typeString": "int_const 48" - }, - "value": "48" - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3653, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3651, - "name": "ii", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3610, - "src": "2505:2:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 3652, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2510:2:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "src": "2505:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2500:12:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3649, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2494:5:19", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint8_$", - "typeString": "type(uint8)" - }, - "typeName": "uint8" - }, - "id": 3655, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2494:19:19", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 3648, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2489:4:19", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes1_$", - "typeString": "type(bytes1)" - }, - "typeName": "byte" - }, - "id": 3656, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2489:25:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "src": "2477:37:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "id": 3658, - "nodeType": "ExpressionStatement", - "src": "2477:37:19" - }, - { - "expression": { - "argumentTypes": null, - "id": 3661, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3659, - "name": "ii", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3610, - "src": "2522:2:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "/=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "3130", - "id": 3660, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2528:2:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "src": "2522:8:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3662, - "nodeType": "ExpressionStatement", - "src": "2522:8:19" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3643, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3641, - "name": "ii", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3610, - "src": "2460:2:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3642, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2466:1:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2460:7:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3664, - "nodeType": "WhileStatement", - "src": "2453:84:19" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3666, - "name": "bstr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3629, - "src": "2582:4:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 3665, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2575:6:19", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - }, - "typeName": "string" - }, - "id": 3667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2575:12:19", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 3597, - "id": 3668, - "nodeType": "Return", - "src": "2568:19:19" - } - ] - }, - "documentation": "@notice Convert uint256 to string\n@param _i Unsigned integer to convert to string", - "id": 3670, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_uint2str", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3594, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3593, - "name": "_i", - "nodeType": "VariableDeclaration", - "scope": 3670, - "src": "2098:10:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3592, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2098:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2097:12:19" - }, - "returnParameters": { - "id": 3597, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3596, - "name": "_uintAsString", - "nodeType": "VariableDeclaration", - "scope": 3670, - "src": "2133:27:19", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 3595, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2133:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2132:29:19" - }, - "scope": 3671, - "src": "2079:513:19", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 3672, - "src": "286:2308:19" - } - ], - "src": "0:2594:19" - }, - "legacyAST": { - "absolutePath": "multi-token-standard/contracts/tokens/ERC1155/ERC1155Metadata.sol", - "exportedSymbols": { - "ERC1155Metadata": [ - 3671 - ] - }, - "id": 3672, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 3504, - "literals": [ - "solidity", - "^", - "0.5", - ".16" - ], - "nodeType": "PragmaDirective", - "src": "0:24:19" - }, - { - "absolutePath": "multi-token-standard/contracts/interfaces/IERC1155.sol", - "file": "../../interfaces/IERC1155.sol", - "id": 3505, - "nodeType": "ImportDirective", - "scope": 3672, - "sourceUnit": 2924, - "src": "25:39:19", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": "@notice Contract that handles metadata related methods.\n@dev Methods assume a deterministic generation of URI based on token IDs.\n Methods also assume that URI uses hex representation of token IDs.", - "fullyImplemented": true, - "id": 3671, - "linearizedBaseContracts": [ - 3671 - ], - "name": "ERC1155Metadata", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 3507, - "name": "baseMetadataURI", - "nodeType": "VariableDeclaration", - "scope": 3671, - "src": "345:31:19", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 3506, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "345:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "anonymous": false, - "documentation": null, - "id": 3513, - "name": "URI", - "nodeType": "EventDefinition", - "parameters": { - "id": 3512, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3509, - "indexed": false, - "name": "_uri", - "nodeType": "VariableDeclaration", - "scope": 3513, - "src": "390:11:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 3508, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "390:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3511, - "indexed": true, - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 3513, - "src": "403:19:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3510, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "403:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "389:34:19" - }, - "src": "380:44:19" - }, - { - "body": { - "id": 3531, - "nodeType": "Block", - "src": "921:84:19", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3523, - "name": "baseMetadataURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3507, - "src": "958:15:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3525, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3515, - "src": "985:3:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3524, - "name": "_uint2str", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3670, - "src": "975:9:19", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$", - "typeString": "function (uint256) pure returns (string memory)" - } - }, - "id": 3526, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "975:14:19", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "hexValue": "2e6a736f6e", - "id": 3527, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "991:7:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972", - "typeString": "literal_string \".json\"" - }, - "value": ".json" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972", - "typeString": "literal_string \".json\"" - } - ], - "expression": { - "argumentTypes": null, - "id": 3521, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3833, - "src": "941:3:19", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 3522, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "941:16:19", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 3528, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "941:58:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 3520, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "934:6:19", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - }, - "typeName": "string" - }, - "id": 3529, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "934:66:19", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 3519, - "id": 3530, - "nodeType": "Return", - "src": "927:73:19" - } - ] - }, - "documentation": "@notice A distinct Uniform Resource Identifier (URI) for a given token.\n@dev URIs are defined in RFC 3986.\n URIs are assumed to be deterministically generated based on token ID\n Token IDs are assumed to be represented in their hex format in URIs\n@return URI string", - "id": 3532, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "uri", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3516, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3515, - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 3532, - "src": "872:11:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3514, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "872:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "871:13:19" - }, - "returnParameters": { - "id": 3519, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3518, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3532, - "src": "906:13:19", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 3517, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "906:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "905:15:19" - }, - "scope": 3671, - "src": "859:146:19", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 3580, - "nodeType": "Block", - "src": "1335:264:19", - "statements": [ - { - "assignments": [ - 3539 - ], - "declarations": [ - { - "constant": false, - "id": 3539, - "name": "baseURL", - "nodeType": "VariableDeclaration", - "scope": 3580, - "src": "1341:21:19", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 3538, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1341:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3541, - "initialValue": { - "argumentTypes": null, - "id": 3540, - "name": "baseMetadataURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3507, - "src": "1365:15:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1341:39:19" - }, - { - "assignments": [ - 3543 - ], - "declarations": [ - { - "constant": false, - "id": 3543, - "name": "tokenURI", - "nodeType": "VariableDeclaration", - "scope": 3580, - "src": "1386:22:19", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 3542, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1386:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3544, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "1386:22:19" - }, - { - "body": { - "id": 3578, - "nodeType": "Block", - "src": "1462:133:19", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3569, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3556, - "name": "tokenURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3543, - "src": "1470:8:19", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3560, - "name": "baseURL", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3539, - "src": "1505:7:19", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3562, - "name": "_tokenIDs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3535, - "src": "1524:9:19", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3564, - "indexExpression": { - "argumentTypes": null, - "id": 3563, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3546, - "src": "1534:1:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1524:12:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3561, - "name": "_uint2str", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3670, - "src": "1514:9:19", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_string_memory_ptr_$", - "typeString": "function (uint256) pure returns (string memory)" - } - }, - "id": 3565, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1514:23:19", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "hexValue": "2e6a736f6e", - "id": 3566, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1539:7:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972", - "typeString": "literal_string \".json\"" - }, - "value": ".json" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_stringliteral_94311adc0a0cd4e10be11b23bd4316b8cffa4adf693e8f96f5c075aa439a7972", - "typeString": "literal_string \".json\"" - } - ], - "expression": { - "argumentTypes": null, - "id": 3558, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3833, - "src": "1488:3:19", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 3559, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1488:16:19", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 3567, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1488:59:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 3557, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1481:6:19", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - }, - "typeName": "string" - }, - "id": 3568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1481:67:19", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "1470:78:19", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "id": 3570, - "nodeType": "ExpressionStatement", - "src": "1470:78:19" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3572, - "name": "tokenURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3543, - "src": "1565:8:19", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3573, - "name": "_tokenIDs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3535, - "src": "1575:9:19", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3575, - "indexExpression": { - "argumentTypes": null, - "id": 3574, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3546, - "src": "1585:1:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1575:12:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3571, - "name": "URI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3513, - "src": "1561:3:19", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$", - "typeString": "function (string memory,uint256)" - } - }, - "id": 3576, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1561:27:19", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3577, - "nodeType": "EmitStatement", - "src": "1556:32:19" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3552, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3549, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3546, - "src": "1435:1:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 3550, - "name": "_tokenIDs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3535, - "src": "1439:9:19", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 3551, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1439:16:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1435:20:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3579, - "initializationExpression": { - "assignments": [ - 3546 - ], - "declarations": [ - { - "constant": false, - "id": 3546, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 3579, - "src": "1420:9:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3545, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1420:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3548, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 3547, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1432:1:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "1420:13:19" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 3554, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "1457:3:19", - "subExpression": { - "argumentTypes": null, - "id": 3553, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3546, - "src": "1457:1:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3555, - "nodeType": "ExpressionStatement", - "src": "1457:3:19" - }, - "nodeType": "ForStatement", - "src": "1415:180:19" - } - ] - }, - "documentation": "@notice Will emit default URI log event for corresponding token _id\n@param _tokenIDs Array of IDs of tokens to log default URI", - "id": 3581, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_logURIs", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3536, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3535, - "name": "_tokenIDs", - "nodeType": "VariableDeclaration", - "scope": 3581, - "src": "1298:26:19", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 3533, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1298:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3534, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1298:9:19", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1297:28:19" - }, - "returnParameters": { - "id": 3537, - "nodeType": "ParameterList", - "parameters": [], - "src": "1335:0:19" - }, - "scope": 3671, - "src": "1280:319:19", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 3590, - "nodeType": "Block", - "src": "1801:48:19", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3588, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3586, - "name": "baseMetadataURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3507, - "src": "1807:15:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 3587, - "name": "_newBaseMetadataURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3583, - "src": "1825:19:19", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "1807:37:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 3589, - "nodeType": "ExpressionStatement", - "src": "1807:37:19" - } - ] - }, - "documentation": "@notice Will update the base URL of token's URI\n@param _newBaseMetadataURI New base URL of token's URI", - "id": 3591, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_setBaseMetadataURI", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3584, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3583, - "name": "_newBaseMetadataURI", - "nodeType": "VariableDeclaration", - "scope": 3591, - "src": "1757:33:19", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 3582, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1757:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1756:35:19" - }, - "returnParameters": { - "id": 3585, - "nodeType": "ParameterList", - "parameters": [], - "src": "1801:0:19" - }, - "scope": 3671, - "src": "1728:121:19", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 3669, - "nodeType": "Block", - "src": "2162:430:19", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3600, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3598, - "name": "_i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3593, - "src": "2172:2:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3599, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2178:1:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2172:7:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 3604, - "nodeType": "IfStatement", - "src": "2168:38:19", - "trueBody": { - "id": 3603, - "nodeType": "Block", - "src": "2181:25:19", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3601, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2196:3:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d", - "typeString": "literal_string \"0\"" - }, - "value": "0" - }, - "functionReturnParameters": 3597, - "id": 3602, - "nodeType": "Return", - "src": "2189:10:19" - } - ] - } - }, - { - "assignments": [ - 3606 - ], - "declarations": [ - { - "constant": false, - "id": 3606, - "name": "j", - "nodeType": "VariableDeclaration", - "scope": 3669, - "src": "2212:9:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3605, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2212:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3608, - "initialValue": { - "argumentTypes": null, - "id": 3607, - "name": "_i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3593, - "src": "2224:2:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2212:14:19" - }, - { - "assignments": [ - 3610 - ], - "declarations": [ - { - "constant": false, - "id": 3610, - "name": "ii", - "nodeType": "VariableDeclaration", - "scope": 3669, - "src": "2232:10:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3609, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2232:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3612, - "initialValue": { - "argumentTypes": null, - "id": 3611, - "name": "_i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3593, - "src": "2245:2:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2232:15:19" - }, - { - "assignments": [ - 3614 - ], - "declarations": [ - { - "constant": false, - "id": 3614, - "name": "len", - "nodeType": "VariableDeclaration", - "scope": 3669, - "src": "2253:11:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3613, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2253:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3615, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "2253:11:19" - }, - { - "body": { - "id": 3626, - "nodeType": "Block", - "src": "2313:35:19", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3620, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "2321:5:19", - "subExpression": { - "argumentTypes": null, - "id": 3619, - "name": "len", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3614, - "src": "2321:3:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3621, - "nodeType": "ExpressionStatement", - "src": "2321:5:19" - }, - { - "expression": { - "argumentTypes": null, - "id": 3624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3622, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3606, - "src": "2334:1:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "/=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "3130", - "id": 3623, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2339:2:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "src": "2334:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3625, - "nodeType": "ExpressionStatement", - "src": "2334:7:19" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3618, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3616, - "name": "j", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3606, - "src": "2305:1:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3617, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2310:1:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2305:6:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3627, - "nodeType": "WhileStatement", - "src": "2298:50:19" - }, - { - "assignments": [ - 3629 - ], - "declarations": [ - { - "constant": false, - "id": 3629, - "name": "bstr", - "nodeType": "VariableDeclaration", - "scope": 3669, - "src": "2354:17:19", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 3628, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2354:5:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3634, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3632, - "name": "len", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3614, - "src": "2384:3:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3631, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "2374:9:19", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$", - "typeString": "function (uint256) pure returns (bytes memory)" - }, - "typeName": { - "id": 3630, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2378:5:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - } - }, - "id": 3633, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2374:14:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2354:34:19" - }, - { - "assignments": [ - 3636 - ], - "declarations": [ - { - "constant": false, - "id": 3636, - "name": "k", - "nodeType": "VariableDeclaration", - "scope": 3669, - "src": "2394:9:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3635, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2394:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3640, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3639, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3637, - "name": "len", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3614, - "src": "2406:3:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 3638, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2412:1:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "2406:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2394:19:19" - }, - { - "body": { - "id": 3663, - "nodeType": "Block", - "src": "2469:68:19", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 3657, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 3644, - "name": "bstr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3629, - "src": "2477:4:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 3647, - "indexExpression": { - "argumentTypes": null, - "id": 3646, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "--", - "prefix": false, - "src": "2482:3:19", - "subExpression": { - "argumentTypes": null, - "id": 3645, - "name": "k", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3636, - "src": "2482:1:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2477:9:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3654, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "3438", - "id": 3650, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2500:2:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_48_by_1", - "typeString": "int_const 48" - }, - "value": "48" - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3653, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3651, - "name": "ii", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3610, - "src": "2505:2:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "argumentTypes": null, - "hexValue": "3130", - "id": 3652, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2510:2:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "src": "2505:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2500:12:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 3649, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2494:5:19", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint8_$", - "typeString": "type(uint8)" - }, - "typeName": "uint8" - }, - "id": 3655, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2494:19:19", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - ], - "id": 3648, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2489:4:19", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes1_$", - "typeString": "type(bytes1)" - }, - "typeName": "byte" - }, - "id": 3656, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2489:25:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "src": "2477:37:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - }, - "id": 3658, - "nodeType": "ExpressionStatement", - "src": "2477:37:19" - }, - { - "expression": { - "argumentTypes": null, - "id": 3661, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 3659, - "name": "ii", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3610, - "src": "2522:2:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "/=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "3130", - "id": 3660, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2528:2:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_10_by_1", - "typeString": "int_const 10" - }, - "value": "10" - }, - "src": "2522:8:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 3662, - "nodeType": "ExpressionStatement", - "src": "2522:8:19" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3643, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3641, - "name": "ii", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3610, - "src": "2460:2:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3642, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2466:1:19", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2460:7:19", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 3664, - "nodeType": "WhileStatement", - "src": "2453:84:19" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 3666, - "name": "bstr", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3629, - "src": "2582:4:19", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 3665, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2575:6:19", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - }, - "typeName": "string" - }, - "id": 3667, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2575:12:19", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 3597, - "id": 3668, - "nodeType": "Return", - "src": "2568:19:19" - } - ] - }, - "documentation": "@notice Convert uint256 to string\n@param _i Unsigned integer to convert to string", - "id": 3670, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_uint2str", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3594, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3593, - "name": "_i", - "nodeType": "VariableDeclaration", - "scope": 3670, - "src": "2098:10:19", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3592, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2098:7:19", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2097:12:19" - }, - "returnParameters": { - "id": 3597, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3596, - "name": "_uintAsString", - "nodeType": "VariableDeclaration", - "scope": 3670, - "src": "2133:27:19", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 3595, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2133:6:19", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2132:29:19" - }, - "scope": 3671, - "src": "2079:513:19", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 3672, - "src": "286:2308:19" - } - ], - "src": "0:2594:19" - }, - "compiler": { - "name": "solc", - "version": "0.5.17+commit.d19bba13.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.16", - "updatedAt": "2020-11-17T15:15:49.635Z", - "devdoc": { - "details": "Methods assume a deterministic generation of URI based on token IDs. Methods also assume that URI uses hex representation of token IDs.", - "methods": { - "uri(uint256)": { - "details": "URIs are defined in RFC 3986. URIs are assumed to be deterministically generated based on token ID Token IDs are assumed to be represented in their hex format in URIs", - "return": "URI string" - } - } - }, - "userdoc": { - "methods": { - "uri(uint256)": { - "notice": "A distinct Uniform Resource Identifier (URI) for a given token." - } - }, - "notice": "Contract that handles metadata related methods." - } -} \ No newline at end of file diff --git a/packages/proxyIdentity/build/contracts/ERC1155MintBurn.json b/packages/proxyIdentity/build/contracts/ERC1155MintBurn.json deleted file mode 100644 index d57508642..000000000 --- a/packages/proxyIdentity/build/contracts/ERC1155MintBurn.json +++ /dev/null @@ -1,7356 +0,0 @@ -{ - "contractName": "ERC1155MintBurn", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_operator", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "_approved", - "type": "bool" - } - ], - "name": "ApprovalForAll", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_operator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "_ids", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "_amounts", - "type": "uint256[]" - } - ], - "name": "TransferBatch", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_operator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "TransferSingle", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "_amount", - "type": "string" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "_id", - "type": "uint256" - } - ], - "name": "URI", - "type": "event" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address[]", - "name": "_owners", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "_ids", - "type": "uint256[]" - } - ], - "name": "balanceOfBatch", - "outputs": [ - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_operator", - "type": "address" - } - ], - "name": "isApprovedForAll", - "outputs": [ - { - "internalType": "bool", - "name": "isOperator", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "_ids", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "_amounts", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "safeBatchTransferFrom", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_operator", - "type": "address" - }, - { - "internalType": "bool", - "name": "_approved", - "type": "bool" - } - ], - "name": "setApprovalForAll", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes4", - "name": "_interfaceID", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "mint", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "_ids", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "_amounts", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "batchMint", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "burn", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "_ids", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "_amounts", - "type": "uint256[]" - } - ], - "name": "batchBurn", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"_ids\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"_amounts\",\"type\":\"uint256[]\"}],\"name\":\"TransferBatch\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"TransferSingle\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"_amount\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"}],\"name\":\"URI\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_owners\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_ids\",\"type\":\"uint256[]\"}],\"name\":\"balanceOfBatch\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"_ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_amounts\",\"type\":\"uint256[]\"}],\"name\":\"batchBurn\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"_ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_amounts\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"batchMint\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isOperator\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"mint\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"_ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_amounts\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"safeBatchTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"_interfaceID\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"balanceOf(address,uint256)\":{\"params\":{\"_id\":\"ID of the Token\",\"_owner\":\"The address of the token holder\"},\"return\":\"The _owner's balance of the Token type requested\"},\"balanceOfBatch(address[],uint256[])\":{\"params\":{\"_ids\":\"ID of the Tokens\",\"_owners\":\"The addresses of the token holders\"},\"return\":\"The _owner's balance of the Token types requested (i.e. balance for each (owner, id) pair)\"},\"isApprovedForAll(address,address)\":{\"params\":{\"_operator\":\"Address of authorized operator\",\"_owner\":\"The owner of the Tokens\"},\"return\":\"True if the operator is approved, false if not\"},\"safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)\":{\"params\":{\"_amounts\":\"Transfer amounts per token type\",\"_data\":\"Additional data with no specified format, sent in call to `_to`\",\"_from\":\"Source addresses\",\"_ids\":\"IDs of each token type\",\"_to\":\"Target addresses\"}},\"safeTransferFrom(address,address,uint256,uint256,bytes)\":{\"params\":{\"_amount\":\"Transfered amount\",\"_data\":\"Additional data with no specified format, sent in call to `_to`\",\"_from\":\"Source address\",\"_id\":\"ID of the token type\",\"_to\":\"Target address\"}},\"setApprovalForAll(address,bool)\":{\"params\":{\"_approved\":\"True if the operator is approved, false to revoke approval\",\"_operator\":\"Address to add to the set of authorized operators\"}},\"supportsInterface(bytes4)\":{\"params\":{\"_interfaceID\":\"The interface identifier, as specified in ERC-165\"},\"return\":\"`true` if the contract implements `_interfaceID` and\"}}},\"userdoc\":{\"methods\":{\"balanceOf(address,uint256)\":{\"notice\":\"Get the balance of an account's Tokens\"},\"balanceOfBatch(address[],uint256[])\":{\"notice\":\"Get the balance of multiple account/token pairs\"},\"isApprovedForAll(address,address)\":{\"notice\":\"Queries the approval status of an operator for a given owner\"},\"safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)\":{\"notice\":\"Send multiple types of Tokens from the _from address to the _to address (with safety call)\"},\"safeTransferFrom(address,address,uint256,uint256,bytes)\":{\"notice\":\"Transfers amount amount of an _id from the _from address to the _to address specified\"},\"setApprovalForAll(address,bool)\":{\"notice\":\"Enable or disable approval for a third party (\\\"operator\\\") to manage all of caller's tokens\"},\"supportsInterface(bytes4)\":{\"notice\":\"Query if a contract implements an interface\"}}}},\"settings\":{\"compilationTarget\":{\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/tokens/ERC1155Mintable.sol\":\"ERC1155MintBurn\"},\"evmVersion\":\"constantinople\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/tokens/ERC1155Mintable.sol\":{\"keccak256\":\"0xd595777667e60b66892ae8166ee4940d46f85a36a78a48db015fffa8dedeb160\",\"urls\":[\"bzz-raw://55ceac3dafae91b00f60c16dd9d8f4a988227f4dc0795ef1256dbe53e2d9cd16\",\"dweb:/ipfs/QmUqn2hhLHNpbZBHkfC6qCR7mgmUuxNSbKhhKZH58E8rbP\"]},\"multi-token-standard/contracts/interfaces/IERC1155.sol\":{\"keccak256\":\"0x9632273d1c5272823807d1d0b1630af9e2dad7f1e41a65bfdbc66bda702c53a1\",\"urls\":[\"bzz-raw://6deb9bdff007e4b367d4561699f45f0f8521a4412a770a9292c109844f739f58\",\"dweb:/ipfs/QmTXrB3rTHHrNcHAa3PYoq2BRJiT4nMmMrPmA6AjDsk7HB\"]},\"multi-token-standard/contracts/interfaces/IERC1155TokenReceiver.sol\":{\"keccak256\":\"0xdf097e5f122d544a93027619c941dc8475bead114e421b9398d9a1482b9bffb8\",\"urls\":[\"bzz-raw://9bdc0f8d96e08965b0e7c98b8ba9e67a56afc26c014784caf53ea4e04a966eb3\",\"dweb:/ipfs/QmRiuqBiDqfQNUtpjiwj5rR1iD5Psh6KdzKiBNNriiq68m\"]},\"multi-token-standard/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x5561863476cd7598c203efcd18bb436746a2596ac61e37c7bbf73790a511de39\",\"urls\":[\"bzz-raw://92f034ed08c66e4a1579b6ad8dd53e615cb7d39b2f26a131fd62f90f3d30e25b\",\"dweb:/ipfs/QmXKMPTepiBrfEKgpQR8PneSgAsVi2769wy9THBM65BspH\"]},\"multi-token-standard/contracts/tokens/ERC1155/ERC1155.sol\":{\"keccak256\":\"0x454f992789731d8ca2e284409dc69115285e48c8c9ad8f38b1f35d9e7bc23320\",\"urls\":[\"bzz-raw://e101d27d80cecb9b8cc788982914974022984f90b213550bc1290818a7047139\",\"dweb:/ipfs/QmZu2HKUsQa5GbGrrtKbCkX5VLRZiPxAtDUxBDf1V7QtR1\"]},\"multi-token-standard/contracts/utils/Address.sol\":{\"keccak256\":\"0xc089dcd9159bf02993336e47f629e8e86dcd3086cf2278e9ea06145b4094be5f\",\"urls\":[\"bzz-raw://bf05b053fb01bda8c24854d5d5c652c3c46c411597d90692e0c146b02a5154a0\",\"dweb:/ipfs/QmP5madVNQjx9JHqkdx9R79MdZZgeQJFEWVW5iwRYBV4ny\"]},\"multi-token-standard/contracts/utils/SafeMath.sol\":{\"keccak256\":\"0x0a904266aa9620d2f126588f1a964ec47bd8e777f3b2281a6e8f6897bc1d9fbd\",\"urls\":[\"bzz-raw://c4fcd436cda8c33574b2146bb9098f560095e4b2d63084563c176c2d402a9554\",\"dweb:/ipfs/QmW3Jo5Lt6LUf8pp6r7vE5kfpMpknJNoFEqTH9FbK7eFiU\"]}},\"version\":1}", - "bytecode": "0x608060405234801561001057600080fd5b5061277e806100206000396000f3fe608060405234801561001057600080fd5b50600436106100a85760003560e01c8063a22cb46511610071578063a22cb46514610627578063b48ab8b614610677578063e985e9c51461087a578063f242432a146108f6578063f5298aca14610a05578063f6eb127a14610a5d576100a8565b8062fdd58e146100ad57806301ffc9a71461010f5780632eb2c2d6146101745780634e1273f414610397578063731133e914610538575b600080fd5b6100f9600480360360408110156100c357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bc9565b6040518082815260200191505060405180910390f35b61015a6004803603602081101561012557600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610c23565b604051808215151515815260200191505060405180910390f35b610395600480360360a081101561018a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156101e757600080fd5b8201836020820111156101f957600080fd5b8035906020019184602083028401116401000000008311171561021b57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561027b57600080fd5b82018360208201111561028d57600080fd5b803590602001918460208302840111640100000000831117156102af57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561030f57600080fd5b82018360208201111561032157600080fd5b8035906020019184600183028401116401000000008311171561034357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610cd4565b005b6104e1600480360360408110156103ad57600080fd5b81019080803590602001906401000000008111156103ca57600080fd5b8201836020820111156103dc57600080fd5b803590602001918460208302840111640100000000831117156103fe57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561045e57600080fd5b82018360208201111561047057600080fd5b8035906020019184602083028401116401000000008311171561049257600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050610e10565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015610524578082015181840152602081019050610509565b505050509050019250505060405180910390f35b6106256004803603608081101561054e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291908035906020019064010000000081111561059f57600080fd5b8201836020820111156105b157600080fd5b803590602001918460018302840111640100000000831117156105d357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610f56565b005b6106756004803603604081101561063d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035151590602001909291905050506110a5565b005b6108786004803603608081101561068d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156106ca57600080fd5b8201836020820111156106dc57600080fd5b803590602001918460208302840111640100000000831117156106fe57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561075e57600080fd5b82018360208201111561077057600080fd5b8035906020019184602083028401116401000000008311171561079257600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156107f257600080fd5b82018360208201111561080457600080fd5b8035906020019184600183028401116401000000008311171561082657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506111a6565b005b6108dc6004803603604081101561089057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061142d565b604051808215151515815260200191505060405180910390f35b610a03600480360360a081101561090c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291908035906020019064010000000081111561097d57600080fd5b82018360208201111561098f57600080fd5b803590602001918460018302840111640100000000831117156109b157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506114c1565b005b610a5b60048036036060811015610a1b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291905050506115fd565b005b610bc760048036036060811015610a7357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610ab057600080fd5b820183602082011115610ac257600080fd5b80359060200191846020830284011164010000000083111715610ae457600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190640100000000811115610b4457600080fd5b820183602082011115610b5657600080fd5b80359060200191846020830284011164010000000083111715610b7857600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050919291929050505061173c565b005b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b60006301ffc9a760e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610cbc575063d9b67a2660e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b15610cca5760019050610ccf565b600090505b919050565b8473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610d145750610d13853361142d565b5b610d69576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f815260200180612672602f913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415610def576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806125e66030913960400191505060405180910390fd5b610dfb858585856119b2565b610e09858585855a86611d17565b5050505050565b60608151835114610e6c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180612646602c913960400191505060405180910390fd5b60608351604051908082528060200260200182016040528015610e9e5781602001602082028038833980820191505090505b50905060008090505b8451811015610f4b57600080868381518110610ebf57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858381518110610f0f57fe5b6020026020010151815260200190815260200160002054828281518110610f3257fe5b6020026020010181815250508080600101915050610ea7565b508091505092915050565b610fb8826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600086815260200190815260200160002054611fd590919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628686604051808381526020018281526020019250505060405180910390a461109f60008585855a8661205d565b50505050565b80600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b8151835114611200576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806126a16030913960400191505060405180910390fd5b60008351905060008090505b8181101561130f5761129c84828151811061122357fe5b60200260200101516000808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600088858151811061127757fe5b6020026020010151815260200190815260200160002054611fd590919063ffffffff16565b6000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008784815181106112e857fe5b6020026020010151815260200190815260200160002081905550808060010191505061120c565b508473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156113c05780820151818401526020810190506113a5565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156114025780820151818401526020810190506113e7565b5050505090500194505050505060405180910390a461142660008686865a87611d17565b5050505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b8473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806115015750611500853361142d565b5b611556576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180612587602a913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156115dc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b81526020018061255c602b913960400191505060405180910390fd5b6115e885858585612299565b6115f6858585855a8661205d565b5050505050565b61165f816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008581526020019081526020016000205461248d90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628585604051808381526020018281526020019250505060405180910390a4505050565b6000825190508151811461179b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806126166030913960400191505060405180910390fd5b60008090505b818110156118a4576118318382815181106117b857fe5b60200260200101516000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600087858151811061180c57fe5b602002602001015181526020019081526020016000205461248d90919063ffffffff16565b6000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600086848151811061187d57fe5b602002602001015181526020019081526020016000208190555080806001019150506117a1565b50600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561195557808201518184015260208101905061193a565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561199757808201518184015260208101905061197c565b5050505090500194505050505060405180910390a450505050565b8051825114611a0c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260358152602001806125b16035913960400191505060405180910390fd5b60008251905060008090505b81811015611c0957611aa8838281518110611a2f57fe5b60200260200101516000808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000878581518110611a8357fe5b602002602001015181526020019081526020016000205461248d90919063ffffffff16565b6000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000868481518110611af457fe5b6020026020010151815260200190815260200160002081905550611b96838281518110611b1d57fe5b60200260200101516000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000878581518110611b7157fe5b6020026020010151815260200190815260200160002054611fd590919063ffffffff16565b6000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000868481518110611be257fe5b60200260200101518152602001908152602001600020819055508080600101915050611a18565b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015611cb9578082015181840152602081019050611c9e565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015611cfb578082015181840152602081019050611ce0565b5050505090500194505050505060405180910390a45050505050565b611d368573ffffffffffffffffffffffffffffffffffffffff16612516565b15611fcd5760008573ffffffffffffffffffffffffffffffffffffffff1663bc197c8184338a8989886040518763ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b83811015611e1d578082015181840152602081019050611e02565b50505050905001848103835286818151815260200191508051906020019060200280838360005b83811015611e5f578082015181840152602081019050611e44565b50505050905001848103825285818151815260200191508051906020019080838360005b83811015611e9e578082015181840152602081019050611e83565b50505050905090810190601f168015611ecb5780820380516001836020036101000a031916815260200191505b5098505050505050505050602060405180830381600088803b158015611ef057600080fd5b5087f1158015611f04573d6000803e3d6000fd5b50505050506040513d6020811015611f1b57600080fd5b8101908080519060200190929190505050905063bc197c8160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614611fcb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603f8152602001806126d1603f913960400191505060405180910390fd5b505b505050505050565b600080828401905083811015612053576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f536166654d617468236164643a204f564552464c4f570000000000000000000081525060200191505060405180910390fd5b8091505092915050565b61207c8573ffffffffffffffffffffffffffffffffffffffff16612516565b156122915760008573ffffffffffffffffffffffffffffffffffffffff1663f23a6e6184338a8989886040518763ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015612164578082015181840152602081019050612149565b50505050905090810190601f1680156121915780820380516001836020036101000a031916815260200191505b509650505050505050602060405180830381600088803b1580156121b457600080fd5b5087f11580156121c8573d6000803e3d6000fd5b50505050506040513d60208110156121df57600080fd5b8101908080519060200190929190505050905063f23a6e6160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461228f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180612710603a913960400191505060405180910390fd5b505b505050505050565b6122fb816000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008581526020019081526020016000205461248d90919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000848152602001908152602001600020819055506123b0816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600085815260200190815260200160002054611fd590919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000848152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628585604051808381526020018281526020019250505060405180910390a450505050565b600082821115612505576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f536166654d617468237375623a20554e444552464c4f5700000000000000000081525060200191505060405180910390fd5b600082840390508091505092915050565b600080823f90506000801b811415801561255357507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b8114155b91505091905056fe4552433131353523736166655472616e7366657246726f6d3a20494e56414c49445f524543495049454e544552433131353523736166655472616e7366657246726f6d3a20494e56414c49445f4f50455241544f5245524331313535235f7361666542617463685472616e7366657246726f6d3a20494e56414c49445f4152524159535f4c454e47544845524331313535237361666542617463685472616e7366657246726f6d3a20494e56414c49445f524543495049454e54455243313135354d696e744275726e2362617463684275726e3a20494e56414c49445f4152524159535f4c454e475448455243313135352362616c616e63654f6642617463683a20494e56414c49445f41525241595f4c454e47544845524331313535237361666542617463685472616e7366657246726f6d3a20494e56414c49445f4f50455241544f52455243313135354d696e744275726e2362617463684d696e743a20494e56414c49445f4152524159535f4c454e47544845524331313535235f63616c6c6f6e45524331313535426174636852656365697665643a20494e56414c49445f4f4e5f524543454956455f4d45535341474545524331313535235f63616c6c6f6e4552433131353552656365697665643a20494e56414c49445f4f4e5f524543454956455f4d455353414745a265627a7a72315820e7377a8c909a30f2f717594c9331e8b30c0f16471a4736e0f726a37b75116bae64736f6c63430005110032", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100a85760003560e01c8063a22cb46511610071578063a22cb46514610627578063b48ab8b614610677578063e985e9c51461087a578063f242432a146108f6578063f5298aca14610a05578063f6eb127a14610a5d576100a8565b8062fdd58e146100ad57806301ffc9a71461010f5780632eb2c2d6146101745780634e1273f414610397578063731133e914610538575b600080fd5b6100f9600480360360408110156100c357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bc9565b6040518082815260200191505060405180910390f35b61015a6004803603602081101561012557600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610c23565b604051808215151515815260200191505060405180910390f35b610395600480360360a081101561018a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156101e757600080fd5b8201836020820111156101f957600080fd5b8035906020019184602083028401116401000000008311171561021b57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561027b57600080fd5b82018360208201111561028d57600080fd5b803590602001918460208302840111640100000000831117156102af57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561030f57600080fd5b82018360208201111561032157600080fd5b8035906020019184600183028401116401000000008311171561034357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610cd4565b005b6104e1600480360360408110156103ad57600080fd5b81019080803590602001906401000000008111156103ca57600080fd5b8201836020820111156103dc57600080fd5b803590602001918460208302840111640100000000831117156103fe57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561045e57600080fd5b82018360208201111561047057600080fd5b8035906020019184602083028401116401000000008311171561049257600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050610e10565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015610524578082015181840152602081019050610509565b505050509050019250505060405180910390f35b6106256004803603608081101561054e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291908035906020019064010000000081111561059f57600080fd5b8201836020820111156105b157600080fd5b803590602001918460018302840111640100000000831117156105d357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610f56565b005b6106756004803603604081101561063d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035151590602001909291905050506110a5565b005b6108786004803603608081101561068d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156106ca57600080fd5b8201836020820111156106dc57600080fd5b803590602001918460208302840111640100000000831117156106fe57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561075e57600080fd5b82018360208201111561077057600080fd5b8035906020019184602083028401116401000000008311171561079257600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156107f257600080fd5b82018360208201111561080457600080fd5b8035906020019184600183028401116401000000008311171561082657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506111a6565b005b6108dc6004803603604081101561089057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061142d565b604051808215151515815260200191505060405180910390f35b610a03600480360360a081101561090c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291908035906020019064010000000081111561097d57600080fd5b82018360208201111561098f57600080fd5b803590602001918460018302840111640100000000831117156109b157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506114c1565b005b610a5b60048036036060811015610a1b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291905050506115fd565b005b610bc760048036036060811015610a7357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610ab057600080fd5b820183602082011115610ac257600080fd5b80359060200191846020830284011164010000000083111715610ae457600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190640100000000811115610b4457600080fd5b820183602082011115610b5657600080fd5b80359060200191846020830284011164010000000083111715610b7857600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050919291929050505061173c565b005b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b60006301ffc9a760e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610cbc575063d9b67a2660e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b15610cca5760019050610ccf565b600090505b919050565b8473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610d145750610d13853361142d565b5b610d69576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f815260200180612672602f913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415610def576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806125e66030913960400191505060405180910390fd5b610dfb858585856119b2565b610e09858585855a86611d17565b5050505050565b60608151835114610e6c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180612646602c913960400191505060405180910390fd5b60608351604051908082528060200260200182016040528015610e9e5781602001602082028038833980820191505090505b50905060008090505b8451811015610f4b57600080868381518110610ebf57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858381518110610f0f57fe5b6020026020010151815260200190815260200160002054828281518110610f3257fe5b6020026020010181815250508080600101915050610ea7565b508091505092915050565b610fb8826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600086815260200190815260200160002054611fd590919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628686604051808381526020018281526020019250505060405180910390a461109f60008585855a8661205d565b50505050565b80600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b8151835114611200576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806126a16030913960400191505060405180910390fd5b60008351905060008090505b8181101561130f5761129c84828151811061122357fe5b60200260200101516000808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600088858151811061127757fe5b6020026020010151815260200190815260200160002054611fd590919063ffffffff16565b6000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008784815181106112e857fe5b6020026020010151815260200190815260200160002081905550808060010191505061120c565b508473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156113c05780820151818401526020810190506113a5565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156114025780820151818401526020810190506113e7565b5050505090500194505050505060405180910390a461142660008686865a87611d17565b5050505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b8473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806115015750611500853361142d565b5b611556576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180612587602a913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156115dc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b81526020018061255c602b913960400191505060405180910390fd5b6115e885858585612299565b6115f6858585855a8661205d565b5050505050565b61165f816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008581526020019081526020016000205461248d90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628585604051808381526020018281526020019250505060405180910390a4505050565b6000825190508151811461179b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806126166030913960400191505060405180910390fd5b60008090505b818110156118a4576118318382815181106117b857fe5b60200260200101516000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600087858151811061180c57fe5b602002602001015181526020019081526020016000205461248d90919063ffffffff16565b6000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600086848151811061187d57fe5b602002602001015181526020019081526020016000208190555080806001019150506117a1565b50600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561195557808201518184015260208101905061193a565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561199757808201518184015260208101905061197c565b5050505090500194505050505060405180910390a450505050565b8051825114611a0c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260358152602001806125b16035913960400191505060405180910390fd5b60008251905060008090505b81811015611c0957611aa8838281518110611a2f57fe5b60200260200101516000808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000878581518110611a8357fe5b602002602001015181526020019081526020016000205461248d90919063ffffffff16565b6000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000868481518110611af457fe5b6020026020010151815260200190815260200160002081905550611b96838281518110611b1d57fe5b60200260200101516000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000878581518110611b7157fe5b6020026020010151815260200190815260200160002054611fd590919063ffffffff16565b6000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000868481518110611be257fe5b60200260200101518152602001908152602001600020819055508080600101915050611a18565b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015611cb9578082015181840152602081019050611c9e565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015611cfb578082015181840152602081019050611ce0565b5050505090500194505050505060405180910390a45050505050565b611d368573ffffffffffffffffffffffffffffffffffffffff16612516565b15611fcd5760008573ffffffffffffffffffffffffffffffffffffffff1663bc197c8184338a8989886040518763ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b83811015611e1d578082015181840152602081019050611e02565b50505050905001848103835286818151815260200191508051906020019060200280838360005b83811015611e5f578082015181840152602081019050611e44565b50505050905001848103825285818151815260200191508051906020019080838360005b83811015611e9e578082015181840152602081019050611e83565b50505050905090810190601f168015611ecb5780820380516001836020036101000a031916815260200191505b5098505050505050505050602060405180830381600088803b158015611ef057600080fd5b5087f1158015611f04573d6000803e3d6000fd5b50505050506040513d6020811015611f1b57600080fd5b8101908080519060200190929190505050905063bc197c8160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614611fcb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603f8152602001806126d1603f913960400191505060405180910390fd5b505b505050505050565b600080828401905083811015612053576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f536166654d617468236164643a204f564552464c4f570000000000000000000081525060200191505060405180910390fd5b8091505092915050565b61207c8573ffffffffffffffffffffffffffffffffffffffff16612516565b156122915760008573ffffffffffffffffffffffffffffffffffffffff1663f23a6e6184338a8989886040518763ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015612164578082015181840152602081019050612149565b50505050905090810190601f1680156121915780820380516001836020036101000a031916815260200191505b509650505050505050602060405180830381600088803b1580156121b457600080fd5b5087f11580156121c8573d6000803e3d6000fd5b50505050506040513d60208110156121df57600080fd5b8101908080519060200190929190505050905063f23a6e6160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461228f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180612710603a913960400191505060405180910390fd5b505b505050505050565b6122fb816000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008581526020019081526020016000205461248d90919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000848152602001908152602001600020819055506123b0816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600085815260200190815260200160002054611fd590919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000848152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628585604051808381526020018281526020019250505060405180910390a450505050565b600082821115612505576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f536166654d617468237375623a20554e444552464c4f5700000000000000000081525060200191505060405180910390fd5b600082840390508091505092915050565b600080823f90506000801b811415801561255357507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b8114155b91505091905056fe4552433131353523736166655472616e7366657246726f6d3a20494e56414c49445f524543495049454e544552433131353523736166655472616e7366657246726f6d3a20494e56414c49445f4f50455241544f5245524331313535235f7361666542617463685472616e7366657246726f6d3a20494e56414c49445f4152524159535f4c454e47544845524331313535237361666542617463685472616e7366657246726f6d3a20494e56414c49445f524543495049454e54455243313135354d696e744275726e2362617463684275726e3a20494e56414c49445f4152524159535f4c454e475448455243313135352362616c616e63654f6642617463683a20494e56414c49445f41525241595f4c454e47544845524331313535237361666542617463685472616e7366657246726f6d3a20494e56414c49445f4f50455241544f52455243313135354d696e744275726e2362617463684d696e743a20494e56414c49445f4152524159535f4c454e47544845524331313535235f63616c6c6f6e45524331313535426174636852656365697665643a20494e56414c49445f4f4e5f524543454956455f4d45535341474545524331313535235f63616c6c6f6e4552433131353552656365697665643a20494e56414c49445f4f4e5f524543454956455f4d455353414745a265627a7a72315820e7377a8c909a30f2f717594c9331e8b30c0f16471a4736e0f726a37b75116bae64736f6c63430005110032", - "sourceMap": "95:1644:4:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;95:1644:4;;;;;;;", - "deployedSourceMap": "95:1644:4:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;95:1644:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7048:123:18;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7048:123:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8969:234;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8969:234:18;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2273:513;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;2273:513:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;2273:513:18;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;2273:513:18;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;2273:513:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;2273:513:18;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;2273:513:18;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;2273:513:18;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;2273:513:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;2273:513:18;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;2273:513:18;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;2273:513:18;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;2273:513:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;2273:513:18;;;;;;;;;;;;;;;:::i;:::-;;7451:486;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7451:486:18;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;7451:486:18;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;7451:486:18;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;7451:486:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;7451:486:18;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;7451:486:18;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;7451:486:18;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;7451:486:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;7451:486:18;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;7451:486:18;;;;;;;;;;;;;;;;;135:316:4;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;135:316:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;135:316:4;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;135:316:4;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;135:316:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;135:316:4;;;;;;;;;;;;;;;:::i;:::-;;6085:221:18;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6085:221:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;455:601:4;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;455:601:4;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;455:601:4;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;455:601:4;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;455:601:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;455:601:4;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;455:601:4;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;455:601:4;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;455:601:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;455:601:4;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;455:601:4;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;455:601:4;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;455:601:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;455:601:4;;;;;;;;;;;;;;;:::i;:::-;;6557:151:18;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6557:151:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1343:547;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;1343:547:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;1343:547:18;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;1343:547:18;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;1343:547:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;1343:547:18;;;;;;;;;;;;;;;:::i;:::-;;1060:222:4;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1060:222:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1286:451;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1286:451:4;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;1286:451:4;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;1286:451:4;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;1286:451:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;1286:451:4;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;1286:451:4;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;1286:451:4;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;1286:451:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;1286:451:4;;;;;;;;;;;;;;;:::i;:::-;;7048:123:18;7121:7;7145:8;:16;7154:6;7145:16;;;;;;;;;;;;;;;:21;7162:3;7145:21;;;;;;;;;;;;7138:28;;7048:123;;;;:::o;8969:234::-;9040:4;8210:10;9072:26;;9056:42;;;:12;:42;;;;:97;;;;8743:10;9126:27;;9110:43;;;:12;:43;;;;9056:97;9052:129;;;9170:4;9163:11;;;;9052:129;9193:5;9186:12;;8969:234;;;;:::o;2273:513::-;2464:5;2450:19;;:10;:19;;;2449:60;;;;2474:35;2491:5;2498:10;2474:16;:35::i;:::-;2449:60;2441:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2590:1;2575:17;;:3;:17;;;;2567:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2652:50;2675:5;2682:3;2687:4;2693:8;2652:22;:50::i;:::-;2708:73;2736:5;2743:3;2748:4;2754:8;2764:9;2775:5;2708:27;:73::i;:::-;2273:513;;;;;:::o;7451:486::-;7549:16;7601:4;:11;7583:7;:14;:29;7575:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7685:30;7732:7;:14;7718:29;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;7718:29:18;;;;7685:62;;7803:9;7815:1;7803:13;;7798:108;7822:7;:14;7818:1;:18;7798:108;;;7870:8;:20;7879:7;7887:1;7879:10;;;;;;;;;;;;;;7870:20;;;;;;;;;;;;;;;:29;7891:4;7896:1;7891:7;;;;;;;;;;;;;;7870:29;;;;;;;;;;;;7851:13;7865:1;7851:16;;;;;;;;;;;;;:48;;;;;7838:3;;;;;;;7798:108;;;;7919:13;7912:20;;;7451:486;;;;:::o;135:316:4:-;266:31;289:7;266:8;:13;275:3;266:13;;;;;;;;;;;;;;;:18;280:3;266:18;;;;;;;;;;;;:22;;:31;;;;:::i;:::-;245:8;:13;254:3;245:13;;;;;;;;;;;;;;;:18;259:3;245:18;;;;;;;;;;;:52;;;;349:3;308:59;;343:3;308:59;;323:10;308:59;;;354:3;359:7;308:59;;;;;;;;;;;;;;;;;;;;;;;;373:73;404:3;410;415;420:7;429:9;440:5;373:22;:73::i;:::-;135:316;;;;:::o;6085:221:18:-;6233:9;6198;:21;6208:10;6198:21;;;;;;;;;;;;;;;:32;6220:9;6198:32;;;;;;;;;;;;;;;;:44;;;;;;;;;;;;;;;;;;6280:9;6253:48;;6268:10;6253:48;;;6291:9;6253:48;;;;;;;;;;;;;;;;;;;;;;6085:221;;:::o;455:601:4:-;620:8;:15;605:4;:11;:30;590:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;705:13;721:4;:11;705:27;;743:9;755:1;743:13;;738:115;762:5;758:1;:9;738:115;;;807:39;834:8;843:1;834:11;;;;;;;;;;;;;;807:8;:13;816:3;807:13;;;;;;;;;;;;;;;:22;821:4;826:1;821:7;;;;;;;;;;;;;;807:22;;;;;;;;;;;;:26;;:39;;;;:::i;:::-;782:8;:13;791:3;782:13;;;;;;;;;;;;;;;:22;796:4;801:1;796:7;;;;;;;;;;;;;;782:22;;;;;;;;;;;:64;;;;769:3;;;;;;;738:115;;;;903:3;863:60;;897:3;863:60;;877:10;863:60;;;908:4;914:8;863:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;863:60:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;863:60:4;;;;;;;;;;;;;;;;;;;929:122;972:3;984;995:4;1007:8;1023:9;1040:5;929:27;:122::i;:::-;455:601;;;;;:::o;6557:151:18:-;6643:15;6675:9;:17;6685:6;6675:17;;;;;;;;;;;;;;;:28;6693:9;6675:28;;;;;;;;;;;;;;;;;;;;;;;;;6668:35;;6557:151;;;;:::o;1343:547::-;1489:5;1475:19;;:10;:19;;;1474:60;;;;1499:35;1516:5;1523:10;1499:16;:35::i;:::-;1474:60;1466:115;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1610:1;1595:17;;:3;:17;;;;1587:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1770:43;1788:5;1795:3;1800;1805:7;1770:17;:43::i;:::-;1819:66;1842:5;1849:3;1854;1859:7;1868:9;1879:5;1819:22;:66::i;:::-;1343:547;;;;;:::o;1060:222:4:-;1171:33;1196:7;1171:8;:15;1180:5;1171:15;;;;;;;;;;;;;;;:20;1187:3;1171:20;;;;;;;;;;;;:24;;:33;;;;:::i;:::-;1148:8;:15;1157:5;1148:15;;;;;;;;;;;;;;;:20;1164:3;1148:20;;;;;;;;;;;:56;;;;1258:3;1216:61;;1243:5;1216:61;;1231:10;1216:61;;;1264:3;1269:7;1216:61;;;;;;;;;;;;;;;;;;;;;;;;1060:222;;;:::o;1286:451::-;1399:13;1415:4;:11;1399:27;;1456:8;:15;1447:5;:24;1432:103;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1546:9;1558:1;1546:13;;1541:119;1565:5;1561:1;:9;1541:119;;;1612:41;1641:8;1650:1;1641:11;;;;;;;;;;;;;;1612:8;:15;1621:5;1612:15;;;;;;;;;;;;;;;:24;1628:4;1633:1;1628:7;;;;;;;;;;;;;;1612:24;;;;;;;;;;;;:28;;:41;;;;:::i;:::-;1585:8;:15;1594:5;1585:15;;;;;;;;;;;;;;;:24;1601:4;1606:1;1601:7;;;;;;;;;;;;;;1585:24;;;;;;;;;;;:68;;;;1572:3;;;;;;;1541:119;;;;1711:3;1670:62;;1696:5;1670:62;;1684:10;1670:62;;;1717:4;1723:8;1670:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1670:62:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1670:62:4;;;;;;;;;;;;;;;;;;;1286:451;;;;:::o;4403:670:18:-;4557:8;:15;4542:4;:11;:30;4534:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4674:17;4694:4;:11;4674:31;;4748:9;4760:1;4748:13;;4743:243;4767:9;4763:1;:13;4743:243;;;4866:41;4895:8;4904:1;4895:11;;;;;;;;;;;;;;4866:8;:15;4875:5;4866:15;;;;;;;;;;;;;;;:24;4882:4;4887:1;4882:7;;;;;;;;;;;;;;4866:24;;;;;;;;;;;;:28;;:41;;;;:::i;:::-;4839:8;:15;4848:5;4839:15;;;;;;;;;;;;;;;:24;4855:4;4860:1;4855:7;;;;;;;;;;;;;;4839:24;;;;;;;;;;;:68;;;;4940:39;4967:8;4976:1;4967:11;;;;;;;;;;;;;;4940:8;:13;4949:3;4940:13;;;;;;;;;;;;;;;:22;4954:4;4959:1;4954:7;;;;;;;;;;;;;;4940:22;;;;;;;;;;;;:26;;:39;;;;:::i;:::-;4915:8;:13;4924:3;4915:13;;;;;;;;;;;;;;;:22;4929:4;4934:1;4929:7;;;;;;;;;;;;;;4915:22;;;;;;;;;;;:64;;;;4778:3;;;;;;;4743:243;;;;5048:3;5015:53;;5041:5;5015:53;;5029:10;5015:53;;;5053:4;5059:8;5015:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;5015:53:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;5015:53:18;;;;;;;;;;;;;;;;;;;4403:670;;;;;:::o;5186:502::-;5407:16;:3;:14;;;:16::i;:::-;5403:281;;;5433:13;5471:3;5449:49;;;5503:9;5514:10;5526:5;5533:4;5539:8;5549:5;5449:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;5449:106:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;5449:106:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;5449:106:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5449:106:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5449:106:18;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5449:106:18;;;;;;;;;;;;;;;;5433:122;;671:10;5581:28;;5571:38;;;:6;:38;;;;5563:114;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5403:281;;5186:502;;;;;;:::o;1421:158:21:-;1479:7;1494:9;1510:1;1506;:5;1494:17;;1530:1;1525;:6;;1517:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1572:1;1565:8;;;1421:158;;;;:::o;3651:455:18:-;3843:16;:3;:14;;;:16::i;:::-;3839:263;;;3869:13;3907:3;3885:44;;;3934:9;3945:10;3957:5;3964:3;3969:7;3978:5;3885:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;3885:99:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3885:99:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3885:99:18;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3885:99:18;;;;;;;;;;;;;;;;3869:115;;601:10;4010:22;;4000:32;;;:6;:32;;;;3992:103;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3839:263;;3651:455;;;;;;:::o;3176:367::-;3328:33;3353:7;3328:8;:15;3337:5;3328:15;;;;;;;;;;;;;;;:20;3344:3;3328:20;;;;;;;;;;;;:24;;:33;;;;:::i;:::-;3305:8;:15;3314:5;3305:15;;;;;;;;;;;;;;;:20;3321:3;3305:20;;;;;;;;;;;:56;;;;3407:31;3430:7;3407:8;:13;3416:3;3407:13;;;;;;;;;;;;;;;:18;3421:3;3407:18;;;;;;;;;;;;:22;;:31;;;;:::i;:::-;3386:8;:13;3395:3;3386:13;;;;;;;;;;;;;;;:18;3400:3;3386:18;;;;;;;;;;;:52;;;;3520:3;3486:52;;3513:5;3486:52;;3501:10;3486:52;;;3525:3;3530:7;3486:52;;;;;;;;;;;;;;;;;;;;;;;;3176:367;;;;:::o;1188:158:21:-;1246:7;1274:1;1269;:6;;1261:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1309:9;1325:1;1321;:5;1309:17;;1340:1;1333:8;;;1188:158;;;;:::o;543:398:20:-;604:4;616:16;868:8;856:21;844:33;;904:3;892:15;;:8;:15;;:43;;;;;208:66;923:12;;911:8;:24;;892:43;884:52;;;543:398;;;:::o", - "source": "pragma solidity ^0.5.0;\n\nimport \"multi-token-standard/contracts/tokens/ERC1155/ERC1155.sol\";\n\n\ncontract ERC1155MintBurn is ERC1155 {\n function mint(\n address _to,\n uint256 _id,\n uint256 _amount,\n bytes memory _data\n ) public {\n balances[_to][_id] = balances[_to][_id].add(_amount);\n emit TransferSingle(msg.sender, address(0x0), _to, _id, _amount);\n _callonERC1155Received(address(0x0), _to, _id, _amount, gasleft(), _data);\n }\n\n function batchMint(\n address _to,\n uint256[] memory _ids,\n uint256[] memory _amounts,\n bytes memory _data\n ) public {\n require(\n _ids.length == _amounts.length,\n \"ERC1155MintBurn#batchMint: INVALID_ARRAYS_LENGTH\"\n );\n uint256 nMint = _ids.length;\n for (uint256 i = 0; i < nMint; i++) {\n balances[_to][_ids[i]] = balances[_to][_ids[i]].add(_amounts[i]);\n }\n emit TransferBatch(msg.sender, address(0x0), _to, _ids, _amounts);\n _callonERC1155BatchReceived(\n address(0x0),\n _to,\n _ids,\n _amounts,\n gasleft(),\n _data\n );\n }\n\n function burn(\n address _from,\n uint256 _id,\n uint256 _amount\n ) public {\n balances[_from][_id] = balances[_from][_id].sub(_amount);\n\n emit TransferSingle(msg.sender, _from, address(0x0), _id, _amount);\n }\n\n function batchBurn(\n address _from,\n uint256[] memory _ids,\n uint256[] memory _amounts\n ) public {\n uint256 nBurn = _ids.length;\n require(\n nBurn == _amounts.length,\n \"ERC1155MintBurn#batchBurn: INVALID_ARRAYS_LENGTH\"\n );\n for (uint256 i = 0; i < nBurn; i++) {\n balances[_from][_ids[i]] = balances[_from][_ids[i]].sub(_amounts[i]);\n }\n emit TransferBatch(msg.sender, _from, address(0x0), _ids, _amounts);\n }\n}\n", - "sourcePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/tokens/ERC1155Mintable.sol", - "ast": { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/tokens/ERC1155Mintable.sol", - "exportedSymbols": { - "ERC1155MintBurn": [ - 1026 - ] - }, - "id": 1027, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 783, - "literals": [ - "solidity", - "^", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:23:4" - }, - { - "absolutePath": "multi-token-standard/contracts/tokens/ERC1155/ERC1155.sol", - "file": "multi-token-standard/contracts/tokens/ERC1155/ERC1155.sol", - "id": 784, - "nodeType": "ImportDirective", - "scope": 1027, - "sourceUnit": 3503, - "src": "25:67:4", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 785, - "name": "ERC1155", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3502, - "src": "123:7:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1155_$3502", - "typeString": "contract ERC1155" - } - }, - "id": 786, - "nodeType": "InheritanceSpecifier", - "src": "123:7:4" - } - ], - "contractDependencies": [ - 2923, - 2975, - 3502 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 1026, - "linearizedBaseContracts": [ - 1026, - 3502, - 2923, - 2975 - ], - "name": "ERC1155MintBurn", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 835, - "nodeType": "Block", - "src": "239:212:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 810, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 797, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "245:8:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 800, - "indexExpression": { - "argumentTypes": null, - "id": 798, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 788, - "src": "254:3:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "245:13:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 801, - "indexExpression": { - "argumentTypes": null, - "id": 799, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 790, - "src": "259:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "245:18:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 808, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 792, - "src": "289:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 802, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "266:8:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 804, - "indexExpression": { - "argumentTypes": null, - "id": 803, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 788, - "src": "275:3:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "266:13:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 806, - "indexExpression": { - "argumentTypes": null, - "id": 805, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 790, - "src": "280:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "266:18:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 807, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3809, - "src": "266:22:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 809, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "266:31:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "245:52:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 811, - "nodeType": "ExpressionStatement", - "src": "245:52:4" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 813, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "323:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 814, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "323:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "307830", - "id": 816, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "343:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 815, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "335:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 817, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "335:12:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 818, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 788, - "src": "349:3:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 819, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 790, - "src": "354:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 820, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 792, - "src": "359:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 812, - "name": "TransferSingle", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2829, - "src": "308:14:4", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,address,address,uint256,uint256)" - } - }, - "id": 821, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "308:59:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 822, - "nodeType": "EmitStatement", - "src": "303:64:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "307830", - "id": 825, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "404:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 824, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "396:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 826, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "396:12:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 827, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 788, - "src": "410:3:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 828, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 790, - "src": "415:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 829, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 792, - "src": "420:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 830, - "name": "gasleft", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3839, - "src": "429:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_gasleft_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 831, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "429:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 832, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 794, - "src": "440:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 823, - "name": "_callonERC1155Received", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3218, - "src": "373:22:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,address,uint256,uint256,uint256,bytes memory)" - } - }, - "id": 833, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "373:73:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 834, - "nodeType": "ExpressionStatement", - "src": "373:73:4" - } - ] - }, - "documentation": null, - "id": 836, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mint", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 795, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 788, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 836, - "src": "154:11:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 787, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "154:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 790, - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 836, - "src": "171:11:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 789, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "171:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 792, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 836, - "src": "188:15:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 791, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "188:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 794, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 836, - "src": "209:18:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 793, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "209:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "148:83:4" - }, - "returnParameters": { - "id": 796, - "nodeType": "ParameterList", - "parameters": [], - "src": "239:0:4" - }, - "scope": 1026, - "src": "135:316:4", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 919, - "nodeType": "Block", - "src": "584:472:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 854, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 850, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 841, - "src": "605:4:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 851, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "605:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 852, - "name": "_amounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 844, - "src": "620:8:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 853, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "620:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "605:30:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "455243313135354d696e744275726e2362617463684d696e743a20494e56414c49445f4152524159535f4c454e475448", - "id": 855, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "643:50:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c2cdf00e4a379c0509b8cafddb567aa263e86c456840ebcc166df90a496f2dcf", - "typeString": "literal_string \"ERC1155MintBurn#batchMint: INVALID_ARRAYS_LENGTH\"" - }, - "value": "ERC1155MintBurn#batchMint: INVALID_ARRAYS_LENGTH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c2cdf00e4a379c0509b8cafddb567aa263e86c456840ebcc166df90a496f2dcf", - "typeString": "literal_string \"ERC1155MintBurn#batchMint: INVALID_ARRAYS_LENGTH\"" - } - ], - "id": 849, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "590:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 856, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "590:109:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 857, - "nodeType": "ExpressionStatement", - "src": "590:109:4" - }, - { - "assignments": [ - 859 - ], - "declarations": [ - { - "constant": false, - "id": 859, - "name": "nMint", - "nodeType": "VariableDeclaration", - "scope": 919, - "src": "705:13:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 858, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "705:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 862, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 860, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 841, - "src": "721:4:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 861, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "721:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "705:27:4" - }, - { - "body": { - "id": 894, - "nodeType": "Block", - "src": "774:79:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 892, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 873, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "782:8:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 878, - "indexExpression": { - "argumentTypes": null, - "id": 874, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 838, - "src": "791:3:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "782:13:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 879, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 875, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 841, - "src": "796:4:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 877, - "indexExpression": { - "argumentTypes": null, - "id": 876, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 864, - "src": "801:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "796:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "782:22:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 888, - "name": "_amounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 844, - "src": "834:8:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 890, - "indexExpression": { - "argumentTypes": null, - "id": 889, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 864, - "src": "843:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "834:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 880, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "807:8:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 882, - "indexExpression": { - "argumentTypes": null, - "id": 881, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 838, - "src": "816:3:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "807:13:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 886, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 883, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 841, - "src": "821:4:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 885, - "indexExpression": { - "argumentTypes": null, - "id": 884, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 864, - "src": "826:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "821:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "807:22:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 887, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3809, - "src": "807:26:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 891, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "807:39:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "782:64:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 893, - "nodeType": "ExpressionStatement", - "src": "782:64:4" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 867, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 864, - "src": "758:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 868, - "name": "nMint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 859, - "src": "762:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "758:9:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 895, - "initializationExpression": { - "assignments": [ - 864 - ], - "declarations": [ - { - "constant": false, - "id": 864, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 895, - "src": "743:9:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 863, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "743:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 866, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 865, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "755:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "743:13:4" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 871, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "769:3:4", - "subExpression": { - "argumentTypes": null, - "id": 870, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 864, - "src": "769:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 872, - "nodeType": "ExpressionStatement", - "src": "769:3:4" - }, - "nodeType": "ForStatement", - "src": "738:115:4" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 897, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "877:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 898, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "877:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "307830", - "id": 900, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "897:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 899, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "889:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 901, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "889:12:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 902, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 838, - "src": "903:3:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 903, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 841, - "src": "908:4:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "argumentTypes": null, - "id": 904, - "name": "_amounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 844, - "src": "914:8:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "id": 896, - "name": "TransferBatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2843, - "src": "863:13:4", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", - "typeString": "function (address,address,address,uint256[] memory,uint256[] memory)" - } - }, - "id": 905, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "863:60:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 906, - "nodeType": "EmitStatement", - "src": "858:65:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "307830", - "id": 909, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "972:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 908, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "964:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 910, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "964:12:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 911, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 838, - "src": "984:3:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 912, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 841, - "src": "995:4:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "argumentTypes": null, - "id": 913, - "name": "_amounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 844, - "src": "1007:8:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 914, - "name": "gasleft", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3839, - "src": "1023:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_gasleft_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 915, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1023:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 916, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 846, - "src": "1040:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 907, - "name": "_callonERC1155BatchReceived", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3356, - "src": "929:27:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,address,uint256[] memory,uint256[] memory,uint256,bytes memory)" - } - }, - "id": 917, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "929:122:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 918, - "nodeType": "ExpressionStatement", - "src": "929:122:4" - } - ] - }, - "documentation": null, - "id": 920, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "batchMint", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 847, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 838, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 920, - "src": "479:11:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 837, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "479:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 841, - "name": "_ids", - "nodeType": "VariableDeclaration", - "scope": 920, - "src": "496:21:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 839, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "496:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 840, - "length": null, - "nodeType": "ArrayTypeName", - "src": "496:9:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 844, - "name": "_amounts", - "nodeType": "VariableDeclaration", - "scope": 920, - "src": "523:25:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 842, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "523:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 843, - "length": null, - "nodeType": "ArrayTypeName", - "src": "523:9:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 846, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 920, - "src": "554:18:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 845, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "554:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "473:103:4" - }, - "returnParameters": { - "id": 848, - "nodeType": "ParameterList", - "parameters": [], - "src": "584:0:4" - }, - "scope": 1026, - "src": "455:601:4", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 955, - "nodeType": "Block", - "src": "1142:140:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 942, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 929, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "1148:8:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 932, - "indexExpression": { - "argumentTypes": null, - "id": 930, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 922, - "src": "1157:5:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1148:15:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 933, - "indexExpression": { - "argumentTypes": null, - "id": 931, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 924, - "src": "1164:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1148:20:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 940, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 926, - "src": "1196:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 934, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "1171:8:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 936, - "indexExpression": { - "argumentTypes": null, - "id": 935, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 922, - "src": "1180:5:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1171:15:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 938, - "indexExpression": { - "argumentTypes": null, - "id": 937, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 924, - "src": "1187:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1171:20:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 939, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 3784, - "src": "1171:24:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 941, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1171:33:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1148:56:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 943, - "nodeType": "ExpressionStatement", - "src": "1148:56:4" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 945, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "1231:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 946, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1231:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 947, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 922, - "src": "1243:5:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "307830", - "id": 949, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1258:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 948, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1250:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 950, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1250:12:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 951, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 924, - "src": "1264:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 952, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 926, - "src": "1269:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 944, - "name": "TransferSingle", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2829, - "src": "1216:14:4", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,address,address,uint256,uint256)" - } - }, - "id": 953, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1216:61:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 954, - "nodeType": "EmitStatement", - "src": "1211:66:4" - } - ] - }, - "documentation": null, - "id": 956, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "burn", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 927, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 922, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 956, - "src": "1079:13:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 921, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1079:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 924, - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 956, - "src": "1098:11:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 923, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1098:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 926, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 956, - "src": "1115:15:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 925, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1115:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1073:61:4" - }, - "returnParameters": { - "id": 928, - "nodeType": "ParameterList", - "parameters": [], - "src": "1142:0:4" - }, - "scope": 1026, - "src": "1060:222:4", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1024, - "nodeType": "Block", - "src": "1393:344:4", - "statements": [ - { - "assignments": [ - 968 - ], - "declarations": [ - { - "constant": false, - "id": 968, - "name": "nBurn", - "nodeType": "VariableDeclaration", - "scope": 1024, - "src": "1399:13:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 967, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1399:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 971, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 969, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 961, - "src": "1415:4:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 970, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1415:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1399:27:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 976, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 973, - "name": "nBurn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 968, - "src": "1447:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 974, - "name": "_amounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 964, - "src": "1456:8:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 975, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1456:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1447:24:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "455243313135354d696e744275726e2362617463684275726e3a20494e56414c49445f4152524159535f4c454e475448", - "id": 977, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1479:50:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_92d6c72c0bfcfeb49daaa9cdaa3cb6eaf5bea3606e77850ddb5abca8245aefb7", - "typeString": "literal_string \"ERC1155MintBurn#batchBurn: INVALID_ARRAYS_LENGTH\"" - }, - "value": "ERC1155MintBurn#batchBurn: INVALID_ARRAYS_LENGTH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_92d6c72c0bfcfeb49daaa9cdaa3cb6eaf5bea3606e77850ddb5abca8245aefb7", - "typeString": "literal_string \"ERC1155MintBurn#batchBurn: INVALID_ARRAYS_LENGTH\"" - } - ], - "id": 972, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "1432:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 978, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1432:103:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 979, - "nodeType": "ExpressionStatement", - "src": "1432:103:4" - }, - { - "body": { - "id": 1011, - "nodeType": "Block", - "src": "1577:83:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1009, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 990, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "1585:8:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 995, - "indexExpression": { - "argumentTypes": null, - "id": 991, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 958, - "src": "1594:5:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1585:15:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 996, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 992, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 961, - "src": "1601:4:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 994, - "indexExpression": { - "argumentTypes": null, - "id": 993, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 981, - "src": "1606:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1601:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1585:24:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1005, - "name": "_amounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 964, - "src": "1641:8:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1007, - "indexExpression": { - "argumentTypes": null, - "id": 1006, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 981, - "src": "1650:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1641:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 997, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "1612:8:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 999, - "indexExpression": { - "argumentTypes": null, - "id": 998, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 958, - "src": "1621:5:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1612:15:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 1003, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1000, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 961, - "src": "1628:4:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1002, - "indexExpression": { - "argumentTypes": null, - "id": 1001, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 981, - "src": "1633:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1628:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1612:24:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1004, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 3784, - "src": "1612:28:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1008, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1612:41:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1585:68:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1010, - "nodeType": "ExpressionStatement", - "src": "1585:68:4" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 986, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 984, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 981, - "src": "1561:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 985, - "name": "nBurn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 968, - "src": "1565:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1561:9:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1012, - "initializationExpression": { - "assignments": [ - 981 - ], - "declarations": [ - { - "constant": false, - "id": 981, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 1012, - "src": "1546:9:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 980, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1546:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 983, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 982, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1558:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "1546:13:4" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 988, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "1572:3:4", - "subExpression": { - "argumentTypes": null, - "id": 987, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 981, - "src": "1572:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 989, - "nodeType": "ExpressionStatement", - "src": "1572:3:4" - }, - "nodeType": "ForStatement", - "src": "1541:119:4" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1014, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "1684:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1015, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1684:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 1016, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 958, - "src": "1696:5:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "307830", - "id": 1018, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1711:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 1017, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1703:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 1019, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1703:12:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 1020, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 961, - "src": "1717:4:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "argumentTypes": null, - "id": 1021, - "name": "_amounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 964, - "src": "1723:8:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "id": 1013, - "name": "TransferBatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2843, - "src": "1670:13:4", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", - "typeString": "function (address,address,address,uint256[] memory,uint256[] memory)" - } - }, - "id": 1022, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1670:62:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1023, - "nodeType": "EmitStatement", - "src": "1665:67:4" - } - ] - }, - "documentation": null, - "id": 1025, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "batchBurn", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 965, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 958, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 1025, - "src": "1310:13:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 957, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1310:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 961, - "name": "_ids", - "nodeType": "VariableDeclaration", - "scope": 1025, - "src": "1329:21:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 959, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1329:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 960, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1329:9:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 964, - "name": "_amounts", - "nodeType": "VariableDeclaration", - "scope": 1025, - "src": "1356:25:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 962, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1356:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 963, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1356:9:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1304:81:4" - }, - "returnParameters": { - "id": 966, - "nodeType": "ParameterList", - "parameters": [], - "src": "1393:0:4" - }, - "scope": 1026, - "src": "1286:451:4", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 1027, - "src": "95:1644:4" - } - ], - "src": "0:1740:4" - }, - "legacyAST": { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/tokens/ERC1155Mintable.sol", - "exportedSymbols": { - "ERC1155MintBurn": [ - 1026 - ] - }, - "id": 1027, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 783, - "literals": [ - "solidity", - "^", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:23:4" - }, - { - "absolutePath": "multi-token-standard/contracts/tokens/ERC1155/ERC1155.sol", - "file": "multi-token-standard/contracts/tokens/ERC1155/ERC1155.sol", - "id": 784, - "nodeType": "ImportDirective", - "scope": 1027, - "sourceUnit": 3503, - "src": "25:67:4", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 785, - "name": "ERC1155", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3502, - "src": "123:7:4", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1155_$3502", - "typeString": "contract ERC1155" - } - }, - "id": 786, - "nodeType": "InheritanceSpecifier", - "src": "123:7:4" - } - ], - "contractDependencies": [ - 2923, - 2975, - 3502 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 1026, - "linearizedBaseContracts": [ - 1026, - 3502, - 2923, - 2975 - ], - "name": "ERC1155MintBurn", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 835, - "nodeType": "Block", - "src": "239:212:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 810, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 797, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "245:8:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 800, - "indexExpression": { - "argumentTypes": null, - "id": 798, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 788, - "src": "254:3:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "245:13:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 801, - "indexExpression": { - "argumentTypes": null, - "id": 799, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 790, - "src": "259:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "245:18:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 808, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 792, - "src": "289:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 802, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "266:8:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 804, - "indexExpression": { - "argumentTypes": null, - "id": 803, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 788, - "src": "275:3:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "266:13:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 806, - "indexExpression": { - "argumentTypes": null, - "id": 805, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 790, - "src": "280:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "266:18:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 807, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3809, - "src": "266:22:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 809, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "266:31:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "245:52:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 811, - "nodeType": "ExpressionStatement", - "src": "245:52:4" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 813, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "323:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 814, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "323:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "307830", - "id": 816, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "343:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 815, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "335:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 817, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "335:12:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 818, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 788, - "src": "349:3:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 819, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 790, - "src": "354:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 820, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 792, - "src": "359:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 812, - "name": "TransferSingle", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2829, - "src": "308:14:4", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,address,address,uint256,uint256)" - } - }, - "id": 821, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "308:59:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 822, - "nodeType": "EmitStatement", - "src": "303:64:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "307830", - "id": 825, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "404:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 824, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "396:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 826, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "396:12:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 827, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 788, - "src": "410:3:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 828, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 790, - "src": "415:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 829, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 792, - "src": "420:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 830, - "name": "gasleft", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3839, - "src": "429:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_gasleft_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 831, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "429:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 832, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 794, - "src": "440:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 823, - "name": "_callonERC1155Received", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3218, - "src": "373:22:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,address,uint256,uint256,uint256,bytes memory)" - } - }, - "id": 833, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "373:73:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 834, - "nodeType": "ExpressionStatement", - "src": "373:73:4" - } - ] - }, - "documentation": null, - "id": 836, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mint", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 795, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 788, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 836, - "src": "154:11:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 787, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "154:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 790, - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 836, - "src": "171:11:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 789, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "171:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 792, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 836, - "src": "188:15:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 791, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "188:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 794, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 836, - "src": "209:18:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 793, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "209:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "148:83:4" - }, - "returnParameters": { - "id": 796, - "nodeType": "ParameterList", - "parameters": [], - "src": "239:0:4" - }, - "scope": 1026, - "src": "135:316:4", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 919, - "nodeType": "Block", - "src": "584:472:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 854, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 850, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 841, - "src": "605:4:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 851, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "605:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 852, - "name": "_amounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 844, - "src": "620:8:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 853, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "620:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "605:30:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "455243313135354d696e744275726e2362617463684d696e743a20494e56414c49445f4152524159535f4c454e475448", - "id": 855, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "643:50:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c2cdf00e4a379c0509b8cafddb567aa263e86c456840ebcc166df90a496f2dcf", - "typeString": "literal_string \"ERC1155MintBurn#batchMint: INVALID_ARRAYS_LENGTH\"" - }, - "value": "ERC1155MintBurn#batchMint: INVALID_ARRAYS_LENGTH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c2cdf00e4a379c0509b8cafddb567aa263e86c456840ebcc166df90a496f2dcf", - "typeString": "literal_string \"ERC1155MintBurn#batchMint: INVALID_ARRAYS_LENGTH\"" - } - ], - "id": 849, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "590:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 856, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "590:109:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 857, - "nodeType": "ExpressionStatement", - "src": "590:109:4" - }, - { - "assignments": [ - 859 - ], - "declarations": [ - { - "constant": false, - "id": 859, - "name": "nMint", - "nodeType": "VariableDeclaration", - "scope": 919, - "src": "705:13:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 858, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "705:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 862, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 860, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 841, - "src": "721:4:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 861, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "721:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "705:27:4" - }, - { - "body": { - "id": 894, - "nodeType": "Block", - "src": "774:79:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 892, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 873, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "782:8:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 878, - "indexExpression": { - "argumentTypes": null, - "id": 874, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 838, - "src": "791:3:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "782:13:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 879, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 875, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 841, - "src": "796:4:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 877, - "indexExpression": { - "argumentTypes": null, - "id": 876, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 864, - "src": "801:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "796:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "782:22:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 888, - "name": "_amounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 844, - "src": "834:8:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 890, - "indexExpression": { - "argumentTypes": null, - "id": 889, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 864, - "src": "843:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "834:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 880, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "807:8:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 882, - "indexExpression": { - "argumentTypes": null, - "id": 881, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 838, - "src": "816:3:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "807:13:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 886, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 883, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 841, - "src": "821:4:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 885, - "indexExpression": { - "argumentTypes": null, - "id": 884, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 864, - "src": "826:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "821:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "807:22:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 887, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 3809, - "src": "807:26:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 891, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "807:39:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "782:64:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 893, - "nodeType": "ExpressionStatement", - "src": "782:64:4" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 869, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 867, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 864, - "src": "758:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 868, - "name": "nMint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 859, - "src": "762:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "758:9:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 895, - "initializationExpression": { - "assignments": [ - 864 - ], - "declarations": [ - { - "constant": false, - "id": 864, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 895, - "src": "743:9:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 863, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "743:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 866, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 865, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "755:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "743:13:4" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 871, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "769:3:4", - "subExpression": { - "argumentTypes": null, - "id": 870, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 864, - "src": "769:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 872, - "nodeType": "ExpressionStatement", - "src": "769:3:4" - }, - "nodeType": "ForStatement", - "src": "738:115:4" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 897, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "877:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 898, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "877:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "307830", - "id": 900, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "897:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 899, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "889:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 901, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "889:12:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 902, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 838, - "src": "903:3:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 903, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 841, - "src": "908:4:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "argumentTypes": null, - "id": 904, - "name": "_amounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 844, - "src": "914:8:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "id": 896, - "name": "TransferBatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2843, - "src": "863:13:4", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", - "typeString": "function (address,address,address,uint256[] memory,uint256[] memory)" - } - }, - "id": 905, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "863:60:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 906, - "nodeType": "EmitStatement", - "src": "858:65:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "307830", - "id": 909, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "972:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 908, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "964:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 910, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "964:12:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 911, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 838, - "src": "984:3:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 912, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 841, - "src": "995:4:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "argumentTypes": null, - "id": 913, - "name": "_amounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 844, - "src": "1007:8:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 914, - "name": "gasleft", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3839, - "src": "1023:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_gasleft_view$__$returns$_t_uint256_$", - "typeString": "function () view returns (uint256)" - } - }, - "id": 915, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1023:9:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 916, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 846, - "src": "1040:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 907, - "name": "_callonERC1155BatchReceived", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3356, - "src": "929:27:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,address,uint256[] memory,uint256[] memory,uint256,bytes memory)" - } - }, - "id": 917, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "929:122:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 918, - "nodeType": "ExpressionStatement", - "src": "929:122:4" - } - ] - }, - "documentation": null, - "id": 920, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "batchMint", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 847, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 838, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 920, - "src": "479:11:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 837, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "479:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 841, - "name": "_ids", - "nodeType": "VariableDeclaration", - "scope": 920, - "src": "496:21:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 839, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "496:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 840, - "length": null, - "nodeType": "ArrayTypeName", - "src": "496:9:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 844, - "name": "_amounts", - "nodeType": "VariableDeclaration", - "scope": 920, - "src": "523:25:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 842, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "523:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 843, - "length": null, - "nodeType": "ArrayTypeName", - "src": "523:9:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 846, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 920, - "src": "554:18:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 845, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "554:5:4", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "473:103:4" - }, - "returnParameters": { - "id": 848, - "nodeType": "ParameterList", - "parameters": [], - "src": "584:0:4" - }, - "scope": 1026, - "src": "455:601:4", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 955, - "nodeType": "Block", - "src": "1142:140:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 942, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 929, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "1148:8:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 932, - "indexExpression": { - "argumentTypes": null, - "id": 930, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 922, - "src": "1157:5:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1148:15:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 933, - "indexExpression": { - "argumentTypes": null, - "id": 931, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 924, - "src": "1164:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1148:20:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 940, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 926, - "src": "1196:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 934, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "1171:8:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 936, - "indexExpression": { - "argumentTypes": null, - "id": 935, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 922, - "src": "1180:5:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1171:15:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 938, - "indexExpression": { - "argumentTypes": null, - "id": 937, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 924, - "src": "1187:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1171:20:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 939, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 3784, - "src": "1171:24:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 941, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1171:33:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1148:56:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 943, - "nodeType": "ExpressionStatement", - "src": "1148:56:4" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 945, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "1231:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 946, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1231:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 947, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 922, - "src": "1243:5:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "307830", - "id": 949, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1258:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 948, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1250:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 950, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1250:12:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 951, - "name": "_id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 924, - "src": "1264:3:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 952, - "name": "_amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 926, - "src": "1269:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 944, - "name": "TransferSingle", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2829, - "src": "1216:14:4", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", - "typeString": "function (address,address,address,uint256,uint256)" - } - }, - "id": 953, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1216:61:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 954, - "nodeType": "EmitStatement", - "src": "1211:66:4" - } - ] - }, - "documentation": null, - "id": 956, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "burn", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 927, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 922, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 956, - "src": "1079:13:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 921, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1079:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 924, - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 956, - "src": "1098:11:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 923, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1098:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 926, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 956, - "src": "1115:15:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 925, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1115:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1073:61:4" - }, - "returnParameters": { - "id": 928, - "nodeType": "ParameterList", - "parameters": [], - "src": "1142:0:4" - }, - "scope": 1026, - "src": "1060:222:4", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1024, - "nodeType": "Block", - "src": "1393:344:4", - "statements": [ - { - "assignments": [ - 968 - ], - "declarations": [ - { - "constant": false, - "id": 968, - "name": "nBurn", - "nodeType": "VariableDeclaration", - "scope": 1024, - "src": "1399:13:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 967, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1399:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 971, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 969, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 961, - "src": "1415:4:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 970, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1415:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1399:27:4" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 976, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 973, - "name": "nBurn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 968, - "src": "1447:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 974, - "name": "_amounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 964, - "src": "1456:8:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 975, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1456:15:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1447:24:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "455243313135354d696e744275726e2362617463684275726e3a20494e56414c49445f4152524159535f4c454e475448", - "id": 977, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1479:50:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_92d6c72c0bfcfeb49daaa9cdaa3cb6eaf5bea3606e77850ddb5abca8245aefb7", - "typeString": "literal_string \"ERC1155MintBurn#batchBurn: INVALID_ARRAYS_LENGTH\"" - }, - "value": "ERC1155MintBurn#batchBurn: INVALID_ARRAYS_LENGTH" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_92d6c72c0bfcfeb49daaa9cdaa3cb6eaf5bea3606e77850ddb5abca8245aefb7", - "typeString": "literal_string \"ERC1155MintBurn#batchBurn: INVALID_ARRAYS_LENGTH\"" - } - ], - "id": 972, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "1432:7:4", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 978, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1432:103:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 979, - "nodeType": "ExpressionStatement", - "src": "1432:103:4" - }, - { - "body": { - "id": 1011, - "nodeType": "Block", - "src": "1577:83:4", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1009, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 990, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "1585:8:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 995, - "indexExpression": { - "argumentTypes": null, - "id": 991, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 958, - "src": "1594:5:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1585:15:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 996, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 992, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 961, - "src": "1601:4:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 994, - "indexExpression": { - "argumentTypes": null, - "id": 993, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 981, - "src": "1606:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1601:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1585:24:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1005, - "name": "_amounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 964, - "src": "1641:8:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1007, - "indexExpression": { - "argumentTypes": null, - "id": 1006, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 981, - "src": "1650:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1641:11:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 997, - "name": "balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3004, - "src": "1612:8:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_uint256_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(uint256 => uint256))" - } - }, - "id": 999, - "indexExpression": { - "argumentTypes": null, - "id": 998, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 958, - "src": "1621:5:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1612:15:4", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_uint256_$", - "typeString": "mapping(uint256 => uint256)" - } - }, - "id": 1003, - "indexExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1000, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 961, - "src": "1628:4:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - "id": 1002, - "indexExpression": { - "argumentTypes": null, - "id": 1001, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 981, - "src": "1633:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1628:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1612:24:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1004, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 3784, - "src": "1612:28:4", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 1008, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1612:41:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1585:68:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1010, - "nodeType": "ExpressionStatement", - "src": "1585:68:4" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 986, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 984, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 981, - "src": "1561:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 985, - "name": "nBurn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 968, - "src": "1565:5:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1561:9:4", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1012, - "initializationExpression": { - "assignments": [ - 981 - ], - "declarations": [ - { - "constant": false, - "id": 981, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 1012, - "src": "1546:9:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 980, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1546:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 983, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 982, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1558:1:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "1546:13:4" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 988, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "1572:3:4", - "subExpression": { - "argumentTypes": null, - "id": 987, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 981, - "src": "1572:1:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 989, - "nodeType": "ExpressionStatement", - "src": "1572:3:4" - }, - "nodeType": "ForStatement", - "src": "1541:119:4" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1014, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "1684:3:4", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1015, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1684:10:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 1016, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 958, - "src": "1696:5:4", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "307830", - "id": 1018, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1711:3:4", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 1017, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1703:7:4", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 1019, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1703:12:4", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 1020, - "name": "_ids", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 961, - "src": "1717:4:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "argumentTypes": null, - "id": 1021, - "name": "_amounts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 964, - "src": "1723:8:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - }, - { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - ], - "id": 1013, - "name": "TransferBatch", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2843, - "src": "1670:13:4", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", - "typeString": "function (address,address,address,uint256[] memory,uint256[] memory)" - } - }, - "id": 1022, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1670:62:4", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1023, - "nodeType": "EmitStatement", - "src": "1665:67:4" - } - ] - }, - "documentation": null, - "id": 1025, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "batchBurn", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 965, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 958, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 1025, - "src": "1310:13:4", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 957, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1310:7:4", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 961, - "name": "_ids", - "nodeType": "VariableDeclaration", - "scope": 1025, - "src": "1329:21:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 959, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1329:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 960, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1329:9:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 964, - "name": "_amounts", - "nodeType": "VariableDeclaration", - "scope": 1025, - "src": "1356:25:4", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 962, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1356:7:4", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 963, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1356:9:4", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1304:81:4" - }, - "returnParameters": { - "id": 966, - "nodeType": "ParameterList", - "parameters": [], - "src": "1393:0:4" - }, - "scope": 1026, - "src": "1286:451:4", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 1027, - "src": "95:1644:4" - } - ], - "src": "0:1740:4" - }, - "compiler": { - "name": "solc", - "version": "0.5.17+commit.d19bba13.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.16", - "updatedAt": "2020-11-17T15:15:49.583Z", - "devdoc": { - "methods": { - "balanceOf(address,uint256)": { - "params": { - "_id": "ID of the Token", - "_owner": "The address of the token holder" - }, - "return": "The _owner's balance of the Token type requested" - }, - "balanceOfBatch(address[],uint256[])": { - "params": { - "_ids": "ID of the Tokens", - "_owners": "The addresses of the token holders" - }, - "return": "The _owner's balance of the Token types requested (i.e. balance for each (owner, id) pair)" - }, - "isApprovedForAll(address,address)": { - "params": { - "_operator": "Address of authorized operator", - "_owner": "The owner of the Tokens" - }, - "return": "True if the operator is approved, false if not" - }, - "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)": { - "params": { - "_amounts": "Transfer amounts per token type", - "_data": "Additional data with no specified format, sent in call to `_to`", - "_from": "Source addresses", - "_ids": "IDs of each token type", - "_to": "Target addresses" - } - }, - "safeTransferFrom(address,address,uint256,uint256,bytes)": { - "params": { - "_amount": "Transfered amount", - "_data": "Additional data with no specified format, sent in call to `_to`", - "_from": "Source address", - "_id": "ID of the token type", - "_to": "Target address" - } - }, - "setApprovalForAll(address,bool)": { - "params": { - "_approved": "True if the operator is approved, false to revoke approval", - "_operator": "Address to add to the set of authorized operators" - } - }, - "supportsInterface(bytes4)": { - "params": { - "_interfaceID": "The interface identifier, as specified in ERC-165" - }, - "return": "`true` if the contract implements `_interfaceID` and" - } - } - }, - "userdoc": { - "methods": { - "balanceOf(address,uint256)": { - "notice": "Get the balance of an account's Tokens" - }, - "balanceOfBatch(address[],uint256[])": { - "notice": "Get the balance of multiple account/token pairs" - }, - "isApprovedForAll(address,address)": { - "notice": "Queries the approval status of an operator for a given owner" - }, - "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)": { - "notice": "Send multiple types of Tokens from the _from address to the _to address (with safety call)" - }, - "safeTransferFrom(address,address,uint256,uint256,bytes)": { - "notice": "Transfers amount amount of an _id from the _from address to the _to address specified" - }, - "setApprovalForAll(address,bool)": { - "notice": "Enable or disable approval for a third party (\"operator\") to manage all of caller's tokens" - }, - "supportsInterface(bytes4)": { - "notice": "Query if a contract implements an interface" - } - } - } -} \ No newline at end of file diff --git a/packages/proxyIdentity/build/contracts/ERC1155Multiproxy.json b/packages/proxyIdentity/build/contracts/ERC1155Multiproxy.json deleted file mode 100644 index 22fe561f0..000000000 --- a/packages/proxyIdentity/build/contracts/ERC1155Multiproxy.json +++ /dev/null @@ -1,2917 +0,0 @@ -{ - "contractName": "ERC1155Multiproxy", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_operator", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "_approved", - "type": "bool" - } - ], - "name": "ApprovalForAll", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_operator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "_ids", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "_amounts", - "type": "uint256[]" - } - ], - "name": "TransferBatch", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_operator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "TransferSingle", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "_uri", - "type": "string" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "_id", - "type": "uint256" - } - ], - "name": "URI", - "type": "event" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address[]", - "name": "_owners", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "_ids", - "type": "uint256[]" - } - ], - "name": "balanceOfBatch", - "outputs": [ - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_operator", - "type": "address" - } - ], - "name": "isApprovedForAll", - "outputs": [ - { - "internalType": "bool", - "name": "isOperator", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "_ids", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "_amounts", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "safeBatchTransferFrom", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_operator", - "type": "address" - }, - { - "internalType": "bool", - "name": "_approved", - "type": "bool" - } - ], - "name": "setApprovalForAll", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes4", - "name": "_interfaceID", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "tokenCount", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "uri", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "internalType": "string", - "name": "_uri", - "type": "string" - } - ], - "name": "updateUri", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256" - } - ], - "name": "mint", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "proxies", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"_ids\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"_amounts\",\"type\":\"uint256[]\"}],\"name\":\"TransferBatch\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"TransferSingle\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"_uri\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"}],\"name\":\"URI\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_owners\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_ids\",\"type\":\"uint256[]\"}],\"name\":\"balanceOfBatch\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isOperator\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"proxies\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"_ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_amounts\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"safeBatchTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"_interfaceID\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"tokenCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_uri\",\"type\":\"string\"}],\"name\":\"updateUri\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"uri\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"balanceOf(address,uint256)\":{\"params\":{\"_id\":\"ID of the Token\",\"_owner\":\"The address of the token holder\"},\"return\":\"The _owner's balance of the Token type requested\"},\"balanceOfBatch(address[],uint256[])\":{\"params\":{\"_ids\":\"ID of the Tokens\",\"_owners\":\"The addresses of the token holders\"},\"return\":\"The _owner's balance of the Token types requested (i.e. balance for each (owner, id) pair)\"},\"isApprovedForAll(address,address)\":{\"params\":{\"_operator\":\"Address of authorized operator\",\"_owner\":\"The owner of the Tokens\"},\"return\":\"True if the operator is approved, false if not\"},\"safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)\":{\"params\":{\"_amounts\":\"Transfer amounts per token type\",\"_data\":\"Additional data with no specified format, sent in call to `_to`\",\"_from\":\"Source addresses\",\"_ids\":\"IDs of each token type\",\"_to\":\"Target addresses\"}},\"safeTransferFrom(address,address,uint256,uint256,bytes)\":{\"params\":{\"_amount\":\"Transfered amount\",\"_data\":\"Additional data with no specified format, sent in call to `_to`\",\"_from\":\"Source address\",\"_id\":\"ID of the token type\",\"_to\":\"Target address\"}},\"setApprovalForAll(address,bool)\":{\"params\":{\"_approved\":\"True if the operator is approved, false to revoke approval\",\"_operator\":\"Address to add to the set of authorized operators\"}},\"supportsInterface(bytes4)\":{\"params\":{\"_interfaceID\":\"The interface identifier, as specified in ERC-165\"},\"return\":\"`true` if the contract implements `_interfaceID` and\"}}},\"userdoc\":{\"methods\":{\"balanceOf(address,uint256)\":{\"notice\":\"Get the balance of an account's Tokens\"},\"balanceOfBatch(address[],uint256[])\":{\"notice\":\"Get the balance of multiple account/token pairs\"},\"isApprovedForAll(address,address)\":{\"notice\":\"Queries the approval status of an operator for a given owner\"},\"safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)\":{\"notice\":\"Send multiple types of Tokens from the _from address to the _to address (with safety call)\"},\"safeTransferFrom(address,address,uint256,uint256,bytes)\":{\"notice\":\"Transfers amount amount of an _id from the _from address to the _to address specified\"},\"setApprovalForAll(address,bool)\":{\"notice\":\"Enable or disable approval for a third party (\\\"operator\\\") to manage all of caller's tokens\"},\"supportsInterface(bytes4)\":{\"notice\":\"Query if a contract implements an interface\"}},\"notice\":\"Is there smth should happen in proxy on token burn?\"}},\"settings\":{\"compilationTarget\":{\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/tokens/ERC1155Multiproxy.sol\":\"ERC1155Multiproxy\"},\"evmVersion\":\"constantinople\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223.sol\":{\"keccak256\":\"0x3e3d1fc80b2e7c13015946457c9f4a5255f3b6f385b48616159e78c7b2c74737\",\"urls\":[\"bzz-raw://3f3458d0c93202f964bbf51a349b99165344f8eec5c43bb3ca5291c13488286f\",\"dweb:/ipfs/QmQ6ZV1eJqKffWcYqa5iQ22zPkQvgjXiNnciajAE6eb8ep\"]},\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223Receiver.sol\":{\"keccak256\":\"0x3d4cacfc4d9b98e6d79a1f30ac15f171253771454fff2605d0eeeff14ddd8996\",\"urls\":[\"bzz-raw://c9537e6ef6b75a1fd320b099e6d0ee5eb85c89b6147b22196331b2b3393c736b\",\"dweb:/ipfs/Qmd32qvh5cncrttSuk92ugFakEK8YTLCkMP2tadfymBT6q\"]},\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/proxyIdentity.sol\":{\"keccak256\":\"0xdf4dda59244973fb70bd0cb82914435443c07fce5e003b8158afd389c889d12a\",\"urls\":[\"bzz-raw://a6b786967673526b3ba93dec11153160479b028e9b435563b7b32bc4b62710f6\",\"dweb:/ipfs/QmQ7ibdezbEeg3qMH9eAuqvUaXaNcV7EJzKvZuDM7M4Yho\"]},\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/tokens/ERC1155Multiproxy.sol\":{\"keccak256\":\"0x65c692e6fdfbdc216d31f9f2a82ccd528126fc3a7fd2b30460696bef6890e57b\",\"urls\":[\"bzz-raw://8018e79ca78802e46722409d8e6eca2f364c255d97de988d3c39d951cfcb5f66\",\"dweb:/ipfs/QmTFsypNNX9thXu9jFX5WzLKD95ysLWwP2Pm6QHuiMcTPb\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzz-raw://59fd025151435da35faa8093a5c7a17de02de9d08ad27275c5cdf05050820d91\",\"dweb:/ipfs/QmQMvwEcPhoRXzbXyrdoeRtvLoifUW9Qh7Luho7bmUPRkc\"]},\"multi-token-standard/contracts/interfaces/IERC1155.sol\":{\"keccak256\":\"0x9632273d1c5272823807d1d0b1630af9e2dad7f1e41a65bfdbc66bda702c53a1\",\"urls\":[\"bzz-raw://6deb9bdff007e4b367d4561699f45f0f8521a4412a770a9292c109844f739f58\",\"dweb:/ipfs/QmTXrB3rTHHrNcHAa3PYoq2BRJiT4nMmMrPmA6AjDsk7HB\"]},\"multi-token-standard/contracts/interfaces/IERC1155TokenReceiver.sol\":{\"keccak256\":\"0xdf097e5f122d544a93027619c941dc8475bead114e421b9398d9a1482b9bffb8\",\"urls\":[\"bzz-raw://9bdc0f8d96e08965b0e7c98b8ba9e67a56afc26c014784caf53ea4e04a966eb3\",\"dweb:/ipfs/QmRiuqBiDqfQNUtpjiwj5rR1iD5Psh6KdzKiBNNriiq68m\"]},\"multi-token-standard/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x5561863476cd7598c203efcd18bb436746a2596ac61e37c7bbf73790a511de39\",\"urls\":[\"bzz-raw://92f034ed08c66e4a1579b6ad8dd53e615cb7d39b2f26a131fd62f90f3d30e25b\",\"dweb:/ipfs/QmXKMPTepiBrfEKgpQR8PneSgAsVi2769wy9THBM65BspH\"]},\"multi-token-standard/contracts/tokens/ERC1155/ERC1155.sol\":{\"keccak256\":\"0x454f992789731d8ca2e284409dc69115285e48c8c9ad8f38b1f35d9e7bc23320\",\"urls\":[\"bzz-raw://e101d27d80cecb9b8cc788982914974022984f90b213550bc1290818a7047139\",\"dweb:/ipfs/QmZu2HKUsQa5GbGrrtKbCkX5VLRZiPxAtDUxBDf1V7QtR1\"]},\"multi-token-standard/contracts/tokens/ERC1155/ERC1155Metadata.sol\":{\"keccak256\":\"0x4ef6482f64e22ea36be61c3eba61f85bed1fa75f83dcda5c4850697b5ed2c4d4\",\"urls\":[\"bzz-raw://e7550ccafd3c9e121a9d9a86e6246db33cf6a1917bf89fdd3dc35c3e539489b4\",\"dweb:/ipfs/QmQKsdE526BUTA4Xjo8FeTwmYQMWeXEUqHs392hLKeFZGn\"]},\"multi-token-standard/contracts/tokens/ERC1155/ERC1155MintBurn.sol\":{\"keccak256\":\"0x8b5247002651f1bcc2365b22051a9db517b4e4892d71594fd0adcea4a43ec678\",\"urls\":[\"bzz-raw://f7ddd00e7da49cbac08d2c3678b520875aee42c505ffde06e62c86f43f9da43a\",\"dweb:/ipfs/QmVBa6ocmrrLp3ak46hFHVGgL2GJq9z8VWvBX4GPyWYhrD\"]},\"multi-token-standard/contracts/utils/Address.sol\":{\"keccak256\":\"0xc089dcd9159bf02993336e47f629e8e86dcd3086cf2278e9ea06145b4094be5f\",\"urls\":[\"bzz-raw://bf05b053fb01bda8c24854d5d5c652c3c46c411597d90692e0c146b02a5154a0\",\"dweb:/ipfs/QmP5madVNQjx9JHqkdx9R79MdZZgeQJFEWVW5iwRYBV4ny\"]},\"multi-token-standard/contracts/utils/SafeMath.sol\":{\"keccak256\":\"0x0a904266aa9620d2f126588f1a964ec47bd8e777f3b2281a6e8f6897bc1d9fbd\",\"urls\":[\"bzz-raw://c4fcd436cda8c33574b2146bb9098f560095e4b2d63084563c176c2d402a9554\",\"dweb:/ipfs/QmW3Jo5Lt6LUf8pp6r7vE5kfpMpknJNoFEqTH9FbK7eFiU\"]}},\"version\":1}", - "bytecode": "0x608060405234801561001057600080fd5b5061224b806100206000396000f3fe608060405234801561001057600080fd5b50600436106100b35760003560e01c80639f181b5e116100715780639f181b5e146106af578063a0712d68146106cd578063a22cb465146106fb578063bcc38d591461074b578063e985e9c5146107aa578063f242432a14610826576100b3565b8062fdd58e146100b857806301ffc9a71461011a578063057512041461017f5780630e89341c146102445780632eb2c2d6146102eb5780634e1273f41461050e575b600080fd5b610104600480360360408110156100ce57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610935565b6040518082815260200191505060405180910390f35b6101656004803603602081101561013057600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505061098f565b604051808215151515815260200191505060405180910390f35b6102426004803603604081101561019557600080fd5b8101908080359060200190929190803590602001906401000000008111156101bc57600080fd5b8201836020820111156101ce57600080fd5b803590602001918460018302840111640100000000831117156101f057600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610a40565b005b6102706004803603602081101561025a57600080fd5b8101908080359060200190929190505050610b40565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102b0578082015181840152602081019050610295565b50505050905090810190601f1680156102dd5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61050c600480360360a081101561030157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561035e57600080fd5b82018360208201111561037057600080fd5b8035906020019184602083028401116401000000008311171561039257600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156103f257600080fd5b82018360208201111561040457600080fd5b8035906020019184602083028401116401000000008311171561042657600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561048657600080fd5b82018360208201111561049857600080fd5b803590602001918460018302840111640100000000831117156104ba57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610bf5565b005b6106586004803603604081101561052457600080fd5b810190808035906020019064010000000081111561054157600080fd5b82018360208201111561055357600080fd5b8035906020019184602083028401116401000000008311171561057557600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156105d557600080fd5b8201836020820111156105e757600080fd5b8035906020019184602083028401116401000000008311171561060957600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050610d31565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561069b578082015181840152602081019050610680565b505050509050019250505060405180910390f35b6106b7610e77565b6040518082815260200191505060405180910390f35b6106f9600480360360208110156106e357600080fd5b8101908080359060200190929190505050610e7d565b005b6107496004803603604081101561071157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050610f8c565b005b61075361108d565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561079657808201518184015260208101905061077b565b505050509050019250505060405180910390f35b61080c600480360360408110156107c057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061111b565b604051808215151515815260200191505060405180910390f35b610933600480360360a081101561083c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190803590602001906401000000008111156108ad57600080fd5b8201836020820111156108bf57600080fd5b803590602001918460018302840111640100000000831117156108e157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506111af565b005b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b60006301ffc9a760e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610a28575063d9b67a2660e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b15610a365760019050610a3b565b600090505b919050565b3373ffffffffffffffffffffffffffffffffffffffff166004600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b14576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f4f6e6c79206f776e65722063616e20757064617465207572690000000000000081525060200191505060405180910390fd5b80600360008481526020019081526020016000209080519060200190610b3b929190611fe3565b505050565b6060600360008381526020019081526020016000208054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610be95780601f10610bbe57610100808354040283529160200191610be9565b820191906000526020600020905b815481529060010190602001808311610bcc57829003601f168201915b50505050509050919050565b8473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610c355750610c34853361111b565b5b610c8a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f81526020018061216f602f913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415610d10576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806121136030913960400191505060405180910390fd5b610d1c858585856112eb565b610d2a858585855a86611650565b5050505050565b60608151835114610d8d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180612143602c913960400191505060405180910390fd5b60608351604051908082528060200260200182016040528015610dbf5781602001602082028038833980820191505090505b50905060008090505b8451811015610e6c57600080868381518110610de057fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858381518110610e3057fe5b6020026020010151815260200190815260200160002054828281518110610e5357fe5b6020026020010181815250508080600101915050610dc8565b508091505092915050565b60055481565b610ebf338260016040518060400160405280600381526020017f307830000000000000000000000000000000000000000000000000000000000081525061190e565b336004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060063390806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505060056000815480929190600101919050555050565b80600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b6060600680548060200260200160405190810160405280929190818152602001828054801561111157602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116110c7575b5050505050905090565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b8473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806111ef57506111ee853361111b565b5b611244576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001806120b4602a913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156112ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180612089602b913960400191505060405180910390fd5b6112d685858585611a5d565b6112e4858585855a86611c51565b5050505050565b8051825114611345576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260358152602001806120de6035913960400191505060405180910390fd5b60008251905060008090505b81811015611542576113e183828151811061136857fe5b60200260200101516000808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008785815181106113bc57fe5b6020026020010151815260200190815260200160002054611e8d90919063ffffffff16565b6000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600086848151811061142d57fe5b60200260200101518152602001908152602001600020819055506114cf83828151811061145657fe5b60200260200101516000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008785815181106114aa57fe5b6020026020010151815260200190815260200160002054611f1690919063ffffffff16565b6000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600086848151811061151b57fe5b60200260200101518152602001908152602001600020819055508080600101915050611351565b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156115f25780820151818401526020810190506115d7565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015611634578082015181840152602081019050611619565b5050505090500194505050505060405180910390a45050505050565b61166f8573ffffffffffffffffffffffffffffffffffffffff16611f9e565b156119065760008573ffffffffffffffffffffffffffffffffffffffff1663bc197c8184338a8989886040518763ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b8381101561175657808201518184015260208101905061173b565b50505050905001848103835286818151815260200191508051906020019060200280838360005b8381101561179857808201518184015260208101905061177d565b50505050905001848103825285818151815260200191508051906020019080838360005b838110156117d75780820151818401526020810190506117bc565b50505050905090810190601f1680156118045780820380516001836020036101000a031916815260200191505b5098505050505050505050602060405180830381600088803b15801561182957600080fd5b5087f115801561183d573d6000803e3d6000fd5b50505050506040513d602081101561185457600080fd5b8101908080519060200190929190505050905063bc197c8160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614611904576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603f81526020018061219e603f913960400191505060405180910390fd5b505b505050505050565b611970826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600086815260200190815260200160002054611f1690919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628686604051808381526020018281526020019250505060405180910390a4611a5760008585855a86611c51565b50505050565b611abf816000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600085815260200190815260200160002054611e8d90919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550611b74816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600085815260200190815260200160002054611f1690919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000848152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628585604051808381526020018281526020019250505060405180910390a450505050565b611c708573ffffffffffffffffffffffffffffffffffffffff16611f9e565b15611e855760008573ffffffffffffffffffffffffffffffffffffffff1663f23a6e6184338a8989886040518763ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611d58578082015181840152602081019050611d3d565b50505050905090810190601f168015611d855780820380516001836020036101000a031916815260200191505b509650505050505050602060405180830381600088803b158015611da857600080fd5b5087f1158015611dbc573d6000803e3d6000fd5b50505050506040513d6020811015611dd357600080fd5b8101908080519060200190929190505050905063f23a6e6160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614611e83576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a8152602001806121dd603a913960400191505060405180910390fd5b505b505050505050565b600082821115611f05576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f536166654d617468237375623a20554e444552464c4f5700000000000000000081525060200191505060405180910390fd5b600082840390508091505092915050565b600080828401905083811015611f94576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f536166654d617468236164643a204f564552464c4f570000000000000000000081525060200191505060405180910390fd5b8091505092915050565b600080823f90506000801b8114158015611fdb57507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b8114155b915050919050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061202457805160ff1916838001178555612052565b82800160010185558215612052579182015b82811115612051578251825591602001919060010190612036565b5b50905061205f9190612063565b5090565b61208591905b80821115612081576000816000905550600101612069565b5090565b9056fe4552433131353523736166655472616e7366657246726f6d3a20494e56414c49445f524543495049454e544552433131353523736166655472616e7366657246726f6d3a20494e56414c49445f4f50455241544f5245524331313535235f7361666542617463685472616e7366657246726f6d3a20494e56414c49445f4152524159535f4c454e47544845524331313535237361666542617463685472616e7366657246726f6d3a20494e56414c49445f524543495049454e54455243313135352362616c616e63654f6642617463683a20494e56414c49445f41525241595f4c454e47544845524331313535237361666542617463685472616e7366657246726f6d3a20494e56414c49445f4f50455241544f5245524331313535235f63616c6c6f6e45524331313535426174636852656365697665643a20494e56414c49445f4f4e5f524543454956455f4d45535341474545524331313535235f63616c6c6f6e4552433131353552656365697665643a20494e56414c49445f4f4e5f524543454956455f4d455353414745a265627a7a72315820a196ab19c8b165fa1f870eaef69b55f876574d02398d1a41733a6536a133dea464736f6c63430005110032", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100b35760003560e01c80639f181b5e116100715780639f181b5e146106af578063a0712d68146106cd578063a22cb465146106fb578063bcc38d591461074b578063e985e9c5146107aa578063f242432a14610826576100b3565b8062fdd58e146100b857806301ffc9a71461011a578063057512041461017f5780630e89341c146102445780632eb2c2d6146102eb5780634e1273f41461050e575b600080fd5b610104600480360360408110156100ce57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610935565b6040518082815260200191505060405180910390f35b6101656004803603602081101561013057600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916906020019092919050505061098f565b604051808215151515815260200191505060405180910390f35b6102426004803603604081101561019557600080fd5b8101908080359060200190929190803590602001906401000000008111156101bc57600080fd5b8201836020820111156101ce57600080fd5b803590602001918460018302840111640100000000831117156101f057600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610a40565b005b6102706004803603602081101561025a57600080fd5b8101908080359060200190929190505050610b40565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102b0578082015181840152602081019050610295565b50505050905090810190601f1680156102dd5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61050c600480360360a081101561030157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561035e57600080fd5b82018360208201111561037057600080fd5b8035906020019184602083028401116401000000008311171561039257600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156103f257600080fd5b82018360208201111561040457600080fd5b8035906020019184602083028401116401000000008311171561042657600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561048657600080fd5b82018360208201111561049857600080fd5b803590602001918460018302840111640100000000831117156104ba57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610bf5565b005b6106586004803603604081101561052457600080fd5b810190808035906020019064010000000081111561054157600080fd5b82018360208201111561055357600080fd5b8035906020019184602083028401116401000000008311171561057557600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156105d557600080fd5b8201836020820111156105e757600080fd5b8035906020019184602083028401116401000000008311171561060957600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050610d31565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561069b578082015181840152602081019050610680565b505050509050019250505060405180910390f35b6106b7610e77565b6040518082815260200191505060405180910390f35b6106f9600480360360208110156106e357600080fd5b8101908080359060200190929190505050610e7d565b005b6107496004803603604081101561071157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050610f8c565b005b61075361108d565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561079657808201518184015260208101905061077b565b505050509050019250505060405180910390f35b61080c600480360360408110156107c057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061111b565b604051808215151515815260200191505060405180910390f35b610933600480360360a081101561083c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190803590602001906401000000008111156108ad57600080fd5b8201836020820111156108bf57600080fd5b803590602001918460018302840111640100000000831117156108e157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506111af565b005b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b60006301ffc9a760e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610a28575063d9b67a2660e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b15610a365760019050610a3b565b600090505b919050565b3373ffffffffffffffffffffffffffffffffffffffff166004600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b14576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f4f6e6c79206f776e65722063616e20757064617465207572690000000000000081525060200191505060405180910390fd5b80600360008481526020019081526020016000209080519060200190610b3b929190611fe3565b505050565b6060600360008381526020019081526020016000208054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610be95780601f10610bbe57610100808354040283529160200191610be9565b820191906000526020600020905b815481529060010190602001808311610bcc57829003601f168201915b50505050509050919050565b8473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610c355750610c34853361111b565b5b610c8a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f81526020018061216f602f913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415610d10576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806121136030913960400191505060405180910390fd5b610d1c858585856112eb565b610d2a858585855a86611650565b5050505050565b60608151835114610d8d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180612143602c913960400191505060405180910390fd5b60608351604051908082528060200260200182016040528015610dbf5781602001602082028038833980820191505090505b50905060008090505b8451811015610e6c57600080868381518110610de057fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858381518110610e3057fe5b6020026020010151815260200190815260200160002054828281518110610e5357fe5b6020026020010181815250508080600101915050610dc8565b508091505092915050565b60055481565b610ebf338260016040518060400160405280600381526020017f307830000000000000000000000000000000000000000000000000000000000081525061190e565b336004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060063390806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505060056000815480929190600101919050555050565b80600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b6060600680548060200260200160405190810160405280929190818152602001828054801561111157602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116110c7575b5050505050905090565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b8473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806111ef57506111ee853361111b565b5b611244576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001806120b4602a913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156112ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180612089602b913960400191505060405180910390fd5b6112d685858585611a5d565b6112e4858585855a86611c51565b5050505050565b8051825114611345576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260358152602001806120de6035913960400191505060405180910390fd5b60008251905060008090505b81811015611542576113e183828151811061136857fe5b60200260200101516000808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008785815181106113bc57fe5b6020026020010151815260200190815260200160002054611e8d90919063ffffffff16565b6000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600086848151811061142d57fe5b60200260200101518152602001908152602001600020819055506114cf83828151811061145657fe5b60200260200101516000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008785815181106114aa57fe5b6020026020010151815260200190815260200160002054611f1690919063ffffffff16565b6000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600086848151811061151b57fe5b60200260200101518152602001908152602001600020819055508080600101915050611351565b508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156115f25780820151818401526020810190506115d7565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015611634578082015181840152602081019050611619565b5050505090500194505050505060405180910390a45050505050565b61166f8573ffffffffffffffffffffffffffffffffffffffff16611f9e565b156119065760008573ffffffffffffffffffffffffffffffffffffffff1663bc197c8184338a8989886040518763ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b8381101561175657808201518184015260208101905061173b565b50505050905001848103835286818151815260200191508051906020019060200280838360005b8381101561179857808201518184015260208101905061177d565b50505050905001848103825285818151815260200191508051906020019080838360005b838110156117d75780820151818401526020810190506117bc565b50505050905090810190601f1680156118045780820380516001836020036101000a031916815260200191505b5098505050505050505050602060405180830381600088803b15801561182957600080fd5b5087f115801561183d573d6000803e3d6000fd5b50505050506040513d602081101561185457600080fd5b8101908080519060200190929190505050905063bc197c8160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614611904576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603f81526020018061219e603f913960400191505060405180910390fd5b505b505050505050565b611970826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600086815260200190815260200160002054611f1690919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000858152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628686604051808381526020018281526020019250505060405180910390a4611a5760008585855a86611c51565b50505050565b611abf816000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600085815260200190815260200160002054611e8d90919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550611b74816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600085815260200190815260200160002054611f1690919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000848152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628585604051808381526020018281526020019250505060405180910390a450505050565b611c708573ffffffffffffffffffffffffffffffffffffffff16611f9e565b15611e855760008573ffffffffffffffffffffffffffffffffffffffff1663f23a6e6184338a8989886040518763ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200184815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611d58578082015181840152602081019050611d3d565b50505050905090810190601f168015611d855780820380516001836020036101000a031916815260200191505b509650505050505050602060405180830381600088803b158015611da857600080fd5b5087f1158015611dbc573d6000803e3d6000fd5b50505050506040513d6020811015611dd357600080fd5b8101908080519060200190929190505050905063f23a6e6160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614611e83576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a8152602001806121dd603a913960400191505060405180910390fd5b505b505050505050565b600082821115611f05576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f536166654d617468237375623a20554e444552464c4f5700000000000000000081525060200191505060405180910390fd5b600082840390508091505092915050565b600080828401905083811015611f94576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f536166654d617468236164643a204f564552464c4f570000000000000000000081525060200191505060405180910390fd5b8091505092915050565b600080823f90506000801b8114158015611fdb57507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b8114155b915050919050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061202457805160ff1916838001178555612052565b82800160010185558215612052579182015b82811115612051578251825591602001919060010190612036565b5b50905061205f9190612063565b5090565b61208591905b80821115612081576000816000905550600101612069565b5090565b9056fe4552433131353523736166655472616e7366657246726f6d3a20494e56414c49445f524543495049454e544552433131353523736166655472616e7366657246726f6d3a20494e56414c49445f4f50455241544f5245524331313535235f7361666542617463685472616e7366657246726f6d3a20494e56414c49445f4152524159535f4c454e47544845524331313535237361666542617463685472616e7366657246726f6d3a20494e56414c49445f524543495049454e54455243313135352362616c616e63654f6642617463683a20494e56414c49445f41525241595f4c454e47544845524331313535237361666542617463685472616e7366657246726f6d3a20494e56414c49445f4f50455241544f5245524331313535235f63616c6c6f6e45524331313535426174636852656365697665643a20494e56414c49445f4f4e5f524543454956455f4d45535341474545524331313535235f63616c6c6f6e4552433131353552656365697665643a20494e56414c49445f4f4e5f524543454956455f4d455353414745a265627a7a72315820a196ab19c8b165fa1f870eaef69b55f876574d02398d1a41733a6536a133dea464736f6c63430005110032", - "sourceMap": "271:689:5:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;271:689:5;;;;;;;", - "deployedSourceMap": "271:689:5:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;271:689:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7048:123:18;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7048:123:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8969:234;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8969:234:18;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;557:152:5;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;557:152:5;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;557:152:5;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;557:152:5;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;557:152:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;557:152:5;;;;;;;;;;;;;;;:::i;:::-;;465:86;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;465:86:5;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;465:86:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2273:513:18;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;2273:513:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;2273:513:18;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;2273:513:18;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;2273:513:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;2273:513:18;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;2273:513:18;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;2273:513:18;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;2273:513:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;2273:513:18;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;2273:513:18;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;2273:513:18;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;2273:513:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;2273:513:18;;;;;;;;;;;;;;;:::i;:::-;;7451:486;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7451:486:18;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;7451:486:18;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;7451:486:18;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;7451:486:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;7451:486:18;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;7451:486:18;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;7451:486:18;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;7451:486:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;7451:486:18;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;7451:486:18;;;;;;;;;;;;;;;;;411:25:5;;;:::i;:::-;;;;;;;;;;;;;;;;;;;715:153;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;715:153:5;;;;;;;;;;;;;;;;;:::i;:::-;;6085:221:18;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6085:221:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;874:84:5;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;874:84:5;;;;;;;;;;;;;;;;;6557:151:18;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6557:151:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1343:547;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;1343:547:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;1343:547:18;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;1343:547:18;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;1343:547:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;1343:547:18;;;;;;;;;;;;;;;:::i;:::-;;7048:123;7121:7;7145:8;:16;7154:6;7145:16;;;;;;;;;;;;;;;:21;7162:3;7145:21;;;;;;;;;;;;7138:28;;7048:123;;;;:::o;8969:234::-;9040:4;8210:10;9072:26;;9056:42;;;:12;:42;;;;:97;;;;8743:10;9126:27;;9110:43;;;:12;:43;;;;9056:97;9052:129;;;9170:4;9163:11;;;;9052:129;9193:5;9186:12;;8969:234;;;;:::o;557:152:5:-;643:10;629:24;;:6;:10;636:2;629:10;;;;;;;;;;;;;;;;;;;;;:24;;;621:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;700:4;689;:8;694:2;689:8;;;;;;;;;;;:15;;;;;;;;;;;;:::i;:::-;;557:152;;:::o;465:86::-;510:13;538:4;:8;543:2;538:8;;;;;;;;;;;531:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;465:86;;;:::o;2273:513:18:-;2464:5;2450:19;;:10;:19;;;2449:60;;;;2474:35;2491:5;2498:10;2474:16;:35::i;:::-;2449:60;2441:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2590:1;2575:17;;:3;:17;;;;2567:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2652:50;2675:5;2682:3;2687:4;2693:8;2652:22;:50::i;:::-;2708:73;2736:5;2743:3;2748:4;2754:8;2764:9;2775:5;2708:27;:73::i;:::-;2273:513;;;;;:::o;7451:486::-;7549:16;7601:4;:11;7583:7;:14;:29;7575:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7685:30;7732:7;:14;7718:29;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;7718:29:18;;;;7685:62;;7803:9;7815:1;7803:13;;7798:108;7822:7;:14;7818:1;:18;7798:108;;;7870:8;:20;7879:7;7887:1;7879:10;;;;;;;;;;;;;;7870:20;;;;;;;;;;;;;;;:29;7891:4;7896:1;7891:7;;;;;;;;;;;;;;7870:29;;;;;;;;;;;;7851:13;7865:1;7851:16;;;;;;;;;;;;;:48;;;;;7838:3;;;;;;;7798:108;;;;7919:13;7912:20;;;7451:486;;;;:::o;411:25:5:-;;;;:::o;715:153::-;754:31;760:10;772:2;776:1;754:31;;;;;;;;;;;;;;;;;:5;:31::i;:::-;804:10;791:6;:10;798:2;791:10;;;;;;;;;;;;:23;;;;;;;;;;;;;;;;;;820:8;834:10;820:25;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;820:25:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;851:10;;:12;;;;;;;;;;;;;715:153;:::o;6085:221:18:-;6233:9;6198;:21;6208:10;6198:21;;;;;;;;;;;;;;;:32;6220:9;6198:32;;;;;;;;;;;;;;;;:44;;;;;;;;;;;;;;;;;;6280:9;6253:48;;6268:10;6253:48;;;6291:9;6253:48;;;;;;;;;;;;;;;;;;;;;;6085:221;;:::o;874:84:5:-;914:16;945:8;938:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;874:84;:::o;6557:151:18:-;6643:15;6675:9;:17;6685:6;6675:17;;;;;;;;;;;;;;;:28;6693:9;6675:28;;;;;;;;;;;;;;;;;;;;;;;;;6668:35;;6557:151;;;;:::o;1343:547::-;1489:5;1475:19;;:10;:19;;;1474:60;;;;1499:35;1516:5;1523:10;1499:16;:35::i;:::-;1474:60;1466:115;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1610:1;1595:17;;:3;:17;;;;1587:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1770:43;1788:5;1795:3;1800;1805:7;1770:17;:43::i;:::-;1819:66;1842:5;1849:3;1854;1859:7;1868:9;1879:5;1819:22;:66::i;:::-;1343:547;;;;;:::o;4403:670::-;4557:8;:15;4542:4;:11;:30;4534:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4674:17;4694:4;:11;4674:31;;4748:9;4760:1;4748:13;;4743:243;4767:9;4763:1;:13;4743:243;;;4866:41;4895:8;4904:1;4895:11;;;;;;;;;;;;;;4866:8;:15;4875:5;4866:15;;;;;;;;;;;;;;;:24;4882:4;4887:1;4882:7;;;;;;;;;;;;;;4866:24;;;;;;;;;;;;:28;;:41;;;;:::i;:::-;4839:8;:15;4848:5;4839:15;;;;;;;;;;;;;;;:24;4855:4;4860:1;4855:7;;;;;;;;;;;;;;4839:24;;;;;;;;;;;:68;;;;4940:39;4967:8;4976:1;4967:11;;;;;;;;;;;;;;4940:8;:13;4949:3;4940:13;;;;;;;;;;;;;;;:22;4954:4;4959:1;4954:7;;;;;;;;;;;;;;4940:22;;;;;;;;;;;;:26;;:39;;;;:::i;:::-;4915:8;:13;4924:3;4915:13;;;;;;;;;;;;;;;:22;4929:4;4934:1;4929:7;;;;;;;;;;;;;;4915:22;;;;;;;;;;;:64;;;;4778:3;;;;;;;4743:243;;;;5048:3;5015:53;;5041:5;5015:53;;5029:10;5015:53;;;5053:4;5059:8;5015:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;5015:53:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;5015:53:18;;;;;;;;;;;;;;;;;;;4403:670;;;;;:::o;5186:502::-;5407:16;:3;:14;;;:16::i;:::-;5403:281;;;5433:13;5471:3;5449:49;;;5503:9;5514:10;5526:5;5533:4;5539:8;5549:5;5449:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;5449:106:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;5449:106:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;5449:106:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5449:106:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5449:106:18;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5449:106:18;;;;;;;;;;;;;;;;5433:122;;671:10;5581:28;;5571:38;;;:6;:38;;;;5563:114;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5403:281;;5186:502;;;;;;:::o;649:401:20:-;788:31;811:7;788:8;:13;797:3;788:13;;;;;;;;;;;;;;;:18;802:3;788:18;;;;;;;;;;;;:22;;:31;;;;:::i;:::-;767:8;:13;776:3;767:13;;;;;;;;;;;;;;;:18;781:3;767:18;;;;;;;;;;;:52;;;;890:3;849:59;;884:3;849:59;;864:10;849:59;;;895:3;900:7;849:59;;;;;;;;;;;;;;;;;;;;;;;;972:73;1003:3;1009;1014;1019:7;1028:9;1039:5;972:22;:73::i;:::-;649:401;;;;:::o;3176:367:18:-;3328:33;3353:7;3328:8;:15;3337:5;3328:15;;;;;;;;;;;;;;;:20;3344:3;3328:20;;;;;;;;;;;;:24;;:33;;;;:::i;:::-;3305:8;:15;3314:5;3305:15;;;;;;;;;;;;;;;:20;3321:3;3305:20;;;;;;;;;;;:56;;;;3407:31;3430:7;3407:8;:13;3416:3;3407:13;;;;;;;;;;;;;;;:18;3421:3;3407:18;;;;;;;;;;;;:22;;:31;;;;:::i;:::-;3386:8;:13;3395:3;3386:13;;;;;;;;;;;;;;;:18;3400:3;3386:18;;;;;;;;;;;:52;;;;3520:3;3486:52;;3513:5;3486:52;;3501:10;3486:52;;;3525:3;3530:7;3486:52;;;;;;;;;;;;;;;;;;;;;;;;3176:367;;;;:::o;3651:455::-;3843:16;:3;:14;;;:16::i;:::-;3839:263;;;3869:13;3907:3;3885:44;;;3934:9;3945:10;3957:5;3964:3;3969:7;3978:5;3885:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;3885:99:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3885:99:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3885:99:18;;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3885:99:18;;;;;;;;;;;;;;;;3869:115;;601:10;4010:22;;4000:32;;;:6;:32;;;;3992:103;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3839:263;;3651:455;;;;;;:::o;1188:158:22:-;1246:7;1274:1;1269;:6;;1261:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1309:9;1325:1;1321;:5;1309:17;;1340:1;1333:8;;;1188:158;;;;:::o;1421:::-;1479:7;1494:9;1510:1;1506;:5;1494:17;;1530:1;1525;:6;;1517:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1572:1;1565:8;;;1421:158;;;;:::o;543:398:21:-;604:4;616:16;868:8;856:21;844:33;;904:3;892:15;;:8;:15;;:43;;;;;208:66;923:12;;911:8;:24;;892:43;884:52;;;543:398;;;:::o;271:689:5:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o", - "source": "pragma solidity ^0.5.0;\n\nimport \"multi-token-standard/contracts/tokens/ERC1155/ERC1155MintBurn.sol\";\nimport \"multi-token-standard/contracts/tokens/ERC1155/ERC1155Metadata.sol\";\nimport \"../proxyIdentity.sol\";\n\n/**\n* Is there smth should happen in proxy on token burn?\n */\ncontract ERC1155Multiproxy is ERC1155MintBurn, ERC1155Metadata {\n mapping(uint256 => string) uris;\n mapping(uint256 => address) owners;\n uint256 public tokenCount;\n address[] _proxies;\n \n function uri(uint256 id) public view returns(string memory) {\n return uris[id];\n }\n \n function updateUri(uint256 id, string memory _uri) public {\n require(owners[id] == msg.sender, \"Only owner can update uri\");\n uris[id] = _uri;\n }\n \n function mint(uint256 id) public {\n _mint(msg.sender, id, 1, \"0x0\");\n owners[id] = msg.sender;\n _proxies.push(msg.sender);\n tokenCount++;\n }\n \n function proxies() public view returns (address[] memory) {\n return _proxies;\n }\n}\n", - "sourcePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/tokens/ERC1155Multiproxy.sol", - "ast": { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/tokens/ERC1155Multiproxy.sol", - "exportedSymbols": { - "ERC1155Multiproxy": [ - 1183 - ] - }, - "id": 1184, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1086, - "literals": [ - "solidity", - "^", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:23:5" - }, - { - "absolutePath": "multi-token-standard/contracts/tokens/ERC1155/ERC1155MintBurn.sol", - "file": "multi-token-standard/contracts/tokens/ERC1155/ERC1155MintBurn.sol", - "id": 1087, - "nodeType": "ImportDirective", - "scope": 1184, - "sourceUnit": 3360, - "src": "25:75:5", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "multi-token-standard/contracts/tokens/ERC1155/ERC1155Metadata.sol", - "file": "multi-token-standard/contracts/tokens/ERC1155/ERC1155Metadata.sol", - "id": 1088, - "nodeType": "ImportDirective", - "scope": 1184, - "sourceUnit": 3115, - "src": "101:75:5", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/proxyIdentity.sol", - "file": "../proxyIdentity.sol", - "id": 1089, - "nodeType": "ImportDirective", - "scope": 1184, - "sourceUnit": 840, - "src": "177:30:5", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 1090, - "name": "ERC1155MintBurn", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3359, - "src": "301:15:5", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1155MintBurn_$3359", - "typeString": "contract ERC1155MintBurn" - } - }, - "id": 1091, - "nodeType": "InheritanceSpecifier", - "src": "301:15:5" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 1092, - "name": "ERC1155Metadata", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3114, - "src": "318:15:5", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1155Metadata_$3114", - "typeString": "contract ERC1155Metadata" - } - }, - "id": 1093, - "nodeType": "InheritanceSpecifier", - "src": "318:15:5" - } - ], - "contractDependencies": [ - 2366, - 2418, - 2945, - 3114, - 3359 - ], - "contractKind": "contract", - "documentation": "Is there smth should happen in proxy on token burn?", - "fullyImplemented": true, - "id": 1183, - "linearizedBaseContracts": [ - 1183, - 3114, - 3359, - 2945, - 2366, - 2418 - ], - "name": "ERC1155Multiproxy", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 1097, - "name": "uris", - "nodeType": "VariableDeclaration", - "scope": 1183, - "src": "338:31:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", - "typeString": "mapping(uint256 => string)" - }, - "typeName": { - "id": 1096, - "keyType": { - "id": 1094, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "346:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "338:26:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", - "typeString": "mapping(uint256 => string)" - }, - "valueType": { - "id": 1095, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "357:6:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1101, - "name": "owners", - "nodeType": "VariableDeclaration", - "scope": 1183, - "src": "373:34:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - }, - "typeName": { - "id": 1100, - "keyType": { - "id": 1098, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "381:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "373:27:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - }, - "valueType": { - "id": 1099, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "392:7:5", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1103, - "name": "tokenCount", - "nodeType": "VariableDeclaration", - "scope": 1183, - "src": "411:25:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1102, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "411:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 1106, - "name": "_proxies", - "nodeType": "VariableDeclaration", - "scope": 1183, - "src": "440:18:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 1104, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "440:7:5", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1105, - "length": null, - "nodeType": "ArrayTypeName", - "src": "440:9:5", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "body": { - "id": 1117, - "nodeType": "Block", - "src": "525:26:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1113, - "name": "uris", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1097, - "src": "538:4:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", - "typeString": "mapping(uint256 => string storage ref)" - } - }, - "id": 1115, - "indexExpression": { - "argumentTypes": null, - "id": 1114, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1108, - "src": "543:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "538:8:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "functionReturnParameters": 1112, - "id": 1116, - "nodeType": "Return", - "src": "531:15:5" - } - ] - }, - "documentation": null, - "id": 1118, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "uri", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1109, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1108, - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 1118, - "src": "478:10:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1107, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "478:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "477:12:5" - }, - "returnParameters": { - "id": 1112, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1111, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1118, - "src": "510:13:5", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1110, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "510:6:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "509:15:5" - }, - "scope": 1183, - "src": "465:86:5", - "stateMutability": "view", - "superFunction": 2975, - "visibility": "public" - }, - { - "body": { - "id": 1141, - "nodeType": "Block", - "src": "615:94:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 1131, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1126, - "name": "owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1101, - "src": "629:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 1128, - "indexExpression": { - "argumentTypes": null, - "id": 1127, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1120, - "src": "636:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "629:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1129, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "643:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1130, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "643:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "629:24:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4f6e6c79206f776e65722063616e2075706461746520757269", - "id": 1132, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "655:27:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2682dc2fe584f53d6192ac218b55209573cf6aeafbdb0d15ebaf8c1ee805790f", - "typeString": "literal_string \"Only owner can update uri\"" - }, - "value": "Only owner can update uri" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2682dc2fe584f53d6192ac218b55209573cf6aeafbdb0d15ebaf8c1ee805790f", - "typeString": "literal_string \"Only owner can update uri\"" - } - ], - "id": 1125, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3537, - 3538 - ], - "referencedDeclaration": 3538, - "src": "621:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1133, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "621:62:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1134, - "nodeType": "ExpressionStatement", - "src": "621:62:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 1139, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1135, - "name": "uris", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1097, - "src": "689:4:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", - "typeString": "mapping(uint256 => string storage ref)" - } - }, - "id": 1137, - "indexExpression": { - "argumentTypes": null, - "id": 1136, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1120, - "src": "694:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "689:8:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1138, - "name": "_uri", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1122, - "src": "700:4:5", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "689:15:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 1140, - "nodeType": "ExpressionStatement", - "src": "689:15:5" - } - ] - }, - "documentation": null, - "id": 1142, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "updateUri", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1123, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1120, - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 1142, - "src": "576:10:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1119, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "576:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1122, - "name": "_uri", - "nodeType": "VariableDeclaration", - "scope": 1142, - "src": "588:18:5", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1121, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "588:6:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "575:32:5" - }, - "returnParameters": { - "id": 1124, - "nodeType": "ParameterList", - "parameters": [], - "src": "615:0:5" - }, - "scope": 1183, - "src": "557:152:5", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1172, - "nodeType": "Block", - "src": "748:120:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1148, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "760:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1149, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "760:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 1150, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1144, - "src": "772:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "31", - "id": 1151, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "776:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - { - "argumentTypes": null, - "hexValue": "307830", - "id": 1152, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "779:5:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_77b7d82d931e1a403db0240b08c0716665eec4664af617c457918e4a67bc1810", - "typeString": "literal_string \"0x0\"" - }, - "value": "0x0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - { - "typeIdentifier": "t_stringliteral_77b7d82d931e1a403db0240b08c0716665eec4664af617c457918e4a67bc1810", - "typeString": "literal_string \"0x0\"" - } - ], - "id": 1147, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3169, - "src": "754:5:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,uint256,uint256,bytes memory)" - } - }, - "id": 1153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "754:31:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1154, - "nodeType": "ExpressionStatement", - "src": "754:31:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 1160, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1155, - "name": "owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1101, - "src": "791:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 1157, - "indexExpression": { - "argumentTypes": null, - "id": 1156, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1144, - "src": "798:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "791:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1158, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "804:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1159, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "804:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "791:23:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1161, - "nodeType": "ExpressionStatement", - "src": "791:23:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1165, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "834:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1166, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "834:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "id": 1162, - "name": "_proxies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1106, - "src": "820:8:5", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 1164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "820:13:5", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) returns (uint256)" - } - }, - "id": 1167, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "820:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1168, - "nodeType": "ExpressionStatement", - "src": "820:25:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 1170, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "851:12:5", - "subExpression": { - "argumentTypes": null, - "id": 1169, - "name": "tokenCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1103, - "src": "851:10:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1171, - "nodeType": "ExpressionStatement", - "src": "851:12:5" - } - ] - }, - "documentation": null, - "id": 1173, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mint", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1145, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1144, - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 1173, - "src": "729:10:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1143, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "729:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "728:12:5" - }, - "returnParameters": { - "id": 1146, - "nodeType": "ParameterList", - "parameters": [], - "src": "748:0:5" - }, - "scope": 1183, - "src": "715:153:5", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1181, - "nodeType": "Block", - "src": "932:26:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1179, - "name": "_proxies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1106, - "src": "945:8:5", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "functionReturnParameters": 1178, - "id": 1180, - "nodeType": "Return", - "src": "938:15:5" - } - ] - }, - "documentation": null, - "id": 1182, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "proxies", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1174, - "nodeType": "ParameterList", - "parameters": [], - "src": "890:2:5" - }, - "returnParameters": { - "id": 1178, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1177, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1182, - "src": "914:16:5", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 1175, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "914:7:5", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1176, - "length": null, - "nodeType": "ArrayTypeName", - "src": "914:9:5", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "913:18:5" - }, - "scope": 1183, - "src": "874:84:5", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 1184, - "src": "271:689:5" - } - ], - "src": "0:961:5" - }, - "legacyAST": { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/tokens/ERC1155Multiproxy.sol", - "exportedSymbols": { - "ERC1155Multiproxy": [ - 1183 - ] - }, - "id": 1184, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1086, - "literals": [ - "solidity", - "^", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:23:5" - }, - { - "absolutePath": "multi-token-standard/contracts/tokens/ERC1155/ERC1155MintBurn.sol", - "file": "multi-token-standard/contracts/tokens/ERC1155/ERC1155MintBurn.sol", - "id": 1087, - "nodeType": "ImportDirective", - "scope": 1184, - "sourceUnit": 3360, - "src": "25:75:5", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "multi-token-standard/contracts/tokens/ERC1155/ERC1155Metadata.sol", - "file": "multi-token-standard/contracts/tokens/ERC1155/ERC1155Metadata.sol", - "id": 1088, - "nodeType": "ImportDirective", - "scope": 1184, - "sourceUnit": 3115, - "src": "101:75:5", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/proxyIdentity.sol", - "file": "../proxyIdentity.sol", - "id": 1089, - "nodeType": "ImportDirective", - "scope": 1184, - "sourceUnit": 840, - "src": "177:30:5", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 1090, - "name": "ERC1155MintBurn", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3359, - "src": "301:15:5", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1155MintBurn_$3359", - "typeString": "contract ERC1155MintBurn" - } - }, - "id": 1091, - "nodeType": "InheritanceSpecifier", - "src": "301:15:5" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 1092, - "name": "ERC1155Metadata", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 3114, - "src": "318:15:5", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1155Metadata_$3114", - "typeString": "contract ERC1155Metadata" - } - }, - "id": 1093, - "nodeType": "InheritanceSpecifier", - "src": "318:15:5" - } - ], - "contractDependencies": [ - 2366, - 2418, - 2945, - 3114, - 3359 - ], - "contractKind": "contract", - "documentation": "Is there smth should happen in proxy on token burn?", - "fullyImplemented": true, - "id": 1183, - "linearizedBaseContracts": [ - 1183, - 3114, - 3359, - 2945, - 2366, - 2418 - ], - "name": "ERC1155Multiproxy", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 1097, - "name": "uris", - "nodeType": "VariableDeclaration", - "scope": 1183, - "src": "338:31:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", - "typeString": "mapping(uint256 => string)" - }, - "typeName": { - "id": 1096, - "keyType": { - "id": 1094, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "346:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "338:26:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", - "typeString": "mapping(uint256 => string)" - }, - "valueType": { - "id": 1095, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "357:6:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1101, - "name": "owners", - "nodeType": "VariableDeclaration", - "scope": 1183, - "src": "373:34:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - }, - "typeName": { - "id": 1100, - "keyType": { - "id": 1098, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "381:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Mapping", - "src": "373:27:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - }, - "valueType": { - "id": 1099, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "392:7:5", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1103, - "name": "tokenCount", - "nodeType": "VariableDeclaration", - "scope": 1183, - "src": "411:25:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1102, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "411:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 1106, - "name": "_proxies", - "nodeType": "VariableDeclaration", - "scope": 1183, - "src": "440:18:5", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 1104, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "440:7:5", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1105, - "length": null, - "nodeType": "ArrayTypeName", - "src": "440:9:5", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "body": { - "id": 1117, - "nodeType": "Block", - "src": "525:26:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1113, - "name": "uris", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1097, - "src": "538:4:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", - "typeString": "mapping(uint256 => string storage ref)" - } - }, - "id": 1115, - "indexExpression": { - "argumentTypes": null, - "id": 1114, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1108, - "src": "543:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "538:8:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "functionReturnParameters": 1112, - "id": 1116, - "nodeType": "Return", - "src": "531:15:5" - } - ] - }, - "documentation": null, - "id": 1118, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "uri", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1109, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1108, - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 1118, - "src": "478:10:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1107, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "478:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "477:12:5" - }, - "returnParameters": { - "id": 1112, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1111, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1118, - "src": "510:13:5", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1110, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "510:6:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "509:15:5" - }, - "scope": 1183, - "src": "465:86:5", - "stateMutability": "view", - "superFunction": 2975, - "visibility": "public" - }, - { - "body": { - "id": 1141, - "nodeType": "Block", - "src": "615:94:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 1131, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1126, - "name": "owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1101, - "src": "629:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 1128, - "indexExpression": { - "argumentTypes": null, - "id": 1127, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1120, - "src": "636:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "629:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1129, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "643:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1130, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "643:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "629:24:5", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4f6e6c79206f776e65722063616e2075706461746520757269", - "id": 1132, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "655:27:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2682dc2fe584f53d6192ac218b55209573cf6aeafbdb0d15ebaf8c1ee805790f", - "typeString": "literal_string \"Only owner can update uri\"" - }, - "value": "Only owner can update uri" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2682dc2fe584f53d6192ac218b55209573cf6aeafbdb0d15ebaf8c1ee805790f", - "typeString": "literal_string \"Only owner can update uri\"" - } - ], - "id": 1125, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3537, - 3538 - ], - "referencedDeclaration": 3538, - "src": "621:7:5", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1133, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "621:62:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1134, - "nodeType": "ExpressionStatement", - "src": "621:62:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 1139, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1135, - "name": "uris", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1097, - "src": "689:4:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_string_storage_$", - "typeString": "mapping(uint256 => string storage ref)" - } - }, - "id": 1137, - "indexExpression": { - "argumentTypes": null, - "id": 1136, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1120, - "src": "694:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "689:8:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 1138, - "name": "_uri", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1122, - "src": "700:4:5", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "689:15:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 1140, - "nodeType": "ExpressionStatement", - "src": "689:15:5" - } - ] - }, - "documentation": null, - "id": 1142, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "updateUri", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1123, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1120, - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 1142, - "src": "576:10:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1119, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "576:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1122, - "name": "_uri", - "nodeType": "VariableDeclaration", - "scope": 1142, - "src": "588:18:5", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 1121, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "588:6:5", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "575:32:5" - }, - "returnParameters": { - "id": 1124, - "nodeType": "ParameterList", - "parameters": [], - "src": "615:0:5" - }, - "scope": 1183, - "src": "557:152:5", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1172, - "nodeType": "Block", - "src": "748:120:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1148, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "760:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1149, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "760:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 1150, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1144, - "src": "772:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "31", - "id": 1151, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "776:1:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - { - "argumentTypes": null, - "hexValue": "307830", - "id": 1152, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "779:5:5", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_77b7d82d931e1a403db0240b08c0716665eec4664af617c457918e4a67bc1810", - "typeString": "literal_string \"0x0\"" - }, - "value": "0x0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - { - "typeIdentifier": "t_stringliteral_77b7d82d931e1a403db0240b08c0716665eec4664af617c457918e4a67bc1810", - "typeString": "literal_string \"0x0\"" - } - ], - "id": 1147, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3169, - "src": "754:5:5", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$", - "typeString": "function (address,uint256,uint256,bytes memory)" - } - }, - "id": 1153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "754:31:5", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1154, - "nodeType": "ExpressionStatement", - "src": "754:31:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 1160, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 1155, - "name": "owners", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1101, - "src": "791:6:5", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_address_$", - "typeString": "mapping(uint256 => address)" - } - }, - "id": 1157, - "indexExpression": { - "argumentTypes": null, - "id": 1156, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1144, - "src": "798:2:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "791:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1158, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "804:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1159, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "804:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "791:23:5", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1161, - "nodeType": "ExpressionStatement", - "src": "791:23:5" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1165, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "834:3:5", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1166, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "834:10:5", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "expression": { - "argumentTypes": null, - "id": 1162, - "name": "_proxies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1106, - "src": "820:8:5", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "id": 1164, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "820:13:5", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$_t_uint256_$", - "typeString": "function (address) returns (uint256)" - } - }, - "id": 1167, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "820:25:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1168, - "nodeType": "ExpressionStatement", - "src": "820:25:5" - }, - { - "expression": { - "argumentTypes": null, - "id": 1170, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "851:12:5", - "subExpression": { - "argumentTypes": null, - "id": 1169, - "name": "tokenCount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1103, - "src": "851:10:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 1171, - "nodeType": "ExpressionStatement", - "src": "851:12:5" - } - ] - }, - "documentation": null, - "id": 1173, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mint", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1145, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1144, - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 1173, - "src": "729:10:5", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1143, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "729:7:5", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "728:12:5" - }, - "returnParameters": { - "id": 1146, - "nodeType": "ParameterList", - "parameters": [], - "src": "748:0:5" - }, - "scope": 1183, - "src": "715:153:5", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 1181, - "nodeType": "Block", - "src": "932:26:5", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 1179, - "name": "_proxies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1106, - "src": "945:8:5", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[] storage ref" - } - }, - "functionReturnParameters": 1178, - "id": 1180, - "nodeType": "Return", - "src": "938:15:5" - } - ] - }, - "documentation": null, - "id": 1182, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "proxies", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1174, - "nodeType": "ParameterList", - "parameters": [], - "src": "890:2:5" - }, - "returnParameters": { - "id": 1178, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1177, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1182, - "src": "914:16:5", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 1175, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "914:7:5", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 1176, - "length": null, - "nodeType": "ArrayTypeName", - "src": "914:9:5", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "913:18:5" - }, - "scope": 1183, - "src": "874:84:5", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 1184, - "src": "271:689:5" - } - ], - "src": "0:961:5" - }, - "compiler": { - "name": "solc", - "version": "0.5.17+commit.d19bba13.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.16", - "updatedAt": "2020-10-25T11:29:13.831Z", - "devdoc": { - "methods": { - "balanceOf(address,uint256)": { - "params": { - "_id": "ID of the Token", - "_owner": "The address of the token holder" - }, - "return": "The _owner's balance of the Token type requested" - }, - "balanceOfBatch(address[],uint256[])": { - "params": { - "_ids": "ID of the Tokens", - "_owners": "The addresses of the token holders" - }, - "return": "The _owner's balance of the Token types requested (i.e. balance for each (owner, id) pair)" - }, - "isApprovedForAll(address,address)": { - "params": { - "_operator": "Address of authorized operator", - "_owner": "The owner of the Tokens" - }, - "return": "True if the operator is approved, false if not" - }, - "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)": { - "params": { - "_amounts": "Transfer amounts per token type", - "_data": "Additional data with no specified format, sent in call to `_to`", - "_from": "Source addresses", - "_ids": "IDs of each token type", - "_to": "Target addresses" - } - }, - "safeTransferFrom(address,address,uint256,uint256,bytes)": { - "params": { - "_amount": "Transfered amount", - "_data": "Additional data with no specified format, sent in call to `_to`", - "_from": "Source address", - "_id": "ID of the token type", - "_to": "Target address" - } - }, - "setApprovalForAll(address,bool)": { - "params": { - "_approved": "True if the operator is approved, false to revoke approval", - "_operator": "Address to add to the set of authorized operators" - } - }, - "supportsInterface(bytes4)": { - "params": { - "_interfaceID": "The interface identifier, as specified in ERC-165" - }, - "return": "`true` if the contract implements `_interfaceID` and" - } - } - }, - "userdoc": { - "methods": { - "balanceOf(address,uint256)": { - "notice": "Get the balance of an account's Tokens" - }, - "balanceOfBatch(address[],uint256[])": { - "notice": "Get the balance of multiple account/token pairs" - }, - "isApprovedForAll(address,address)": { - "notice": "Queries the approval status of an operator for a given owner" - }, - "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)": { - "notice": "Send multiple types of Tokens from the _from address to the _to address (with safety call)" - }, - "safeTransferFrom(address,address,uint256,uint256,bytes)": { - "notice": "Transfers amount amount of an _id from the _from address to the _to address specified" - }, - "setApprovalForAll(address,bool)": { - "notice": "Enable or disable approval for a third party (\"operator\") to manage all of caller's tokens" - }, - "supportsInterface(bytes4)": { - "notice": "Query if a contract implements an interface" - } - }, - "notice": "Is there smth should happen in proxy on token burn?" - } -} \ No newline at end of file diff --git a/packages/proxyIdentity/build/contracts/ERC20.json b/packages/proxyIdentity/build/contracts/ERC20.json deleted file mode 100644 index 8c18cb280..000000000 --- a/packages/proxyIdentity/build/contracts/ERC20.json +++ /dev/null @@ -1,11382 +0,0 @@ -{ - "contractName": "ERC20", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "constant": true, - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the {IERC20} interface. * This implementation is agnostic to the way tokens are created. This means that a supply mechanism has to be added in a derived contract using {_mint}. For a generic mechanism see {ERC20Mintable}. * TIP: For a detailed writeup see our guide https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How to implement supply mechanisms]. * We have followed general OpenZeppelin guidelines: functions revert instead of returning `false` on failure. This behavior is nonetheless conventional and does not conflict with the expectations of ERC20 applications. * Additionally, an {Approval} event is emitted on calls to {transferFrom}. This allows applications to reconstruct the allowance for all accounts just by listening to said events. Other implementations of the EIP may not emit these events, as it isn't required by the specification. * Finally, the non-standard {decreaseAllowance} and {increaseAllowance} functions have been added to mitigate the well-known issues around setting allowances. See {IERC20-approve}.\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. * Requirements: * - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. * Requirements: * - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. * Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}; * Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for `sender`'s tokens of at least `amount`.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":\"ERC20\"},\"evmVersion\":\"constantinople\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/GSN/Context.sol\":{\"keccak256\":\"0x90a3995645af7562d84b9d69363ffa5ae7217714ab61e951bf7bc450f40e4061\",\"urls\":[\"bzz-raw://216ef9d6b614db4eb46970b4e84903f2534a45572dd30a79f0041f1a5830f436\",\"dweb:/ipfs/QmNPrJ4MWKUAWzKXpUqeyKRUfosaoANZAqXgvepdrCwZAG\"]},\"@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x640b6dee7a4b830bdfd52b5031a07fc2b12209f5b2e29e5d364a7d37f69d8076\",\"urls\":[\"bzz-raw://31113152e1ddb78fe7a4197f247591ca894e93f916867beb708d8e747b6cc74f\",\"dweb:/ipfs/QmbZaJyXdpsYGykVhHH9qpVGQg9DGCxE2QufbCUy3daTgq\"]},\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xb15af804e2bc97db51e4e103f13de9fe13f87e6b835d7a88c897966c0e58506e\",\"urls\":[\"bzz-raw://1e8cff8437557fc915a3bed968fcd8f2df9809599e665ef69c2c9ce628548055\",\"dweb:/ipfs/QmP5spYP8vs2jvLF8zNrXUbqB79hMsoEvMHiLcBxerWKcm\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzz-raw://59fd025151435da35faa8093a5c7a17de02de9d08ad27275c5cdf05050820d91\",\"dweb:/ipfs/QmQMvwEcPhoRXzbXyrdoeRtvLoifUW9Qh7Luho7bmUPRkc\"]}},\"version\":1}", - "bytecode": "0x6080604052610e3a806100136000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806370a082311161005b57806370a08231146101fd578063a457c2d714610255578063a9059cbb146102bb578063dd62ed3e1461032157610088565b8063095ea7b31461008d57806318160ddd146100f357806323b872dd146101115780633950935114610197575b600080fd5b6100d9600480360360408110156100a357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610399565b604051808215151515815260200191505060405180910390f35b6100fb6103b7565b6040518082815260200191505060405180910390f35b61017d6004803603606081101561012757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506103c1565b604051808215151515815260200191505060405180910390f35b6101e3600480360360408110156101ad57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061049a565b604051808215151515815260200191505060405180910390f35b61023f6004803603602081101561021357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061054d565b6040518082815260200191505060405180910390f35b6102a16004803603604081101561026b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610595565b604051808215151515815260200191505060405180910390f35b610307600480360360408110156102d157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610662565b604051808215151515815260200191505060405180910390f35b6103836004803603604081101561033757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610680565b6040518082815260200191505060405180910390f35b60006103ad6103a6610707565b848461070f565b6001905092915050565b6000600254905090565b60006103ce848484610906565b61048f846103da610707565b61048a85604051806060016040528060288152602001610d7060289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610440610707565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610bbc9092919063ffffffff16565b61070f565b600190509392505050565b60006105436104a7610707565b8461053e85600160006104b8610707565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c7c90919063ffffffff16565b61070f565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60006106586105a2610707565b8461065385604051806060016040528060258152602001610de160259139600160006105cc610707565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610bbc9092919063ffffffff16565b61070f565b6001905092915050565b600061067661066f610707565b8484610906565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610795576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180610dbd6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561081b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180610d286022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561098c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180610d986025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610a12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180610d056023913960400191505060405180910390fd5b610a7d81604051806060016040528060268152602001610d4a602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610bbc9092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610b10816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c7c90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610c69576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610c2e578082015181840152602081019050610c13565b50505050905090810190601f168015610c5b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015610cfa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b809150509291505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa265627a7a7231582033a1abb1a2984a5157f51a1878402338bb76cc6fb666662cf61e999afeb2bcb064736f6c63430005110032", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100885760003560e01c806370a082311161005b57806370a08231146101fd578063a457c2d714610255578063a9059cbb146102bb578063dd62ed3e1461032157610088565b8063095ea7b31461008d57806318160ddd146100f357806323b872dd146101115780633950935114610197575b600080fd5b6100d9600480360360408110156100a357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610399565b604051808215151515815260200191505060405180910390f35b6100fb6103b7565b6040518082815260200191505060405180910390f35b61017d6004803603606081101561012757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506103c1565b604051808215151515815260200191505060405180910390f35b6101e3600480360360408110156101ad57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061049a565b604051808215151515815260200191505060405180910390f35b61023f6004803603602081101561021357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061054d565b6040518082815260200191505060405180910390f35b6102a16004803603604081101561026b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610595565b604051808215151515815260200191505060405180910390f35b610307600480360360408110156102d157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610662565b604051808215151515815260200191505060405180910390f35b6103836004803603604081101561033757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610680565b6040518082815260200191505060405180910390f35b60006103ad6103a6610707565b848461070f565b6001905092915050565b6000600254905090565b60006103ce848484610906565b61048f846103da610707565b61048a85604051806060016040528060288152602001610d7060289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610440610707565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610bbc9092919063ffffffff16565b61070f565b600190509392505050565b60006105436104a7610707565b8461053e85600160006104b8610707565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c7c90919063ffffffff16565b61070f565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60006106586105a2610707565b8461065385604051806060016040528060258152602001610de160259139600160006105cc610707565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610bbc9092919063ffffffff16565b61070f565b6001905092915050565b600061067661066f610707565b8484610906565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610795576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180610dbd6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561081b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180610d286022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561098c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180610d986025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610a12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180610d056023913960400191505060405180910390fd5b610a7d81604051806060016040528060268152602001610d4a602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610bbc9092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610b10816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c7c90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610c69576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610c2e578082015181840152602081019050610c13565b50505050905090810190601f168015610c5b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015610cfa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b809150509291505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa265627a7a7231582033a1abb1a2984a5157f51a1878402338bb76cc6fb666662cf61e999afeb2bcb064736f6c63430005110032", - "sourceMap": "1268:6823:12:-;;;;;;;;;", - "deployedSourceMap": "1268:6823:12:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1268:6823:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2500:149;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2500:149:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1559:89;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3107:300;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3107:300:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3802:207;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3802:207:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1706:108;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1706:108:12;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4496:258;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4496:258:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2017:155;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2017:155:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2230:132;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2230:132:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2500:149;2566:4;2582:39;2591:12;:10;:12::i;:::-;2605:7;2614:6;2582:8;:39::i;:::-;2638:4;2631:11;;2500:149;;;;:::o;1559:89::-;1603:7;1629:12;;1622:19;;1559:89;:::o;3107:300::-;3196:4;3212:36;3222:6;3230:9;3241:6;3212:9;:36::i;:::-;3258:121;3267:6;3275:12;:10;:12::i;:::-;3289:89;3327:6;3289:89;;;;;;;;;;;;;;;;;:11;:19;3301:6;3289:19;;;;;;;;;;;;;;;:33;3309:12;:10;:12::i;:::-;3289:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;3258:8;:121::i;:::-;3396:4;3389:11;;3107:300;;;;;:::o;3802:207::-;3882:4;3898:83;3907:12;:10;:12::i;:::-;3921:7;3930:50;3969:10;3930:11;:25;3942:12;:10;:12::i;:::-;3930:25;;;;;;;;;;;;;;;:34;3956:7;3930:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;3898:8;:83::i;:::-;3998:4;3991:11;;3802:207;;;;:::o;1706:108::-;1763:7;1789:9;:18;1799:7;1789:18;;;;;;;;;;;;;;;;1782:25;;1706:108;;;:::o;4496:258::-;4581:4;4597:129;4606:12;:10;:12::i;:::-;4620:7;4629:96;4668:15;4629:96;;;;;;;;;;;;;;;;;:11;:25;4641:12;:10;:12::i;:::-;4629:25;;;;;;;;;;;;;;;:34;4655:7;4629:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;4597:8;:129::i;:::-;4743:4;4736:11;;4496:258;;;;:::o;2017:155::-;2086:4;2102:42;2112:12;:10;:12::i;:::-;2126:9;2137:6;2102:9;:42::i;:::-;2161:4;2154:11;;2017:155;;;;:::o;2230:132::-;2302:7;2328:11;:18;2340:5;2328:18;;;;;;;;;;;;;;;:27;2347:7;2328:27;;;;;;;;;;;;;;;;2321:34;;2230:132;;;;:::o;788:96:8:-;833:15;867:10;860:17;;788:96;:::o;7350:332:12:-;7460:1;7443:19;;:5;:19;;;;7435:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7540:1;7521:21;;:7;:21;;;;7513:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7622:6;7592:11;:18;7604:5;7592:18;;;;;;;;;;;;;;;:27;7611:7;7592:27;;;;;;;;;;;;;;;:36;;;;7659:7;7643:32;;7652:5;7643:32;;;7668:6;7643:32;;;;;;;;;;;;;;;;;;7350:332;;;:::o;5228:464::-;5343:1;5325:20;;:6;:20;;;;5317:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5426:1;5405:23;;:9;:23;;;;5397:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5499;5521:6;5499:71;;;;;;;;;;;;;;;;;:9;:17;5509:6;5499:17;;;;;;;;;;;;;;;;:21;;:71;;;;;:::i;:::-;5479:9;:17;5489:6;5479:17;;;;;;;;;;;;;;;:91;;;;5603:32;5628:6;5603:9;:20;5613:9;5603:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;5580:9;:20;5590:9;5580:20;;;;;;;;;;;;;;;:55;;;;5667:9;5650:35;;5659:6;5650:35;;;5678:6;5650:35;;;;;;;;;;;;;;;;;;5228:464;;;:::o;1732:187:11:-;1818:7;1850:1;1845;:6;;1853:12;1837:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1837:29:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1876:9;1892:1;1888;:5;1876:17;;1911:1;1904:8;;;1732:187;;;;;:::o;834:176::-;892:7;911:9;927:1;923;:5;911:17;;951:1;946;:6;;938:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1002:1;995:8;;;834:176;;;;:::o", - "source": "pragma solidity ^0.5.0;\n\nimport \"../../GSN/Context.sol\";\nimport \"./IERC20.sol\";\nimport \"../../math/SafeMath.sol\";\n\n/**\n * @dev Implementation of the {IERC20} interface.\n *\n * This implementation is agnostic to the way tokens are created. This means\n * that a supply mechanism has to be added in a derived contract using {_mint}.\n * For a generic mechanism see {ERC20Mintable}.\n *\n * TIP: For a detailed writeup see our guide\n * https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How\n * to implement supply mechanisms].\n *\n * We have followed general OpenZeppelin guidelines: functions revert instead\n * of returning `false` on failure. This behavior is nonetheless conventional\n * and does not conflict with the expectations of ERC20 applications.\n *\n * Additionally, an {Approval} event is emitted on calls to {transferFrom}.\n * This allows applications to reconstruct the allowance for all accounts just\n * by listening to said events. Other implementations of the EIP may not emit\n * these events, as it isn't required by the specification.\n *\n * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}\n * functions have been added to mitigate the well-known issues around setting\n * allowances. See {IERC20-approve}.\n */\ncontract ERC20 is Context, IERC20 {\n using SafeMath for uint256;\n\n mapping (address => uint256) private _balances;\n\n mapping (address => mapping (address => uint256)) private _allowances;\n\n uint256 private _totalSupply;\n\n /**\n * @dev See {IERC20-totalSupply}.\n */\n function totalSupply() public view returns (uint256) {\n return _totalSupply;\n }\n\n /**\n * @dev See {IERC20-balanceOf}.\n */\n function balanceOf(address account) public view returns (uint256) {\n return _balances[account];\n }\n\n /**\n * @dev See {IERC20-transfer}.\n *\n * Requirements:\n *\n * - `recipient` cannot be the zero address.\n * - the caller must have a balance of at least `amount`.\n */\n function transfer(address recipient, uint256 amount) public returns (bool) {\n _transfer(_msgSender(), recipient, amount);\n return true;\n }\n\n /**\n * @dev See {IERC20-allowance}.\n */\n function allowance(address owner, address spender) public view returns (uint256) {\n return _allowances[owner][spender];\n }\n\n /**\n * @dev See {IERC20-approve}.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n */\n function approve(address spender, uint256 amount) public returns (bool) {\n _approve(_msgSender(), spender, amount);\n return true;\n }\n\n /**\n * @dev See {IERC20-transferFrom}.\n *\n * Emits an {Approval} event indicating the updated allowance. This is not\n * required by the EIP. See the note at the beginning of {ERC20};\n *\n * Requirements:\n * - `sender` and `recipient` cannot be the zero address.\n * - `sender` must have a balance of at least `amount`.\n * - the caller must have allowance for `sender`'s tokens of at least\n * `amount`.\n */\n function transferFrom(address sender, address recipient, uint256 amount) public returns (bool) {\n _transfer(sender, recipient, amount);\n _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, \"ERC20: transfer amount exceeds allowance\"));\n return true;\n }\n\n /**\n * @dev Atomically increases the allowance granted to `spender` by the caller.\n *\n * This is an alternative to {approve} that can be used as a mitigation for\n * problems described in {IERC20-approve}.\n *\n * Emits an {Approval} event indicating the updated allowance.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n */\n function increaseAllowance(address spender, uint256 addedValue) public returns (bool) {\n _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));\n return true;\n }\n\n /**\n * @dev Atomically decreases the allowance granted to `spender` by the caller.\n *\n * This is an alternative to {approve} that can be used as a mitigation for\n * problems described in {IERC20-approve}.\n *\n * Emits an {Approval} event indicating the updated allowance.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n * - `spender` must have allowance for the caller of at least\n * `subtractedValue`.\n */\n function decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool) {\n _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, \"ERC20: decreased allowance below zero\"));\n return true;\n }\n\n /**\n * @dev Moves tokens `amount` from `sender` to `recipient`.\n *\n * This is internal function is equivalent to {transfer}, and can be used to\n * e.g. implement automatic token fees, slashing mechanisms, etc.\n *\n * Emits a {Transfer} event.\n *\n * Requirements:\n *\n * - `sender` cannot be the zero address.\n * - `recipient` cannot be the zero address.\n * - `sender` must have a balance of at least `amount`.\n */\n function _transfer(address sender, address recipient, uint256 amount) internal {\n require(sender != address(0), \"ERC20: transfer from the zero address\");\n require(recipient != address(0), \"ERC20: transfer to the zero address\");\n\n _balances[sender] = _balances[sender].sub(amount, \"ERC20: transfer amount exceeds balance\");\n _balances[recipient] = _balances[recipient].add(amount);\n emit Transfer(sender, recipient, amount);\n }\n\n /** @dev Creates `amount` tokens and assigns them to `account`, increasing\n * the total supply.\n *\n * Emits a {Transfer} event with `from` set to the zero address.\n *\n * Requirements\n *\n * - `to` cannot be the zero address.\n */\n function _mint(address account, uint256 amount) internal {\n require(account != address(0), \"ERC20: mint to the zero address\");\n\n _totalSupply = _totalSupply.add(amount);\n _balances[account] = _balances[account].add(amount);\n emit Transfer(address(0), account, amount);\n }\n\n /**\n * @dev Destroys `amount` tokens from `account`, reducing the\n * total supply.\n *\n * Emits a {Transfer} event with `to` set to the zero address.\n *\n * Requirements\n *\n * - `account` cannot be the zero address.\n * - `account` must have at least `amount` tokens.\n */\n function _burn(address account, uint256 amount) internal {\n require(account != address(0), \"ERC20: burn from the zero address\");\n\n _balances[account] = _balances[account].sub(amount, \"ERC20: burn amount exceeds balance\");\n _totalSupply = _totalSupply.sub(amount);\n emit Transfer(account, address(0), amount);\n }\n\n /**\n * @dev Sets `amount` as the allowance of `spender` over the `owner`s tokens.\n *\n * This is internal function is equivalent to `approve`, and can be used to\n * e.g. set automatic allowances for certain subsystems, etc.\n *\n * Emits an {Approval} event.\n *\n * Requirements:\n *\n * - `owner` cannot be the zero address.\n * - `spender` cannot be the zero address.\n */\n function _approve(address owner, address spender, uint256 amount) internal {\n require(owner != address(0), \"ERC20: approve from the zero address\");\n require(spender != address(0), \"ERC20: approve to the zero address\");\n\n _allowances[owner][spender] = amount;\n emit Approval(owner, spender, amount);\n }\n\n /**\n * @dev Destroys `amount` tokens from `account`.`amount` is then deducted\n * from the caller's allowance.\n *\n * See {_burn} and {_approve}.\n */\n function _burnFrom(address account, uint256 amount) internal {\n _burn(account, amount);\n _approve(account, _msgSender(), _allowances[account][_msgSender()].sub(amount, \"ERC20: burn amount exceeds allowance\"));\n }\n}\n", - "sourcePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "ast": { - "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "exportedSymbols": { - "ERC20": [ - 2718 - ] - }, - "id": 2719, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2315, - "literals": [ - "solidity", - "^", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:23:12" - }, - { - "absolutePath": "@openzeppelin/contracts/GSN/Context.sol", - "file": "../../GSN/Context.sol", - "id": 2316, - "nodeType": "ImportDirective", - "scope": 2719, - "sourceUnit": 1939, - "src": "25:31:12", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", - "file": "./IERC20.sol", - "id": 2317, - "nodeType": "ImportDirective", - "scope": 2719, - "sourceUnit": 2816, - "src": "57:22:12", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/math/SafeMath.sol", - "file": "../../math/SafeMath.sol", - "id": 2318, - "nodeType": "ImportDirective", - "scope": 2719, - "sourceUnit": 2314, - "src": "80:33:12", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 2319, - "name": "Context", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1938, - "src": "1286:7:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Context_$1938", - "typeString": "contract Context" - } - }, - "id": 2320, - "nodeType": "InheritanceSpecifier", - "src": "1286:7:12" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 2321, - "name": "IERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2815, - "src": "1295:6:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$2815", - "typeString": "contract IERC20" - } - }, - "id": 2322, - "nodeType": "InheritanceSpecifier", - "src": "1295:6:12" - } - ], - "contractDependencies": [ - 1938, - 2815 - ], - "contractKind": "contract", - "documentation": "@dev Implementation of the {IERC20} interface.\n * This implementation is agnostic to the way tokens are created. This means\nthat a supply mechanism has to be added in a derived contract using {_mint}.\nFor a generic mechanism see {ERC20Mintable}.\n * TIP: For a detailed writeup see our guide\nhttps://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How\nto implement supply mechanisms].\n * We have followed general OpenZeppelin guidelines: functions revert instead\nof returning `false` on failure. This behavior is nonetheless conventional\nand does not conflict with the expectations of ERC20 applications.\n * Additionally, an {Approval} event is emitted on calls to {transferFrom}.\nThis allows applications to reconstruct the allowance for all accounts just\nby listening to said events. Other implementations of the EIP may not emit\nthese events, as it isn't required by the specification.\n * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}\nfunctions have been added to mitigate the well-known issues around setting\nallowances. See {IERC20-approve}.", - "fullyImplemented": true, - "id": 2718, - "linearizedBaseContracts": [ - 2718, - 2815, - 1938 - ], - "name": "ERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 2325, - "libraryName": { - "contractScope": null, - "id": 2323, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2313, - "src": "1314:8:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$2313", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "1308:27:12", - "typeName": { - "id": 2324, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1327:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "id": 2329, - "name": "_balances", - "nodeType": "VariableDeclaration", - "scope": 2718, - "src": "1341:46:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 2328, - "keyType": { - "id": 2326, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1350:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1341:28:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 2327, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1361:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 2335, - "name": "_allowances", - "nodeType": "VariableDeclaration", - "scope": 2718, - "src": "1394:69:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "typeName": { - "id": 2334, - "keyType": { - "id": 2330, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1403:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1394:49:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "valueType": { - "id": 2333, - "keyType": { - "id": 2331, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1423:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1414:28:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 2332, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1434:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 2337, - "name": "_totalSupply", - "nodeType": "VariableDeclaration", - "scope": 2718, - "src": "1470:28:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2336, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1470:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "private" - }, - { - "body": { - "id": 2344, - "nodeType": "Block", - "src": "1612:36:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2342, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2337, - "src": "1629:12:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2341, - "id": 2343, - "nodeType": "Return", - "src": "1622:19:12" - } - ] - }, - "documentation": "@dev See {IERC20-totalSupply}.", - "id": 2345, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2338, - "nodeType": "ParameterList", - "parameters": [], - "src": "1579:2:12" - }, - "returnParameters": { - "id": 2341, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2340, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2345, - "src": "1603:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2339, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1603:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1602:9:12" - }, - "scope": 2718, - "src": "1559:89:12", - "stateMutability": "view", - "superFunction": 2753, - "visibility": "public" - }, - { - "body": { - "id": 2356, - "nodeType": "Block", - "src": "1772:42:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2352, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2329, - "src": "1789:9:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2354, - "indexExpression": { - "argumentTypes": null, - "id": 2353, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2347, - "src": "1799:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1789:18:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2351, - "id": 2355, - "nodeType": "Return", - "src": "1782:25:12" - } - ] - }, - "documentation": "@dev See {IERC20-balanceOf}.", - "id": 2357, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2348, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2347, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 2357, - "src": "1725:15:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2346, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1725:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1724:17:12" - }, - "returnParameters": { - "id": 2351, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2350, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2357, - "src": "1763:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2349, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1763:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1762:9:12" - }, - "scope": 2718, - "src": "1706:108:12", - "stateMutability": "view", - "superFunction": 2760, - "visibility": "public" - }, - { - "body": { - "id": 2375, - "nodeType": "Block", - "src": "2092:80:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2367, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1926, - "src": "2112:10:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 2368, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2112:12:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 2369, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2359, - "src": "2126:9:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2370, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2361, - "src": "2137:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2366, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2559, - "src": "2102:9:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 2371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2102:42:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2372, - "nodeType": "ExpressionStatement", - "src": "2102:42:12" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2373, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2161:4:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2365, - "id": 2374, - "nodeType": "Return", - "src": "2154:11:12" - } - ] - }, - "documentation": "@dev See {IERC20-transfer}.\n * Requirements:\n * - `recipient` cannot be the zero address.\n- the caller must have a balance of at least `amount`.", - "id": 2376, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2362, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2359, - "name": "recipient", - "nodeType": "VariableDeclaration", - "scope": 2376, - "src": "2035:17:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2358, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2035:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2361, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 2376, - "src": "2054:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2360, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2054:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2034:35:12" - }, - "returnParameters": { - "id": 2365, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2364, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2376, - "src": "2086:4:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2363, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2086:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2085:6:12" - }, - "scope": 2718, - "src": "2017:155:12", - "stateMutability": "nonpayable", - "superFunction": 2769, - "visibility": "public" - }, - { - "body": { - "id": 2391, - "nodeType": "Block", - "src": "2311:51:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2385, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2335, - "src": "2328:11:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 2387, - "indexExpression": { - "argumentTypes": null, - "id": 2386, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2378, - "src": "2340:5:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2328:18:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2389, - "indexExpression": { - "argumentTypes": null, - "id": 2388, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2380, - "src": "2347:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2328:27:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2384, - "id": 2390, - "nodeType": "Return", - "src": "2321:34:12" - } - ] - }, - "documentation": "@dev See {IERC20-allowance}.", - "id": 2392, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2381, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2378, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 2392, - "src": "2249:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2377, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2249:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2380, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 2392, - "src": "2264:15:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2379, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2264:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2248:32:12" - }, - "returnParameters": { - "id": 2384, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2383, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2392, - "src": "2302:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2382, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2302:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2301:9:12" - }, - "scope": 2718, - "src": "2230:132:12", - "stateMutability": "view", - "superFunction": 2778, - "visibility": "public" - }, - { - "body": { - "id": 2410, - "nodeType": "Block", - "src": "2572:77:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2402, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1926, - "src": "2591:10:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 2403, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2591:12:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 2404, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2394, - "src": "2605:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2405, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2396, - "src": "2614:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2401, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2688, - "src": "2582:8:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 2406, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2582:39:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2407, - "nodeType": "ExpressionStatement", - "src": "2582:39:12" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2408, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2638:4:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2400, - "id": 2409, - "nodeType": "Return", - "src": "2631:11:12" - } - ] - }, - "documentation": "@dev See {IERC20-approve}.\n * Requirements:\n * - `spender` cannot be the zero address.", - "id": 2411, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2397, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2394, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 2411, - "src": "2517:15:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2393, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2517:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2396, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 2411, - "src": "2534:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2395, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2534:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2516:33:12" - }, - "returnParameters": { - "id": 2400, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2399, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2411, - "src": "2566:4:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2398, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2566:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2565:6:12" - }, - "scope": 2718, - "src": "2500:149:12", - "stateMutability": "nonpayable", - "superFunction": 2787, - "visibility": "public" - }, - { - "body": { - "id": 2446, - "nodeType": "Block", - "src": "3202:205:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2423, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2413, - "src": "3222:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2424, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2415, - "src": "3230:9:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2425, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2417, - "src": "3241:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2422, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2559, - "src": "3212:9:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 2426, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3212:36:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2427, - "nodeType": "ExpressionStatement", - "src": "3212:36:12" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2429, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2413, - "src": "3267:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2430, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1926, - "src": "3275:10:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 2431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3275:12:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2439, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2417, - "src": "3327:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365", - "id": 2440, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3335:42:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_974d1b4421da69cc60b481194f0dad36a5bb4e23da810da7a7fb30cdba178330", - "typeString": "literal_string \"ERC20: transfer amount exceeds allowance\"" - }, - "value": "ERC20: transfer amount exceeds allowance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_974d1b4421da69cc60b481194f0dad36a5bb4e23da810da7a7fb30cdba178330", - "typeString": "literal_string \"ERC20: transfer amount exceeds allowance\"" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2432, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2335, - "src": "3289:11:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 2434, - "indexExpression": { - "argumentTypes": null, - "id": 2433, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2413, - "src": "3301:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3289:19:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2437, - "indexExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2435, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1926, - "src": "3309:10:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 2436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3309:12:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3289:33:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2438, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 2196, - "src": "3289:37:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" - } - }, - "id": 2441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3289:89:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2428, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2688, - "src": "3258:8:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 2442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3258:121:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2443, - "nodeType": "ExpressionStatement", - "src": "3258:121:12" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2444, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3396:4:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2421, - "id": 2445, - "nodeType": "Return", - "src": "3389:11:12" - } - ] - }, - "documentation": "@dev See {IERC20-transferFrom}.\n * Emits an {Approval} event indicating the updated allowance. This is not\nrequired by the EIP. See the note at the beginning of {ERC20};\n * Requirements:\n- `sender` and `recipient` cannot be the zero address.\n- `sender` must have a balance of at least `amount`.\n- the caller must have allowance for `sender`'s tokens of at least\n`amount`.", - "id": 2447, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2418, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2413, - "name": "sender", - "nodeType": "VariableDeclaration", - "scope": 2447, - "src": "3129:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2412, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3129:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2415, - "name": "recipient", - "nodeType": "VariableDeclaration", - "scope": 2447, - "src": "3145:17:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2414, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3145:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2417, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 2447, - "src": "3164:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2416, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3164:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3128:51:12" - }, - "returnParameters": { - "id": 2421, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2420, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2447, - "src": "3196:4:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2419, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3196:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3195:6:12" - }, - "scope": 2718, - "src": "3107:300:12", - "stateMutability": "nonpayable", - "superFunction": 2798, - "visibility": "public" - }, - { - "body": { - "id": 2473, - "nodeType": "Block", - "src": "3888:121:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2457, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1926, - "src": "3907:10:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 2458, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3907:12:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 2459, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2449, - "src": "3921:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2467, - "name": "addedValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2451, - "src": "3969:10:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2460, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2335, - "src": "3930:11:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 2463, - "indexExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2461, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1926, - "src": "3942:10:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 2462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3942:12:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3930:25:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2465, - "indexExpression": { - "argumentTypes": null, - "id": 2464, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2449, - "src": "3956:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3930:34:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2466, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 2153, - "src": "3930:38:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3930:50:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2456, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2688, - "src": "3898:8:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 2469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3898:83:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2470, - "nodeType": "ExpressionStatement", - "src": "3898:83:12" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2471, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3998:4:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2455, - "id": 2472, - "nodeType": "Return", - "src": "3991:11:12" - } - ] - }, - "documentation": "@dev Atomically increases the allowance granted to `spender` by the caller.\n * This is an alternative to {approve} that can be used as a mitigation for\nproblems described in {IERC20-approve}.\n * Emits an {Approval} event indicating the updated allowance.\n * Requirements:\n * - `spender` cannot be the zero address.", - "id": 2474, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "increaseAllowance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2452, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2449, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 2474, - "src": "3829:15:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2448, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3829:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2451, - "name": "addedValue", - "nodeType": "VariableDeclaration", - "scope": 2474, - "src": "3846:18:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2450, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3846:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3828:37:12" - }, - "returnParameters": { - "id": 2455, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2454, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2474, - "src": "3882:4:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2453, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3882:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3881:6:12" - }, - "scope": 2718, - "src": "3802:207:12", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2501, - "nodeType": "Block", - "src": "4587:167:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2484, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1926, - "src": "4606:10:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 2485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4606:12:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 2486, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2476, - "src": "4620:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2494, - "name": "subtractedValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2478, - "src": "4668:15:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f", - "id": 2495, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4685:39:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8", - "typeString": "literal_string \"ERC20: decreased allowance below zero\"" - }, - "value": "ERC20: decreased allowance below zero" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8", - "typeString": "literal_string \"ERC20: decreased allowance below zero\"" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2487, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2335, - "src": "4629:11:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 2490, - "indexExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2488, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1926, - "src": "4641:10:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 2489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4641:12:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4629:25:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2492, - "indexExpression": { - "argumentTypes": null, - "id": 2491, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2476, - "src": "4655:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4629:34:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2493, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 2196, - "src": "4629:38:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" - } - }, - "id": 2496, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4629:96:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2483, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2688, - "src": "4597:8:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 2497, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4597:129:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2498, - "nodeType": "ExpressionStatement", - "src": "4597:129:12" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2499, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4743:4:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2482, - "id": 2500, - "nodeType": "Return", - "src": "4736:11:12" - } - ] - }, - "documentation": "@dev Atomically decreases the allowance granted to `spender` by the caller.\n * This is an alternative to {approve} that can be used as a mitigation for\nproblems described in {IERC20-approve}.\n * Emits an {Approval} event indicating the updated allowance.\n * Requirements:\n * - `spender` cannot be the zero address.\n- `spender` must have allowance for the caller of at least\n`subtractedValue`.", - "id": 2502, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "decreaseAllowance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2479, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2476, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 2502, - "src": "4523:15:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2475, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4523:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2478, - "name": "subtractedValue", - "nodeType": "VariableDeclaration", - "scope": 2502, - "src": "4540:23:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2477, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4540:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4522:42:12" - }, - "returnParameters": { - "id": 2482, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2481, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2502, - "src": "4581:4:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2480, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4581:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4580:6:12" - }, - "scope": 2718, - "src": "4496:258:12", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2558, - "nodeType": "Block", - "src": "5307:385:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2516, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2512, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2504, - "src": "5325:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2514, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5343:1:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 2513, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5335:7:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2515, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5335:10:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "5325:20:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a207472616e736665722066726f6d20746865207a65726f2061646472657373", - "id": 2517, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5347:39:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea", - "typeString": "literal_string \"ERC20: transfer from the zero address\"" - }, - "value": "ERC20: transfer from the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea", - "typeString": "literal_string \"ERC20: transfer from the zero address\"" - } - ], - "id": 2511, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "5317:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2518, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5317:70:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2519, - "nodeType": "ExpressionStatement", - "src": "5317:70:12" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2525, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2521, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2506, - "src": "5405:9:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2523, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5426:1:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 2522, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5418:7:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2524, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5418:10:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "5405:23:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a207472616e7366657220746f20746865207a65726f2061646472657373", - "id": 2526, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5430:37:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f", - "typeString": "literal_string \"ERC20: transfer to the zero address\"" - }, - "value": "ERC20: transfer to the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f", - "typeString": "literal_string \"ERC20: transfer to the zero address\"" - } - ], - "id": 2520, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "5397:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2527, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5397:71:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2528, - "nodeType": "ExpressionStatement", - "src": "5397:71:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 2539, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2529, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2329, - "src": "5479:9:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2531, - "indexExpression": { - "argumentTypes": null, - "id": 2530, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2504, - "src": "5489:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5479:17:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2536, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2508, - "src": "5521:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365", - "id": 2537, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5529:40:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6", - "typeString": "literal_string \"ERC20: transfer amount exceeds balance\"" - }, - "value": "ERC20: transfer amount exceeds balance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6", - "typeString": "literal_string \"ERC20: transfer amount exceeds balance\"" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2532, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2329, - "src": "5499:9:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2534, - "indexExpression": { - "argumentTypes": null, - "id": 2533, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2504, - "src": "5509:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5499:17:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2535, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 2196, - "src": "5499:21:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" - } - }, - "id": 2538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5499:71:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5479:91:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2540, - "nodeType": "ExpressionStatement", - "src": "5479:91:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 2550, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2541, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2329, - "src": "5580:9:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2543, - "indexExpression": { - "argumentTypes": null, - "id": 2542, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2506, - "src": "5590:9:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5580:20:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2548, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2508, - "src": "5628:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2544, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2329, - "src": "5603:9:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2546, - "indexExpression": { - "argumentTypes": null, - "id": 2545, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2506, - "src": "5613:9:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5603:20:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2547, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 2153, - "src": "5603:24:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2549, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5603:32:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5580:55:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2551, - "nodeType": "ExpressionStatement", - "src": "5580:55:12" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2553, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2504, - "src": "5659:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2554, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2506, - "src": "5667:9:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2555, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2508, - "src": "5678:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2552, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2806, - "src": "5650:8:12", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 2556, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5650:35:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2557, - "nodeType": "EmitStatement", - "src": "5645:40:12" - } - ] - }, - "documentation": "@dev Moves tokens `amount` from `sender` to `recipient`.\n * This is internal function is equivalent to {transfer}, and can be used to\ne.g. implement automatic token fees, slashing mechanisms, etc.\n * Emits a {Transfer} event.\n * Requirements:\n * - `sender` cannot be the zero address.\n- `recipient` cannot be the zero address.\n- `sender` must have a balance of at least `amount`.", - "id": 2559, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2509, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2504, - "name": "sender", - "nodeType": "VariableDeclaration", - "scope": 2559, - "src": "5247:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2503, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5247:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2506, - "name": "recipient", - "nodeType": "VariableDeclaration", - "scope": 2559, - "src": "5263:17:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2505, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5263:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2508, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 2559, - "src": "5282:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2507, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5282:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5246:51:12" - }, - "returnParameters": { - "id": 2510, - "nodeType": "ParameterList", - "parameters": [], - "src": "5307:0:12" - }, - "scope": 2718, - "src": "5228:464:12", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 2601, - "nodeType": "Block", - "src": "6019:245:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2567, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2561, - "src": "6037:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2569, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6056:1:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 2568, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6048:7:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2570, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6048:10:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "6037:21:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a206d696e7420746f20746865207a65726f2061646472657373", - "id": 2572, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6060:33:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e", - "typeString": "literal_string \"ERC20: mint to the zero address\"" - }, - "value": "ERC20: mint to the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e", - "typeString": "literal_string \"ERC20: mint to the zero address\"" - } - ], - "id": 2566, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "6029:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2573, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6029:65:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2574, - "nodeType": "ExpressionStatement", - "src": "6029:65:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 2580, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2575, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2337, - "src": "6105:12:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2578, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2563, - "src": "6137:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2576, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2337, - "src": "6120:12:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2577, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 2153, - "src": "6120:16:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2579, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6120:24:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6105:39:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2581, - "nodeType": "ExpressionStatement", - "src": "6105:39:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 2591, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2582, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2329, - "src": "6154:9:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2584, - "indexExpression": { - "argumentTypes": null, - "id": 2583, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2561, - "src": "6164:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6154:18:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2589, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2563, - "src": "6198:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2585, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2329, - "src": "6175:9:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2587, - "indexExpression": { - "argumentTypes": null, - "id": 2586, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2561, - "src": "6185:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6175:18:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2588, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 2153, - "src": "6175:22:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6175:30:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6154:51:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2592, - "nodeType": "ExpressionStatement", - "src": "6154:51:12" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2595, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6237:1:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 2594, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6229:7:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2596, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6229:10:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 2597, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2561, - "src": "6241:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2598, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2563, - "src": "6250:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2593, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2806, - "src": "6220:8:12", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 2599, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6220:37:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2600, - "nodeType": "EmitStatement", - "src": "6215:42:12" - } - ] - }, - "documentation": "@dev Creates `amount` tokens and assigns them to `account`, increasing\nthe total supply.\n * Emits a {Transfer} event with `from` set to the zero address.\n * Requirements\n * - `to` cannot be the zero address.", - "id": 2602, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mint", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2564, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2561, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 2602, - "src": "5977:15:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2560, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5977:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2563, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 2602, - "src": "5994:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2562, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5994:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5976:33:12" - }, - "returnParameters": { - "id": 2565, - "nodeType": "ParameterList", - "parameters": [], - "src": "6019:0:12" - }, - "scope": 2718, - "src": "5962:302:12", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 2645, - "nodeType": "Block", - "src": "6640:285:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2614, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2610, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2604, - "src": "6658:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2612, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6677:1:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 2611, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6669:7:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2613, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6669:10:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "6658:21:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a206275726e2066726f6d20746865207a65726f2061646472657373", - "id": 2615, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6681:35:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f", - "typeString": "literal_string \"ERC20: burn from the zero address\"" - }, - "value": "ERC20: burn from the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f", - "typeString": "literal_string \"ERC20: burn from the zero address\"" - } - ], - "id": 2609, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "6650:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2616, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6650:67:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2617, - "nodeType": "ExpressionStatement", - "src": "6650:67:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 2628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2618, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2329, - "src": "6728:9:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2620, - "indexExpression": { - "argumentTypes": null, - "id": 2619, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2604, - "src": "6738:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6728:18:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2625, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2606, - "src": "6772:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a206275726e20616d6f756e7420657863656564732062616c616e6365", - "id": 2626, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6780:36:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd", - "typeString": "literal_string \"ERC20: burn amount exceeds balance\"" - }, - "value": "ERC20: burn amount exceeds balance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd", - "typeString": "literal_string \"ERC20: burn amount exceeds balance\"" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2621, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2329, - "src": "6749:9:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2623, - "indexExpression": { - "argumentTypes": null, - "id": 2622, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2604, - "src": "6759:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6749:18:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 2196, - "src": "6749:22:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" - } - }, - "id": 2627, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6749:68:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6728:89:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2629, - "nodeType": "ExpressionStatement", - "src": "6728:89:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 2635, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2630, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2337, - "src": "6827:12:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2633, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2606, - "src": "6859:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2631, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2337, - "src": "6842:12:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2632, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 2169, - "src": "6842:16:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2634, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6842:24:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6827:39:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2636, - "nodeType": "ExpressionStatement", - "src": "6827:39:12" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2638, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2604, - "src": "6890:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2640, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6907:1:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 2639, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6899:7:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2641, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6899:10:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 2642, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2606, - "src": "6911:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2637, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2806, - "src": "6881:8:12", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 2643, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6881:37:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2644, - "nodeType": "EmitStatement", - "src": "6876:42:12" - } - ] - }, - "documentation": "@dev Destroys `amount` tokens from `account`, reducing the\ntotal supply.\n * Emits a {Transfer} event with `to` set to the zero address.\n * Requirements\n * - `account` cannot be the zero address.\n- `account` must have at least `amount` tokens.", - "id": 2646, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_burn", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2607, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2604, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 2646, - "src": "6598:15:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2603, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6598:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2606, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 2646, - "src": "6615:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2605, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6615:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6597:33:12" - }, - "returnParameters": { - "id": 2608, - "nodeType": "ParameterList", - "parameters": [], - "src": "6640:0:12" - }, - "scope": 2718, - "src": "6583:342:12", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 2687, - "nodeType": "Block", - "src": "7425:257:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2660, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2656, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2648, - "src": "7443:5:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2658, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7460:1:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 2657, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7452:7:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2659, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7452:10:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "7443:19:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373", - "id": 2661, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7464:38:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208", - "typeString": "literal_string \"ERC20: approve from the zero address\"" - }, - "value": "ERC20: approve from the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208", - "typeString": "literal_string \"ERC20: approve from the zero address\"" - } - ], - "id": 2655, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "7435:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2662, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7435:68:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2663, - "nodeType": "ExpressionStatement", - "src": "7435:68:12" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2669, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2665, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2650, - "src": "7521:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2667, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7540:1:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 2666, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7532:7:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2668, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7532:10:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "7521:21:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a20617070726f766520746f20746865207a65726f2061646472657373", - "id": 2670, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7544:36:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029", - "typeString": "literal_string \"ERC20: approve to the zero address\"" - }, - "value": "ERC20: approve to the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029", - "typeString": "literal_string \"ERC20: approve to the zero address\"" - } - ], - "id": 2664, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "7513:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7513:68:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2672, - "nodeType": "ExpressionStatement", - "src": "7513:68:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 2679, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2673, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2335, - "src": "7592:11:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 2676, - "indexExpression": { - "argumentTypes": null, - "id": 2674, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2648, - "src": "7604:5:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7592:18:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2677, - "indexExpression": { - "argumentTypes": null, - "id": 2675, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2650, - "src": "7611:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7592:27:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2678, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2652, - "src": "7622:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7592:36:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2680, - "nodeType": "ExpressionStatement", - "src": "7592:36:12" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2682, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2648, - "src": "7652:5:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2683, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2650, - "src": "7659:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2684, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2652, - "src": "7668:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2681, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2814, - "src": "7643:8:12", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 2685, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7643:32:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2686, - "nodeType": "EmitStatement", - "src": "7638:37:12" - } - ] - }, - "documentation": "@dev Sets `amount` as the allowance of `spender` over the `owner`s tokens.\n * This is internal function is equivalent to `approve`, and can be used to\ne.g. set automatic allowances for certain subsystems, etc.\n * Emits an {Approval} event.\n * Requirements:\n * - `owner` cannot be the zero address.\n- `spender` cannot be the zero address.", - "id": 2688, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_approve", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2653, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2648, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 2688, - "src": "7368:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2647, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7368:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2650, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 2688, - "src": "7383:15:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2649, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7383:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2652, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 2688, - "src": "7400:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2651, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7400:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7367:48:12" - }, - "returnParameters": { - "id": 2654, - "nodeType": "ParameterList", - "parameters": [], - "src": "7425:0:12" - }, - "scope": 2718, - "src": "7350:332:12", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 2716, - "nodeType": "Block", - "src": "7921:168:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2696, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2690, - "src": "7937:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2697, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2692, - "src": "7946:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2695, - "name": "_burn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2646, - "src": "7931:5:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 2698, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7931:22:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2699, - "nodeType": "ExpressionStatement", - "src": "7931:22:12" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2701, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2690, - "src": "7972:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2702, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1926, - "src": "7981:10:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 2703, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7981:12:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2711, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2692, - "src": "8034:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a206275726e20616d6f756e74206578636565647320616c6c6f77616e6365", - "id": 2712, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8042:38:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a287c363786607a1457a2d9d12fa61c0073358e02d76b4035fc2c2d86a19c0db", - "typeString": "literal_string \"ERC20: burn amount exceeds allowance\"" - }, - "value": "ERC20: burn amount exceeds allowance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_a287c363786607a1457a2d9d12fa61c0073358e02d76b4035fc2c2d86a19c0db", - "typeString": "literal_string \"ERC20: burn amount exceeds allowance\"" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2704, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2335, - "src": "7995:11:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 2706, - "indexExpression": { - "argumentTypes": null, - "id": 2705, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2690, - "src": "8007:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7995:20:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2709, - "indexExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2707, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1926, - "src": "8016:10:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 2708, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8016:12:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7995:34:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2710, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 2196, - "src": "7995:38:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" - } - }, - "id": 2713, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7995:86:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2700, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2688, - "src": "7963:8:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 2714, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7963:119:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2715, - "nodeType": "ExpressionStatement", - "src": "7963:119:12" - } - ] - }, - "documentation": "@dev Destroys `amount` tokens from `account`.`amount` is then deducted\nfrom the caller's allowance.\n * See {_burn} and {_approve}.", - "id": 2717, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_burnFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2693, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2690, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 2717, - "src": "7879:15:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2689, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7879:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2692, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 2717, - "src": "7896:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2691, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7896:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7878:33:12" - }, - "returnParameters": { - "id": 2694, - "nodeType": "ParameterList", - "parameters": [], - "src": "7921:0:12" - }, - "scope": 2718, - "src": "7860:229:12", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 2719, - "src": "1268:6823:12" - } - ], - "src": "0:8092:12" - }, - "legacyAST": { - "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "exportedSymbols": { - "ERC20": [ - 2718 - ] - }, - "id": 2719, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2315, - "literals": [ - "solidity", - "^", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:23:12" - }, - { - "absolutePath": "@openzeppelin/contracts/GSN/Context.sol", - "file": "../../GSN/Context.sol", - "id": 2316, - "nodeType": "ImportDirective", - "scope": 2719, - "sourceUnit": 1939, - "src": "25:31:12", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", - "file": "./IERC20.sol", - "id": 2317, - "nodeType": "ImportDirective", - "scope": 2719, - "sourceUnit": 2816, - "src": "57:22:12", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/math/SafeMath.sol", - "file": "../../math/SafeMath.sol", - "id": 2318, - "nodeType": "ImportDirective", - "scope": 2719, - "sourceUnit": 2314, - "src": "80:33:12", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 2319, - "name": "Context", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1938, - "src": "1286:7:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Context_$1938", - "typeString": "contract Context" - } - }, - "id": 2320, - "nodeType": "InheritanceSpecifier", - "src": "1286:7:12" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 2321, - "name": "IERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2815, - "src": "1295:6:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC20_$2815", - "typeString": "contract IERC20" - } - }, - "id": 2322, - "nodeType": "InheritanceSpecifier", - "src": "1295:6:12" - } - ], - "contractDependencies": [ - 1938, - 2815 - ], - "contractKind": "contract", - "documentation": "@dev Implementation of the {IERC20} interface.\n * This implementation is agnostic to the way tokens are created. This means\nthat a supply mechanism has to be added in a derived contract using {_mint}.\nFor a generic mechanism see {ERC20Mintable}.\n * TIP: For a detailed writeup see our guide\nhttps://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How\nto implement supply mechanisms].\n * We have followed general OpenZeppelin guidelines: functions revert instead\nof returning `false` on failure. This behavior is nonetheless conventional\nand does not conflict with the expectations of ERC20 applications.\n * Additionally, an {Approval} event is emitted on calls to {transferFrom}.\nThis allows applications to reconstruct the allowance for all accounts just\nby listening to said events. Other implementations of the EIP may not emit\nthese events, as it isn't required by the specification.\n * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}\nfunctions have been added to mitigate the well-known issues around setting\nallowances. See {IERC20-approve}.", - "fullyImplemented": true, - "id": 2718, - "linearizedBaseContracts": [ - 2718, - 2815, - 1938 - ], - "name": "ERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 2325, - "libraryName": { - "contractScope": null, - "id": 2323, - "name": "SafeMath", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2313, - "src": "1314:8:12", - "typeDescriptions": { - "typeIdentifier": "t_contract$_SafeMath_$2313", - "typeString": "library SafeMath" - } - }, - "nodeType": "UsingForDirective", - "src": "1308:27:12", - "typeName": { - "id": 2324, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1327:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - { - "constant": false, - "id": 2329, - "name": "_balances", - "nodeType": "VariableDeclaration", - "scope": 2718, - "src": "1341:46:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "typeName": { - "id": 2328, - "keyType": { - "id": 2326, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1350:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1341:28:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 2327, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1361:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 2335, - "name": "_allowances", - "nodeType": "VariableDeclaration", - "scope": 2718, - "src": "1394:69:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "typeName": { - "id": 2334, - "keyType": { - "id": 2330, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1403:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1394:49:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - }, - "valueType": { - "id": 2333, - "keyType": { - "id": 2331, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1423:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1414:28:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - }, - "valueType": { - "id": 2332, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1434:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - } - }, - "value": null, - "visibility": "private" - }, - { - "constant": false, - "id": 2337, - "name": "_totalSupply", - "nodeType": "VariableDeclaration", - "scope": 2718, - "src": "1470:28:12", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2336, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1470:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "private" - }, - { - "body": { - "id": 2344, - "nodeType": "Block", - "src": "1612:36:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 2342, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2337, - "src": "1629:12:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2341, - "id": 2343, - "nodeType": "Return", - "src": "1622:19:12" - } - ] - }, - "documentation": "@dev See {IERC20-totalSupply}.", - "id": 2345, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2338, - "nodeType": "ParameterList", - "parameters": [], - "src": "1579:2:12" - }, - "returnParameters": { - "id": 2341, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2340, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2345, - "src": "1603:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2339, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1603:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1602:9:12" - }, - "scope": 2718, - "src": "1559:89:12", - "stateMutability": "view", - "superFunction": 2753, - "visibility": "public" - }, - { - "body": { - "id": 2356, - "nodeType": "Block", - "src": "1772:42:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2352, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2329, - "src": "1789:9:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2354, - "indexExpression": { - "argumentTypes": null, - "id": 2353, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2347, - "src": "1799:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1789:18:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2351, - "id": 2355, - "nodeType": "Return", - "src": "1782:25:12" - } - ] - }, - "documentation": "@dev See {IERC20-balanceOf}.", - "id": 2357, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2348, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2347, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 2357, - "src": "1725:15:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2346, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1725:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1724:17:12" - }, - "returnParameters": { - "id": 2351, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2350, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2357, - "src": "1763:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2349, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1763:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1762:9:12" - }, - "scope": 2718, - "src": "1706:108:12", - "stateMutability": "view", - "superFunction": 2760, - "visibility": "public" - }, - { - "body": { - "id": 2375, - "nodeType": "Block", - "src": "2092:80:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2367, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1926, - "src": "2112:10:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 2368, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2112:12:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 2369, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2359, - "src": "2126:9:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2370, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2361, - "src": "2137:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2366, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2559, - "src": "2102:9:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 2371, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2102:42:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2372, - "nodeType": "ExpressionStatement", - "src": "2102:42:12" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2373, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2161:4:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2365, - "id": 2374, - "nodeType": "Return", - "src": "2154:11:12" - } - ] - }, - "documentation": "@dev See {IERC20-transfer}.\n * Requirements:\n * - `recipient` cannot be the zero address.\n- the caller must have a balance of at least `amount`.", - "id": 2376, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2362, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2359, - "name": "recipient", - "nodeType": "VariableDeclaration", - "scope": 2376, - "src": "2035:17:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2358, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2035:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2361, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 2376, - "src": "2054:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2360, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2054:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2034:35:12" - }, - "returnParameters": { - "id": 2365, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2364, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2376, - "src": "2086:4:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2363, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2086:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2085:6:12" - }, - "scope": 2718, - "src": "2017:155:12", - "stateMutability": "nonpayable", - "superFunction": 2769, - "visibility": "public" - }, - { - "body": { - "id": 2391, - "nodeType": "Block", - "src": "2311:51:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2385, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2335, - "src": "2328:11:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 2387, - "indexExpression": { - "argumentTypes": null, - "id": 2386, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2378, - "src": "2340:5:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2328:18:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2389, - "indexExpression": { - "argumentTypes": null, - "id": 2388, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2380, - "src": "2347:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2328:27:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 2384, - "id": 2390, - "nodeType": "Return", - "src": "2321:34:12" - } - ] - }, - "documentation": "@dev See {IERC20-allowance}.", - "id": 2392, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2381, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2378, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 2392, - "src": "2249:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2377, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2249:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2380, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 2392, - "src": "2264:15:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2379, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2264:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2248:32:12" - }, - "returnParameters": { - "id": 2384, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2383, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2392, - "src": "2302:7:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2382, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2302:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2301:9:12" - }, - "scope": 2718, - "src": "2230:132:12", - "stateMutability": "view", - "superFunction": 2778, - "visibility": "public" - }, - { - "body": { - "id": 2410, - "nodeType": "Block", - "src": "2572:77:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2402, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1926, - "src": "2591:10:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 2403, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2591:12:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 2404, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2394, - "src": "2605:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2405, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2396, - "src": "2614:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2401, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2688, - "src": "2582:8:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 2406, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2582:39:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2407, - "nodeType": "ExpressionStatement", - "src": "2582:39:12" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2408, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2638:4:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2400, - "id": 2409, - "nodeType": "Return", - "src": "2631:11:12" - } - ] - }, - "documentation": "@dev See {IERC20-approve}.\n * Requirements:\n * - `spender` cannot be the zero address.", - "id": 2411, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2397, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2394, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 2411, - "src": "2517:15:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2393, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2517:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2396, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 2411, - "src": "2534:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2395, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2534:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2516:33:12" - }, - "returnParameters": { - "id": 2400, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2399, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2411, - "src": "2566:4:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2398, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2566:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2565:6:12" - }, - "scope": 2718, - "src": "2500:149:12", - "stateMutability": "nonpayable", - "superFunction": 2787, - "visibility": "public" - }, - { - "body": { - "id": 2446, - "nodeType": "Block", - "src": "3202:205:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2423, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2413, - "src": "3222:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2424, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2415, - "src": "3230:9:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2425, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2417, - "src": "3241:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2422, - "name": "_transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2559, - "src": "3212:9:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 2426, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3212:36:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2427, - "nodeType": "ExpressionStatement", - "src": "3212:36:12" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2429, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2413, - "src": "3267:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2430, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1926, - "src": "3275:10:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 2431, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3275:12:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2439, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2417, - "src": "3327:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365", - "id": 2440, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3335:42:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_974d1b4421da69cc60b481194f0dad36a5bb4e23da810da7a7fb30cdba178330", - "typeString": "literal_string \"ERC20: transfer amount exceeds allowance\"" - }, - "value": "ERC20: transfer amount exceeds allowance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_974d1b4421da69cc60b481194f0dad36a5bb4e23da810da7a7fb30cdba178330", - "typeString": "literal_string \"ERC20: transfer amount exceeds allowance\"" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2432, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2335, - "src": "3289:11:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 2434, - "indexExpression": { - "argumentTypes": null, - "id": 2433, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2413, - "src": "3301:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3289:19:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2437, - "indexExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2435, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1926, - "src": "3309:10:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 2436, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3309:12:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3289:33:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2438, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 2196, - "src": "3289:37:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" - } - }, - "id": 2441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3289:89:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2428, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2688, - "src": "3258:8:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 2442, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3258:121:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2443, - "nodeType": "ExpressionStatement", - "src": "3258:121:12" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2444, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3396:4:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2421, - "id": 2445, - "nodeType": "Return", - "src": "3389:11:12" - } - ] - }, - "documentation": "@dev See {IERC20-transferFrom}.\n * Emits an {Approval} event indicating the updated allowance. This is not\nrequired by the EIP. See the note at the beginning of {ERC20};\n * Requirements:\n- `sender` and `recipient` cannot be the zero address.\n- `sender` must have a balance of at least `amount`.\n- the caller must have allowance for `sender`'s tokens of at least\n`amount`.", - "id": 2447, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2418, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2413, - "name": "sender", - "nodeType": "VariableDeclaration", - "scope": 2447, - "src": "3129:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2412, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3129:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2415, - "name": "recipient", - "nodeType": "VariableDeclaration", - "scope": 2447, - "src": "3145:17:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2414, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3145:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2417, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 2447, - "src": "3164:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2416, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3164:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3128:51:12" - }, - "returnParameters": { - "id": 2421, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2420, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2447, - "src": "3196:4:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2419, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3196:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3195:6:12" - }, - "scope": 2718, - "src": "3107:300:12", - "stateMutability": "nonpayable", - "superFunction": 2798, - "visibility": "public" - }, - { - "body": { - "id": 2473, - "nodeType": "Block", - "src": "3888:121:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2457, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1926, - "src": "3907:10:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 2458, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3907:12:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 2459, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2449, - "src": "3921:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2467, - "name": "addedValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2451, - "src": "3969:10:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2460, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2335, - "src": "3930:11:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 2463, - "indexExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2461, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1926, - "src": "3942:10:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 2462, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3942:12:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3930:25:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2465, - "indexExpression": { - "argumentTypes": null, - "id": 2464, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2449, - "src": "3956:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "3930:34:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2466, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 2153, - "src": "3930:38:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2468, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3930:50:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2456, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2688, - "src": "3898:8:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 2469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3898:83:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2470, - "nodeType": "ExpressionStatement", - "src": "3898:83:12" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2471, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3998:4:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2455, - "id": 2472, - "nodeType": "Return", - "src": "3991:11:12" - } - ] - }, - "documentation": "@dev Atomically increases the allowance granted to `spender` by the caller.\n * This is an alternative to {approve} that can be used as a mitigation for\nproblems described in {IERC20-approve}.\n * Emits an {Approval} event indicating the updated allowance.\n * Requirements:\n * - `spender` cannot be the zero address.", - "id": 2474, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "increaseAllowance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2452, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2449, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 2474, - "src": "3829:15:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2448, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3829:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2451, - "name": "addedValue", - "nodeType": "VariableDeclaration", - "scope": 2474, - "src": "3846:18:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2450, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3846:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3828:37:12" - }, - "returnParameters": { - "id": 2455, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2454, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2474, - "src": "3882:4:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2453, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3882:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3881:6:12" - }, - "scope": 2718, - "src": "3802:207:12", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2501, - "nodeType": "Block", - "src": "4587:167:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2484, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1926, - "src": "4606:10:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 2485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4606:12:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 2486, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2476, - "src": "4620:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2494, - "name": "subtractedValue", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2478, - "src": "4668:15:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f", - "id": 2495, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4685:39:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8", - "typeString": "literal_string \"ERC20: decreased allowance below zero\"" - }, - "value": "ERC20: decreased allowance below zero" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8", - "typeString": "literal_string \"ERC20: decreased allowance below zero\"" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2487, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2335, - "src": "4629:11:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 2490, - "indexExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2488, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1926, - "src": "4641:10:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 2489, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4641:12:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4629:25:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2492, - "indexExpression": { - "argumentTypes": null, - "id": 2491, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2476, - "src": "4655:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4629:34:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2493, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 2196, - "src": "4629:38:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" - } - }, - "id": 2496, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4629:96:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2483, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2688, - "src": "4597:8:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 2497, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4597:129:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2498, - "nodeType": "ExpressionStatement", - "src": "4597:129:12" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2499, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4743:4:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2482, - "id": 2500, - "nodeType": "Return", - "src": "4736:11:12" - } - ] - }, - "documentation": "@dev Atomically decreases the allowance granted to `spender` by the caller.\n * This is an alternative to {approve} that can be used as a mitigation for\nproblems described in {IERC20-approve}.\n * Emits an {Approval} event indicating the updated allowance.\n * Requirements:\n * - `spender` cannot be the zero address.\n- `spender` must have allowance for the caller of at least\n`subtractedValue`.", - "id": 2502, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "decreaseAllowance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2479, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2476, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 2502, - "src": "4523:15:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2475, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4523:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2478, - "name": "subtractedValue", - "nodeType": "VariableDeclaration", - "scope": 2502, - "src": "4540:23:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2477, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4540:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4522:42:12" - }, - "returnParameters": { - "id": 2482, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2481, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2502, - "src": "4581:4:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2480, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4581:4:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4580:6:12" - }, - "scope": 2718, - "src": "4496:258:12", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2558, - "nodeType": "Block", - "src": "5307:385:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2516, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2512, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2504, - "src": "5325:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2514, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5343:1:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 2513, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5335:7:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2515, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5335:10:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "5325:20:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a207472616e736665722066726f6d20746865207a65726f2061646472657373", - "id": 2517, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5347:39:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea", - "typeString": "literal_string \"ERC20: transfer from the zero address\"" - }, - "value": "ERC20: transfer from the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea", - "typeString": "literal_string \"ERC20: transfer from the zero address\"" - } - ], - "id": 2511, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "5317:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2518, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5317:70:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2519, - "nodeType": "ExpressionStatement", - "src": "5317:70:12" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2525, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2521, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2506, - "src": "5405:9:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2523, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5426:1:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 2522, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "5418:7:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2524, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5418:10:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "5405:23:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a207472616e7366657220746f20746865207a65726f2061646472657373", - "id": 2526, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5430:37:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f", - "typeString": "literal_string \"ERC20: transfer to the zero address\"" - }, - "value": "ERC20: transfer to the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f", - "typeString": "literal_string \"ERC20: transfer to the zero address\"" - } - ], - "id": 2520, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "5397:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2527, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5397:71:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2528, - "nodeType": "ExpressionStatement", - "src": "5397:71:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 2539, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2529, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2329, - "src": "5479:9:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2531, - "indexExpression": { - "argumentTypes": null, - "id": 2530, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2504, - "src": "5489:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5479:17:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2536, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2508, - "src": "5521:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365", - "id": 2537, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5529:40:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6", - "typeString": "literal_string \"ERC20: transfer amount exceeds balance\"" - }, - "value": "ERC20: transfer amount exceeds balance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6", - "typeString": "literal_string \"ERC20: transfer amount exceeds balance\"" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2532, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2329, - "src": "5499:9:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2534, - "indexExpression": { - "argumentTypes": null, - "id": 2533, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2504, - "src": "5509:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5499:17:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2535, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 2196, - "src": "5499:21:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" - } - }, - "id": 2538, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5499:71:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5479:91:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2540, - "nodeType": "ExpressionStatement", - "src": "5479:91:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 2550, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2541, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2329, - "src": "5580:9:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2543, - "indexExpression": { - "argumentTypes": null, - "id": 2542, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2506, - "src": "5590:9:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "5580:20:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2548, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2508, - "src": "5628:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2544, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2329, - "src": "5603:9:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2546, - "indexExpression": { - "argumentTypes": null, - "id": 2545, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2506, - "src": "5613:9:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "5603:20:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2547, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 2153, - "src": "5603:24:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2549, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5603:32:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "5580:55:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2551, - "nodeType": "ExpressionStatement", - "src": "5580:55:12" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2553, - "name": "sender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2504, - "src": "5659:6:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2554, - "name": "recipient", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2506, - "src": "5667:9:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2555, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2508, - "src": "5678:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2552, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2806, - "src": "5650:8:12", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 2556, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "5650:35:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2557, - "nodeType": "EmitStatement", - "src": "5645:40:12" - } - ] - }, - "documentation": "@dev Moves tokens `amount` from `sender` to `recipient`.\n * This is internal function is equivalent to {transfer}, and can be used to\ne.g. implement automatic token fees, slashing mechanisms, etc.\n * Emits a {Transfer} event.\n * Requirements:\n * - `sender` cannot be the zero address.\n- `recipient` cannot be the zero address.\n- `sender` must have a balance of at least `amount`.", - "id": 2559, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2509, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2504, - "name": "sender", - "nodeType": "VariableDeclaration", - "scope": 2559, - "src": "5247:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2503, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5247:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2506, - "name": "recipient", - "nodeType": "VariableDeclaration", - "scope": 2559, - "src": "5263:17:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2505, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5263:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2508, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 2559, - "src": "5282:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2507, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5282:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5246:51:12" - }, - "returnParameters": { - "id": 2510, - "nodeType": "ParameterList", - "parameters": [], - "src": "5307:0:12" - }, - "scope": 2718, - "src": "5228:464:12", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 2601, - "nodeType": "Block", - "src": "6019:245:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2571, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2567, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2561, - "src": "6037:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2569, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6056:1:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 2568, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6048:7:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2570, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6048:10:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "6037:21:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a206d696e7420746f20746865207a65726f2061646472657373", - "id": 2572, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6060:33:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e", - "typeString": "literal_string \"ERC20: mint to the zero address\"" - }, - "value": "ERC20: mint to the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e", - "typeString": "literal_string \"ERC20: mint to the zero address\"" - } - ], - "id": 2566, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "6029:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2573, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6029:65:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2574, - "nodeType": "ExpressionStatement", - "src": "6029:65:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 2580, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2575, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2337, - "src": "6105:12:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2578, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2563, - "src": "6137:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2576, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2337, - "src": "6120:12:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2577, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 2153, - "src": "6120:16:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2579, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6120:24:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6105:39:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2581, - "nodeType": "ExpressionStatement", - "src": "6105:39:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 2591, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2582, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2329, - "src": "6154:9:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2584, - "indexExpression": { - "argumentTypes": null, - "id": 2583, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2561, - "src": "6164:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6154:18:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2589, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2563, - "src": "6198:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2585, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2329, - "src": "6175:9:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2587, - "indexExpression": { - "argumentTypes": null, - "id": 2586, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2561, - "src": "6185:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6175:18:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2588, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 2153, - "src": "6175:22:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6175:30:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6154:51:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2592, - "nodeType": "ExpressionStatement", - "src": "6154:51:12" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2595, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6237:1:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 2594, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6229:7:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2596, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6229:10:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 2597, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2561, - "src": "6241:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2598, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2563, - "src": "6250:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2593, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2806, - "src": "6220:8:12", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 2599, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6220:37:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2600, - "nodeType": "EmitStatement", - "src": "6215:42:12" - } - ] - }, - "documentation": "@dev Creates `amount` tokens and assigns them to `account`, increasing\nthe total supply.\n * Emits a {Transfer} event with `from` set to the zero address.\n * Requirements\n * - `to` cannot be the zero address.", - "id": 2602, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_mint", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2564, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2561, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 2602, - "src": "5977:15:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2560, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5977:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2563, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 2602, - "src": "5994:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2562, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5994:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5976:33:12" - }, - "returnParameters": { - "id": 2565, - "nodeType": "ParameterList", - "parameters": [], - "src": "6019:0:12" - }, - "scope": 2718, - "src": "5962:302:12", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 2645, - "nodeType": "Block", - "src": "6640:285:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2614, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2610, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2604, - "src": "6658:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2612, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6677:1:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 2611, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6669:7:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2613, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6669:10:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "6658:21:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a206275726e2066726f6d20746865207a65726f2061646472657373", - "id": 2615, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6681:35:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f", - "typeString": "literal_string \"ERC20: burn from the zero address\"" - }, - "value": "ERC20: burn from the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f", - "typeString": "literal_string \"ERC20: burn from the zero address\"" - } - ], - "id": 2609, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "6650:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2616, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6650:67:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2617, - "nodeType": "ExpressionStatement", - "src": "6650:67:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 2628, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2618, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2329, - "src": "6728:9:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2620, - "indexExpression": { - "argumentTypes": null, - "id": 2619, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2604, - "src": "6738:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "6728:18:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2625, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2606, - "src": "6772:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a206275726e20616d6f756e7420657863656564732062616c616e6365", - "id": 2626, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6780:36:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd", - "typeString": "literal_string \"ERC20: burn amount exceeds balance\"" - }, - "value": "ERC20: burn amount exceeds balance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd", - "typeString": "literal_string \"ERC20: burn amount exceeds balance\"" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2621, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2329, - "src": "6749:9:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2623, - "indexExpression": { - "argumentTypes": null, - "id": 2622, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2604, - "src": "6759:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6749:18:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2624, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 2196, - "src": "6749:22:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" - } - }, - "id": 2627, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6749:68:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6728:89:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2629, - "nodeType": "ExpressionStatement", - "src": "6728:89:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 2635, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 2630, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2337, - "src": "6827:12:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2633, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2606, - "src": "6859:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 2631, - "name": "_totalSupply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2337, - "src": "6842:12:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2632, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 2169, - "src": "6842:16:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 2634, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6842:24:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6827:39:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2636, - "nodeType": "ExpressionStatement", - "src": "6827:39:12" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2638, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2604, - "src": "6890:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2640, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6907:1:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 2639, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6899:7:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2641, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6899:10:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 2642, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2606, - "src": "6911:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2637, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2806, - "src": "6881:8:12", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 2643, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6881:37:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2644, - "nodeType": "EmitStatement", - "src": "6876:42:12" - } - ] - }, - "documentation": "@dev Destroys `amount` tokens from `account`, reducing the\ntotal supply.\n * Emits a {Transfer} event with `to` set to the zero address.\n * Requirements\n * - `account` cannot be the zero address.\n- `account` must have at least `amount` tokens.", - "id": 2646, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_burn", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2607, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2604, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 2646, - "src": "6598:15:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2603, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6598:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2606, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 2646, - "src": "6615:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2605, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6615:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6597:33:12" - }, - "returnParameters": { - "id": 2608, - "nodeType": "ParameterList", - "parameters": [], - "src": "6640:0:12" - }, - "scope": 2718, - "src": "6583:342:12", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 2687, - "nodeType": "Block", - "src": "7425:257:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2660, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2656, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2648, - "src": "7443:5:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2658, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7460:1:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 2657, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7452:7:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2659, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7452:10:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "7443:19:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373", - "id": 2661, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7464:38:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208", - "typeString": "literal_string \"ERC20: approve from the zero address\"" - }, - "value": "ERC20: approve from the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208", - "typeString": "literal_string \"ERC20: approve from the zero address\"" - } - ], - "id": 2655, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "7435:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2662, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7435:68:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2663, - "nodeType": "ExpressionStatement", - "src": "7435:68:12" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2669, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2665, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2650, - "src": "7521:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2667, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7540:1:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 2666, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "7532:7:12", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2668, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7532:10:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "7521:21:12", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a20617070726f766520746f20746865207a65726f2061646472657373", - "id": 2670, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "7544:36:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029", - "typeString": "literal_string \"ERC20: approve to the zero address\"" - }, - "value": "ERC20: approve to the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029", - "typeString": "literal_string \"ERC20: approve to the zero address\"" - } - ], - "id": 2664, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "7513:7:12", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7513:68:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2672, - "nodeType": "ExpressionStatement", - "src": "7513:68:12" - }, - { - "expression": { - "argumentTypes": null, - "id": 2679, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2673, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2335, - "src": "7592:11:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 2676, - "indexExpression": { - "argumentTypes": null, - "id": 2674, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2648, - "src": "7604:5:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7592:18:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2677, - "indexExpression": { - "argumentTypes": null, - "id": 2675, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2650, - "src": "7611:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "7592:27:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 2678, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2652, - "src": "7622:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "7592:36:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2680, - "nodeType": "ExpressionStatement", - "src": "7592:36:12" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2682, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2648, - "src": "7652:5:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2683, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2650, - "src": "7659:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2684, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2652, - "src": "7668:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2681, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2814, - "src": "7643:8:12", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 2685, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7643:32:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2686, - "nodeType": "EmitStatement", - "src": "7638:37:12" - } - ] - }, - "documentation": "@dev Sets `amount` as the allowance of `spender` over the `owner`s tokens.\n * This is internal function is equivalent to `approve`, and can be used to\ne.g. set automatic allowances for certain subsystems, etc.\n * Emits an {Approval} event.\n * Requirements:\n * - `owner` cannot be the zero address.\n- `spender` cannot be the zero address.", - "id": 2688, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_approve", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2653, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2648, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 2688, - "src": "7368:13:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2647, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7368:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2650, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 2688, - "src": "7383:15:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2649, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7383:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2652, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 2688, - "src": "7400:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2651, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7400:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7367:48:12" - }, - "returnParameters": { - "id": 2654, - "nodeType": "ParameterList", - "parameters": [], - "src": "7425:0:12" - }, - "scope": 2718, - "src": "7350:332:12", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 2716, - "nodeType": "Block", - "src": "7921:168:12", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2696, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2690, - "src": "7937:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2697, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2692, - "src": "7946:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2695, - "name": "_burn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2646, - "src": "7931:5:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 2698, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7931:22:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2699, - "nodeType": "ExpressionStatement", - "src": "7931:22:12" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2701, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2690, - "src": "7972:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2702, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1926, - "src": "7981:10:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 2703, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7981:12:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2711, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2692, - "src": "8034:6:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "45524332303a206275726e20616d6f756e74206578636565647320616c6c6f77616e6365", - "id": 2712, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "8042:38:12", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a287c363786607a1457a2d9d12fa61c0073358e02d76b4035fc2c2d86a19c0db", - "typeString": "literal_string \"ERC20: burn amount exceeds allowance\"" - }, - "value": "ERC20: burn amount exceeds allowance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_stringliteral_a287c363786607a1457a2d9d12fa61c0073358e02d76b4035fc2c2d86a19c0db", - "typeString": "literal_string \"ERC20: burn amount exceeds allowance\"" - } - ], - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 2704, - "name": "_allowances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2335, - "src": "7995:11:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 2706, - "indexExpression": { - "argumentTypes": null, - "id": 2705, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2690, - "src": "8007:7:12", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7995:20:12", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 2709, - "indexExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2707, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1926, - "src": "8016:10:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 2708, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "8016:12:12", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "7995:34:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2710, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sub", - "nodeType": "MemberAccess", - "referencedDeclaration": 2196, - "src": "7995:38:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_uint256_$", - "typeString": "function (uint256,uint256,string memory) pure returns (uint256)" - } - }, - "id": 2713, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7995:86:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2700, - "name": "_approve", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2688, - "src": "7963:8:12", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 2714, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "7963:119:12", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2715, - "nodeType": "ExpressionStatement", - "src": "7963:119:12" - } - ] - }, - "documentation": "@dev Destroys `amount` tokens from `account`.`amount` is then deducted\nfrom the caller's allowance.\n * See {_burn} and {_approve}.", - "id": 2717, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_burnFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2693, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2690, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 2717, - "src": "7879:15:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2689, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "7879:7:12", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2692, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 2717, - "src": "7896:14:12", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2691, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "7896:7:12", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "7878:33:12" - }, - "returnParameters": { - "id": 2694, - "nodeType": "ParameterList", - "parameters": [], - "src": "7921:0:12" - }, - "scope": 2718, - "src": "7860:229:12", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 2719, - "src": "1268:6823:12" - } - ], - "src": "0:8092:12" - }, - "compiler": { - "name": "solc", - "version": "0.5.17+commit.d19bba13.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.16", - "updatedAt": "2020-11-17T15:15:49.611Z", - "devdoc": { - "details": "Implementation of the {IERC20} interface. * This implementation is agnostic to the way tokens are created. This means that a supply mechanism has to be added in a derived contract using {_mint}. For a generic mechanism see {ERC20Mintable}. * TIP: For a detailed writeup see our guide https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How to implement supply mechanisms]. * We have followed general OpenZeppelin guidelines: functions revert instead of returning `false` on failure. This behavior is nonetheless conventional and does not conflict with the expectations of ERC20 applications. * Additionally, an {Approval} event is emitted on calls to {transferFrom}. This allows applications to reconstruct the allowance for all accounts just by listening to said events. Other implementations of the EIP may not emit these events, as it isn't required by the specification. * Finally, the non-standard {decreaseAllowance} and {increaseAllowance} functions have been added to mitigate the well-known issues around setting allowances. See {IERC20-approve}.", - "methods": { - "allowance(address,address)": { - "details": "See {IERC20-allowance}." - }, - "approve(address,uint256)": { - "details": "See {IERC20-approve}. * Requirements: * - `spender` cannot be the zero address." - }, - "balanceOf(address)": { - "details": "See {IERC20-balanceOf}." - }, - "decreaseAllowance(address,uint256)": { - "details": "Atomically decreases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`." - }, - "increaseAllowance(address,uint256)": { - "details": "Atomically increases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address." - }, - "totalSupply()": { - "details": "See {IERC20-totalSupply}." - }, - "transfer(address,uint256)": { - "details": "See {IERC20-transfer}. * Requirements: * - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`." - }, - "transferFrom(address,address,uint256)": { - "details": "See {IERC20-transferFrom}. * Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}; * Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for `sender`'s tokens of at least `amount`." - } - } - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/packages/proxyIdentity/build/contracts/ERC20Mintable.json b/packages/proxyIdentity/build/contracts/ERC20Mintable.json deleted file mode 100644 index 6051eaa1b..000000000 --- a/packages/proxyIdentity/build/contracts/ERC20Mintable.json +++ /dev/null @@ -1,1074 +0,0 @@ -{ - "contractName": "ERC20Mintable", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "MinterAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "MinterRemoved", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "addMinter", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "isMinter", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "renounceMinter", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "mint", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"MinterAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"MinterRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"addMinter\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isMinter\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceMinter\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Extension of {ERC20} that adds a set of accounts with the {MinterRole}, which have permission to mint (create) new tokens as they see fit. * At construction, the deployer of the contract is the only minter.\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. * Requirements: * - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address.\"},\"mint(address,uint256)\":{\"details\":\"See {ERC20-_mint}. * Requirements: * - the caller must have the {MinterRole}.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. * Requirements: * - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. * Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}; * Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for `sender`'s tokens of at least `amount`.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC20/ERC20Mintable.sol\":\"ERC20Mintable\"},\"evmVersion\":\"constantinople\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/GSN/Context.sol\":{\"keccak256\":\"0x90a3995645af7562d84b9d69363ffa5ae7217714ab61e951bf7bc450f40e4061\",\"urls\":[\"bzz-raw://216ef9d6b614db4eb46970b4e84903f2534a45572dd30a79f0041f1a5830f436\",\"dweb:/ipfs/QmNPrJ4MWKUAWzKXpUqeyKRUfosaoANZAqXgvepdrCwZAG\"]},\"@openzeppelin/contracts/access/Roles.sol\":{\"keccak256\":\"0xb002c378d7b82a101bd659c341518953ca0919d342c0a400196982c0e7e7bcdb\",\"urls\":[\"bzz-raw://00a788c4631466c220b385bdd100c571d24b2deccd657615cfbcef6cadf669a4\",\"dweb:/ipfs/QmTEwDbjJNxmMNCDMqtuou3dyM8Wtp8Q9NFvn7SAVM7Jf3\"]},\"@openzeppelin/contracts/access/roles/MinterRole.sol\":{\"keccak256\":\"0xbe8eef6f2cb4e427f5c5d8a76865ccd06e55a4f1d6671ba312d45bfa705aedbf\",\"urls\":[\"bzz-raw://badf338a5e22c8658c01fe2ce89b487d9dbf6d2d9d5eb49df7415383e2498765\",\"dweb:/ipfs/QmP5aMkvFwMJyuQjKE8ADh5tkWYqonb4KjgkAjgYEVVFAv\"]},\"@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x640b6dee7a4b830bdfd52b5031a07fc2b12209f5b2e29e5d364a7d37f69d8076\",\"urls\":[\"bzz-raw://31113152e1ddb78fe7a4197f247591ca894e93f916867beb708d8e747b6cc74f\",\"dweb:/ipfs/QmbZaJyXdpsYGykVhHH9qpVGQg9DGCxE2QufbCUy3daTgq\"]},\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xb15af804e2bc97db51e4e103f13de9fe13f87e6b835d7a88c897966c0e58506e\",\"urls\":[\"bzz-raw://1e8cff8437557fc915a3bed968fcd8f2df9809599e665ef69c2c9ce628548055\",\"dweb:/ipfs/QmP5spYP8vs2jvLF8zNrXUbqB79hMsoEvMHiLcBxerWKcm\"]},\"@openzeppelin/contracts/token/ERC20/ERC20Mintable.sol\":{\"keccak256\":\"0xa2b957cf89692c504962afb7506999155f83385373f808243246cd5879de5940\",\"urls\":[\"bzz-raw://c44ae0ad1bce141c33b962f8b4e9228bdf8df36c8ac363b4f0bf9498b8bfc32a\",\"dweb:/ipfs/QmcSBRdFwVvy2wFZrBwo5cvqNP4UHh9Eyzf8jnxBgnPqfe\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzz-raw://59fd025151435da35faa8093a5c7a17de02de9d08ad27275c5cdf05050820d91\",\"dweb:/ipfs/QmQMvwEcPhoRXzbXyrdoeRtvLoifUW9Qh7Luho7bmUPRkc\"]}},\"version\":1}", - "bytecode": "0x608060405262000024620000186200002a60201b60201c565b6200003260201b60201c565b62000257565b600033905090565b6200004d8160036200009360201b620012a81790919060201c565b8073ffffffffffffffffffffffffffffffffffffffff167f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f660405160405180910390a250565b620000a582826200017760201b60201c565b1562000119576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000200576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180620018506022913960400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6115e980620002676000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c8063983b2d5611610071578063983b2d56146102e7578063986502751461032b578063a457c2d714610335578063a9059cbb1461039b578063aa271e1a14610401578063dd62ed3e1461045d576100b4565b8063095ea7b3146100b957806318160ddd1461011f57806323b872dd1461013d57806339509351146101c357806340c10f191461022957806370a082311461028f575b600080fd5b610105600480360360408110156100cf57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506104d5565b604051808215151515815260200191505060405180910390f35b6101276104f3565b6040518082815260200191505060405180910390f35b6101a96004803603606081101561015357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506104fd565b604051808215151515815260200191505060405180910390f35b61020f600480360360408110156101d957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105d6565b604051808215151515815260200191505060405180910390f35b6102756004803603604081101561023f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610689565b604051808215151515815260200191505060405180910390f35b6102d1600480360360208110156102a557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610704565b6040518082815260200191505060405180910390f35b610329600480360360208110156102fd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061074c565b005b6103336107bd565b005b6103816004803603604081101561034b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506107cf565b604051808215151515815260200191505060405180910390f35b6103e7600480360360408110156103b157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061089c565b604051808215151515815260200191505060405180910390f35b6104436004803603602081101561041757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108ba565b604051808215151515815260200191505060405180910390f35b6104bf6004803603604081101561047357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108d7565b6040518082815260200191505060405180910390f35b60006104e96104e261095e565b8484610966565b6001905092915050565b6000600254905090565b600061050a848484610b5d565b6105cb8461051661095e565b6105c6856040518060600160405280602881526020016114fd60289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061057c61095e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e139092919063ffffffff16565b610966565b600190509392505050565b600061067f6105e361095e565b8461067a85600160006105f461095e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed390919063ffffffff16565b610966565b6001905092915050565b600061069b61069661095e565b6108ba565b6106f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806114ac6030913960400191505060405180910390fd5b6106fa8383610f5b565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61075c61075761095e565b6108ba565b6107b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806114ac6030913960400191505060405180910390fd5b6107ba81611116565b50565b6107cd6107c861095e565b611170565b565b60006108926107dc61095e565b8461088d85604051806060016040528060258152602001611590602591396001600061080661095e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e139092919063ffffffff16565b610966565b6001905092915050565b60006108b06108a961095e565b8484610b5d565b6001905092915050565b60006108d08260036111ca90919063ffffffff16565b9050919050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156109ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061156c6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610a72576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806114646022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610be3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806115476025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610c69576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806114416023913960400191505060405180910390fd5b610cd481604051806060016040528060268152602001611486602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e139092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d67816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610ec0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610e85578082015181840152602081019050610e6a565b50505050905090810190601f168015610eb25780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015610f51576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ffe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b61101381600254610ed390919063ffffffff16565b60028190555061106a816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b61112a8160036112a890919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f660405160405180910390a250565b61118481600361138390919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669260405160405180910390a250565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611251576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806115256022913960400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6112b282826111ca565b15611325576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b61138d82826111ca565b6113e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806114dc6021913960400191505060405180910390fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63654d696e746572526f6c653a2063616c6c657220646f6573206e6f74206861766520746865204d696e74657220726f6c65526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c6545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365526f6c65733a206163636f756e7420697320746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa265627a7a72315820962d40b18658ea85ba36a7883e6f2a6b6c8a222f9d07c13d7741a7bc6ed2512e64736f6c63430005110032526f6c65733a206163636f756e7420697320746865207a65726f2061646472657373", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100b45760003560e01c8063983b2d5611610071578063983b2d56146102e7578063986502751461032b578063a457c2d714610335578063a9059cbb1461039b578063aa271e1a14610401578063dd62ed3e1461045d576100b4565b8063095ea7b3146100b957806318160ddd1461011f57806323b872dd1461013d57806339509351146101c357806340c10f191461022957806370a082311461028f575b600080fd5b610105600480360360408110156100cf57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506104d5565b604051808215151515815260200191505060405180910390f35b6101276104f3565b6040518082815260200191505060405180910390f35b6101a96004803603606081101561015357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506104fd565b604051808215151515815260200191505060405180910390f35b61020f600480360360408110156101d957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105d6565b604051808215151515815260200191505060405180910390f35b6102756004803603604081101561023f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610689565b604051808215151515815260200191505060405180910390f35b6102d1600480360360208110156102a557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610704565b6040518082815260200191505060405180910390f35b610329600480360360208110156102fd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061074c565b005b6103336107bd565b005b6103816004803603604081101561034b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506107cf565b604051808215151515815260200191505060405180910390f35b6103e7600480360360408110156103b157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061089c565b604051808215151515815260200191505060405180910390f35b6104436004803603602081101561041757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108ba565b604051808215151515815260200191505060405180910390f35b6104bf6004803603604081101561047357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108d7565b6040518082815260200191505060405180910390f35b60006104e96104e261095e565b8484610966565b6001905092915050565b6000600254905090565b600061050a848484610b5d565b6105cb8461051661095e565b6105c6856040518060600160405280602881526020016114fd60289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061057c61095e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e139092919063ffffffff16565b610966565b600190509392505050565b600061067f6105e361095e565b8461067a85600160006105f461095e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed390919063ffffffff16565b610966565b6001905092915050565b600061069b61069661095e565b6108ba565b6106f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806114ac6030913960400191505060405180910390fd5b6106fa8383610f5b565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61075c61075761095e565b6108ba565b6107b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806114ac6030913960400191505060405180910390fd5b6107ba81611116565b50565b6107cd6107c861095e565b611170565b565b60006108926107dc61095e565b8461088d85604051806060016040528060258152602001611590602591396001600061080661095e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e139092919063ffffffff16565b610966565b6001905092915050565b60006108b06108a961095e565b8484610b5d565b6001905092915050565b60006108d08260036111ca90919063ffffffff16565b9050919050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156109ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061156c6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610a72576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806114646022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610be3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806115476025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610c69576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806114416023913960400191505060405180910390fd5b610cd481604051806060016040528060268152602001611486602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e139092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d67816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610ec0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610e85578082015181840152602081019050610e6a565b50505050905090810190601f168015610eb25780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015610f51576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ffe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b61101381600254610ed390919063ffffffff16565b60028190555061106a816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ed390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b61112a8160036112a890919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f660405160405180910390a250565b61118481600361138390919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669260405160405180910390a250565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611251576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806115256022913960400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6112b282826111ca565b15611325576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b61138d82826111ca565b6113e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806114dc6021913960400191505060405180910390fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63654d696e746572526f6c653a2063616c6c657220646f6573206e6f74206861766520746865204d696e74657220726f6c65526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c6545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365526f6c65733a206163636f756e7420697320746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa265627a7a72315820962d40b18658ea85ba36a7883e6f2a6b6c8a222f9d07c13d7741a7bc6ed2512e64736f6c63430005110032", - "sourceMap": "322:322:13:-;;;318:24:10;329:12;:10;;;:12;;:::i;:::-;318:10;;;:24;;:::i;:::-;322:322:13;;788:96:8;833:15;867:10;860:17;;788:96;:::o;786:119:10:-;842:21;855:7;842:8;:12;;;;;;:21;;;;:::i;:::-;890:7;878:20;;;;;;;;;;;;786:119;:::o;260:175:9:-;337:18;341:4;347:7;337:3;;;:18;;:::i;:::-;336:19;328:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;424:4;401;:11;;:20;413:7;401:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;260:175;;:::o;779:200::-;851:4;894:1;875:21;;:7;:21;;;;867:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;952:4;:11;;:20;964:7;952:20;;;;;;;;;;;;;;;;;;;;;;;;;945:27;;779:200;;;;:::o;322:322:13:-;;;;;;;", - "deployedSourceMap": "322:322:13:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;322:322:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2500:149:12;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2500:149:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1559:89;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3107:300;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3107:300:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3802:207;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3802:207:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;502:140:13;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;502:140:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1706:108:12;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1706:108:12;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;607:90:10;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;607:90:10;;;;;;;;;;;;;;;;;;;:::i;:::-;;703:77;;;:::i;:::-;;4496:258:12;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4496:258:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2017:155;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2017:155:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;494:107:10;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;494:107:10;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2230:132:12;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2230:132:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2500:149;2566:4;2582:39;2591:12;:10;:12::i;:::-;2605:7;2614:6;2582:8;:39::i;:::-;2638:4;2631:11;;2500:149;;;;:::o;1559:89::-;1603:7;1629:12;;1622:19;;1559:89;:::o;3107:300::-;3196:4;3212:36;3222:6;3230:9;3241:6;3212:9;:36::i;:::-;3258:121;3267:6;3275:12;:10;:12::i;:::-;3289:89;3327:6;3289:89;;;;;;;;;;;;;;;;;:11;:19;3301:6;3289:19;;;;;;;;;;;;;;;:33;3309:12;:10;:12::i;:::-;3289:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;3258:8;:121::i;:::-;3396:4;3389:11;;3107:300;;;;;:::o;3802:207::-;3882:4;3898:83;3907:12;:10;:12::i;:::-;3921:7;3930:50;3969:10;3930:11;:25;3942:12;:10;:12::i;:::-;3930:25;;;;;;;;;;;;;;;:34;3956:7;3930:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;3898:8;:83::i;:::-;3998:4;3991:11;;3802:207;;;;:::o;502:140:13:-;576:4;395:22:10;404:12;:10;:12::i;:::-;395:8;:22::i;:::-;387:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;592:22:13;598:7;607:6;592:5;:22::i;:::-;631:4;624:11;;502:140;;;;:::o;1706:108:12:-;1763:7;1789:9;:18;1799:7;1789:18;;;;;;;;;;;;;;;;1782:25;;1706:108;;;:::o;607:90:10:-;395:22;404:12;:10;:12::i;:::-;395:8;:22::i;:::-;387:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;671:19;682:7;671:10;:19::i;:::-;607:90;:::o;703:77::-;746:27;760:12;:10;:12::i;:::-;746:13;:27::i;:::-;703:77::o;4496:258:12:-;4581:4;4597:129;4606:12;:10;:12::i;:::-;4620:7;4629:96;4668:15;4629:96;;;;;;;;;;;;;;;;;:11;:25;4641:12;:10;:12::i;:::-;4629:25;;;;;;;;;;;;;;;:34;4655:7;4629:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;4597:8;:129::i;:::-;4743:4;4736:11;;4496:258;;;;:::o;2017:155::-;2086:4;2102:42;2112:12;:10;:12::i;:::-;2126:9;2137:6;2102:9;:42::i;:::-;2161:4;2154:11;;2017:155;;;;:::o;494:107:10:-;550:4;573:21;586:7;573:8;:12;;:21;;;;:::i;:::-;566:28;;494:107;;;:::o;2230:132:12:-;2302:7;2328:11;:18;2340:5;2328:18;;;;;;;;;;;;;;;:27;2347:7;2328:27;;;;;;;;;;;;;;;;2321:34;;2230:132;;;;:::o;788:96:8:-;833:15;867:10;860:17;;788:96;:::o;7350:332:12:-;7460:1;7443:19;;:5;:19;;;;7435:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7540:1;7521:21;;:7;:21;;;;7513:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7622:6;7592:11;:18;7604:5;7592:18;;;;;;;;;;;;;;;:27;7611:7;7592:27;;;;;;;;;;;;;;;:36;;;;7659:7;7643:32;;7652:5;7643:32;;;7668:6;7643:32;;;;;;;;;;;;;;;;;;7350:332;;;:::o;5228:464::-;5343:1;5325:20;;:6;:20;;;;5317:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5426:1;5405:23;;:9;:23;;;;5397:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5499;5521:6;5499:71;;;;;;;;;;;;;;;;;:9;:17;5509:6;5499:17;;;;;;;;;;;;;;;;:21;;:71;;;;;:::i;:::-;5479:9;:17;5489:6;5479:17;;;;;;;;;;;;;;;:91;;;;5603:32;5628:6;5603:9;:20;5613:9;5603:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;5580:9;:20;5590:9;5580:20;;;;;;;;;;;;;;;:55;;;;5667:9;5650:35;;5659:6;5650:35;;;5678:6;5650:35;;;;;;;;;;;;;;;;;;5228:464;;;:::o;1732:187:11:-;1818:7;1850:1;1845;:6;;1853:12;1837:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1837:29:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1876:9;1892:1;1888;:5;1876:17;;1911:1;1904:8;;;1732:187;;;;;:::o;834:176::-;892:7;911:9;927:1;923;:5;911:17;;951:1;946;:6;;938:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1002:1;995:8;;;834:176;;;;:::o;5962:302:12:-;6056:1;6037:21;;:7;:21;;;;6029:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6120:24;6137:6;6120:12;;:16;;:24;;;;:::i;:::-;6105:12;:39;;;;6175:30;6198:6;6175:9;:18;6185:7;6175:18;;;;;;;;;;;;;;;;:22;;:30;;;;:::i;:::-;6154:9;:18;6164:7;6154:18;;;;;;;;;;;;;;;:51;;;;6241:7;6220:37;;6237:1;6220:37;;;6250:6;6220:37;;;;;;;;;;;;;;;;;;5962:302;;:::o;786:119:10:-;842:21;855:7;842:8;:12;;:21;;;;:::i;:::-;890:7;878:20;;;;;;;;;;;;786:119;:::o;911:127::-;970:24;986:7;970:8;:15;;:24;;;;:::i;:::-;1023:7;1009:22;;;;;;;;;;;;911:127;:::o;779:200:9:-;851:4;894:1;875:21;;:7;:21;;;;867:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;952:4;:11;;:20;964:7;952:20;;;;;;;;;;;;;;;;;;;;;;;;;945:27;;779:200;;;;:::o;260:175::-;337:18;341:4;347:7;337:3;:18::i;:::-;336:19;328:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;424:4;401;:11;;:20;413:7;401:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;260:175;;:::o;510:180::-;589:18;593:4;599:7;589:3;:18::i;:::-;581:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;678:5;655:4;:11;;:20;667:7;655:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;510:180;;:::o", - "source": "pragma solidity ^0.5.0;\n\nimport \"./ERC20.sol\";\nimport \"../../access/roles/MinterRole.sol\";\n\n/**\n * @dev Extension of {ERC20} that adds a set of accounts with the {MinterRole},\n * which have permission to mint (create) new tokens as they see fit.\n *\n * At construction, the deployer of the contract is the only minter.\n */\ncontract ERC20Mintable is ERC20, MinterRole {\n /**\n * @dev See {ERC20-_mint}.\n *\n * Requirements:\n *\n * - the caller must have the {MinterRole}.\n */\n function mint(address account, uint256 amount) public onlyMinter returns (bool) {\n _mint(account, amount);\n return true;\n }\n}\n", - "sourcePath": "@openzeppelin/contracts/token/ERC20/ERC20Mintable.sol", - "ast": { - "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20Mintable.sol", - "exportedSymbols": { - "ERC20Mintable": [ - 2746 - ] - }, - "id": 2747, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2720, - "literals": [ - "solidity", - "^", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:23:13" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "file": "./ERC20.sol", - "id": 2721, - "nodeType": "ImportDirective", - "scope": 2747, - "sourceUnit": 2719, - "src": "25:21:13", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/access/roles/MinterRole.sol", - "file": "../../access/roles/MinterRole.sol", - "id": 2722, - "nodeType": "ImportDirective", - "scope": 2747, - "sourceUnit": 2127, - "src": "47:43:13", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 2723, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2718, - "src": "348:5:13", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2718", - "typeString": "contract ERC20" - } - }, - "id": 2724, - "nodeType": "InheritanceSpecifier", - "src": "348:5:13" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 2725, - "name": "MinterRole", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2126, - "src": "355:10:13", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MinterRole_$2126", - "typeString": "contract MinterRole" - } - }, - "id": 2726, - "nodeType": "InheritanceSpecifier", - "src": "355:10:13" - } - ], - "contractDependencies": [ - 1938, - 2126, - 2718, - 2815 - ], - "contractKind": "contract", - "documentation": "@dev Extension of {ERC20} that adds a set of accounts with the {MinterRole},\nwhich have permission to mint (create) new tokens as they see fit.\n * At construction, the deployer of the contract is the only minter.", - "fullyImplemented": true, - "id": 2746, - "linearizedBaseContracts": [ - 2746, - 2126, - 2718, - 2815, - 1938 - ], - "name": "ERC20Mintable", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 2744, - "nodeType": "Block", - "src": "582:60:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2738, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2728, - "src": "598:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2739, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2730, - "src": "607:6:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2737, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2602, - "src": "592:5:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 2740, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "592:22:13", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2741, - "nodeType": "ExpressionStatement", - "src": "592:22:13" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2742, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "631:4:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2736, - "id": 2743, - "nodeType": "Return", - "src": "624:11:13" - } - ] - }, - "documentation": "@dev See {ERC20-_mint}.\n * Requirements:\n * - the caller must have the {MinterRole}.", - "id": 2745, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 2733, - "modifierName": { - "argumentTypes": null, - "id": 2732, - "name": "onlyMinter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "556:10:13", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "556:10:13" - } - ], - "name": "mint", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2731, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2728, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 2745, - "src": "516:15:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2727, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "516:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2730, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 2745, - "src": "533:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2729, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "533:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "515:33:13" - }, - "returnParameters": { - "id": 2736, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2735, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2745, - "src": "576:4:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2734, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "576:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "575:6:13" - }, - "scope": 2746, - "src": "502:140:13", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 2747, - "src": "322:322:13" - } - ], - "src": "0:645:13" - }, - "legacyAST": { - "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20Mintable.sol", - "exportedSymbols": { - "ERC20Mintable": [ - 2746 - ] - }, - "id": 2747, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2720, - "literals": [ - "solidity", - "^", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:23:13" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "file": "./ERC20.sol", - "id": 2721, - "nodeType": "ImportDirective", - "scope": 2747, - "sourceUnit": 2719, - "src": "25:21:13", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/access/roles/MinterRole.sol", - "file": "../../access/roles/MinterRole.sol", - "id": 2722, - "nodeType": "ImportDirective", - "scope": 2747, - "sourceUnit": 2127, - "src": "47:43:13", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 2723, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2718, - "src": "348:5:13", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2718", - "typeString": "contract ERC20" - } - }, - "id": 2724, - "nodeType": "InheritanceSpecifier", - "src": "348:5:13" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 2725, - "name": "MinterRole", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2126, - "src": "355:10:13", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MinterRole_$2126", - "typeString": "contract MinterRole" - } - }, - "id": 2726, - "nodeType": "InheritanceSpecifier", - "src": "355:10:13" - } - ], - "contractDependencies": [ - 1938, - 2126, - 2718, - 2815 - ], - "contractKind": "contract", - "documentation": "@dev Extension of {ERC20} that adds a set of accounts with the {MinterRole},\nwhich have permission to mint (create) new tokens as they see fit.\n * At construction, the deployer of the contract is the only minter.", - "fullyImplemented": true, - "id": 2746, - "linearizedBaseContracts": [ - 2746, - 2126, - 2718, - 2815, - 1938 - ], - "name": "ERC20Mintable", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 2744, - "nodeType": "Block", - "src": "582:60:13", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2738, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2728, - "src": "598:7:13", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 2739, - "name": "amount", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2730, - "src": "607:6:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 2737, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2602, - "src": "592:5:13", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 2740, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "592:22:13", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2741, - "nodeType": "ExpressionStatement", - "src": "592:22:13" - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 2742, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "631:4:13", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 2736, - "id": 2743, - "nodeType": "Return", - "src": "624:11:13" - } - ] - }, - "documentation": "@dev See {ERC20-_mint}.\n * Requirements:\n * - the caller must have the {MinterRole}.", - "id": 2745, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 2733, - "modifierName": { - "argumentTypes": null, - "id": 2732, - "name": "onlyMinter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "556:10:13", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "556:10:13" - } - ], - "name": "mint", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2731, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2728, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 2745, - "src": "516:15:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2727, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "516:7:13", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2730, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 2745, - "src": "533:14:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2729, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "533:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "515:33:13" - }, - "returnParameters": { - "id": 2736, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2735, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2745, - "src": "576:4:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2734, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "576:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "575:6:13" - }, - "scope": 2746, - "src": "502:140:13", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 2747, - "src": "322:322:13" - } - ], - "src": "0:645:13" - }, - "compiler": { - "name": "solc", - "version": "0.5.17+commit.d19bba13.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.16", - "updatedAt": "2020-11-17T15:15:49.615Z", - "devdoc": { - "details": "Extension of {ERC20} that adds a set of accounts with the {MinterRole}, which have permission to mint (create) new tokens as they see fit. * At construction, the deployer of the contract is the only minter.", - "methods": { - "allowance(address,address)": { - "details": "See {IERC20-allowance}." - }, - "approve(address,uint256)": { - "details": "See {IERC20-approve}. * Requirements: * - `spender` cannot be the zero address." - }, - "balanceOf(address)": { - "details": "See {IERC20-balanceOf}." - }, - "decreaseAllowance(address,uint256)": { - "details": "Atomically decreases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`." - }, - "increaseAllowance(address,uint256)": { - "details": "Atomically increases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address." - }, - "mint(address,uint256)": { - "details": "See {ERC20-_mint}. * Requirements: * - the caller must have the {MinterRole}." - }, - "totalSupply()": { - "details": "See {IERC20-totalSupply}." - }, - "transfer(address,uint256)": { - "details": "See {IERC20-transfer}. * Requirements: * - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`." - }, - "transferFrom(address,address,uint256)": { - "details": "See {IERC20-transferFrom}. * Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}; * Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for `sender`'s tokens of at least `amount`." - } - } - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/packages/proxyIdentity/build/contracts/ERC223Mintable.json b/packages/proxyIdentity/build/contracts/ERC223Mintable.json deleted file mode 100644 index 245cf7683..000000000 --- a/packages/proxyIdentity/build/contracts/ERC223Mintable.json +++ /dev/null @@ -1,4806 +0,0 @@ -{ - "contractName": "ERC223Mintable", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "MinterAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "MinterRemoved", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "addMinter", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "isMinter", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "mint", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "renounceMinter", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_value", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_value", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_value", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_value", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"MinterAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"MinterRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"addMinter\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isMinter\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceMinter\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. * Requirements: * - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address.\"},\"mint(address,uint256)\":{\"details\":\"See {ERC20-_mint}. * Requirements: * - the caller must have the {MinterRole}.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/tokens/ERC223Mintable.sol\":\"ERC223Mintable\"},\"evmVersion\":\"constantinople\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223.sol\":{\"keccak256\":\"0x3e3d1fc80b2e7c13015946457c9f4a5255f3b6f385b48616159e78c7b2c74737\",\"urls\":[\"bzz-raw://3f3458d0c93202f964bbf51a349b99165344f8eec5c43bb3ca5291c13488286f\",\"dweb:/ipfs/QmQ6ZV1eJqKffWcYqa5iQ22zPkQvgjXiNnciajAE6eb8ep\"]},\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223Receiver.sol\":{\"keccak256\":\"0x3d4cacfc4d9b98e6d79a1f30ac15f171253771454fff2605d0eeeff14ddd8996\",\"urls\":[\"bzz-raw://c9537e6ef6b75a1fd320b099e6d0ee5eb85c89b6147b22196331b2b3393c736b\",\"dweb:/ipfs/Qmd32qvh5cncrttSuk92ugFakEK8YTLCkMP2tadfymBT6q\"]},\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/tokens/ERC223Mintable.sol\":{\"keccak256\":\"0x9c010ce9fc2ca71bc5da1e04a3945fca4663a18570adf2141a2c7c817bd06712\",\"urls\":[\"bzz-raw://eae3d90a569473efb63d903e4887149f08e3df5729d3341ab8fc75397a73bed3\",\"dweb:/ipfs/QmVPM4hLPay868DjGb9ZG1WxGfrh55ALXyjtUMcucYFHPC\"]},\"@openzeppelin/contracts/GSN/Context.sol\":{\"keccak256\":\"0x90a3995645af7562d84b9d69363ffa5ae7217714ab61e951bf7bc450f40e4061\",\"urls\":[\"bzz-raw://216ef9d6b614db4eb46970b4e84903f2534a45572dd30a79f0041f1a5830f436\",\"dweb:/ipfs/QmNPrJ4MWKUAWzKXpUqeyKRUfosaoANZAqXgvepdrCwZAG\"]},\"@openzeppelin/contracts/access/Roles.sol\":{\"keccak256\":\"0xb002c378d7b82a101bd659c341518953ca0919d342c0a400196982c0e7e7bcdb\",\"urls\":[\"bzz-raw://00a788c4631466c220b385bdd100c571d24b2deccd657615cfbcef6cadf669a4\",\"dweb:/ipfs/QmTEwDbjJNxmMNCDMqtuou3dyM8Wtp8Q9NFvn7SAVM7Jf3\"]},\"@openzeppelin/contracts/access/roles/MinterRole.sol\":{\"keccak256\":\"0xbe8eef6f2cb4e427f5c5d8a76865ccd06e55a4f1d6671ba312d45bfa705aedbf\",\"urls\":[\"bzz-raw://badf338a5e22c8658c01fe2ce89b487d9dbf6d2d9d5eb49df7415383e2498765\",\"dweb:/ipfs/QmP5aMkvFwMJyuQjKE8ADh5tkWYqonb4KjgkAjgYEVVFAv\"]},\"@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x640b6dee7a4b830bdfd52b5031a07fc2b12209f5b2e29e5d364a7d37f69d8076\",\"urls\":[\"bzz-raw://31113152e1ddb78fe7a4197f247591ca894e93f916867beb708d8e747b6cc74f\",\"dweb:/ipfs/QmbZaJyXdpsYGykVhHH9qpVGQg9DGCxE2QufbCUy3daTgq\"]},\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xb15af804e2bc97db51e4e103f13de9fe13f87e6b835d7a88c897966c0e58506e\",\"urls\":[\"bzz-raw://1e8cff8437557fc915a3bed968fcd8f2df9809599e665ef69c2c9ce628548055\",\"dweb:/ipfs/QmP5spYP8vs2jvLF8zNrXUbqB79hMsoEvMHiLcBxerWKcm\"]},\"@openzeppelin/contracts/token/ERC20/ERC20Mintable.sol\":{\"keccak256\":\"0xa2b957cf89692c504962afb7506999155f83385373f808243246cd5879de5940\",\"urls\":[\"bzz-raw://c44ae0ad1bce141c33b962f8b4e9228bdf8df36c8ac363b4f0bf9498b8bfc32a\",\"dweb:/ipfs/QmcSBRdFwVvy2wFZrBwo5cvqNP4UHh9Eyzf8jnxBgnPqfe\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzz-raw://59fd025151435da35faa8093a5c7a17de02de9d08ad27275c5cdf05050820d91\",\"dweb:/ipfs/QmQMvwEcPhoRXzbXyrdoeRtvLoifUW9Qh7Luho7bmUPRkc\"]}},\"version\":1}", - "bytecode": "0x608060405262000024620000186200002a60201b60201c565b6200003260201b60201c565b62000257565b600033905090565b6200004d8160036200009360201b620014d31790919060201c565b8073ffffffffffffffffffffffffffffffffffffffff167f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f660405160405180910390a250565b620000a582826200017760201b60201c565b1562000119576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000200576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018062001d316022913960400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b611aca80620002676000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063986502751161008c578063aa271e1a11610066578063aa271e1a14610437578063ab67aa5814610493578063be45fd62146105b0578063dd62ed3e146106ad576100ea565b80639865027514610361578063a457c2d71461036b578063a9059cbb146103d1576100ea565b806339509351116100c857806339509351146101f957806340c10f191461025f57806370a08231146102c5578063983b2d561461031d576100ea565b8063095ea7b3146100ef57806318160ddd1461015557806323b872dd14610173575b600080fd5b61013b6004803603604081101561010557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610725565b604051808215151515815260200191505060405180910390f35b61015d610743565b6040518082815260200191505060405180910390f35b6101df6004803603606081101561018957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061074d565b604051808215151515815260200191505060405180910390f35b6102456004803603604081101561020f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610798565b604051808215151515815260200191505060405180910390f35b6102ab6004803603604081101561027557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061084b565b604051808215151515815260200191505060405180910390f35b610307600480360360208110156102db57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108c6565b6040518082815260200191505060405180910390f35b61035f6004803603602081101561033357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061090e565b005b61036961097f565b005b6103b76004803603604081101561038157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610991565b604051808215151515815260200191505060405180910390f35b61041d600480360360408110156103e757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a5e565b604051808215151515815260200191505060405180910390f35b6104796004803603602081101561044d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610aa7565b604051808215151515815260200191505060405180910390f35b610596600480360360808110156104a957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561051057600080fd5b82018360208201111561052257600080fd5b8035906020019184600183028401116401000000008311171561054457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610ac4565b604051808215151515815260200191505060405180910390f35b610693600480360360608110156105c657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561060d57600080fd5b82018360208201111561061f57600080fd5b8035906020019184600183028401116401000000008311171561064157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610b00565b604051808215151515815260200191505060405180910390f35b61070f600480360360408110156106c357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b3a565b6040518082815260200191505060405180910390f35b6000610739610732610bc1565b8484610bc9565b6001905092915050565b6000600254905090565b600061078f84848460006040519080825280601f01601f1916602001820160405280156107895781602001600182028038833980820191505090505b50610ac4565b90509392505050565b60006108416107a5610bc1565b8461083c85600160006107b6610bc1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610dc090919063ffffffff16565b610bc9565b6001905092915050565b600061085d610858610bc1565b610aa7565b6108b2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603081526020018061198d6030913960400191505060405180910390fd5b6108bc8383610e48565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61091e610919610bc1565b610aa7565b610973576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603081526020018061198d6030913960400191505060405180910390fd5b61097c81611003565b50565b61098f61098a610bc1565b61105d565b565b6000610a5461099e610bc1565b84610a4f85604051806060016040528060258152602001611a7160259139600160006109c8610bc1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110b79092919063ffffffff16565b610bc9565b6001905092915050565b6000610a9f838360006040519080825280601f01601f191660200182016040528015610a995781602001600182028038833980820191505090505b50610b00565b905092915050565b6000610abd82600361117790919063ffffffff16565b9050919050565b6000610ad1858585611255565b50610adb8461132e565b15610af357610aec85858585611341565b9050610af8565b600190505b949350505050565b6000610b0c84846114b5565b50610b168461132e565b15610b2e57610b2733858585611341565b9050610b33565b600190505b9392505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180611a4d6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610cd5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806119456022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600080828401905083811015610e3e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610eeb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b610f0081600254610dc090919063ffffffff16565b600281905550610f57816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610dc090919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6110178160036114d390919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f660405160405180910390a250565b6110718160036115ae90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669260405160405180910390a250565b6000838311158290611164576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561112957808201518184015260208101905061110e565b50505050905090810190601f1680156111565780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156111fe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180611a066022913960400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600061126284848461166b565b6113238461126e610bc1565b61131e856040518060600160405280602881526020016119de60289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006112d4610bc1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110b79092919063ffffffff16565b610bc9565b600190509392505050565b600080823b905060008111915050919050565b6000808490508073ffffffffffffffffffffffffffffffffffffffff16634c123019338887876040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611420578082015181840152602081019050611405565b50505050905090810190601f16801561144d5780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b15801561146f57600080fd5b505af1158015611483573d6000803e3d6000fd5b505050506040513d602081101561149957600080fd5b8101908080519060200190929190505050915050949350505050565b60006114c96114c2610bc1565b848461166b565b6001905092915050565b6114dd8282611177565b15611550576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6115b88282611177565b61160d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806119bd6021913960400191505060405180910390fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156116f1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180611a286025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611777576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806119226023913960400191505060405180910390fd5b6117e281604051806060016040528060268152602001611967602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110b79092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611875816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610dc090919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a350505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63654d696e746572526f6c653a2063616c6c657220646f6573206e6f74206861766520746865204d696e74657220726f6c65526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c6545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365526f6c65733a206163636f756e7420697320746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa265627a7a723158209fadb67367d7d5180b268688acc6aa94ee07c75de6010ff3a857c3d00de3a3fb64736f6c63430005110032526f6c65733a206163636f756e7420697320746865207a65726f2061646472657373", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063986502751161008c578063aa271e1a11610066578063aa271e1a14610437578063ab67aa5814610493578063be45fd62146105b0578063dd62ed3e146106ad576100ea565b80639865027514610361578063a457c2d71461036b578063a9059cbb146103d1576100ea565b806339509351116100c857806339509351146101f957806340c10f191461025f57806370a08231146102c5578063983b2d561461031d576100ea565b8063095ea7b3146100ef57806318160ddd1461015557806323b872dd14610173575b600080fd5b61013b6004803603604081101561010557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610725565b604051808215151515815260200191505060405180910390f35b61015d610743565b6040518082815260200191505060405180910390f35b6101df6004803603606081101561018957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061074d565b604051808215151515815260200191505060405180910390f35b6102456004803603604081101561020f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610798565b604051808215151515815260200191505060405180910390f35b6102ab6004803603604081101561027557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061084b565b604051808215151515815260200191505060405180910390f35b610307600480360360208110156102db57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108c6565b6040518082815260200191505060405180910390f35b61035f6004803603602081101561033357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061090e565b005b61036961097f565b005b6103b76004803603604081101561038157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610991565b604051808215151515815260200191505060405180910390f35b61041d600480360360408110156103e757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a5e565b604051808215151515815260200191505060405180910390f35b6104796004803603602081101561044d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610aa7565b604051808215151515815260200191505060405180910390f35b610596600480360360808110156104a957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561051057600080fd5b82018360208201111561052257600080fd5b8035906020019184600183028401116401000000008311171561054457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610ac4565b604051808215151515815260200191505060405180910390f35b610693600480360360608110156105c657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561060d57600080fd5b82018360208201111561061f57600080fd5b8035906020019184600183028401116401000000008311171561064157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610b00565b604051808215151515815260200191505060405180910390f35b61070f600480360360408110156106c357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b3a565b6040518082815260200191505060405180910390f35b6000610739610732610bc1565b8484610bc9565b6001905092915050565b6000600254905090565b600061078f84848460006040519080825280601f01601f1916602001820160405280156107895781602001600182028038833980820191505090505b50610ac4565b90509392505050565b60006108416107a5610bc1565b8461083c85600160006107b6610bc1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610dc090919063ffffffff16565b610bc9565b6001905092915050565b600061085d610858610bc1565b610aa7565b6108b2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603081526020018061198d6030913960400191505060405180910390fd5b6108bc8383610e48565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61091e610919610bc1565b610aa7565b610973576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603081526020018061198d6030913960400191505060405180910390fd5b61097c81611003565b50565b61098f61098a610bc1565b61105d565b565b6000610a5461099e610bc1565b84610a4f85604051806060016040528060258152602001611a7160259139600160006109c8610bc1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110b79092919063ffffffff16565b610bc9565b6001905092915050565b6000610a9f838360006040519080825280601f01601f191660200182016040528015610a995781602001600182028038833980820191505090505b50610b00565b905092915050565b6000610abd82600361117790919063ffffffff16565b9050919050565b6000610ad1858585611255565b50610adb8461132e565b15610af357610aec85858585611341565b9050610af8565b600190505b949350505050565b6000610b0c84846114b5565b50610b168461132e565b15610b2e57610b2733858585611341565b9050610b33565b600190505b9392505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180611a4d6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610cd5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806119456022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600080828401905083811015610e3e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610eeb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b610f0081600254610dc090919063ffffffff16565b600281905550610f57816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610dc090919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6110178160036114d390919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f660405160405180910390a250565b6110718160036115ae90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669260405160405180910390a250565b6000838311158290611164576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561112957808201518184015260208101905061110e565b50505050905090810190601f1680156111565780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156111fe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180611a066022913960400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600061126284848461166b565b6113238461126e610bc1565b61131e856040518060600160405280602881526020016119de60289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006112d4610bc1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110b79092919063ffffffff16565b610bc9565b600190509392505050565b600080823b905060008111915050919050565b6000808490508073ffffffffffffffffffffffffffffffffffffffff16634c123019338887876040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611420578082015181840152602081019050611405565b50505050905090810190601f16801561144d5780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b15801561146f57600080fd5b505af1158015611483573d6000803e3d6000fd5b505050506040513d602081101561149957600080fd5b8101908080519060200190929190505050915050949350505050565b60006114c96114c2610bc1565b848461166b565b6001905092915050565b6114dd8282611177565b15611550576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6115b88282611177565b61160d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806119bd6021913960400191505060405180910390fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156116f1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180611a286025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611777576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806119226023913960400191505060405180910390fd5b6117e281604051806060016040528060268152602001611967602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546110b79092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611875816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610dc090919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a350505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63654d696e746572526f6c653a2063616c6c657220646f6573206e6f74206861766520746865204d696e74657220726f6c65526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c6545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365526f6c65733a206163636f756e7420697320746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa265627a7a723158209fadb67367d7d5180b268688acc6aa94ee07c75de6010ff3a857c3d00de3a3fb64736f6c63430005110032", - "sourceMap": "171:1404:6:-;;;318:24:10;329:12;:10;;;:12;;:::i;:::-;318:10;;;:24;;:::i;:::-;171:1404:6;;788:96:8;833:15;867:10;860:17;;788:96;:::o;786:119:10:-;842:21;855:7;842:8;:12;;;;;;:21;;;;:::i;:::-;890:7;878:20;;;;;;;;;;;;786:119;:::o;260:175:9:-;337:18;341:4;347:7;337:3;;;:18;;:::i;:::-;336:19;328:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;424:4;401;:11;;:20;413:7;401:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;260:175;;:::o;779:200::-;851:4;894:1;875:21;;:7;:21;;;;867:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;952:4;:11;;:20;964:7;952:20;;;;;;;;;;;;;;;;;;;;;;;;;945:27;;779:200;;;;:::o;171:1404:6:-;;;;;;;", - "deployedSourceMap": "171:1404:6:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;171:1404:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2500:149:12;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2500:149:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1559:89;;;:::i;:::-;;;;;;;;;;;;;;;;;;;886:168:6;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;886:168:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3802:207:12;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3802:207:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;502:140:13;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;502:140:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1706:108:12;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1706:108:12;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;607:90:10;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;607:90:10;;;;;;;;;;;;;;;;;;;:::i;:::-;;703:77;;;:::i;:::-;;4496:258:12;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4496:258:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;760:122:6;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;760:122:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;494:107:10;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;494:107:10;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;485:271:6;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;485:271:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;485:271:6;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;485:271:6;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;485:271:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;485:271:6;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;225:256;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;225:256:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;225:256:6;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;225:256:6;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;225:256:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;225:256:6;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2230:132:12;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2230:132:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2500:149;2566:4;2582:39;2591:12;:10;:12::i;:::-;2605:7;2614:6;2582:8;:39::i;:::-;2638:4;2631:11;;2500:149;;;;:::o;1559:89::-;1603:7;1629:12;;1622:19;;1559:89;:::o;886:168:6:-;984:4;1003:46;1016:5;1023:3;1028:6;1046:1;1036:12;;;;;;;;;;;;;;;;;;;;;;;;;29:1:-1;21:6;17:14;116:4;104:10;96:6;87:34;147:4;139:6;135:17;125:27;;0:156;1036:12:6;;;;1003;:46::i;:::-;996:53;;886:168;;;;;:::o;3802:207:12:-;3882:4;3898:83;3907:12;:10;:12::i;:::-;3921:7;3930:50;3969:10;3930:11;:25;3942:12;:10;:12::i;:::-;3930:25;;;;;;;;;;;;;;;:34;3956:7;3930:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;3898:8;:83::i;:::-;3998:4;3991:11;;3802:207;;;;:::o;502:140:13:-;576:4;395:22:10;404:12;:10;:12::i;:::-;395:8;:22::i;:::-;387:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;592:22:13;598:7;607:6;592:5;:22::i;:::-;631:4;624:11;;502:140;;;;:::o;1706:108:12:-;1763:7;1789:9;:18;1799:7;1789:18;;;;;;;;;;;;;;;;1782:25;;1706:108;;;:::o;607:90:10:-;395:22;404:12;:10;:12::i;:::-;395:8;:22::i;:::-;387:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;671:19;682:7;671:10;:19::i;:::-;607:90;:::o;703:77::-;746:27;760:12;:10;:12::i;:::-;746:13;:27::i;:::-;703:77::o;4496:258:12:-;4581:4;4597:129;4606:12;:10;:12::i;:::-;4620:7;4629:96;4668:15;4629:96;;;;;;;;;;;;;;;;;:11;:25;4641:12;:10;:12::i;:::-;4629:25;;;;;;;;;;;;;;;:34;4655:7;4629:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;4597:8;:129::i;:::-;4743:4;4736:11;;4496:258;;;;:::o;760:122:6:-;823:4;842:35;851:3;856:6;874:1;864:12;;;;;;;;;;;;;;;;;;;;;;;;;29:1:-1;21:6;17:14;116:4;104:10;96:6;87:34;147:4;139:6;135:17;125:27;;0:156;864:12:6;;;;842:8;:35::i;:::-;835:42;;760:122;;;;:::o;494:107:10:-;550:4;573:21;586:7;573:8;:12;;:21;;;;:::i;:::-;566:28;;494:107;;;:::o;485:271:6:-;607:4;619:38;638:5;645:3;650:6;619:18;:38::i;:::-;;667:15;678:3;667:10;:15::i;:::-;663:71;;;691:43;708:5;715:3;720:6;728:5;691:16;:43::i;:::-;684:50;;;;663:71;747:4;740:11;;485:271;;;;;;;:::o;225:256::-;324:4;336:27;351:3;356:6;336:14;:27::i;:::-;;373:15;384:3;373:10;:15::i;:::-;369:91;;;405:48;422:10;434:3;439:6;447:5;405:16;:48::i;:::-;398:55;;;;369:91;472:4;465:11;;225:256;;;;;;:::o;2230:132:12:-;2302:7;2328:11;:18;2340:5;2328:18;;;;;;;;;;;;;;;:27;2347:7;2328:27;;;;;;;;;;;;;;;;2321:34;;2230:132;;;;:::o;788:96:8:-;833:15;867:10;860:17;;788:96;:::o;7350:332:12:-;7460:1;7443:19;;:5;:19;;;;7435:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7540:1;7521:21;;:7;:21;;;;7513:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7622:6;7592:11;:18;7604:5;7592:18;;;;;;;;;;;;;;;:27;7611:7;7592:27;;;;;;;;;;;;;;;:36;;;;7659:7;7643:32;;7652:5;7643:32;;;7668:6;7643:32;;;;;;;;;;;;;;;;;;7350:332;;;:::o;834:176:11:-;892:7;911:9;927:1;923;:5;911:17;;951:1;946;:6;;938:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1002:1;995:8;;;834:176;;;;:::o;5962:302:12:-;6056:1;6037:21;;:7;:21;;;;6029:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6120:24;6137:6;6120:12;;:16;;:24;;;;:::i;:::-;6105:12;:39;;;;6175:30;6198:6;6175:9;:18;6185:7;6175:18;;;;;;;;;;;;;;;;:22;;:30;;;;:::i;:::-;6154:9;:18;6164:7;6154:18;;;;;;;;;;;;;;;:51;;;;6241:7;6220:37;;6237:1;6220:37;;;6250:6;6220:37;;;;;;;;;;;;;;;;;;5962:302;;:::o;786:119:10:-;842:21;855:7;842:8;:12;;:21;;;;:::i;:::-;890:7;878:20;;;;;;;;;;;;786:119;:::o;911:127::-;970:24;986:7;970:8;:15;;:24;;;;:::i;:::-;1023:7;1009:22;;;;;;;;;;;;911:127;:::o;1732:187:11:-;1818:7;1850:1;1845;:6;;1853:12;1837:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1837:29:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1876:9;1892:1;1888;:5;1876:17;;1911:1;1904:8;;;1732:187;;;;;:::o;779:200:9:-;851:4;894:1;875:21;;:7;:21;;;;867:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;952:4;:11;;:20;964:7;952:20;;;;;;;;;;;;;;;;;;;;;;;;;945:27;;779:200;;;;:::o;3107:300:12:-;3196:4;3212:36;3222:6;3230:9;3241:6;3212:9;:36::i;:::-;3258:121;3267:6;3275:12;:10;:12::i;:::-;3289:89;3327:6;3289:89;;;;;;;;;;;;;;;;;:11;:19;3301:6;3289:19;;;;;;;;;;;;;;;:33;3309:12;:10;:12::i;:::-;3289:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;3258:8;:121::i;:::-;3396:4;3389:11;;3107:300;;;;;:::o;1334:239:6:-;1391:16;1415:14;1534:5;1522:18;1512:28;;1567:1;1558:6;:10;1551:17;;;1334:239;;;:::o;1058:272::-;1187:12;1207:24;1250:3;1207:47;;1267:8;:22;;;1290:10;1302:7;1311:6;1319:5;1267:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1267:58:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1267:58:6;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1267:58:6;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1267:58:6;;;;;;;;;;;;;;;;1260:65;;;1058:272;;;;;;:::o;2017:155:12:-;2086:4;2102:42;2112:12;:10;:12::i;:::-;2126:9;2137:6;2102:9;:42::i;:::-;2161:4;2154:11;;2017:155;;;;:::o;260:175:9:-;337:18;341:4;347:7;337:3;:18::i;:::-;336:19;328:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;424:4;401;:11;;:20;413:7;401:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;260:175;;:::o;510:180::-;589:18;593:4;599:7;589:3;:18::i;:::-;581:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;678:5;655:4;:11;;:20;667:7;655:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;510:180;;:::o;5228:464:12:-;5343:1;5325:20;;:6;:20;;;;5317:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5426:1;5405:23;;:9;:23;;;;5397:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5499;5521:6;5499:71;;;;;;;;;;;;;;;;;:9;:17;5509:6;5499:17;;;;;;;;;;;;;;;;:21;;:71;;;;;:::i;:::-;5479:9;:17;5489:6;5479:17;;;;;;;;;;;;;;;:91;;;;5603:32;5628:6;5603:9;:20;5613:9;5603:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;5580:9;:20;5590:9;5580:20;;;;;;;;;;;;;;;:55;;;;5667:9;5650:35;;5659:6;5650:35;;;5678:6;5650:35;;;;;;;;;;;;;;;;;;5228:464;;;:::o", - "source": "pragma solidity ^0.5.0;\n\nimport \"@openzeppelin/contracts/token/ERC20/ERC20Mintable.sol\";\nimport \"../interfaces/IERC223.sol\";\nimport \"../interfaces/IERC223Receiver.sol\";\n\n\ncontract ERC223Mintable is IERC223, ERC20Mintable {\n function transfer(\n address _to,\n uint256 _value,\n bytes memory _data\n ) public returns (bool) {\n super.transfer(_to, _value);\n if (isContract(_to)) {\n return contractFallback(msg.sender, _to, _value, _data);\n }\n return true;\n }\n\n function transferFrom(\n address _from,\n address _to,\n uint256 _value,\n bytes memory _data\n ) public returns (bool) {\n super.transferFrom(_from, _to, _value);\n if (isContract(_to)) return contractFallback(_from, _to, _value, _data);\n return true;\n }\n\n function transfer(address _to, uint256 _value) public returns (bool) {\n return transfer(_to, _value, new bytes(0));\n }\n\n function transferFrom(\n address _from,\n address _to,\n uint256 _value\n ) public returns (bool) {\n return transferFrom(_from, _to, _value, new bytes(0));\n }\n\n function contractFallback(\n address _origin,\n address _to,\n uint256 _value,\n bytes memory _data\n ) private returns (bool success) {\n IERC223Receiver reciever = IERC223Receiver(_to);\n return reciever.tokenFallback(msg.sender, _origin, _value, _data);\n }\n\n function isContract(address _addr) private view returns (bool is_contract) {\n uint256 length;\n // solium-disable-next-line security/no-inline-assembly\n assembly {\n length := extcodesize(_addr)\n }\n return length > 0;\n }\n}\n", - "sourcePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/tokens/ERC223Mintable.sol", - "ast": { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/tokens/ERC223Mintable.sol", - "exportedSymbols": { - "ERC223Mintable": [ - 1905 - ] - }, - "id": 1906, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1742, - "literals": [ - "solidity", - "^", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:23:6" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20Mintable.sol", - "file": "@openzeppelin/contracts/token/ERC20/ERC20Mintable.sol", - "id": 1743, - "nodeType": "ImportDirective", - "scope": 1906, - "sourceUnit": 2747, - "src": "25:63:6", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223.sol", - "file": "../interfaces/IERC223.sol", - "id": 1744, - "nodeType": "ImportDirective", - "scope": 1906, - "sourceUnit": 28, - "src": "89:35:6", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223Receiver.sol", - "file": "../interfaces/IERC223Receiver.sol", - "id": 1745, - "nodeType": "ImportDirective", - "scope": 1906, - "sourceUnit": 44, - "src": "125:43:6", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 1746, - "name": "IERC223", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27, - "src": "198:7:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC223_$27", - "typeString": "contract IERC223" - } - }, - "id": 1747, - "nodeType": "InheritanceSpecifier", - "src": "198:7:6" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 1748, - "name": "ERC20Mintable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2746, - "src": "207:13:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Mintable_$2746", - "typeString": "contract ERC20Mintable" - } - }, - "id": 1749, - "nodeType": "InheritanceSpecifier", - "src": "207:13:6" - } - ], - "contractDependencies": [ - 27, - 1938, - 2126, - 2718, - 2746, - 2815 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 1905, - "linearizedBaseContracts": [ - 1905, - 2746, - 2126, - 2718, - 2815, - 1938, - 27 - ], - "name": "ERC223Mintable", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 1782, - "nodeType": "Block", - "src": "330:151:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1763, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1751, - "src": "351:3:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1764, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1753, - "src": "356:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1760, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3903, - "src": "336:5:6", - "typeDescriptions": { - "typeIdentifier": "t_super$_ERC223Mintable_$1905", - "typeString": "contract super ERC223Mintable" - } - }, - "id": 1762, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 2376, - "src": "336:14:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) returns (bool)" - } - }, - "id": 1765, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "336:27:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1766, - "nodeType": "ExpressionStatement", - "src": "336:27:6" - }, - { - "condition": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1768, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1751, - "src": "384:3:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1767, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1904, - "src": "373:10:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 1769, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "373:15:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 1779, - "nodeType": "IfStatement", - "src": "369:91:6", - "trueBody": { - "id": 1778, - "nodeType": "Block", - "src": "390:70:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1771, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "422:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1772, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "422:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 1773, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1751, - "src": "434:3:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1774, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1753, - "src": "439:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1775, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1755, - "src": "447:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 1770, - "name": "contractFallback", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1888, - "src": "405:16:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,address,uint256,bytes memory) returns (bool)" - } - }, - "id": 1776, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "405:48:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1759, - "id": 1777, - "nodeType": "Return", - "src": "398:55:6" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1780, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "472:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 1759, - "id": 1781, - "nodeType": "Return", - "src": "465:11:6" - } - ] - }, - "documentation": null, - "id": 1783, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1756, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1751, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 1783, - "src": "248:11:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1750, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "248:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1753, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 1783, - "src": "265:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1752, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "265:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1755, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 1783, - "src": "285:18:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1754, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "285:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "242:65:6" - }, - "returnParameters": { - "id": 1759, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1758, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1783, - "src": "324:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1757, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "324:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "323:6:6" - }, - "scope": 1905, - "src": "225:256:6", - "stateMutability": "nonpayable", - "superFunction": 13, - "visibility": "public" - }, - { - "body": { - "id": 1817, - "nodeType": "Block", - "src": "613:143:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1799, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1785, - "src": "638:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1800, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1787, - "src": "645:3:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1801, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1789, - "src": "650:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1796, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3903, - "src": "619:5:6", - "typeDescriptions": { - "typeIdentifier": "t_super$_ERC223Mintable_$1905", - "typeString": "contract super ERC223Mintable" - } - }, - "id": 1798, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 2447, - "src": "619:18:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) returns (bool)" - } - }, - "id": 1802, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "619:38:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1803, - "nodeType": "ExpressionStatement", - "src": "619:38:6" - }, - { - "condition": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1805, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1787, - "src": "678:3:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1804, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1904, - "src": "667:10:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 1806, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "667:15:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 1814, - "nodeType": "IfStatement", - "src": "663:71:6", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1808, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1785, - "src": "708:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1809, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1787, - "src": "715:3:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1810, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1789, - "src": "720:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1811, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1791, - "src": "728:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 1807, - "name": "contractFallback", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1888, - "src": "691:16:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,address,uint256,bytes memory) returns (bool)" - } - }, - "id": 1812, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "691:43:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1795, - "id": 1813, - "nodeType": "Return", - "src": "684:50:6" - } - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1815, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "747:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 1795, - "id": 1816, - "nodeType": "Return", - "src": "740:11:6" - } - ] - }, - "documentation": null, - "id": 1818, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1792, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1785, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 1818, - "src": "512:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1784, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "512:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1787, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 1818, - "src": "531:11:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1786, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "531:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1789, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 1818, - "src": "548:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1788, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "548:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1791, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 1818, - "src": "568:18:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1790, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "568:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "506:84:6" - }, - "returnParameters": { - "id": 1795, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1794, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1818, - "src": "607:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1793, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "607:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "606:6:6" - }, - "scope": 1905, - "src": "485:271:6", - "stateMutability": "nonpayable", - "superFunction": 26, - "visibility": "public" - }, - { - "body": { - "id": 1836, - "nodeType": "Block", - "src": "829:53:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1828, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1820, - "src": "851:3:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1829, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1822, - "src": "856:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 1832, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "874:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 1831, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "864:9:6", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$", - "typeString": "function (uint256) pure returns (bytes memory)" - }, - "typeName": { - "id": 1830, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "868:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - } - }, - "id": 1833, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "864:12:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - ], - "id": 1827, - "name": "transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 1783, - 1837 - ], - "referencedDeclaration": 1783, - "src": "842:8:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,uint256,bytes memory) returns (bool)" - } - }, - "id": 1834, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "842:35:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1826, - "id": 1835, - "nodeType": "Return", - "src": "835:42:6" - } - ] - }, - "documentation": null, - "id": 1837, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1823, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1820, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 1837, - "src": "778:11:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1819, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "778:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1822, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 1837, - "src": "791:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1821, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "791:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "777:29:6" - }, - "returnParameters": { - "id": 1826, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1825, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1837, - "src": "823:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1824, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "823:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "822:6:6" - }, - "scope": 1905, - "src": "760:122:6", - "stateMutability": "nonpayable", - "superFunction": 2376, - "visibility": "public" - }, - { - "body": { - "id": 1858, - "nodeType": "Block", - "src": "990:64:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1849, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1839, - "src": "1016:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1850, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1841, - "src": "1023:3:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1851, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1843, - "src": "1028:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 1854, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1046:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 1853, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "1036:9:6", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$", - "typeString": "function (uint256) pure returns (bytes memory)" - }, - "typeName": { - "id": 1852, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1040:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - } - }, - "id": 1855, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1036:12:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - ], - "id": 1848, - "name": "transferFrom", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 1818, - 1859 - ], - "referencedDeclaration": 1818, - "src": "1003:12:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,address,uint256,bytes memory) returns (bool)" - } - }, - "id": 1856, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1003:46:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1847, - "id": 1857, - "nodeType": "Return", - "src": "996:53:6" - } - ] - }, - "documentation": null, - "id": 1859, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1844, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1839, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 1859, - "src": "913:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1838, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "913:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1841, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 1859, - "src": "932:11:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1840, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "932:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1843, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 1859, - "src": "949:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1842, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "949:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "907:60:6" - }, - "returnParameters": { - "id": 1847, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1846, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1859, - "src": "984:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1845, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "984:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "983:6:6" - }, - "scope": 1905, - "src": "886:168:6", - "stateMutability": "nonpayable", - "superFunction": 2447, - "visibility": "public" - }, - { - "body": { - "id": 1887, - "nodeType": "Block", - "src": "1201:129:6", - "statements": [ - { - "assignments": [ - 1873 - ], - "declarations": [ - { - "constant": false, - "id": 1873, - "name": "reciever", - "nodeType": "VariableDeclaration", - "scope": 1887, - "src": "1207:24:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC223Receiver_$43", - "typeString": "contract IERC223Receiver" - }, - "typeName": { - "contractScope": null, - "id": 1872, - "name": "IERC223Receiver", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 43, - "src": "1207:15:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC223Receiver_$43", - "typeString": "contract IERC223Receiver" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1877, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1875, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1863, - "src": "1250:3:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1874, - "name": "IERC223Receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43, - "src": "1234:15:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC223Receiver_$43_$", - "typeString": "type(contract IERC223Receiver)" - } - }, - "id": 1876, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1234:20:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC223Receiver_$43", - "typeString": "contract IERC223Receiver" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1207:47:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1880, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "1290:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1881, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1290:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 1882, - "name": "_origin", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1861, - "src": "1302:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1883, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1865, - "src": "1311:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1884, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1867, - "src": "1319:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 1878, - "name": "reciever", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1873, - "src": "1267:8:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC223Receiver_$43", - "typeString": "contract IERC223Receiver" - } - }, - "id": 1879, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "tokenFallback", - "nodeType": "MemberAccess", - "referencedDeclaration": 42, - "src": "1267:22:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,address,uint256,bytes memory) external returns (bool)" - } - }, - "id": 1885, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1267:58:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1871, - "id": 1886, - "nodeType": "Return", - "src": "1260:65:6" - } - ] - }, - "documentation": null, - "id": 1888, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "contractFallback", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1868, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1861, - "name": "_origin", - "nodeType": "VariableDeclaration", - "scope": 1888, - "src": "1089:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1860, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1089:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1863, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 1888, - "src": "1110:11:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1862, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1110:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1865, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 1888, - "src": "1127:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1864, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1127:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1867, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 1888, - "src": "1147:18:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1866, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1147:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1083:86:6" - }, - "returnParameters": { - "id": 1871, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1870, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 1888, - "src": "1187:12:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1869, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1187:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1186:14:6" - }, - "scope": 1905, - "src": "1058:272:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "private" - }, - { - "body": { - "id": 1903, - "nodeType": "Block", - "src": "1409:164:6", - "statements": [ - { - "assignments": [ - 1896 - ], - "declarations": [ - { - "constant": false, - "id": 1896, - "name": "length", - "nodeType": "VariableDeclaration", - "scope": 1903, - "src": "1415:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1895, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1415:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1897, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "1415:14:6" - }, - { - "externalReferences": [ - { - "length": { - "declaration": 1896, - "isOffset": false, - "isSlot": false, - "src": "1512:6:6", - "valueSize": 1 - } - }, - { - "_addr": { - "declaration": 1890, - "isOffset": false, - "isSlot": false, - "src": "1534:5:6", - "valueSize": 1 - } - } - ], - "id": 1898, - "nodeType": "InlineAssembly", - "operations": "{ length := extcodesize(_addr) }", - "src": "1495:51:6" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1901, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1899, - "name": "length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1896, - "src": "1558:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1900, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1567:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1558:10:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1894, - "id": 1902, - "nodeType": "Return", - "src": "1551:17:6" - } - ] - }, - "documentation": null, - "id": 1904, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isContract", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1891, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1890, - "name": "_addr", - "nodeType": "VariableDeclaration", - "scope": 1904, - "src": "1354:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1889, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1354:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1353:15:6" - }, - "returnParameters": { - "id": 1894, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1893, - "name": "is_contract", - "nodeType": "VariableDeclaration", - "scope": 1904, - "src": "1391:16:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1892, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1391:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1390:18:6" - }, - "scope": 1905, - "src": "1334:239:6", - "stateMutability": "view", - "superFunction": null, - "visibility": "private" - } - ], - "scope": 1906, - "src": "171:1404:6" - } - ], - "src": "0:1576:6" - }, - "legacyAST": { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/tokens/ERC223Mintable.sol", - "exportedSymbols": { - "ERC223Mintable": [ - 1905 - ] - }, - "id": 1906, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1742, - "literals": [ - "solidity", - "^", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:23:6" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20Mintable.sol", - "file": "@openzeppelin/contracts/token/ERC20/ERC20Mintable.sol", - "id": 1743, - "nodeType": "ImportDirective", - "scope": 1906, - "sourceUnit": 2747, - "src": "25:63:6", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223.sol", - "file": "../interfaces/IERC223.sol", - "id": 1744, - "nodeType": "ImportDirective", - "scope": 1906, - "sourceUnit": 28, - "src": "89:35:6", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223Receiver.sol", - "file": "../interfaces/IERC223Receiver.sol", - "id": 1745, - "nodeType": "ImportDirective", - "scope": 1906, - "sourceUnit": 44, - "src": "125:43:6", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 1746, - "name": "IERC223", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27, - "src": "198:7:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC223_$27", - "typeString": "contract IERC223" - } - }, - "id": 1747, - "nodeType": "InheritanceSpecifier", - "src": "198:7:6" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 1748, - "name": "ERC20Mintable", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2746, - "src": "207:13:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20Mintable_$2746", - "typeString": "contract ERC20Mintable" - } - }, - "id": 1749, - "nodeType": "InheritanceSpecifier", - "src": "207:13:6" - } - ], - "contractDependencies": [ - 27, - 1938, - 2126, - 2718, - 2746, - 2815 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 1905, - "linearizedBaseContracts": [ - 1905, - 2746, - 2126, - 2718, - 2815, - 1938, - 27 - ], - "name": "ERC223Mintable", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 1782, - "nodeType": "Block", - "src": "330:151:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1763, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1751, - "src": "351:3:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1764, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1753, - "src": "356:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1760, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3903, - "src": "336:5:6", - "typeDescriptions": { - "typeIdentifier": "t_super$_ERC223Mintable_$1905", - "typeString": "contract super ERC223Mintable" - } - }, - "id": 1762, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 2376, - "src": "336:14:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) returns (bool)" - } - }, - "id": 1765, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "336:27:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1766, - "nodeType": "ExpressionStatement", - "src": "336:27:6" - }, - { - "condition": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1768, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1751, - "src": "384:3:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1767, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1904, - "src": "373:10:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 1769, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "373:15:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 1779, - "nodeType": "IfStatement", - "src": "369:91:6", - "trueBody": { - "id": 1778, - "nodeType": "Block", - "src": "390:70:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1771, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "422:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1772, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "422:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 1773, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1751, - "src": "434:3:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1774, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1753, - "src": "439:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1775, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1755, - "src": "447:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 1770, - "name": "contractFallback", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1888, - "src": "405:16:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,address,uint256,bytes memory) returns (bool)" - } - }, - "id": 1776, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "405:48:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1759, - "id": 1777, - "nodeType": "Return", - "src": "398:55:6" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1780, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "472:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 1759, - "id": 1781, - "nodeType": "Return", - "src": "465:11:6" - } - ] - }, - "documentation": null, - "id": 1783, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1756, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1751, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 1783, - "src": "248:11:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1750, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "248:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1753, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 1783, - "src": "265:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1752, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "265:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1755, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 1783, - "src": "285:18:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1754, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "285:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "242:65:6" - }, - "returnParameters": { - "id": 1759, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1758, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1783, - "src": "324:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1757, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "324:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "323:6:6" - }, - "scope": 1905, - "src": "225:256:6", - "stateMutability": "nonpayable", - "superFunction": 13, - "visibility": "public" - }, - { - "body": { - "id": 1817, - "nodeType": "Block", - "src": "613:143:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1799, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1785, - "src": "638:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1800, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1787, - "src": "645:3:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1801, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1789, - "src": "650:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 1796, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3903, - "src": "619:5:6", - "typeDescriptions": { - "typeIdentifier": "t_super$_ERC223Mintable_$1905", - "typeString": "contract super ERC223Mintable" - } - }, - "id": 1798, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 2447, - "src": "619:18:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) returns (bool)" - } - }, - "id": 1802, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "619:38:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1803, - "nodeType": "ExpressionStatement", - "src": "619:38:6" - }, - { - "condition": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1805, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1787, - "src": "678:3:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1804, - "name": "isContract", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1904, - "src": "667:10:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 1806, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "667:15:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 1814, - "nodeType": "IfStatement", - "src": "663:71:6", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1808, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1785, - "src": "708:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1809, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1787, - "src": "715:3:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1810, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1789, - "src": "720:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1811, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1791, - "src": "728:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 1807, - "name": "contractFallback", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1888, - "src": "691:16:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,address,uint256,bytes memory) returns (bool)" - } - }, - "id": 1812, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "691:43:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1795, - "id": 1813, - "nodeType": "Return", - "src": "684:50:6" - } - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1815, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "747:4:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 1795, - "id": 1816, - "nodeType": "Return", - "src": "740:11:6" - } - ] - }, - "documentation": null, - "id": 1818, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1792, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1785, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 1818, - "src": "512:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1784, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "512:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1787, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 1818, - "src": "531:11:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1786, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "531:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1789, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 1818, - "src": "548:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1788, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "548:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1791, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 1818, - "src": "568:18:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1790, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "568:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "506:84:6" - }, - "returnParameters": { - "id": 1795, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1794, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1818, - "src": "607:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1793, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "607:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "606:6:6" - }, - "scope": 1905, - "src": "485:271:6", - "stateMutability": "nonpayable", - "superFunction": 26, - "visibility": "public" - }, - { - "body": { - "id": 1836, - "nodeType": "Block", - "src": "829:53:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1828, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1820, - "src": "851:3:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1829, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1822, - "src": "856:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 1832, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "874:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 1831, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "864:9:6", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$", - "typeString": "function (uint256) pure returns (bytes memory)" - }, - "typeName": { - "id": 1830, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "868:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - } - }, - "id": 1833, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "864:12:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - ], - "id": 1827, - "name": "transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 1783, - 1837 - ], - "referencedDeclaration": 1783, - "src": "842:8:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,uint256,bytes memory) returns (bool)" - } - }, - "id": 1834, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "842:35:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1826, - "id": 1835, - "nodeType": "Return", - "src": "835:42:6" - } - ] - }, - "documentation": null, - "id": 1837, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1823, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1820, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 1837, - "src": "778:11:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1819, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "778:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1822, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 1837, - "src": "791:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1821, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "791:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "777:29:6" - }, - "returnParameters": { - "id": 1826, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1825, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1837, - "src": "823:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1824, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "823:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "822:6:6" - }, - "scope": 1905, - "src": "760:122:6", - "stateMutability": "nonpayable", - "superFunction": 2376, - "visibility": "public" - }, - { - "body": { - "id": 1858, - "nodeType": "Block", - "src": "990:64:6", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1849, - "name": "_from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1839, - "src": "1016:5:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1850, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1841, - "src": "1023:3:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1851, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1843, - "src": "1028:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 1854, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1046:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 1853, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "1036:9:6", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_$", - "typeString": "function (uint256) pure returns (bytes memory)" - }, - "typeName": { - "id": 1852, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1040:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - } - }, - "id": 1855, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1036:12:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory", - "typeString": "bytes memory" - } - ], - "id": 1848, - "name": "transferFrom", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 1818, - 1859 - ], - "referencedDeclaration": 1818, - "src": "1003:12:6", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,address,uint256,bytes memory) returns (bool)" - } - }, - "id": 1856, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1003:46:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1847, - "id": 1857, - "nodeType": "Return", - "src": "996:53:6" - } - ] - }, - "documentation": null, - "id": 1859, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1844, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1839, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 1859, - "src": "913:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1838, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "913:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1841, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 1859, - "src": "932:11:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1840, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "932:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1843, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 1859, - "src": "949:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1842, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "949:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "907:60:6" - }, - "returnParameters": { - "id": 1847, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1846, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 1859, - "src": "984:4:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1845, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "984:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "983:6:6" - }, - "scope": 1905, - "src": "886:168:6", - "stateMutability": "nonpayable", - "superFunction": 2447, - "visibility": "public" - }, - { - "body": { - "id": 1887, - "nodeType": "Block", - "src": "1201:129:6", - "statements": [ - { - "assignments": [ - 1873 - ], - "declarations": [ - { - "constant": false, - "id": 1873, - "name": "reciever", - "nodeType": "VariableDeclaration", - "scope": 1887, - "src": "1207:24:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC223Receiver_$43", - "typeString": "contract IERC223Receiver" - }, - "typeName": { - "contractScope": null, - "id": 1872, - "name": "IERC223Receiver", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 43, - "src": "1207:15:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC223Receiver_$43", - "typeString": "contract IERC223Receiver" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1877, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1875, - "name": "_to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1863, - "src": "1250:3:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1874, - "name": "IERC223Receiver", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 43, - "src": "1234:15:6", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC223Receiver_$43_$", - "typeString": "type(contract IERC223Receiver)" - } - }, - "id": 1876, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1234:20:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC223Receiver_$43", - "typeString": "contract IERC223Receiver" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1207:47:6" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1880, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3846, - "src": "1290:3:6", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 1881, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1290:10:6", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 1882, - "name": "_origin", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1861, - "src": "1302:7:6", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 1883, - "name": "_value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1865, - "src": "1311:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 1884, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1867, - "src": "1319:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 1878, - "name": "reciever", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1873, - "src": "1267:8:6", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC223Receiver_$43", - "typeString": "contract IERC223Receiver" - } - }, - "id": 1879, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "tokenFallback", - "nodeType": "MemberAccess", - "referencedDeclaration": 42, - "src": "1267:22:6", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$_t_bool_$", - "typeString": "function (address,address,uint256,bytes memory) external returns (bool)" - } - }, - "id": 1885, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1267:58:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1871, - "id": 1886, - "nodeType": "Return", - "src": "1260:65:6" - } - ] - }, - "documentation": null, - "id": 1888, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "contractFallback", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1868, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1861, - "name": "_origin", - "nodeType": "VariableDeclaration", - "scope": 1888, - "src": "1089:15:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1860, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1089:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1863, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 1888, - "src": "1110:11:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1862, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1110:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1865, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 1888, - "src": "1127:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1864, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1127:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1867, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 1888, - "src": "1147:18:6", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 1866, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1147:5:6", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1083:86:6" - }, - "returnParameters": { - "id": 1871, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1870, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 1888, - "src": "1187:12:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1869, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1187:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1186:14:6" - }, - "scope": 1905, - "src": "1058:272:6", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "private" - }, - { - "body": { - "id": 1903, - "nodeType": "Block", - "src": "1409:164:6", - "statements": [ - { - "assignments": [ - 1896 - ], - "declarations": [ - { - "constant": false, - "id": 1896, - "name": "length", - "nodeType": "VariableDeclaration", - "scope": 1903, - "src": "1415:14:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 1895, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1415:7:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 1897, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "1415:14:6" - }, - { - "externalReferences": [ - { - "length": { - "declaration": 1896, - "isOffset": false, - "isSlot": false, - "src": "1512:6:6", - "valueSize": 1 - } - }, - { - "_addr": { - "declaration": 1890, - "isOffset": false, - "isSlot": false, - "src": "1534:5:6", - "valueSize": 1 - } - } - ], - "id": 1898, - "nodeType": "InlineAssembly", - "operations": "{ length := extcodesize(_addr) }", - "src": "1495:51:6" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 1901, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 1899, - "name": "length", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1896, - "src": "1558:6:6", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 1900, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1567:1:6", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1558:10:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 1894, - "id": 1902, - "nodeType": "Return", - "src": "1551:17:6" - } - ] - }, - "documentation": null, - "id": 1904, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isContract", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1891, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1890, - "name": "_addr", - "nodeType": "VariableDeclaration", - "scope": 1904, - "src": "1354:13:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1889, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1354:7:6", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1353:15:6" - }, - "returnParameters": { - "id": 1894, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1893, - "name": "is_contract", - "nodeType": "VariableDeclaration", - "scope": 1904, - "src": "1391:16:6", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 1892, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1391:4:6", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1390:18:6" - }, - "scope": 1905, - "src": "1334:239:6", - "stateMutability": "view", - "superFunction": null, - "visibility": "private" - } - ], - "scope": 1906, - "src": "171:1404:6" - } - ], - "src": "0:1576:6" - }, - "compiler": { - "name": "solc", - "version": "0.5.17+commit.d19bba13.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.16", - "updatedAt": "2020-11-17T15:15:49.599Z", - "devdoc": { - "methods": { - "allowance(address,address)": { - "details": "See {IERC20-allowance}." - }, - "approve(address,uint256)": { - "details": "See {IERC20-approve}. * Requirements: * - `spender` cannot be the zero address." - }, - "balanceOf(address)": { - "details": "See {IERC20-balanceOf}." - }, - "decreaseAllowance(address,uint256)": { - "details": "Atomically decreases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`." - }, - "increaseAllowance(address,uint256)": { - "details": "Atomically increases the allowance granted to `spender` by the caller. * This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. * Emits an {Approval} event indicating the updated allowance. * Requirements: * - `spender` cannot be the zero address." - }, - "mint(address,uint256)": { - "details": "See {ERC20-_mint}. * Requirements: * - the caller must have the {MinterRole}." - }, - "totalSupply()": { - "details": "See {IERC20-totalSupply}." - } - } - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/packages/proxyIdentity/build/contracts/ERC223Receiver.json b/packages/proxyIdentity/build/contracts/ERC223Receiver.json deleted file mode 100644 index bac760391..000000000 --- a/packages/proxyIdentity/build/contracts/ERC223Receiver.json +++ /dev/null @@ -1,207 +0,0 @@ -{ - "contractName": "ERC223Receiver", - "abi": [ - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "internalType": "address", - "name": "_origin", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_value", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "tokenFallback", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_origin\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"tokenFallback\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/tokens/ERC223Receiver.sol\":\"ERC223Receiver\"},\"evmVersion\":\"constantinople\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223Receiver.sol\":{\"keccak256\":\"0x3d4cacfc4d9b98e6d79a1f30ac15f171253771454fff2605d0eeeff14ddd8996\",\"urls\":[\"bzz-raw://c9537e6ef6b75a1fd320b099e6d0ee5eb85c89b6147b22196331b2b3393c736b\",\"dweb:/ipfs/Qmd32qvh5cncrttSuk92ugFakEK8YTLCkMP2tadfymBT6q\"]},\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/tokens/ERC223Receiver.sol\":{\"keccak256\":\"0x42c3392dc57388b38ada5f712866e9da620b65666cedbe8049fb609ea833cba9\",\"urls\":[\"bzz-raw://176f8eda74b995232dbb7e4d7267ad50e52592b1d0baf65e9210cb92d1a46c71\",\"dweb:/ipfs/QmRABEBcuwFcLReAfM7jcvtkZb3trzVaSKio6e3Msca6nU\"]}},\"version\":1}", - "bytecode": "0x", - "deployedBytecode": "0x", - "sourceMap": "", - "deployedSourceMap": "", - "source": "pragma solidity ^0.5.0;\n\nimport \"../interfaces/IERC223Receiver.sol\";\n\n\ncontract ERC223Receiver is IERC223Receiver {}\n", - "sourcePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/tokens/ERC223Receiver.sol", - "ast": { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/tokens/ERC223Receiver.sol", - "exportedSymbols": { - "ERC223Receiver": [ - 1911 - ] - }, - "id": 1912, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1907, - "literals": [ - "solidity", - "^", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:23:7" - }, - { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223Receiver.sol", - "file": "../interfaces/IERC223Receiver.sol", - "id": 1908, - "nodeType": "ImportDirective", - "scope": 1912, - "sourceUnit": 44, - "src": "25:43:7", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 1909, - "name": "IERC223Receiver", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 43, - "src": "98:15:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC223Receiver_$43", - "typeString": "contract IERC223Receiver" - } - }, - "id": 1910, - "nodeType": "InheritanceSpecifier", - "src": "98:15:7" - } - ], - "contractDependencies": [ - 43 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 1911, - "linearizedBaseContracts": [ - 1911, - 43 - ], - "name": "ERC223Receiver", - "nodeType": "ContractDefinition", - "nodes": [], - "scope": 1912, - "src": "71:45:7" - } - ], - "src": "0:117:7" - }, - "legacyAST": { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/tokens/ERC223Receiver.sol", - "exportedSymbols": { - "ERC223Receiver": [ - 1911 - ] - }, - "id": 1912, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1907, - "literals": [ - "solidity", - "^", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:23:7" - }, - { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223Receiver.sol", - "file": "../interfaces/IERC223Receiver.sol", - "id": 1908, - "nodeType": "ImportDirective", - "scope": 1912, - "sourceUnit": 44, - "src": "25:43:7", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 1909, - "name": "IERC223Receiver", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 43, - "src": "98:15:7", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC223Receiver_$43", - "typeString": "contract IERC223Receiver" - } - }, - "id": 1910, - "nodeType": "InheritanceSpecifier", - "src": "98:15:7" - } - ], - "contractDependencies": [ - 43 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": false, - "id": 1911, - "linearizedBaseContracts": [ - 1911, - 43 - ], - "name": "ERC223Receiver", - "nodeType": "ContractDefinition", - "nodes": [], - "scope": 1912, - "src": "71:45:7" - } - ], - "src": "0:117:7" - }, - "compiler": { - "name": "solc", - "version": "0.5.17+commit.d19bba13.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.16", - "updatedAt": "2020-11-17T15:15:49.601Z", - "devdoc": { - "methods": {} - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/packages/proxyIdentity/build/contracts/IERC1056.json b/packages/proxyIdentity/build/contracts/IERC1056.json index e33fe6526..d49b395ed 100644 --- a/packages/proxyIdentity/build/contracts/IERC1056.json +++ b/packages/proxyIdentity/build/contracts/IERC1056.json @@ -5,27 +5,27 @@ "constant": false, "inputs": [ { - "internalType": "address", "name": "identity", "type": "address" }, { - "internalType": "bytes32", - "name": "delegateType", + "name": "sigV", + "type": "uint8" + }, + { + "name": "sigR", "type": "bytes32" }, { - "internalType": "address", - "name": "delegate", - "type": "address" + "name": "sigS", + "type": "bytes32" }, { - "internalType": "uint256", - "name": "validity", - "type": "uint256" + "name": "newOwner", + "type": "address" } ], - "name": "addDelegate", + "name": "changeOwnerSigned", "outputs": [], "payable": false, "stateMutability": "nonpayable", @@ -35,124 +35,88 @@ "constant": false, "inputs": [ { - "internalType": "address", "name": "identity", "type": "address" }, { - "internalType": "bytes32", - "name": "delegateType", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "delegate", + "name": "newOwner", "type": "address" } ], - "name": "revokeDelegate", + "name": "changeOwner", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "identity", + "type": "address" + } + ], + "name": "identityOwner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "owner", + "type": "address" + } + ], + "name": "nonce", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" } ], - "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"identity\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"delegateType\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"delegate\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"validity\",\"type\":\"uint256\"}],\"name\":\"addDelegate\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"identity\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"delegateType\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"delegate\",\"type\":\"address\"}],\"name\":\"revokeDelegate\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/proxyIdentity.sol\":\"IERC1056\"},\"evmVersion\":\"constantinople\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223.sol\":{\"keccak256\":\"0x3e3d1fc80b2e7c13015946457c9f4a5255f3b6f385b48616159e78c7b2c74737\",\"urls\":[\"bzz-raw://3f3458d0c93202f964bbf51a349b99165344f8eec5c43bb3ca5291c13488286f\",\"dweb:/ipfs/QmQ6ZV1eJqKffWcYqa5iQ22zPkQvgjXiNnciajAE6eb8ep\"]},\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223Receiver.sol\":{\"keccak256\":\"0x3d4cacfc4d9b98e6d79a1f30ac15f171253771454fff2605d0eeeff14ddd8996\",\"urls\":[\"bzz-raw://c9537e6ef6b75a1fd320b099e6d0ee5eb85c89b6147b22196331b2b3393c736b\",\"dweb:/ipfs/Qmd32qvh5cncrttSuk92ugFakEK8YTLCkMP2tadfymBT6q\"]},\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/proxyIdentity.sol\":{\"keccak256\":\"0xdf4dda59244973fb70bd0cb82914435443c07fce5e003b8158afd389c889d12a\",\"urls\":[\"bzz-raw://a6b786967673526b3ba93dec11153160479b028e9b435563b7b32bc4b62710f6\",\"dweb:/ipfs/QmQ7ibdezbEeg3qMH9eAuqvUaXaNcV7EJzKvZuDM7M4Yho\"]},\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/tokens/ERC1155Multiproxy.sol\":{\"keccak256\":\"0x65c692e6fdfbdc216d31f9f2a82ccd528126fc3a7fd2b30460696bef6890e57b\",\"urls\":[\"bzz-raw://8018e79ca78802e46722409d8e6eca2f364c255d97de988d3c39d951cfcb5f66\",\"dweb:/ipfs/QmTFsypNNX9thXu9jFX5WzLKD95ysLWwP2Pm6QHuiMcTPb\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzz-raw://59fd025151435da35faa8093a5c7a17de02de9d08ad27275c5cdf05050820d91\",\"dweb:/ipfs/QmQMvwEcPhoRXzbXyrdoeRtvLoifUW9Qh7Luho7bmUPRkc\"]},\"multi-token-standard/contracts/interfaces/IERC1155.sol\":{\"keccak256\":\"0x9632273d1c5272823807d1d0b1630af9e2dad7f1e41a65bfdbc66bda702c53a1\",\"urls\":[\"bzz-raw://6deb9bdff007e4b367d4561699f45f0f8521a4412a770a9292c109844f739f58\",\"dweb:/ipfs/QmTXrB3rTHHrNcHAa3PYoq2BRJiT4nMmMrPmA6AjDsk7HB\"]},\"multi-token-standard/contracts/interfaces/IERC1155TokenReceiver.sol\":{\"keccak256\":\"0xdf097e5f122d544a93027619c941dc8475bead114e421b9398d9a1482b9bffb8\",\"urls\":[\"bzz-raw://9bdc0f8d96e08965b0e7c98b8ba9e67a56afc26c014784caf53ea4e04a966eb3\",\"dweb:/ipfs/QmRiuqBiDqfQNUtpjiwj5rR1iD5Psh6KdzKiBNNriiq68m\"]},\"multi-token-standard/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x5561863476cd7598c203efcd18bb436746a2596ac61e37c7bbf73790a511de39\",\"urls\":[\"bzz-raw://92f034ed08c66e4a1579b6ad8dd53e615cb7d39b2f26a131fd62f90f3d30e25b\",\"dweb:/ipfs/QmXKMPTepiBrfEKgpQR8PneSgAsVi2769wy9THBM65BspH\"]},\"multi-token-standard/contracts/tokens/ERC1155/ERC1155.sol\":{\"keccak256\":\"0x454f992789731d8ca2e284409dc69115285e48c8c9ad8f38b1f35d9e7bc23320\",\"urls\":[\"bzz-raw://e101d27d80cecb9b8cc788982914974022984f90b213550bc1290818a7047139\",\"dweb:/ipfs/QmZu2HKUsQa5GbGrrtKbCkX5VLRZiPxAtDUxBDf1V7QtR1\"]},\"multi-token-standard/contracts/tokens/ERC1155/ERC1155Metadata.sol\":{\"keccak256\":\"0x4ef6482f64e22ea36be61c3eba61f85bed1fa75f83dcda5c4850697b5ed2c4d4\",\"urls\":[\"bzz-raw://e7550ccafd3c9e121a9d9a86e6246db33cf6a1917bf89fdd3dc35c3e539489b4\",\"dweb:/ipfs/QmQKsdE526BUTA4Xjo8FeTwmYQMWeXEUqHs392hLKeFZGn\"]},\"multi-token-standard/contracts/tokens/ERC1155/ERC1155MintBurn.sol\":{\"keccak256\":\"0x8b5247002651f1bcc2365b22051a9db517b4e4892d71594fd0adcea4a43ec678\",\"urls\":[\"bzz-raw://f7ddd00e7da49cbac08d2c3678b520875aee42c505ffde06e62c86f43f9da43a\",\"dweb:/ipfs/QmVBa6ocmrrLp3ak46hFHVGgL2GJq9z8VWvBX4GPyWYhrD\"]},\"multi-token-standard/contracts/utils/Address.sol\":{\"keccak256\":\"0xc089dcd9159bf02993336e47f629e8e86dcd3086cf2278e9ea06145b4094be5f\",\"urls\":[\"bzz-raw://bf05b053fb01bda8c24854d5d5c652c3c46c411597d90692e0c146b02a5154a0\",\"dweb:/ipfs/QmP5madVNQjx9JHqkdx9R79MdZZgeQJFEWVW5iwRYBV4ny\"]},\"multi-token-standard/contracts/utils/SafeMath.sol\":{\"keccak256\":\"0x0a904266aa9620d2f126588f1a964ec47bd8e777f3b2281a6e8f6897bc1d9fbd\",\"urls\":[\"bzz-raw://c4fcd436cda8c33574b2146bb9098f560095e4b2d63084563c176c2d402a9554\",\"dweb:/ipfs/QmW3Jo5Lt6LUf8pp6r7vE5kfpMpknJNoFEqTH9FbK7eFiU\"]}},\"version\":1}", + "metadata": "", "bytecode": "0x", "deployedBytecode": "0x", "sourceMap": "", "deployedSourceMap": "", - "source": "pragma solidity ^0.5.0;\n\nimport \"multi-token-standard/contracts/interfaces/IERC165.sol\";\nimport \"multi-token-standard/contracts/interfaces/IERC1155.sol\";\nimport \"multi-token-standard/contracts/interfaces/IERC1155TokenReceiver.sol\";\nimport \"./interfaces/IERC223Receiver.sol\";\nimport \"./interfaces/IERC223.sol\";\nimport \"./tokens/ERC1155Multiproxy.sol\";\n\ninterface IERC1056 {\n function addDelegate(\n address identity,\n bytes32 delegateType,\n address delegate,\n uint256 validity\n ) external;\n\n function revokeDelegate(\n address identity,\n bytes32 delegateType,\n address delegate\n ) external;\n}\n\ncontract ProxyIdentity is IERC1155TokenReceiver, IERC165, IERC223Receiver {\n address public owner;\n address public creator;\n address[] public agents;\n address public erc1056;\n address public erc1155;\n uint256 defaultValidity = 2**256 - 1;\n mapping(bytes32 => bool) digests;\n bytes4 internal constant ERC1155_ACCEPTED = 0xf23a6e61;\n bytes4 internal constant ERC1155_BATCH_ACCEPTED = 0xbc197c81;\n Tkn tkn;\n bool __isTokenFallback;\n string public serial;\n uint256 public id;\n mapping(address => bool) public isApproved;\n\n struct Tkn {\n address addr;\n address sender;\n address origin;\n uint256 value;\n bytes data;\n bytes4 sig;\n }\n\n event TransactionSent(bytes data, address to, uint256 value);\n event ApprovedAgentAdded(address agent);\n event ApprovedAgentRemoved(address agent);\n\n constructor(\n address _erc1056,\n address _erc1155,\n string memory _serial,\n address _creator\n ) public {\n erc1056 = _erc1056;\n erc1155 = _erc1155;\n serial = _serial;\n creator = _creator;\n owner = _creator;\n id = ERC1155Multiproxy(_erc1155).tokenCount();\n ERC1155Multiproxy(_erc1155).mint(id);\n _addDelegate(_creator);\n }\n\n modifier _owner() {\n require(msg.sender == owner, \"Only owner allowed\");\n _;\n }\n\n modifier isOwnerOrApproved() {\n require(\n msg.sender == owner || isApproved[msg.sender],\n \"ProxyIdentity: Only owner or approved agent allowed\"\n );\n _;\n }\n\n modifier tokenPayable {\n if (!__isTokenFallback)\n revert(\"Method can be invoked only as part of ERC223 transfer\");\n _;\n }\n\n function sendTransaction(\n bytes memory _data,\n address to,\n uint256 value\n ) public payable _owner() {\n require(_sendTransaction(_data, to, value), \"Can't send transaction\");\n }\n\n function sendSignedTransaction(\n bytes memory data,\n address to,\n uint8 v,\n bytes32 r,\n bytes32 s,\n uint256 value,\n uint256 nonce\n ) public payable {\n bytes32 digest = keccak256(abi.encode(data, to, value, nonce));\n require(digests[digest] == false, \"This transaction has already been sent\");\n digests[digest] = true;\n bytes32 hash = keccak256(\n abi.encodePacked(\"\\x19Ethereum Signed Message:\\n32\", digest)\n );\n address signer = ecrecover(hash, v, r, s);\n require(\n signer == owner,\n \"Signature is not valid\"\n );\n require(_sendTransaction(data, to, value), \"Can't send transaction\");\n }\n\n function addDelegate(address delegate) public _owner() {\n _addDelegate(delegate);\n }\n\n function revokeDelegate(address delegate) public _owner() {\n IERC1056(erc1056).revokeDelegate(address(this), \"sigAuth\", delegate);\n }\n\n function changeOwner(address newOwner) public isOwnerOrApproved {\n owner = newOwner;\n }\n\n function addApprovedAgent(address agent) public isOwnerOrApproved {\n isApproved[agent] = true;\n ERC1155Multiproxy(erc1155).setApprovalForAll(agent, true);\n }\n\n function removeApprovedAgent(address agent) public isOwnerOrApproved {\n isApproved[agent] = false;\n ERC1155Multiproxy(erc1155).setApprovalForAll(agent, false);\n }\n\n function uri() public view returns (string memory) {\n return ERC1155Multiproxy(erc1155).uri(id);\n }\n\n function updateUri(string memory _uri) public {\n ERC1155Multiproxy(erc1155).updateUri(id, _uri);\n }\n\n function onERC1155Received(\n address _operator,\n address _from,\n uint256 _id,\n uint256 _value,\n bytes calldata _data\n ) external returns (bytes4) {\n return ERC1155_ACCEPTED;\n }\n\n function onERC1155BatchReceived(\n address _operator,\n address _from,\n uint256[] calldata _ids,\n uint256[] calldata _values,\n bytes calldata _data\n ) external returns (bytes4) {\n return ERC1155_BATCH_ACCEPTED;\n }\n\n function _sendTransaction(\n bytes memory _data,\n address to,\n uint256 value\n ) internal returns (bool success) {\n bytes memory data = _data;\n uint256 len = data.length;\n // solium-disable-next-line security/no-inline-assembly\n assembly {\n success := call(gas, to, value, add(data, 0x20), len, 0, 0)\n }\n emit TransactionSent(_data, to, value);\n }\n\n function _addDelegate(address delegate) internal {\n IERC1056(erc1056).addDelegate(\n address(this),\n \"sigAuth\",\n delegate,\n defaultValidity\n );\n }\n\n /**\n * INTERFACE_SIGNATURE_ERC165 = bytes4(keccak256(\"supportsInterface(bytes4)\"));\n */\n bytes4 private constant INTERFACE_SIGNATURE_ERC165 = 0x01ffc9a7;\n\n /**\n * bytes4(keccak256(\"onERC1155Received(address,address,uint256,uint256,bytes)\"))^bytes4(keccak256(\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\"))\n */\n bytes4 private constant INTERFACE_SIGNATURE_ERC1155TOKENRECEIVER = 0x4e2312e0;\n\n /**\n * @notice Query if a contract implements an interface\n * @param _interfaceID The interface identifier, as specified in ERC-165\n * @return `true` if the contract implements `_interfaceID` and\n */\n function supportsInterface(bytes4 _interfaceID) external view returns (bool) {\n if (\n _interfaceID == INTERFACE_SIGNATURE_ERC165 ||\n _interfaceID == INTERFACE_SIGNATURE_ERC1155TOKENRECEIVER\n ) {\n return true;\n }\n return false;\n }\n\n event CallbackOnTransfer(bytes data, bool success, address sender);\n\n function tokenFallback(\n address _sender,\n address _origin,\n uint256 _value,\n bytes memory _data\n ) public returns (bool) {\n if (!supportsToken(msg.sender)) return false;\n __isTokenFallback = true;\n // solium-disable-next-line security/no-low-level-calls\n (bool success, ) = address(this).delegatecall(_data);\n __isTokenFallback = false;\n emit CallbackOnTransfer(_data, success, msg.sender);\n return success;\n }\n\n function getSig(bytes memory _data) private pure returns (bytes4 sig) {\n uint256 l = _data.length < 4 ? _data.length : 4;\n for (uint256 i = 0; i < l; i++) {\n sig = bytes4(\n uint32(uint32(sig) + uint8(_data[i]) * (2**(8 * (l - 1 - i))))\n );\n }\n }\n\n function supportsToken(address token) public pure returns (bool) {\n return true;\n }\n\n function() external payable {}\n}\n", - "sourcePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/proxyIdentity.sol", + "source": "pragma solidity 0.4.24;\n\n\ninterface IERC1056 {\n function changeOwnerSigned(\n address identity,\n uint8 sigV,\n bytes32 sigR,\n bytes32 sigS,\n address newOwner\n ) external;\n\n function changeOwner(address identity, address newOwner) external;\n\n function identityOwner(address identity) external view returns (address);\n\n function nonce(address owner) external view returns (uint256);\n}\n\n\ncontract OfferableIdentity {\n address public owner;\n address erc1056;\n string public id;\n\n uint8 sigV;\n bytes32 sigR;\n bytes32 sigS;\n address public offeredTo;\n address public offerSigner;\n bytes32 public offerHash;\n\n event OfferableIdentityCreated(address identity, address owner);\n event IdentityOffered(address identity, address offeredTo);\n event IdentityTransferred(address identity, address owner);\n event OfferRejected(address identity, address offeredTo);\n\n constructor(string memory _id, address _erc1056, address _owner) public {\n id = _id;\n erc1056 = _erc1056;\n IERC1056 registry = IERC1056(_erc1056);\n registry.changeOwner(address(this), _owner);\n owner = _owner;\n emit OfferableIdentityCreated(address(this), owner);\n }\n\n modifier isOwner() {\n require(msg.sender == owner, \"Only owner allowed\");\n _;\n }\n\n modifier isOfferedTo() {\n require(offeredTo != address(0), \"Proxy is not offered\");\n require(msg.sender == offeredTo, \"Proxy offered to other account\");\n _;\n }\n\n function offer(bytes changeOwnerTx, address _offeredTo) external isOwner {\n offeredTo = _offeredTo;\n\n erc1056.call(changeOwnerTx);\n\n emit IdentityOffered(address(this), offeredTo);\n }\n\n function accept() external isOfferedTo {\n IERC1056(erc1056).changeOwnerSigned(\n address(this),\n sigV,\n sigR,\n sigS,\n offeredTo\n );\n owner = offeredTo;\n emit IdentityTransferred(address(this), offeredTo);\n closeOffer();\n }\n\n function reject() external isOfferedTo {\n emit OfferRejected(address(this), offeredTo);\n closeOffer();\n }\n\n function closeOffer() internal {\n offeredTo = address(0);\n sigV = 0;\n sigR = \"\";\n sigS = \"\";\n }\n}\n", + "sourcePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/offerableIdentity.sol", "ast": { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/proxyIdentity.sol", + "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/offerableIdentity.sol", "exportedSymbols": { "IERC1056": [ - 216 + 36 ], - "ProxyIdentity": [ - 839 + "OfferableIdentity": [ + 254 ] }, - "id": 840, + "id": 255, "nodeType": "SourceUnit", "nodes": [ { - "id": 189, + "id": 1, "literals": [ "solidity", - "^", - "0.5", - ".0" + "0.4", + ".24" ], "nodeType": "PragmaDirective", - "src": "0:23:3" - }, - { - "absolutePath": "multi-token-standard/contracts/interfaces/IERC165.sol", - "file": "multi-token-standard/contracts/interfaces/IERC165.sol", - "id": 190, - "nodeType": "ImportDirective", - "scope": 840, - "sourceUnit": 2419, - "src": "25:63:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "multi-token-standard/contracts/interfaces/IERC1155.sol", - "file": "multi-token-standard/contracts/interfaces/IERC1155.sol", - "id": 191, - "nodeType": "ImportDirective", - "scope": 840, - "sourceUnit": 2367, - "src": "89:64:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "multi-token-standard/contracts/interfaces/IERC1155TokenReceiver.sol", - "file": "multi-token-standard/contracts/interfaces/IERC1155TokenReceiver.sol", - "id": 192, - "nodeType": "ImportDirective", - "scope": 840, - "sourceUnit": 2409, - "src": "154:77:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223Receiver.sol", - "file": "./interfaces/IERC223Receiver.sol", - "id": 193, - "nodeType": "ImportDirective", - "scope": 840, - "sourceUnit": 44, - "src": "232:42:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223.sol", - "file": "./interfaces/IERC223.sol", - "id": 194, - "nodeType": "ImportDirective", - "scope": 840, - "sourceUnit": 28, - "src": "275:34:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/tokens/ERC1155Multiproxy.sol", - "file": "./tokens/ERC1155Multiproxy.sol", - "id": 195, - "nodeType": "ImportDirective", - "scope": 840, - "sourceUnit": 1184, - "src": "310:40:3", - "symbolAliases": [], - "unitAlias": "" + "src": "0:23:0" }, { "baseContracts": [], @@ -160,9 +124,9 @@ "contractKind": "interface", "documentation": null, "fullyImplemented": false, - "id": 216, + "id": 36, "linearizedBaseContracts": [ - 216 + 36 ], "name": "IERC1056", "nodeType": "ContractDefinition", @@ -170,23 +134,24 @@ { "body": null, "documentation": null, - "id": 206, + "id": 14, "implemented": false, - "kind": "function", + "isConstructor": false, + "isDeclaredConst": false, "modifiers": [], - "name": "addDelegate", + "name": "changeOwnerSigned", "nodeType": "FunctionDefinition", "parameters": { - "id": 204, + "id": 12, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 197, + "id": 3, "name": "identity", "nodeType": "VariableDeclaration", - "scope": 206, - "src": "401:16:3", + "scope": 14, + "src": "81:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -194,11 +159,10 @@ "typeString": "address" }, "typeName": { - "id": 196, + "id": 2, "name": "address", "nodeType": "ElementaryTypeName", - "src": "401:7:3", - "stateMutability": "nonpayable", + "src": "81:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -209,11 +173,37 @@ }, { "constant": false, - "id": 199, - "name": "delegateType", + "id": 5, + "name": "sigV", + "nodeType": "VariableDeclaration", + "scope": 14, + "src": "103:10:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 4, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "103:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 7, + "name": "sigR", "nodeType": "VariableDeclaration", - "scope": 206, - "src": "423:20:3", + "scope": 14, + "src": "119:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -221,10 +211,36 @@ "typeString": "bytes32" }, "typeName": { - "id": 198, + "id": 6, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "119:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 9, + "name": "sigS", + "nodeType": "VariableDeclaration", + "scope": 14, + "src": "137:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 8, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "423:7:3", + "src": "137:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -235,11 +251,67 @@ }, { "constant": false, - "id": 201, - "name": "delegate", + "id": 11, + "name": "newOwner", + "nodeType": "VariableDeclaration", + "scope": 14, + "src": "155:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "155:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "75:100:0" + }, + "payable": false, + "returnParameters": { + "id": 13, + "nodeType": "ParameterList", + "parameters": [], + "src": "184:0:0" + }, + "scope": 36, + "src": "49:136:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 21, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "changeOwner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 19, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16, + "name": "identity", "nodeType": "VariableDeclaration", - "scope": 206, - "src": "449:16:3", + "scope": 21, + "src": "210:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -247,11 +319,10 @@ "typeString": "address" }, "typeName": { - "id": 200, + "id": 15, "name": "address", "nodeType": "ElementaryTypeName", - "src": "449:7:3", - "stateMutability": "nonpayable", + "src": "210:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -262,41 +333,42 @@ }, { "constant": false, - "id": 203, - "name": "validity", + "id": 18, + "name": "newOwner", "nodeType": "VariableDeclaration", - "scope": 206, - "src": "471:16:3", + "scope": 21, + "src": "228:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": 202, - "name": "uint256", + "id": 17, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "471:7:3", + "src": "228:7:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, "value": null, "visibility": "internal" } ], - "src": "395:96:3" + "src": "209:36:0" }, + "payable": false, "returnParameters": { - "id": 205, + "id": 20, "nodeType": "ParameterList", "parameters": [], - "src": "500:0:3" + "src": "254:0:0" }, - "scope": 216, - "src": "375:126:3", + "scope": 36, + "src": "189:66:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "external" @@ -304,23 +376,24 @@ { "body": null, "documentation": null, - "id": 215, + "id": 28, "implemented": false, - "kind": "function", + "isConstructor": false, + "isDeclaredConst": true, "modifiers": [], - "name": "revokeDelegate", + "name": "identityOwner", "nodeType": "FunctionDefinition", "parameters": { - "id": 213, + "id": 24, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 208, + "id": 23, "name": "identity", "nodeType": "VariableDeclaration", - "scope": 215, - "src": "534:16:3", + "scope": 28, + "src": "282:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -328,11 +401,10 @@ "typeString": "address" }, "typeName": { - "id": 207, + "id": 22, "name": "address", "nodeType": "ElementaryTypeName", - "src": "534:7:3", - "stateMutability": "nonpayable", + "src": "282:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -340,40 +412,71 @@ }, "value": null, "visibility": "internal" - }, + } + ], + "src": "281:18:0" + }, + "payable": false, + "returnParameters": { + "id": 27, + "nodeType": "ParameterList", + "parameters": [ { "constant": false, - "id": 210, - "name": "delegateType", + "id": 26, + "name": "", "nodeType": "VariableDeclaration", - "scope": 215, - "src": "556:20:3", + "scope": 28, + "src": "323:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": 209, - "name": "bytes32", + "id": 25, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "556:7:3", + "src": "323:7:0", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_address", + "typeString": "address" } }, "value": null, "visibility": "internal" - }, + } + ], + "src": "322:9:0" + }, + "scope": 36, + "src": "259:73:0", + "stateMutability": "view", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 35, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "nonce", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 31, + "nodeType": "ParameterList", + "parameters": [ { "constant": false, - "id": 212, - "name": "delegate", + "id": 30, + "name": "owner", "nodeType": "VariableDeclaration", - "scope": 215, - "src": "582:16:3", + "scope": 35, + "src": "351:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -381,11 +484,10 @@ "typeString": "address" }, "typeName": { - "id": 211, + "id": 29, "name": "address", "nodeType": "ElementaryTypeName", - "src": "582:7:3", - "stateMutability": "nonpayable", + "src": "351:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -395,106 +497,72 @@ "visibility": "internal" } ], - "src": "528:74:3" + "src": "350:15:0" }, + "payable": false, "returnParameters": { - "id": 214, + "id": 34, "nodeType": "ParameterList", - "parameters": [], - "src": "611:0:3" + "parameters": [ + { + "constant": false, + "id": 33, + "name": "", + "nodeType": "VariableDeclaration", + "scope": 35, + "src": "389:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 32, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "389:7:0", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "388:9:0" }, - "scope": 216, - "src": "505:107:3", - "stateMutability": "nonpayable", + "scope": 36, + "src": "336:62:0", + "stateMutability": "view", "superFunction": null, "visibility": "external" } ], - "scope": 840, - "src": "352:262:3" + "scope": 255, + "src": "26:374:0" }, { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 217, - "name": "IERC1155TokenReceiver", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2408, - "src": "642:21:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC1155TokenReceiver_$2408", - "typeString": "contract IERC1155TokenReceiver" - } - }, - "id": 218, - "nodeType": "InheritanceSpecifier", - "src": "642:21:3" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 219, - "name": "IERC165", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2418, - "src": "665:7:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC165_$2418", - "typeString": "contract IERC165" - } - }, - "id": 220, - "nodeType": "InheritanceSpecifier", - "src": "665:7:3" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 221, - "name": "IERC223Receiver", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 43, - "src": "674:15:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC223Receiver_$43", - "typeString": "contract IERC223Receiver" - } - }, - "id": 222, - "nodeType": "InheritanceSpecifier", - "src": "674:15:3" - } - ], - "contractDependencies": [ - 43, - 2408, - 2418 - ], + "baseContracts": [], + "contractDependencies": [], "contractKind": "contract", "documentation": null, "fullyImplemented": true, - "id": 839, + "id": 254, "linearizedBaseContracts": [ - 839, - 43, - 2418, - 2408 + 254 ], - "name": "ProxyIdentity", + "name": "OfferableIdentity", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, - "id": 224, + "id": 38, "name": "owner", "nodeType": "VariableDeclaration", - "scope": 839, - "src": "694:20:3", + "scope": 254, + "src": "434:20:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -502,11 +570,10 @@ "typeString": "address" }, "typeName": { - "id": 223, + "id": 37, "name": "address", "nodeType": "ElementaryTypeName", - "src": "694:7:3", - "stateMutability": "nonpayable", + "src": "434:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -517,11 +584,11 @@ }, { "constant": false, - "id": 226, - "name": "creator", + "id": 40, + "name": "erc1056", "nodeType": "VariableDeclaration", - "scope": 839, - "src": "718:22:3", + "scope": 254, + "src": "458:15:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -529,51 +596,39 @@ "typeString": "address" }, "typeName": { - "id": 225, + "id": 39, "name": "address", "nodeType": "ElementaryTypeName", - "src": "718:7:3", - "stateMutability": "nonpayable", + "src": "458:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "value": null, - "visibility": "public" + "visibility": "internal" }, { "constant": false, - "id": 229, - "name": "agents", + "id": 42, + "name": "id", "nodeType": "VariableDeclaration", - "scope": 839, - "src": "744:23:3", + "scope": 254, + "src": "477:16:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[]" + "typeIdentifier": "t_string_storage", + "typeString": "string" }, "typeName": { - "baseType": { - "id": 227, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "744:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 228, - "length": null, - "nodeType": "ArrayTypeName", - "src": "744:9:3", + "id": 41, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "477:6:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" } }, "value": null, @@ -581,329 +636,51 @@ }, { "constant": false, - "id": 231, - "name": "erc1056", + "id": 44, + "name": "sigV", "nodeType": "VariableDeclaration", - "scope": 839, - "src": "771:22:3", + "scope": 254, + "src": "498:10:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint8", + "typeString": "uint8" }, "typeName": { - "id": 230, - "name": "address", + "id": 43, + "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "771:7:3", - "stateMutability": "nonpayable", + "src": "498:5:0", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint8", + "typeString": "uint8" } }, "value": null, - "visibility": "public" + "visibility": "internal" }, { "constant": false, - "id": 233, - "name": "erc1155", + "id": 46, + "name": "sigR", "nodeType": "VariableDeclaration", - "scope": 839, - "src": "797:22:3", + "scope": 254, + "src": "512:12:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" }, "typeName": { - "id": 232, - "name": "address", + "id": 45, + "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "797:7:3", - "stateMutability": "nonpayable", + "src": "512:7:0", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 240, - "name": "defaultValidity", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "823:36:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 234, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "823:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1", - "typeString": "int_const 1157...(70 digits omitted)...9935" - }, - "id": 239, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639936_by_1", - "typeString": "int_const 1157...(70 digits omitted)...9936" - }, - "id": 237, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 235, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "849:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "323536", - "id": 236, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "852:3:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_256_by_1", - "typeString": "int_const 256" - }, - "value": "256" - }, - "src": "849:6:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639936_by_1", - "typeString": "int_const 1157...(70 digits omitted)...9936" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 238, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "858:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "849:10:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1", - "typeString": "int_const 1157...(70 digits omitted)...9935" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 244, - "name": "digests", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "863:32:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", - "typeString": "mapping(bytes32 => bool)" - }, - "typeName": { - "id": 243, - "keyType": { - "id": 241, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "871:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Mapping", - "src": "863:24:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", - "typeString": "mapping(bytes32 => bool)" - }, - "valueType": { - "id": 242, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "882:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": true, - "id": 247, - "name": "ERC1155_ACCEPTED", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "899:54:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 245, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "899:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30786632336136653631", - "id": 246, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "943:10:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4063915617_by_1", - "typeString": "int_const 4063915617" - }, - "value": "0xf23a6e61" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 250, - "name": "ERC1155_BATCH_ACCEPTED", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "957:60:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 248, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "957:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30786263313937633831", - "id": 249, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1007:10:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3155786881_by_1", - "typeString": "int_const 3155786881" - }, - "value": "0xbc197c81" - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 252, - "name": "tkn", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "1021:7:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Tkn_$275_storage", - "typeString": "struct ProxyIdentity.Tkn" - }, - "typeName": { - "contractScope": null, - "id": 251, - "name": "Tkn", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 275, - "src": "1021:3:3", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Tkn_$275_storage_ptr", - "typeString": "struct ProxyIdentity.Tkn" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, "value": null, @@ -911,25 +688,25 @@ }, { "constant": false, - "id": 254, - "name": "__isTokenFallback", + "id": 48, + "name": "sigS", "nodeType": "VariableDeclaration", - "scope": 839, - "src": "1032:22:3", + "scope": 254, + "src": "528:12:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" }, "typeName": { - "id": 253, - "name": "bool", + "id": 47, + "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "1032:4:3", + "src": "528:7:0", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, "value": null, @@ -937,25 +714,25 @@ }, { "constant": false, - "id": 256, - "name": "serial", + "id": 50, + "name": "offeredTo", "nodeType": "VariableDeclaration", - "scope": 839, - "src": "1058:20:3", + "scope": 254, + "src": "544:24:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": 255, - "name": "string", + "id": 49, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "1058:6:3", + "src": "544:7:0", "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" + "typeIdentifier": "t_address", + "typeString": "address" } }, "value": null, @@ -963,25 +740,25 @@ }, { "constant": false, - "id": 258, - "name": "id", + "id": 52, + "name": "offerSigner", "nodeType": "VariableDeclaration", - "scope": 839, - "src": "1082:17:3", + "scope": 254, + "src": "572:26:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": 257, - "name": "uint256", + "id": 51, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "1082:7:3", + "src": "572:7:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, "value": null, @@ -989,251 +766,62 @@ }, { "constant": false, - "id": 262, - "name": "isApproved", + "id": 54, + "name": "offerHash", "nodeType": "VariableDeclaration", - "scope": 839, - "src": "1103:42:3", + "scope": 254, + "src": "602:24:0", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" }, "typeName": { - "id": 261, - "keyType": { - "id": 259, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1111:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1103:24:3", + "id": 53, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "602:7:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueType": { - "id": 260, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1122:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, "value": null, "visibility": "public" }, - { - "canonicalName": "ProxyIdentity.Tkn", - "id": 275, - "members": [ - { - "constant": false, - "id": 264, - "name": "addr", - "nodeType": "VariableDeclaration", - "scope": 275, - "src": "1167:12:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 263, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1167:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 266, - "name": "sender", - "nodeType": "VariableDeclaration", - "scope": 275, - "src": "1185:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 265, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1185:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 268, - "name": "origin", - "nodeType": "VariableDeclaration", - "scope": 275, - "src": "1205:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 267, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1205:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 270, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 275, - "src": "1225:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 269, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1225:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 272, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 275, - "src": "1244:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 271, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1244:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 274, - "name": "sig", - "nodeType": "VariableDeclaration", - "scope": 275, - "src": "1260:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 273, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "1260:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Tkn", - "nodeType": "StructDefinition", - "scope": 839, - "src": "1150:125:3", - "visibility": "public" - }, { "anonymous": false, "documentation": null, - "id": 283, - "name": "TransactionSent", + "id": 60, + "name": "OfferableIdentityCreated", "nodeType": "EventDefinition", "parameters": { - "id": 282, + "id": 59, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 277, + "id": 56, "indexed": false, - "name": "data", + "name": "identity", "nodeType": "VariableDeclaration", - "scope": 283, - "src": "1301:10:3", + "scope": 60, + "src": "662:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": 276, - "name": "bytes", + "id": 55, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "1301:5:3", + "src": "662:7:0", "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" + "typeIdentifier": "t_address", + "typeString": "address" } }, "value": null, @@ -1241,12 +829,54 @@ }, { "constant": false, - "id": 279, + "id": 58, + "indexed": false, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 60, + "src": "680:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 57, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "680:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "661:33:0" + }, + "src": "631:64:0" + }, + { + "anonymous": false, + "documentation": null, + "id": 66, + "name": "IdentityOffered", + "nodeType": "EventDefinition", + "parameters": { + "id": 65, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 62, "indexed": false, - "name": "to", + "name": "identity", "nodeType": "VariableDeclaration", - "scope": 283, - "src": "1313:10:3", + "scope": 66, + "src": "720:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1254,11 +884,10 @@ "typeString": "address" }, "typeName": { - "id": 278, + "id": 61, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1313:7:3", - "stateMutability": "nonpayable", + "src": "720:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1269,54 +898,81 @@ }, { "constant": false, - "id": 281, + "id": 64, "indexed": false, - "name": "value", + "name": "offeredTo", "nodeType": "VariableDeclaration", - "scope": 283, - "src": "1325:13:3", + "scope": 66, + "src": "738:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": 280, - "name": "uint256", + "id": 63, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "1325:7:3", + "src": "738:7:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, "value": null, "visibility": "internal" } ], - "src": "1300:39:3" + "src": "719:37:0" }, - "src": "1279:61:3" + "src": "698:59:0" }, { "anonymous": false, "documentation": null, - "id": 287, - "name": "ApprovedAgentAdded", + "id": 72, + "name": "IdentityTransferred", "nodeType": "EventDefinition", "parameters": { - "id": 286, + "id": 71, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 285, + "id": 68, + "indexed": false, + "name": "identity", + "nodeType": "VariableDeclaration", + "scope": 72, + "src": "786:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 67, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "786:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 70, "indexed": false, - "name": "agent", + "name": "owner", "nodeType": "VariableDeclaration", - "scope": 287, - "src": "1368:13:3", + "scope": 72, + "src": "804:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1324,11 +980,10 @@ "typeString": "address" }, "typeName": { - "id": 284, + "id": 69, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1368:7:3", - "stateMutability": "nonpayable", + "src": "804:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1338,28 +993,55 @@ "visibility": "internal" } ], - "src": "1367:15:3" + "src": "785:33:0" }, - "src": "1343:40:3" + "src": "760:59:0" }, { "anonymous": false, "documentation": null, - "id": 291, - "name": "ApprovedAgentRemoved", + "id": 78, + "name": "OfferRejected", "nodeType": "EventDefinition", "parameters": { - "id": 290, + "id": 77, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 289, + "id": 74, + "indexed": false, + "name": "identity", + "nodeType": "VariableDeclaration", + "scope": 78, + "src": "842:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 73, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "842:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 76, "indexed": false, - "name": "agent", + "name": "offeredTo", "nodeType": "VariableDeclaration", - "scope": 291, - "src": "1413:13:3", + "scope": 78, + "src": "860:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1367,11 +1049,10 @@ "typeString": "address" }, "typeName": { - "id": 288, + "id": 75, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1413:7:3", - "stateMutability": "nonpayable", + "src": "860:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1381,78 +1062,78 @@ "visibility": "internal" } ], - "src": "1412:15:3" + "src": "841:37:0" }, - "src": "1386:42:3" + "src": "822:57:0" }, { "body": { - "id": 341, + "id": 121, "nodeType": "Block", - "src": "1548:242:3", + "src": "955:213:0", "statements": [ { "expression": { "argumentTypes": null, - "id": 304, + "id": 89, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 302, - "name": "erc1056", + "id": 87, + "name": "id", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 231, - "src": "1554:7:3", + "referencedDeclaration": 42, + "src": "961:2:0", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 303, - "name": "_erc1056", + "id": 88, + "name": "_id", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 293, - "src": "1564:8:3", + "referencedDeclaration": 80, + "src": "966:3:0", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" } }, - "src": "1554:18:3", + "src": "961:8:0", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" } }, - "id": 305, + "id": 90, "nodeType": "ExpressionStatement", - "src": "1554:18:3" + "src": "961:8:0" }, { "expression": { "argumentTypes": null, - "id": 308, + "id": 93, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 306, - "name": "erc1155", + "id": 91, + "name": "erc1056", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 233, - "src": "1578:7:3", + "referencedDeclaration": 40, + "src": "975:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1462,369 +1143,222 @@ "operator": "=", "rightHandSide": { "argumentTypes": null, - "id": 307, - "name": "_erc1155", + "id": 92, + "name": "_erc1056", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 295, - "src": "1588:8:3", + "referencedDeclaration": 82, + "src": "985:8:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1578:18:3", + "src": "975:18:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 309, + "id": 94, "nodeType": "ExpressionStatement", - "src": "1578:18:3" + "src": "975:18:0" }, { - "expression": { - "argumentTypes": null, - "id": 312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 310, - "name": "serial", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 256, - "src": "1602:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 311, - "name": "_serial", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 297, - "src": "1611:7:3", + "assignments": [ + 96 + ], + "declarations": [ + { + "constant": false, + "id": 96, + "name": "registry", + "nodeType": "VariableDeclaration", + "scope": 122, + "src": "999:17:0", + "stateVariable": false, + "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "1602:16:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" + "typeIdentifier": "t_contract$_IERC1056_$36", + "typeString": "contract IERC1056" + }, + "typeName": { + "contractScope": null, + "id": 95, + "name": "IERC1056", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 36, + "src": "999:8:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC1056_$36", + "typeString": "contract IERC1056" + } + }, + "value": null, + "visibility": "internal" } - }, - "id": 313, - "nodeType": "ExpressionStatement", - "src": "1602:16:3" - }, - { - "expression": { + ], + "id": 100, + "initialValue": { "argumentTypes": null, - "id": 316, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 314, - "name": "creator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 226, - "src": "1624:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "arguments": [ + { + "argumentTypes": null, + "id": 98, + "name": "_erc1056", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 82, + "src": "1028:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 315, - "name": "_creator", + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 97, + "name": "IERC1056", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 299, - "src": "1634:8:3", + "referencedDeclaration": 36, + "src": "1019:8:0", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_type$_t_contract$_IERC1056_$36_$", + "typeString": "type(contract IERC1056)" } }, - "src": "1624:18:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 317, - "nodeType": "ExpressionStatement", - "src": "1624:18:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 320, + "id": 99, "isConstant": false, "isLValue": false, "isPure": false, + "kind": "typeConversion", "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 318, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 224, - "src": "1648:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 319, - "name": "_creator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 299, - "src": "1656:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1648:16:3", + "names": [], + "nodeType": "FunctionCall", + "src": "1019:18:0", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_contract$_IERC1056_$36", + "typeString": "contract IERC1056" } }, - "id": 321, - "nodeType": "ExpressionStatement", - "src": "1648:16:3" + "nodeType": "VariableDeclarationStatement", + "src": "999:38:0" }, { "expression": { "argumentTypes": null, - "id": 328, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 322, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 258, - "src": "1670:2:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 324, - "name": "_erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 295, - "src": "1693:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 323, - "name": "ERC1155Multiproxy", + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 105, + "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1183, - "src": "1675:17:3", + "referencedDeclaration": 284, + "src": "1072:4:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC1155Multiproxy_$1183_$", - "typeString": "type(contract ERC1155Multiproxy)" + "typeIdentifier": "t_contract$_OfferableIdentity_$254", + "typeString": "contract OfferableIdentity" } - }, - "id": 325, + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_OfferableIdentity_$254", + "typeString": "contract OfferableIdentity" + } + ], + "id": 104, "isConstant": false, "isLValue": false, - "isPure": false, - "kind": "typeConversion", + "isPure": true, "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1675:27:3", + "nodeType": "ElementaryTypeNameExpression", + "src": "1064:7:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1155Multiproxy_$1183", - "typeString": "contract ERC1155Multiproxy" - } + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" }, - "id": 326, + "id": 106, "isConstant": false, "isLValue": false, "isPure": false, + "kind": "typeConversion", "lValueRequested": false, - "memberName": "tokenCount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1103, - "src": "1675:38:3", + "names": [], + "nodeType": "FunctionCall", + "src": "1064:13:0", "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "id": 327, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1675:40:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1670:45:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 329, - "nodeType": "ExpressionStatement", - "src": "1670:45:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ { "argumentTypes": null, - "id": 334, - "name": "id", + "id": 107, + "name": "_owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 258, - "src": "1754:2:3", + "referencedDeclaration": 84, + "src": "1079:6:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" } ], "expression": { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 331, - "name": "_erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 295, - "src": "1739:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 330, - "name": "ERC1155Multiproxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1183, - "src": "1721:17:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC1155Multiproxy_$1183_$", - "typeString": "type(contract ERC1155Multiproxy)" - } - }, - "id": 332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1721:27:3", + "id": 101, + "name": "registry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 96, + "src": "1043:8:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1155Multiproxy_$1183", - "typeString": "contract ERC1155Multiproxy" + "typeIdentifier": "t_contract$_IERC1056_$36", + "typeString": "contract IERC1056" } }, - "id": 333, + "id": 103, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberName": "mint", + "memberName": "changeOwner", "nodeType": "MemberAccess", - "referencedDeclaration": 1173, - "src": "1721:32:3", + "referencedDeclaration": 21, + "src": "1043:20:0", "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256) external" + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address) external" } }, - "id": 335, + "id": 108, "isConstant": false, "isLValue": false, "isPure": false, @@ -1832,28 +1366,125 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1721:36:3", + "src": "1043:43:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 336, + "id": 109, "nodeType": "ExpressionStatement", - "src": "1721:36:3" + "src": "1043:43:0" }, { "expression": { "argumentTypes": null, - "arguments": [ - { + "id": 112, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 110, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 38, + "src": "1092:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 111, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 84, + "src": "1100:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1092:14:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 113, + "nodeType": "ExpressionStatement", + "src": "1092:14:0" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 116, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 284, + "src": "1150:4:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OfferableIdentity_$254", + "typeString": "contract OfferableIdentity" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_OfferableIdentity_$254", + "typeString": "contract OfferableIdentity" + } + ], + "id": 115, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1142:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 117, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1142:13:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { "argumentTypes": null, - "id": 338, - "name": "_creator", + "id": 118, + "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 299, - "src": "1776:8:3", + "referencedDeclaration": 38, + "src": "1157:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1862,23 +1493,27 @@ ], "expression": { "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, { "typeIdentifier": "t_address", "typeString": "address" } ], - "id": 337, - "name": "_addDelegate", + "id": 114, + "name": "OfferableIdentityCreated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 681, - "src": "1763:12:3", + "referencedDeclaration": 60, + "src": "1117:24:0", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" } }, - "id": 339, + "id": 119, "isConstant": false, "isLValue": false, "isPure": false, @@ -1886,51 +1521,51 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1763:22:3", + "src": "1117:46:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 340, - "nodeType": "ExpressionStatement", - "src": "1763:22:3" + "id": 120, + "nodeType": "EmitStatement", + "src": "1112:51:0" } ] }, "documentation": null, - "id": 342, + "id": 122, "implemented": true, - "kind": "constructor", + "isConstructor": true, + "isDeclaredConst": false, "modifiers": [], "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 300, + "id": 85, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 293, - "name": "_erc1056", + "id": 80, + "name": "_id", "nodeType": "VariableDeclaration", - "scope": 342, - "src": "1449:16:3", + "scope": 122, + "src": "895:17:0", "stateVariable": false, - "storageLocation": "default", + "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" }, "typeName": { - "id": 292, - "name": "address", + "id": 79, + "name": "string", "nodeType": "ElementaryTypeName", - "src": "1449:7:3", - "stateMutability": "nonpayable", + "src": "895:6:0", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" } }, "value": null, @@ -1938,11 +1573,11 @@ }, { "constant": false, - "id": 295, - "name": "_erc1155", + "id": 82, + "name": "_erc1056", "nodeType": "VariableDeclaration", - "scope": 342, - "src": "1471:16:3", + "scope": 122, + "src": "914:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1950,11 +1585,10 @@ "typeString": "address" }, "typeName": { - "id": 294, + "id": 81, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1471:7:3", - "stateMutability": "nonpayable", + "src": "914:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1965,37 +1599,11 @@ }, { "constant": false, - "id": 297, - "name": "_serial", - "nodeType": "VariableDeclaration", - "scope": 342, - "src": "1493:21:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 296, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1493:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 299, - "name": "_creator", + "id": 84, + "name": "_owner", "nodeType": "VariableDeclaration", - "scope": 342, - "src": "1520:16:3", + "scope": 122, + "src": "932:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2003,11 +1611,10 @@ "typeString": "address" }, "typeName": { - "id": 298, + "id": 83, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1520:7:3", - "stateMutability": "nonpayable", + "src": "932:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2017,25 +1624,26 @@ "visibility": "internal" } ], - "src": "1443:97:3" + "src": "894:53:0" }, + "payable": false, "returnParameters": { - "id": 301, + "id": 86, "nodeType": "ParameterList", "parameters": [], - "src": "1548:0:3" + "src": "955:0:0" }, - "scope": 839, - "src": "1432:358:3", + "scope": 254, + "src": "883:285:0", "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" }, { "body": { - "id": 353, + "id": 133, "nodeType": "Block", - "src": "1812:68:3", + "src": "1191:68:0", "statements": [ { "expression": { @@ -2047,7 +1655,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 348, + "id": 128, "isConstant": false, "isLValue": false, "isPure": false, @@ -2056,18 +1664,18 @@ "argumentTypes": null, "expression": { "argumentTypes": null, - "id": 345, + "id": 125, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "1826:3:3", + "referencedDeclaration": 269, + "src": "1205:3:0", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 346, + "id": 126, "isConstant": false, "isLValue": false, "isPure": false, @@ -2075,28 +1683,28 @@ "memberName": "sender", "nodeType": "MemberAccess", "referencedDeclaration": null, - "src": "1826:10:3", + "src": "1205:10:0", "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" + "typeIdentifier": "t_address", + "typeString": "address" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "argumentTypes": null, - "id": 347, + "id": 127, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 224, - "src": "1840:5:3", + "referencedDeclaration": 38, + "src": "1219:5:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1826:19:3", + "src": "1205:19:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2105,14 +1713,14 @@ { "argumentTypes": null, "hexValue": "4f6e6c79206f776e657220616c6c6f776564", - "id": 349, + "id": 129, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1847:20:3", + "src": "1226:20:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_stringliteral_723fda17fb30a6cc7e06a9af2db3699db1a079268819efeab370ce8cb87b0282", @@ -2132,21 +1740,21 @@ "typeString": "literal_string \"Only owner allowed\"" } ], - "id": 344, + "id": 124, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 3537, - 3538 + 272, + 273 ], - "referencedDeclaration": 3538, - "src": "1818:7:3", + "referencedDeclaration": 273, + "src": "1197:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 350, + "id": 130, "isConstant": false, "isLValue": false, "isPure": false, @@ -2154,41 +1762,41 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1818:50:3", + "src": "1197:50:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 351, + "id": 131, "nodeType": "ExpressionStatement", - "src": "1818:50:3" + "src": "1197:50:0" }, { - "id": 352, + "id": 132, "nodeType": "PlaceholderStatement", - "src": "1874:1:3" + "src": "1253:1:0" } ] }, "documentation": null, - "id": 354, - "name": "_owner", + "id": 134, + "name": "isOwner", "nodeType": "ModifierDefinition", "parameters": { - "id": 343, + "id": 123, "nodeType": "ParameterList", "parameters": [], - "src": "1809:2:3" + "src": "1188:2:0" }, - "src": "1794:86:3", + "src": "1172:87:0", "visibility": "internal" }, { "body": { - "id": 370, + "id": 154, "nodeType": "Block", - "src": "1913:145:3", + "src": "1286:146:0", "statements": [ { "expression": { @@ -2197,134 +1805,86 @@ { "argumentTypes": null, "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" }, - "id": 365, + "id": 141, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "argumentTypes": null, - "commonType": { + "id": 137, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50, + "src": "1300:9:0", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" - }, - "id": 360, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 357, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "1934:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1934:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 359, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 224, - "src": "1948:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1934:19:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" } }, "nodeType": "BinaryOperation", - "operator": "||", + "operator": "!=", "rightExpression": { "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 361, - "name": "isApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 262, - "src": "1957:10:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 364, - "indexExpression": { - "argumentTypes": null, - "expression": { + "arguments": [ + { "argumentTypes": null, - "id": 362, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "1968:3:3", + "hexValue": "30", + "id": 139, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1321:1:0", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" } - }, - "id": 363, + ], + "id": 138, "isConstant": false, "isLValue": false, - "isPure": false, + "isPure": true, "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1968:10:3", + "nodeType": "ElementaryTypeNameExpression", + "src": "1313:7:0", "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" }, + "id": 140, "isConstant": false, - "isLValue": true, - "isPure": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1957:22:3", + "names": [], + "nodeType": "FunctionCall", + "src": "1313:10:0", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "src": "1934:45:3", + "src": "1300:23:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2332,21 +1892,21 @@ }, { "argumentTypes": null, - "hexValue": "50726f78794964656e746974793a204f6e6c79206f776e6572206f7220617070726f766564206167656e7420616c6c6f776564", - "id": 366, + "hexValue": "50726f7879206973206e6f74206f666665726564", + "id": 142, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1987:53:3", + "src": "1325:22:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_stringliteral_fb31c564d39675dc395a6ca60b6e542c97a6166c5338331df279cbb9b7f5f005", - "typeString": "literal_string \"ProxyIdentity: Only owner or approved agent allowed\"" + "typeIdentifier": "t_stringliteral_67f56cf7cfe2dab60ba03182b68916128d38ba3507fedaa15f19d15e8e706a66", + "typeString": "literal_string \"Proxy is not offered\"" }, - "value": "ProxyIdentity: Only owner or approved agent allowed" + "value": "Proxy is not offered" } ], "expression": { @@ -2356,25 +1916,25 @@ "typeString": "bool" }, { - "typeIdentifier": "t_stringliteral_fb31c564d39675dc395a6ca60b6e542c97a6166c5338331df279cbb9b7f5f005", - "typeString": "literal_string \"ProxyIdentity: Only owner or approved agent allowed\"" + "typeIdentifier": "t_stringliteral_67f56cf7cfe2dab60ba03182b68916128d38ba3507fedaa15f19d15e8e706a66", + "typeString": "literal_string \"Proxy is not offered\"" } ], - "id": 356, + "id": 136, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ - 3537, - 3538 + 272, + 273 ], - "referencedDeclaration": 3538, - "src": "1919:7:3", + "referencedDeclaration": 273, + "src": "1292:7:0", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 367, + "id": 143, "isConstant": false, "isLValue": false, "isPure": false, @@ -2382,167 +1942,287 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1919:127:3", + "src": "1292:56:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 368, + "id": 144, "nodeType": "ExpressionStatement", - "src": "1919:127:3" + "src": "1292:56:0" }, { - "id": 369, - "nodeType": "PlaceholderStatement", - "src": "2052:1:3" - } - ] - }, - "documentation": null, - "id": 371, - "name": "isOwnerOrApproved", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 355, - "nodeType": "ParameterList", - "parameters": [], - "src": "1910:2:3" - }, - "src": "1884:174:3", - "visibility": "internal" - }, - { - "body": { - "id": 381, - "nodeType": "Block", - "src": "2084:111:3", - "statements": [ - { - "condition": { + "expression": { "argumentTypes": null, - "id": 374, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "2094:18:3", - "subExpression": { - "argumentTypes": null, - "id": 373, - "name": "__isTokenFallback", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 254, - "src": "2095:17:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 379, - "nodeType": "IfStatement", - "src": "2090:93:3", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 149, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { "argumentTypes": null, - "hexValue": "4d6574686f642063616e20626520696e766f6b6564206f6e6c792061732070617274206f6620455243323233207472616e73666572", - "id": 376, + "expression": { + "argumentTypes": null, + "id": 146, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 269, + "src": "1362:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 147, "isConstant": false, "isLValue": false, - "isPure": true, - "kind": "string", + "isPure": false, "lValueRequested": false, - "nodeType": "Literal", - "src": "2127:55:3", - "subdenomination": null, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1362:10:0", "typeDescriptions": { - "typeIdentifier": "t_stringliteral_bdab44b41622e4e29122e51585fab9d97f7a7803f6fdfb885484a7d492c6091c", - "typeString": "literal_string \"Method can be invoked only as part of ERC223 transfer\"" - }, - "value": "Method can be invoked only as part of ERC223 transfer" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_bdab44b41622e4e29122e51585fab9d97f7a7803f6fdfb885484a7d492c6091c", - "typeString": "literal_string \"Method can be invoked only as part of ERC223 transfer\"" + "typeIdentifier": "t_address", + "typeString": "address" } - ], - "id": 375, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3539, - 3540 - ], - "referencedDeclaration": 3540, - "src": "2120:6:3", + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 148, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50, + "src": "1376:9:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1362:23:0", "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, - "id": 377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2120:63:3", + { + "argumentTypes": null, + "hexValue": "50726f7879206f66666572656420746f206f74686572206163636f756e74", + "id": 150, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1387:32:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_08fd32e4b45ba33ac50978960e75e0120a34559017c4786651bbfaa01f13f8f0", + "typeString": "literal_string \"Proxy offered to other account\"" + }, + "value": "Proxy offered to other account" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_08fd32e4b45ba33ac50978960e75e0120a34559017c4786651bbfaa01f13f8f0", + "typeString": "literal_string \"Proxy offered to other account\"" + } + ], + "id": 145, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 272, + 273 + ], + "referencedDeclaration": 273, + "src": "1354:7:0", "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" } }, - "id": 378, - "nodeType": "ExpressionStatement", - "src": "2120:63:3" - } + "id": 151, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1354:66:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 152, + "nodeType": "ExpressionStatement", + "src": "1354:66:0" }, { - "id": 380, + "id": 153, "nodeType": "PlaceholderStatement", - "src": "2189:1:3" + "src": "1426:1:0" } ] }, "documentation": null, - "id": 382, - "name": "tokenPayable", + "id": 155, + "name": "isOfferedTo", "nodeType": "ModifierDefinition", "parameters": { - "id": 372, + "id": 135, "nodeType": "ParameterList", "parameters": [], - "src": "2084:0:3" + "src": "1283:2:0" }, - "src": "2062:133:3", + "src": "1263:169:0", "visibility": "internal" }, { "body": { - "id": 402, + "id": 181, "nodeType": "Block", - "src": "2311:80:3", + "src": "1509:120:0", "statements": [ { "expression": { + "argumentTypes": null, + "id": 166, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 164, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50, + "src": "1515:9:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 165, + "name": "_offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 159, + "src": "1527:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1515:22:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 167, + "nodeType": "ExpressionStatement", + "src": "1515:22:0" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 171, + "name": "changeOwnerTx", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 157, + "src": "1557:13:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "expression": { + "argumentTypes": null, + "id": 168, + "name": "erc1056", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40, + "src": "1544:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 170, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "call", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1544:12:0", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$__$returns$_t_bool_$", + "typeString": "function () payable returns (bool)" + } + }, + "id": 172, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1544:27:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 173, + "nodeType": "ExpressionStatement", + "src": "1544:27:0" + }, + { + "eventCall": { "argumentTypes": null, "arguments": [ { @@ -2550,129 +2230,89 @@ "arguments": [ { "argumentTypes": null, - "id": 395, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 384, - "src": "2342:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 396, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 386, - "src": "2349:2:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 397, - "name": "value", + "id": 176, + "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 388, - "src": "2353:5:3", + "referencedDeclaration": 284, + "src": "1607:4:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_contract$_OfferableIdentity_$254", + "typeString": "contract OfferableIdentity" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_contract$_OfferableIdentity_$254", + "typeString": "contract OfferableIdentity" } ], - "id": 394, - "name": "_sendTransaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 663, - "src": "2325:16:3", + "id": 175, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1599:7:0", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (bytes memory,address,uint256) returns (bool)" - } + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" }, - "id": 398, + "id": 177, "isConstant": false, "isLValue": false, "isPure": false, - "kind": "functionCall", + "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2325:34:3", + "src": "1599:13:0", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" } }, { "argumentTypes": null, - "hexValue": "43616e27742073656e64207472616e73616374696f6e", - "id": 399, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2361:24:3", - "subdenomination": null, + "id": 178, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50, + "src": "1614:9:0", "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7c82b7a7ee1fe54aa2b67c53cc281be9ad31a3b2b59193f0526153c6a0f4b1f5", - "typeString": "literal_string \"Can't send transaction\"" - }, - "value": "Can't send transaction" + "typeIdentifier": "t_address", + "typeString": "address" + } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" }, { - "typeIdentifier": "t_stringliteral_7c82b7a7ee1fe54aa2b67c53cc281be9ad31a3b2b59193f0526153c6a0f4b1f5", - "typeString": "literal_string \"Can't send transaction\"" + "typeIdentifier": "t_address", + "typeString": "address" } ], - "id": 393, - "name": "require", + "id": 174, + "name": "IdentityOffered", "nodeType": "Identifier", - "overloadedDeclarations": [ - 3537, - 3538 - ], - "referencedDeclaration": 3538, - "src": "2317:7:3", + "overloadedDeclarations": [], + "referencedDeclaration": 66, + "src": "1583:15:0", "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" } }, - "id": 400, + "id": 179, "isConstant": false, "isLValue": false, "isPure": false, @@ -2680,67 +2320,68 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2317:69:3", + "src": "1583:41:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 401, - "nodeType": "ExpressionStatement", - "src": "2317:69:3" + "id": 180, + "nodeType": "EmitStatement", + "src": "1578:46:0" } ] }, "documentation": null, - "id": 403, + "id": 182, "implemented": true, - "kind": "function", + "isConstructor": false, + "isDeclaredConst": false, "modifiers": [ { - "arguments": [], - "id": 391, + "arguments": null, + "id": 162, "modifierName": { "argumentTypes": null, - "id": 390, - "name": "_owner", + "id": 161, + "name": "isOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 354, - "src": "2302:6:3", + "referencedDeclaration": 134, + "src": "1501:7:0", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "2302:8:3" + "src": "1501:7:0" } ], - "name": "sendTransaction", + "name": "offer", "nodeType": "FunctionDefinition", "parameters": { - "id": 389, + "id": 160, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 384, - "name": "_data", + "id": 157, + "name": "changeOwnerTx", "nodeType": "VariableDeclaration", - "scope": 403, - "src": "2229:18:3", + "scope": 182, + "src": "1451:19:0", "stateVariable": false, - "storageLocation": "memory", + "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", + "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes" }, "typeName": { - "id": 383, + "id": 156, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "2229:5:3", + "src": "1451:5:0", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -2751,11 +2392,11 @@ }, { "constant": false, - "id": 386, - "name": "to", + "id": 159, + "name": "_offeredTo", "nodeType": "VariableDeclaration", - "scope": 403, - "src": "2253:10:3", + "scope": 182, + "src": "1472:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2763,11 +2404,10 @@ "typeString": "address" }, "typeName": { - "id": 385, + "id": 158, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2253:7:3", - "stateMutability": "nonpayable", + "src": "1472:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -2775,88 +2415,31 @@ }, "value": null, "visibility": "internal" - }, - { - "constant": false, - "id": 388, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 403, - "src": "2269:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 387, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2269:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" } ], - "src": "2223:63:3" + "src": "1450:41:0" }, + "payable": false, "returnParameters": { - "id": 392, + "id": 163, "nodeType": "ParameterList", "parameters": [], - "src": "2311:0:3" + "src": "1509:0:0" }, - "scope": 839, - "src": "2199:192:3", - "stateMutability": "payable", + "scope": 254, + "src": "1436:193:0", + "stateMutability": "nonpayable", "superFunction": null, - "visibility": "public" + "visibility": "external" }, { "body": { - "id": 482, + "id": 214, "nodeType": "Block", - "src": "2565:481:3", + "src": "1672:223:0", "statements": [ { - "assignments": [ - 421 - ], - "declarations": [ - { - "constant": false, - "id": 421, - "name": "digest", - "nodeType": "VariableDeclaration", - "scope": 482, - "src": "2571:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 420, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2571:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 431, - "initialValue": { + "expression": { "argumentTypes": null, "arguments": [ { @@ -2864,279 +2447,192 @@ "arguments": [ { "argumentTypes": null, - "id": 425, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 405, - "src": "2609:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 426, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 407, - "src": "2615:2:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 427, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 415, - "src": "2619:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 428, - "name": "nonce", + "id": 192, + "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 417, - "src": "2626:5:3", + "referencedDeclaration": 284, + "src": "1729:4:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_contract$_OfferableIdentity_$254", + "typeString": "contract OfferableIdentity" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_contract$_OfferableIdentity_$254", + "typeString": "contract OfferableIdentity" } ], - "expression": { - "argumentTypes": null, - "id": 423, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3521, - "src": "2598:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 424, + "id": 191, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2598:10:3", + "nodeType": "ElementaryTypeNameExpression", + "src": "1721:7:0", "typeDescriptions": { - "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" }, - "id": 429, + "id": 193, "isConstant": false, "isLValue": false, "isPure": false, - "kind": "functionCall", + "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2598:34:3", + "src": "1721:13:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 194, + "name": "sigV", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44, + "src": "1742:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + { + "argumentTypes": null, + "id": 195, + "name": "sigR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46, + "src": "1754:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 196, + "name": "sigS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 48, + "src": "1766:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 197, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50, + "src": "1778:9:0", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" + "typeIdentifier": "t_address", + "typeString": "address" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" } ], - "id": 422, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3528, - "src": "2588:9:3", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 430, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2588:45:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2571:62:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { + "expression": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { + "arguments": [ + { "argumentTypes": null, - "id": 433, - "name": "digests", + "id": 188, + "name": "erc1056", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 244, - "src": "2647:7:3", + "referencedDeclaration": 40, + "src": "1687:7:0", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", - "typeString": "mapping(bytes32 => bool)" + "typeIdentifier": "t_address", + "typeString": "address" } - }, - "id": 435, - "indexExpression": { - "argumentTypes": null, - "id": 434, - "name": "digest", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 421, - "src": "2655:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2647:15:3", + ], + "id": 187, + "name": "IERC1056", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36, + "src": "1678:8:0", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_type$_t_contract$_IERC1056_$36_$", + "typeString": "type(contract IERC1056)" } }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 436, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2666:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "2647:24:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "54686973207472616e73616374696f6e2068617320616c7265616479206265656e2073656e74", - "id": 438, + "id": 189, "isConstant": false, "isLValue": false, - "isPure": true, - "kind": "string", + "isPure": false, + "kind": "typeConversion", "lValueRequested": false, - "nodeType": "Literal", - "src": "2673:40:3", - "subdenomination": null, + "names": [], + "nodeType": "FunctionCall", + "src": "1678:17:0", "typeDescriptions": { - "typeIdentifier": "t_stringliteral_596de5951c787123d1900ef0ee539f02cc9726cd9f7754cb86c4da0f392d17e9", - "typeString": "literal_string \"This transaction has already been sent\"" - }, - "value": "This transaction has already been sent" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_596de5951c787123d1900ef0ee539f02cc9726cd9f7754cb86c4da0f392d17e9", - "typeString": "literal_string \"This transaction has already been sent\"" + "typeIdentifier": "t_contract$_IERC1056_$36", + "typeString": "contract IERC1056" } - ], - "id": 432, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3537, - 3538 - ], - "referencedDeclaration": 3538, - "src": "2639:7:3", + }, + "id": 190, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "changeOwnerSigned", + "nodeType": "MemberAccess", + "referencedDeclaration": 14, + "src": "1678:35:0", "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (address,uint8,bytes32,bytes32,address) external" } }, - "id": 439, + "id": 198, "isConstant": false, "isLValue": false, "isPure": false, @@ -3144,128 +2640,64 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2639:75:3", + "src": "1678:115:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 440, + "id": 199, "nodeType": "ExpressionStatement", - "src": "2639:75:3" + "src": "1678:115:0" }, { "expression": { "argumentTypes": null, - "id": 445, + "id": 202, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 441, - "name": "digests", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 244, - "src": "2720:7:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", - "typeString": "mapping(bytes32 => bool)" - } - }, - "id": 443, - "indexExpression": { - "argumentTypes": null, - "id": 442, - "name": "digest", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 421, - "src": "2728:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2720:15:3", + "id": 200, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 38, + "src": "1799:5:0", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, - "hexValue": "74727565", - "id": 444, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2738:4:3", - "subdenomination": null, + "id": 201, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50, + "src": "1807:9:0", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" + "typeIdentifier": "t_address", + "typeString": "address" + } }, - "src": "2720:22:3", + "src": "1799:17:0", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "id": 446, + "id": 203, "nodeType": "ExpressionStatement", - "src": "2720:22:3" + "src": "1799:17:0" }, { - "assignments": [ - 448 - ], - "declarations": [ - { - "constant": false, - "id": 448, - "name": "hash", - "nodeType": "VariableDeclaration", - "scope": 482, - "src": "2748:12:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 447, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2748:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 456, - "initialValue": { + "eventCall": { "argumentTypes": null, "arguments": [ { @@ -3273,108 +2705,89 @@ "arguments": [ { "argumentTypes": null, - "hexValue": "19457468657265756d205369676e6564204d6573736167653a0a3332", - "id": 452, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2797:34:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", - "typeString": "literal_string \"\u0019Ethereum Signed Message:\n32\"" - }, - "value": "\u0019Ethereum Signed Message:\n32" - }, - { - "argumentTypes": null, - "id": 453, - "name": "digest", + "id": 206, + "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 421, - "src": "2833:6:3", + "referencedDeclaration": 284, + "src": "1855:4:0", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_contract$_OfferableIdentity_$254", + "typeString": "contract OfferableIdentity" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", - "typeString": "literal_string \"\u0019Ethereum Signed Message:\n32\"" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_contract$_OfferableIdentity_$254", + "typeString": "contract OfferableIdentity" } ], - "expression": { - "argumentTypes": null, - "id": 450, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3521, - "src": "2780:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 451, + "id": 205, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2780:16:3", + "nodeType": "ElementaryTypeNameExpression", + "src": "1847:7:0", "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" }, - "id": 454, + "id": 207, "isConstant": false, "isLValue": false, "isPure": false, - "kind": "functionCall", + "kind": "typeConversion", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2780:60:3", + "src": "1847:13:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 208, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50, + "src": "1862:9:0", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" + "typeIdentifier": "t_address", + "typeString": "address" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" } ], - "id": 449, - "name": "keccak256", + "id": 204, + "name": "IdentityTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3528, - "src": "2763:9:3", + "referencedDeclaration": 72, + "src": "1827:19:0", "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" } }, - "id": 455, + "id": 209, "isConstant": false, "isLValue": false, "isPure": false, @@ -3382,136 +2795,198 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2763:83:3", + "src": "1827:45:0", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "nodeType": "VariableDeclarationStatement", - "src": "2748:98:3" + "id": 210, + "nodeType": "EmitStatement", + "src": "1822:50:0" }, { - "assignments": [ - 458 - ], - "declarations": [ - { - "constant": false, - "id": 458, - "name": "signer", - "nodeType": "VariableDeclaration", - "scope": 482, - "src": "2852:14:3", - "stateVariable": false, - "storageLocation": "default", + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 211, + "name": "closeOffer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 253, + "src": "1878:10:0", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 457, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2852:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 212, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1878:12:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } - ], - "id": 465, - "initialValue": { + }, + "id": 213, + "nodeType": "ExpressionStatement", + "src": "1878:12:0" + } + ] + }, + "documentation": null, + "id": 215, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 185, + "modifierName": { + "argumentTypes": null, + "id": 184, + "name": "isOfferedTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 155, + "src": "1660:11:0", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1660:11:0" + } + ], + "name": "accept", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 183, + "nodeType": "ParameterList", + "parameters": [], + "src": "1648:2:0" + }, + "payable": false, + "returnParameters": { + "id": 186, + "nodeType": "ParameterList", + "parameters": [], + "src": "1672:0:0" + }, + "scope": 254, + "src": "1633:262:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 230, + "nodeType": "Block", + "src": "1938:73:0", + "statements": [ + { + "eventCall": { "argumentTypes": null, "arguments": [ { "argumentTypes": null, - "id": 460, - "name": "hash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 448, - "src": "2879:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 461, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 409, - "src": "2885:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "id": 462, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 411, - "src": "2888:1:3", + "arguments": [ + { + "argumentTypes": null, + "id": 222, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 284, + "src": "1971:4:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OfferableIdentity_$254", + "typeString": "contract OfferableIdentity" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_OfferableIdentity_$254", + "typeString": "contract OfferableIdentity" + } + ], + "id": 221, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1963:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 223, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1963:13:0", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_address", + "typeString": "address" } }, { "argumentTypes": null, - "id": 463, - "name": "s", + "id": 224, + "name": "offeredTo", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 413, - "src": "2891:1:3", + "referencedDeclaration": 50, + "src": "1978:9:0", "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_address", + "typeString": "address" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_address", + "typeString": "address" }, { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "typeIdentifier": "t_address", + "typeString": "address" } ], - "id": 459, - "name": "ecrecover", + "id": 220, + "name": "OfferRejected", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3526, - "src": "2869:9:3", + "referencedDeclaration": 78, + "src": "1949:13:0", "typeDescriptions": { - "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" } }, - "id": 464, + "id": 225, "isConstant": false, "isLValue": false, "isPure": false, @@ -3519,109 +2994,34 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2869:24:3", + "src": "1949:39:0", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "nodeType": "VariableDeclarationStatement", - "src": "2852:41:3" + "id": 226, + "nodeType": "EmitStatement", + "src": "1944:44:0" }, { "expression": { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 467, - "name": "signer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 458, - "src": "2914:6:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 468, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 224, - "src": "2924:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2914:15:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5369676e6174757265206973206e6f742076616c6964", - "id": 470, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2937:24:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5482edd09fd5040631ef4b51e73f53323e29bc91c9d64b969ac54702b05cf16b", - "typeString": "literal_string \"Signature is not valid\"" - }, - "value": "Signature is not valid" - } - ], + "arguments": [], "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_5482edd09fd5040631ef4b51e73f53323e29bc91c9d64b969ac54702b05cf16b", - "typeString": "literal_string \"Signature is not valid\"" - } - ], - "id": 466, - "name": "require", + "argumentTypes": [], + "id": 227, + "name": "closeOffer", "nodeType": "Identifier", - "overloadedDeclarations": [ - 3537, - 3538 - ], - "referencedDeclaration": 3538, - "src": "2899:7:3", + "overloadedDeclarations": [], + "referencedDeclaration": 253, + "src": "1994:10:0", "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" } }, - "id": 471, + "id": 228, "isConstant": false, "isLValue": false, "isPure": false, @@ -3629,211 +3029,406 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2899:68:3", + "src": "1994:12:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 472, + "id": 229, "nodeType": "ExpressionStatement", - "src": "2899:68:3" + "src": "1994:12:0" + } + ] + }, + "documentation": null, + "id": 231, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 218, + "modifierName": { + "argumentTypes": null, + "id": 217, + "name": "isOfferedTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 155, + "src": "1926:11:0", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } }, + "nodeType": "ModifierInvocation", + "src": "1926:11:0" + } + ], + "name": "reject", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 216, + "nodeType": "ParameterList", + "parameters": [], + "src": "1914:2:0" + }, + "payable": false, + "returnParameters": { + "id": 219, + "nodeType": "ParameterList", + "parameters": [], + "src": "1938:0:0" + }, + "scope": 254, + "src": "1899:112:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 252, + "nodeType": "Block", + "src": "2046:77:0", + "statements": [ { "expression": { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 475, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 405, - "src": "2998:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 476, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 407, - "src": "3004:2:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } + "id": 238, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 234, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50, + "src": "2052:9:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 236, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2072:1:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ { - "argumentTypes": null, - "id": 477, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 415, - "src": "3008:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" } ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 474, - "name": "_sendTransaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 663, - "src": "2981:16:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (bytes memory,address,uint256) returns (bool)" - } - }, - "id": 478, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2981:33:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "43616e27742073656e64207472616e73616374696f6e", - "id": 479, + "id": 235, "isConstant": false, "isLValue": false, "isPure": true, - "kind": "string", "lValueRequested": false, - "nodeType": "Literal", - "src": "3016:24:3", - "subdenomination": null, + "nodeType": "ElementaryTypeNameExpression", + "src": "2064:7:0", "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7c82b7a7ee1fe54aa2b67c53cc281be9ad31a3b2b59193f0526153c6a0f4b1f5", - "typeString": "literal_string \"Can't send transaction\"" - }, - "value": "Can't send transaction" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" }, - { - "typeIdentifier": "t_stringliteral_7c82b7a7ee1fe54aa2b67c53cc281be9ad31a3b2b59193f0526153c6a0f4b1f5", - "typeString": "literal_string \"Can't send transaction\"" - } - ], - "id": 473, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3537, - 3538 - ], - "referencedDeclaration": 3538, - "src": "2973:7:3", + "typeName": "address" + }, + "id": 237, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2064:10:0", "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "id": 480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2973:68:3", + "src": "2052:22:0", "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "id": 481, + "id": 239, "nodeType": "ExpressionStatement", - "src": "2973:68:3" - } - ] - }, - "documentation": null, - "id": 483, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sendSignedTransaction", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 418, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 405, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 483, - "src": "2431:17:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 404, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2431:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" + "src": "2052:22:0" }, + { + "expression": { + "argumentTypes": null, + "id": 242, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 240, + "name": "sigV", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44, + "src": "2080:4:0", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "30", + "id": 241, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2087:1:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2080:8:0", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "id": 243, + "nodeType": "ExpressionStatement", + "src": "2080:8:0" + }, + { + "expression": { + "argumentTypes": null, + "id": 246, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 244, + "name": "sigR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46, + "src": "2094:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "", + "id": 245, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2101:2:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + }, + "src": "2094:9:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 247, + "nodeType": "ExpressionStatement", + "src": "2094:9:0" + }, + { + "expression": { + "argumentTypes": null, + "id": 250, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 248, + "name": "sigS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 48, + "src": "2109:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "", + "id": 249, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2116:2:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + }, + "src": "2109:9:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 251, + "nodeType": "ExpressionStatement", + "src": "2109:9:0" + } + ] + }, + "documentation": null, + "id": 253, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "closeOffer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 232, + "nodeType": "ParameterList", + "parameters": [], + "src": "2034:2:0" + }, + "payable": false, + "returnParameters": { + "id": 233, + "nodeType": "ParameterList", + "parameters": [], + "src": "2046:0:0" + }, + "scope": 254, + "src": "2015:108:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 255, + "src": "403:1722:0" + } + ], + "src": "0:2126:0" + }, + "legacyAST": { + "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/offerableIdentity.sol", + "exportedSymbols": { + "IERC1056": [ + 36 + ], + "OfferableIdentity": [ + 254 + ] + }, + "id": 255, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1, + "literals": [ + "solidity", + "0.4", + ".24" + ], + "nodeType": "PragmaDirective", + "src": "0:23:0" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "interface", + "documentation": null, + "fullyImplemented": false, + "id": 36, + "linearizedBaseContracts": [ + 36 + ], + "name": "IERC1056", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": null, + "documentation": null, + "id": 14, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "changeOwnerSigned", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 12, + "nodeType": "ParameterList", + "parameters": [ { "constant": false, - "id": 407, - "name": "to", + "id": 3, + "name": "identity", "nodeType": "VariableDeclaration", - "scope": 483, - "src": "2454:10:3", + "scope": 14, + "src": "81:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3841,11 +3436,10 @@ "typeString": "address" }, "typeName": { - "id": 406, + "id": 2, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2454:7:3", - "stateMutability": "nonpayable", + "src": "81:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3856,11 +3450,11 @@ }, { "constant": false, - "id": 409, - "name": "v", + "id": 5, + "name": "sigV", "nodeType": "VariableDeclaration", - "scope": 483, - "src": "2470:7:3", + "scope": 14, + "src": "103:10:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3868,10 +3462,10 @@ "typeString": "uint8" }, "typeName": { - "id": 408, + "id": 4, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "2470:5:3", + "src": "103:5:0", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -3882,11 +3476,11 @@ }, { "constant": false, - "id": 411, - "name": "r", + "id": 7, + "name": "sigR", "nodeType": "VariableDeclaration", - "scope": 483, - "src": "2483:9:3", + "scope": 14, + "src": "119:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3894,10 +3488,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 410, + "id": 6, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2483:7:3", + "src": "119:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3908,11 +3502,11 @@ }, { "constant": false, - "id": 413, - "name": "s", + "id": 9, + "name": "sigS", "nodeType": "VariableDeclaration", - "scope": 483, - "src": "2498:9:3", + "scope": 14, + "src": "137:12:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3920,10 +3514,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 412, + "id": 8, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2498:7:3", + "src": "137:7:0", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -3934,25 +3528,81 @@ }, { "constant": false, - "id": 415, - "name": "value", + "id": 11, + "name": "newOwner", "nodeType": "VariableDeclaration", - "scope": 483, - "src": "2513:13:3", + "scope": 14, + "src": "155:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": 414, - "name": "uint256", + "id": 10, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "2513:7:3", + "src": "155:7:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "75:100:0" + }, + "payable": false, + "returnParameters": { + "id": 13, + "nodeType": "ParameterList", + "parameters": [], + "src": "184:0:0" + }, + "scope": 36, + "src": "49:136:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": null, + "documentation": null, + "id": 21, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "changeOwner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 19, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 16, + "name": "identity", + "nodeType": "VariableDeclaration", + "scope": 21, + "src": "210:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 15, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "210:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" } }, "value": null, @@ -3960,145 +3610,101 @@ }, { "constant": false, - "id": 417, - "name": "nonce", + "id": 18, + "name": "newOwner", "nodeType": "VariableDeclaration", - "scope": 483, - "src": "2532:13:3", + "scope": 21, + "src": "228:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": 416, - "name": "uint256", + "id": 17, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "2532:7:3", + "src": "228:7:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, "value": null, "visibility": "internal" } ], - "src": "2425:124:3" + "src": "209:36:0" }, + "payable": false, "returnParameters": { - "id": 419, + "id": 20, "nodeType": "ParameterList", "parameters": [], - "src": "2565:0:3" + "src": "254:0:0" }, - "scope": 839, - "src": "2395:651:3", - "stateMutability": "payable", + "scope": 36, + "src": "189:66:0", + "stateMutability": "nonpayable", "superFunction": null, - "visibility": "public" + "visibility": "external" }, { - "body": { - "id": 494, - "nodeType": "Block", - "src": "3105:33:3", - "statements": [ + "body": null, + "documentation": null, + "id": 28, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "identityOwner", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 24, + "nodeType": "ParameterList", + "parameters": [ { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 491, - "name": "delegate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 485, - "src": "3124:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 490, - "name": "_addDelegate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 681, - "src": "3111:12:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 492, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3111:22:3", + "constant": false, + "id": 23, + "name": "identity", + "nodeType": "VariableDeclaration", + "scope": 28, + "src": "282:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 22, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "282:7:0", "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "id": 493, - "nodeType": "ExpressionStatement", - "src": "3111:22:3" + "value": null, + "visibility": "internal" } - ] + ], + "src": "281:18:0" }, - "documentation": null, - "id": 495, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [], - "id": 488, - "modifierName": { - "argumentTypes": null, - "id": 487, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 354, - "src": "3096:6:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3096:8:3" - } - ], - "name": "addDelegate", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 486, + "payable": false, + "returnParameters": { + "id": 27, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 485, - "name": "delegate", + "id": 26, + "name": "", "nodeType": "VariableDeclaration", - "scope": 495, - "src": "3071:16:3", + "scope": 28, + "src": "323:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4106,11 +3712,10 @@ "typeString": "address" }, "typeName": { - "id": 484, + "id": 25, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3071:7:3", - "stateMutability": "nonpayable", + "src": "323:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4120,249 +3725,35 @@ "visibility": "internal" } ], - "src": "3070:18:3" + "src": "322:9:0" }, - "returnParameters": { - "id": 489, - "nodeType": "ParameterList", - "parameters": [], - "src": "3105:0:3" - }, - "scope": 839, - "src": "3050:88:3", - "stateMutability": "nonpayable", + "scope": 36, + "src": "259:73:0", + "stateMutability": "view", "superFunction": null, - "visibility": "public" + "visibility": "external" }, { - "body": { - "id": 513, - "nodeType": "Block", - "src": "3200:79:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 507, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3574, - "src": "3247:4:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - ], - "id": 506, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3239:7:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3239:13:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "hexValue": "73696741757468", - "id": 509, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3254:9:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e4ca3c59c7ff0162c35b0197dbc171846ff35d18a9f84431b59187ac80ada47f", - "typeString": "literal_string \"sigAuth\"" - }, - "value": "sigAuth" - }, - { - "argumentTypes": null, - "id": 510, - "name": "delegate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 497, - "src": "3265:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_stringliteral_e4ca3c59c7ff0162c35b0197dbc171846ff35d18a9f84431b59187ac80ada47f", - "typeString": "literal_string \"sigAuth\"" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 503, - "name": "erc1056", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 231, - "src": "3215:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 502, - "name": "IERC1056", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 216, - "src": "3206:8:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC1056_$216_$", - "typeString": "type(contract IERC1056)" - } - }, - "id": 504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3206:17:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC1056_$216", - "typeString": "contract IERC1056" - } - }, - "id": 505, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "revokeDelegate", - "nodeType": "MemberAccess", - "referencedDeclaration": 215, - "src": "3206:32:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,bytes32,address) external" - } - }, - "id": 511, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3206:68:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 512, - "nodeType": "ExpressionStatement", - "src": "3206:68:3" - } - ] - }, + "body": null, "documentation": null, - "id": 514, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [], - "id": 500, - "modifierName": { - "argumentTypes": null, - "id": 499, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 354, - "src": "3191:6:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3191:8:3" - } - ], - "name": "revokeDelegate", + "id": 35, + "implemented": false, + "isConstructor": false, + "isDeclaredConst": true, + "modifiers": [], + "name": "nonce", "nodeType": "FunctionDefinition", "parameters": { - "id": 498, + "id": 31, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 497, - "name": "delegate", + "id": 30, + "name": "owner", "nodeType": "VariableDeclaration", - "scope": 514, - "src": "3166:16:3", + "scope": 35, + "src": "351:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4370,11 +3761,10 @@ "typeString": "address" }, "typeName": { - "id": 496, + "id": 29, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3166:7:3", - "stateMutability": "nonpayable", + "src": "351:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4384,9714 +3774,317 @@ "visibility": "internal" } ], - "src": "3165:18:3" + "src": "350:15:0" }, + "payable": false, "returnParameters": { - "id": 501, + "id": 34, "nodeType": "ParameterList", - "parameters": [], - "src": "3200:0:3" - }, - "scope": 839, - "src": "3142:137:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 525, - "nodeType": "Block", - "src": "3347:27:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 523, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 521, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 224, - "src": "3353:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 522, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 516, - "src": "3361:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3353:16:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 524, - "nodeType": "ExpressionStatement", - "src": "3353:16:3" - } - ] - }, - "documentation": null, - "id": 526, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 519, - "modifierName": { - "argumentTypes": null, - "id": 518, - "name": "isOwnerOrApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 371, - "src": "3329:17:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3329:17:3" - } - ], - "name": "changeOwner", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 517, - "nodeType": "ParameterList", - "parameters": [ + "parameters": [ { "constant": false, - "id": 516, - "name": "newOwner", + "id": 33, + "name": "", "nodeType": "VariableDeclaration", - "scope": 526, - "src": "3304:16:3", + "scope": 35, + "src": "389:7:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, "typeName": { - "id": 515, - "name": "address", + "id": 32, + "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3304:7:3", - "stateMutability": "nonpayable", + "src": "389:7:0", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "value": null, "visibility": "internal" } ], - "src": "3303:18:3" - }, - "returnParameters": { - "id": 520, - "nodeType": "ParameterList", - "parameters": [], - "src": "3347:0:3" + "src": "388:9:0" }, - "scope": 839, - "src": "3283:91:3", - "stateMutability": "nonpayable", + "scope": 36, + "src": "336:62:0", + "stateMutability": "view", "superFunction": null, + "visibility": "external" + } + ], + "scope": 255, + "src": "26:374:0" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 254, + "linearizedBaseContracts": [ + 254 + ], + "name": "OfferableIdentity", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 38, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 254, + "src": "434:20:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 37, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "434:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, "visibility": "public" }, { - "body": { - "id": 547, - "nodeType": "Block", - "src": "3444:98:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 537, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 533, - "name": "isApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 262, - "src": "3450:10:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 535, - "indexExpression": { - "argumentTypes": null, - "id": 534, - "name": "agent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 528, - "src": "3461:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3450:17:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 536, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3470:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "3450:24:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 538, - "nodeType": "ExpressionStatement", - "src": "3450:24:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 543, - "name": "agent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 528, - "src": "3525:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 544, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3532:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 540, - "name": "erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 233, - "src": "3498:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 539, - "name": "ERC1155Multiproxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1183, - "src": "3480:17:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC1155Multiproxy_$1183_$", - "typeString": "type(contract ERC1155Multiproxy)" - } - }, - "id": 541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3480:26:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1155Multiproxy_$1183", - "typeString": "contract ERC1155Multiproxy" - } - }, - "id": 542, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setApprovalForAll", - "nodeType": "MemberAccess", - "referencedDeclaration": 2823, - "src": "3480:44:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bool_$returns$__$", - "typeString": "function (address,bool) external" - } - }, - "id": 545, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3480:57:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 546, - "nodeType": "ExpressionStatement", - "src": "3480:57:3" - } - ] + "constant": false, + "id": 40, + "name": "erc1056", + "nodeType": "VariableDeclaration", + "scope": 254, + "src": "458:15:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" }, - "documentation": null, - "id": 548, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 531, - "modifierName": { - "argumentTypes": null, - "id": 530, - "name": "isOwnerOrApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 371, - "src": "3426:17:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3426:17:3" - } - ], - "name": "addApprovedAgent", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 529, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 528, - "name": "agent", - "nodeType": "VariableDeclaration", - "scope": 548, - "src": "3404:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 527, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3404:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3403:15:3" - }, - "returnParameters": { - "id": 532, - "nodeType": "ParameterList", - "parameters": [], - "src": "3444:0:3" - }, - "scope": 839, - "src": "3378:164:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 569, - "nodeType": "Block", - "src": "3615:100:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 555, - "name": "isApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 262, - "src": "3621:10:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 557, - "indexExpression": { - "argumentTypes": null, - "id": 556, - "name": "agent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 550, - "src": "3632:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3621:17:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 558, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3641:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "3621:25:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 560, - "nodeType": "ExpressionStatement", - "src": "3621:25:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 565, - "name": "agent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 550, - "src": "3697:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 566, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3704:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 562, - "name": "erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 233, - "src": "3670:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 561, - "name": "ERC1155Multiproxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1183, - "src": "3652:17:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC1155Multiproxy_$1183_$", - "typeString": "type(contract ERC1155Multiproxy)" - } - }, - "id": 563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3652:26:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1155Multiproxy_$1183", - "typeString": "contract ERC1155Multiproxy" - } - }, - "id": 564, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setApprovalForAll", - "nodeType": "MemberAccess", - "referencedDeclaration": 2823, - "src": "3652:44:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bool_$returns$__$", - "typeString": "function (address,bool) external" - } - }, - "id": 567, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3652:58:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 568, - "nodeType": "ExpressionStatement", - "src": "3652:58:3" - } - ] - }, - "documentation": null, - "id": 570, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 553, - "modifierName": { - "argumentTypes": null, - "id": 552, - "name": "isOwnerOrApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 371, - "src": "3597:17:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3597:17:3" - } - ], - "name": "removeApprovedAgent", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 551, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 550, - "name": "agent", - "nodeType": "VariableDeclaration", - "scope": 570, - "src": "3575:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 549, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3575:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3574:15:3" - }, - "returnParameters": { - "id": 554, - "nodeType": "ParameterList", - "parameters": [], - "src": "3615:0:3" - }, - "scope": 839, - "src": "3546:169:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 582, - "nodeType": "Block", - "src": "3770:52:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 579, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 258, - "src": "3814:2:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 576, - "name": "erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 233, - "src": "3801:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 575, - "name": "ERC1155Multiproxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1183, - "src": "3783:17:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC1155Multiproxy_$1183_$", - "typeString": "type(contract ERC1155Multiproxy)" - } - }, - "id": 577, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3783:26:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1155Multiproxy_$1183", - "typeString": "contract ERC1155Multiproxy" - } - }, - "id": 578, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "uri", - "nodeType": "MemberAccess", - "referencedDeclaration": 1118, - "src": "3783:30:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_string_memory_ptr_$", - "typeString": "function (uint256) view external returns (string memory)" - } - }, - "id": 580, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3783:34:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 574, - "id": 581, - "nodeType": "Return", - "src": "3776:41:3" - } - ] - }, - "documentation": null, - "id": 583, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "uri", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 571, - "nodeType": "ParameterList", - "parameters": [], - "src": "3731:2:3" - }, - "returnParameters": { - "id": 574, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 573, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 583, - "src": "3755:13:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 572, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3755:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3754:15:3" - }, - "scope": 839, - "src": "3719:103:3", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 596, - "nodeType": "Block", - "src": "3872:57:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 592, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 258, - "src": "3915:2:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 593, - "name": "_uri", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 585, - "src": "3919:4:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 589, - "name": "erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 233, - "src": "3896:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 588, - "name": "ERC1155Multiproxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1183, - "src": "3878:17:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC1155Multiproxy_$1183_$", - "typeString": "type(contract ERC1155Multiproxy)" - } - }, - "id": 590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3878:26:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1155Multiproxy_$1183", - "typeString": "contract ERC1155Multiproxy" - } - }, - "id": 591, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "updateUri", - "nodeType": "MemberAccess", - "referencedDeclaration": 1142, - "src": "3878:36:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (uint256,string memory) external" - } - }, - "id": 594, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3878:46:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 595, - "nodeType": "ExpressionStatement", - "src": "3878:46:3" - } - ] - }, - "documentation": null, - "id": 597, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "updateUri", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 586, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 585, - "name": "_uri", - "nodeType": "VariableDeclaration", - "scope": 597, - "src": "3845:18:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 584, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3845:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3844:20:3" - }, - "returnParameters": { - "id": 587, - "nodeType": "ParameterList", - "parameters": [], - "src": "3872:0:3" - }, - "scope": 839, - "src": "3826:103:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 614, - "nodeType": "Block", - "src": "4095:34:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 612, - "name": "ERC1155_ACCEPTED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 247, - "src": "4108:16:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "functionReturnParameters": 611, - "id": 613, - "nodeType": "Return", - "src": "4101:23:3" - } - ] - }, - "documentation": null, - "id": 615, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "onERC1155Received", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 608, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 599, - "name": "_operator", - "nodeType": "VariableDeclaration", - "scope": 615, - "src": "3965:17:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 598, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3965:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 601, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 615, - "src": "3988:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 600, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3988:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 603, - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 615, - "src": "4007:11:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 602, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4007:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 605, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 615, - "src": "4024:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 604, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4024:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 607, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 615, - "src": "4044:20:3", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 606, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4044:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3959:109:3" - }, - "returnParameters": { - "id": 611, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 610, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 615, - "src": "4087:6:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 609, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "4087:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4086:8:3" - }, - "scope": 839, - "src": "3933:196:3", - "stateMutability": "nonpayable", - "superFunction": 2383, - "visibility": "external" - }, - { - "body": { - "id": 634, - "nodeType": "Block", - "src": "4324:40:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 632, - "name": "ERC1155_BATCH_ACCEPTED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 250, - "src": "4337:22:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "functionReturnParameters": 631, - "id": 633, - "nodeType": "Return", - "src": "4330:29:3" - } - ] - }, - "documentation": null, - "id": 635, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "onERC1155BatchReceived", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 628, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 617, - "name": "_operator", - "nodeType": "VariableDeclaration", - "scope": 635, - "src": "4170:17:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 616, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4170:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 619, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 635, - "src": "4193:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 618, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4193:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 622, - "name": "_ids", - "nodeType": "VariableDeclaration", - "scope": 635, - "src": "4212:23:3", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 620, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4212:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 621, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4212:9:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 625, - "name": "_values", - "nodeType": "VariableDeclaration", - "scope": 635, - "src": "4241:26:3", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 623, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4241:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 624, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4241:9:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 627, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 635, - "src": "4273:20:3", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 626, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4273:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4164:133:3" - }, - "returnParameters": { - "id": 631, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 630, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 635, - "src": "4316:6:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 629, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "4316:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4315:8:3" - }, - "scope": 839, - "src": "4133:231:3", - "stateMutability": "nonpayable", - "superFunction": 2400, - "visibility": "external" - }, - { - "body": { - "id": 662, - "nodeType": "Block", - "src": "4489:258:3", - "statements": [ - { - "assignments": [ - 647 - ], - "declarations": [ - { - "constant": false, - "id": 647, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 662, - "src": "4495:17:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 646, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4495:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 649, - "initialValue": { - "argumentTypes": null, - "id": 648, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 637, - "src": "4515:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4495:25:3" - }, - { - "assignments": [ - 651 - ], - "declarations": [ - { - "constant": false, - "id": 651, - "name": "len", - "nodeType": "VariableDeclaration", - "scope": 662, - "src": "4526:11:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 650, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4526:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 654, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 652, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 647, - "src": "4540:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 653, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4540:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4526:25:3" - }, - { - "externalReferences": [ - { - "success": { - "declaration": 644, - "isOffset": false, - "isSlot": false, - "src": "4634:7:3", - "valueSize": 1 - } - }, - { - "data": { - "declaration": 647, - "isOffset": false, - "isSlot": false, - "src": "4670:4:3", - "valueSize": 1 - } - }, - { - "to": { - "declaration": 639, - "isOffset": false, - "isSlot": false, - "src": "4655:2:3", - "valueSize": 1 - } - }, - { - "value": { - "declaration": 641, - "isOffset": false, - "isSlot": false, - "src": "4659:5:3", - "valueSize": 1 - } - }, - { - "len": { - "declaration": 651, - "isOffset": false, - "isSlot": false, - "src": "4683:3:3", - "valueSize": 1 - } - } - ], - "id": 655, - "nodeType": "InlineAssembly", - "operations": "{\n success := call(gas(), to, value, add(data, 0x20), len, 0, 0)\n}", - "src": "4617:82:3" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 657, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 637, - "src": "4725:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 658, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 639, - "src": "4732:2:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 659, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 641, - "src": "4736:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 656, - "name": "TransactionSent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 283, - "src": "4709:15:3", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (bytes memory,address,uint256)" - } - }, - "id": 660, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4709:33:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 661, - "nodeType": "EmitStatement", - "src": "4704:38:3" - } - ] - }, - "documentation": null, - "id": 663, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_sendTransaction", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 642, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 637, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 663, - "src": "4399:18:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 636, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4399:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 639, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 663, - "src": "4423:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 638, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4423:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 641, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 663, - "src": "4439:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 640, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4439:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4393:63:3" - }, - "returnParameters": { - "id": 645, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 644, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 663, - "src": "4475:12:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 643, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4475:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4474:14:3" - }, - "scope": 839, - "src": "4368:379:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 680, - "nodeType": "Block", - "src": "4800:123:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 673, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3574, - "src": "4851:4:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - ], - "id": 672, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4843:7:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 674, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4843:13:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "hexValue": "73696741757468", - "id": 675, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4864:9:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e4ca3c59c7ff0162c35b0197dbc171846ff35d18a9f84431b59187ac80ada47f", - "typeString": "literal_string \"sigAuth\"" - }, - "value": "sigAuth" - }, - { - "argumentTypes": null, - "id": 676, - "name": "delegate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 665, - "src": "4881:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 677, - "name": "defaultValidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 240, - "src": "4897:15:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_stringliteral_e4ca3c59c7ff0162c35b0197dbc171846ff35d18a9f84431b59187ac80ada47f", - "typeString": "literal_string \"sigAuth\"" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 669, - "name": "erc1056", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 231, - "src": "4815:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 668, - "name": "IERC1056", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 216, - "src": "4806:8:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC1056_$216_$", - "typeString": "type(contract IERC1056)" - } - }, - "id": 670, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4806:17:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC1056_$216", - "typeString": "contract IERC1056" - } - }, - "id": 671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "addDelegate", - "nodeType": "MemberAccess", - "referencedDeclaration": 206, - "src": "4806:29:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,bytes32,address,uint256) external" - } - }, - "id": 678, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4806:112:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 679, - "nodeType": "ExpressionStatement", - "src": "4806:112:3" - } - ] - }, - "documentation": null, - "id": 681, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_addDelegate", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 666, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 665, - "name": "delegate", - "nodeType": "VariableDeclaration", - "scope": 681, - "src": "4773:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 664, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4773:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4772:18:3" - }, - "returnParameters": { - "id": 667, - "nodeType": "ParameterList", - "parameters": [], - "src": "4800:0:3" - }, - "scope": 839, - "src": "4751:172:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "constant": true, - "id": 684, - "name": "INTERFACE_SIGNATURE_ERC165", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "5021:63:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 682, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "5021:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783031666663396137", - "id": 683, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5074:10:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_33540519_by_1", - "typeString": "int_const 33540519" - }, - "value": "0x01ffc9a7" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 687, - "name": "INTERFACE_SIGNATURE_ERC1155TOKENRECEIVER", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "5271:77:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 685, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "5271:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783465323331326530", - "id": 686, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5338:10:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1310921440_by_1", - "typeString": "int_const 1310921440" - }, - "value": "0x4e2312e0" - }, - "visibility": "private" - }, - { - "body": { - "id": 707, - "nodeType": "Block", - "src": "5641:180:3", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 700, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 696, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 694, - "name": "_interfaceID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 689, - "src": "5658:12:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 695, - "name": "INTERFACE_SIGNATURE_ERC165", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 684, - "src": "5674:26:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "5658:42:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 699, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 697, - "name": "_interfaceID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 689, - "src": "5710:12:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 698, - "name": "INTERFACE_SIGNATURE_ERC1155TOKENRECEIVER", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 687, - "src": "5726:40:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "5710:56:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "5658:108:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 704, - "nodeType": "IfStatement", - "src": "5647:152:3", - "trueBody": { - "id": 703, - "nodeType": "Block", - "src": "5773:26:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 701, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5788:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 693, - "id": 702, - "nodeType": "Return", - "src": "5781:11:3" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 705, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5811:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 693, - "id": 706, - "nodeType": "Return", - "src": "5804:12:3" - } - ] - }, - "documentation": "@notice Query if a contract implements an interface\n@param _interfaceID The interface identifier, as specified in ERC-165\n@return `true` if the contract implements `_interfaceID` and", - "id": 708, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "supportsInterface", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 690, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 689, - "name": "_interfaceID", - "nodeType": "VariableDeclaration", - "scope": 708, - "src": "5591:19:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 688, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "5591:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5590:21:3" - }, - "returnParameters": { - "id": 693, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 692, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 708, - "src": "5635:4:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 691, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5635:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5634:6:3" - }, - "scope": 839, - "src": "5564:257:3", - "stateMutability": "view", - "superFunction": 2417, - "visibility": "external" - }, - { - "anonymous": false, - "documentation": null, - "id": 716, - "name": "CallbackOnTransfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 715, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 710, - "indexed": false, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 716, - "src": "5850:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 709, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5850:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 712, - "indexed": false, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 716, - "src": "5862:12:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 711, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5862:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 714, - "indexed": false, - "name": "sender", - "nodeType": "VariableDeclaration", - "scope": 716, - "src": "5876:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 713, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5876:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5849:42:3" - }, - "src": "5825:67:3" - }, - { - "body": { - "id": 763, - "nodeType": "Block", - "src": "6031:311:3", - "statements": [ - { - "condition": { - "argumentTypes": null, - "id": 733, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "6041:26:3", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 730, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "6056:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 731, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6056:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 729, - "name": "supportsToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 834, - "src": "6042:13:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_bool_$", - "typeString": "function (address) pure returns (bool)" - } - }, - "id": 732, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6042:25:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 736, - "nodeType": "IfStatement", - "src": "6037:44:3", - "trueBody": { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 734, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6076:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 728, - "id": 735, - "nodeType": "Return", - "src": "6069:12:3" - } - }, - { - "expression": { - "argumentTypes": null, - "id": 739, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 737, - "name": "__isTokenFallback", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 254, - "src": "6087:17:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 738, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6107:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "6087:24:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 740, - "nodeType": "ExpressionStatement", - "src": "6087:24:3" - }, - { - "assignments": [ - 742, - null - ], - "declarations": [ - { - "constant": false, - "id": 742, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 763, - "src": "6178:12:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 741, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6178:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 749, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 747, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 724, - "src": "6223:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 744, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3574, - "src": "6204:4:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - ], - "id": 743, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6196:7:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 745, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6196:13:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 746, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "delegatecall", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6196:26:3", - "typeDescriptions": { - "typeIdentifier": "t_function_baredelegatecall_nonpayable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) returns (bool,bytes memory)" - } - }, - "id": 748, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6196:33:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6177:52:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 752, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 750, - "name": "__isTokenFallback", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 254, - "src": "6235:17:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 751, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6255:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "6235:25:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 753, - "nodeType": "ExpressionStatement", - "src": "6235:25:3" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 755, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 724, - "src": "6290:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 756, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 742, - "src": "6297:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 757, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "6306:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6306:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 754, - "name": "CallbackOnTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 716, - "src": "6271:18:3", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes_memory_ptr_$_t_bool_$_t_address_$returns$__$", - "typeString": "function (bytes memory,bool,address)" - } - }, - "id": 759, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6271:46:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 760, - "nodeType": "EmitStatement", - "src": "6266:51:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 761, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 742, - "src": "6330:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 728, - "id": 762, - "nodeType": "Return", - "src": "6323:14:3" - } - ] - }, - "documentation": null, - "id": 764, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tokenFallback", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 725, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 718, - "name": "_sender", - "nodeType": "VariableDeclaration", - "scope": 764, - "src": "5924:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 717, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5924:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 720, - "name": "_origin", - "nodeType": "VariableDeclaration", - "scope": 764, - "src": "5945:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 719, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5945:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 722, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 764, - "src": "5966:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 721, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5966:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 724, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 764, - "src": "5986:18:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 723, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5986:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5918:90:3" - }, - "returnParameters": { - "id": 728, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 727, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 764, - "src": "6025:4:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 726, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6025:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6024:6:3" - }, - "scope": 839, - "src": "5896:446:3", - "stateMutability": "nonpayable", - "superFunction": 42, - "visibility": "public" - }, - { - "body": { - "id": 823, - "nodeType": "Block", - "src": "6416:202:3", - "statements": [ - { - "assignments": [ - 772 - ], - "declarations": [ - { - "constant": false, - "id": 772, - "name": "l", - "nodeType": "VariableDeclaration", - "scope": 823, - "src": "6422:9:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 771, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6422:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 781, - "initialValue": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 776, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 773, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 766, - "src": "6434:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 774, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6434:12:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "hexValue": "34", - "id": 775, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6449:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "src": "6434:16:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "hexValue": "34", - "id": 779, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6468:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "id": 780, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "6434:35:3", - "trueExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 777, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 766, - "src": "6453:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 778, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6453:12:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6422:47:3" - }, - { - "body": { - "id": 821, - "nodeType": "Block", - "src": "6507:107:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 819, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 792, - "name": "sig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 769, - "src": "6515:3:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 816, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 796, - "name": "sig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 769, - "src": "6551:3:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "id": 795, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6544:6:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint32_$", - "typeString": "type(uint32)" - }, - "typeName": "uint32" - }, - "id": 797, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6544:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 815, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 799, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 766, - "src": "6564:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 801, - "indexExpression": { - "argumentTypes": null, - "id": 800, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 783, - "src": "6570:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6564:8:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - ], - "id": 798, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6558:5:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint8_$", - "typeString": "type(uint8)" - }, - "typeName": "uint8" - }, - "id": 802, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6558:15:3", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 813, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 803, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6577:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 811, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "38", - "id": 804, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6581:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 809, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 807, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 805, - "name": "l", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 772, - "src": "6586:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 806, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6590:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "6586:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 808, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 783, - "src": "6594:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6586:9:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 810, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "6585:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6581:15:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 812, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "6580:17:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6577:20:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 814, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "6576:22:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6558:40:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6544:54:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 794, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6537:6:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint32_$", - "typeString": "type(uint32)" - }, - "typeName": "uint32" - }, - "id": 817, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6537:62:3", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - ], - "id": 793, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6521:6:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes4_$", - "typeString": "type(bytes4)" - }, - "typeName": "bytes4" - }, - "id": 818, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6521:86:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "6515:92:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "id": 820, - "nodeType": "ExpressionStatement", - "src": "6515:92:3" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 788, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 786, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 783, - "src": "6495:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 787, - "name": "l", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 772, - "src": "6499:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6495:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 822, - "initializationExpression": { - "assignments": [ - 783 - ], - "declarations": [ - { - "constant": false, - "id": 783, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 822, - "src": "6480:9:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 782, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6480:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 785, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 784, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6492:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "6480:13:3" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 790, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "6502:3:3", - "subExpression": { - "argumentTypes": null, - "id": 789, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 783, - "src": "6502:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 791, - "nodeType": "ExpressionStatement", - "src": "6502:3:3" - }, - "nodeType": "ForStatement", - "src": "6475:139:3" - } - ] - }, - "documentation": null, - "id": 824, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getSig", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 767, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 766, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 824, - "src": "6362:18:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 765, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "6362:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6361:20:3" - }, - "returnParameters": { - "id": 770, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 769, - "name": "sig", - "nodeType": "VariableDeclaration", - "scope": 824, - "src": "6404:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 768, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "6404:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6403:12:3" - }, - "scope": 839, - "src": "6346:272:3", - "stateMutability": "pure", - "superFunction": null, - "visibility": "private" - }, - { - "body": { - "id": 833, - "nodeType": "Block", - "src": "6687:22:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 831, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6700:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 830, - "id": 832, - "nodeType": "Return", - "src": "6693:11:3" - } - ] - }, - "documentation": null, - "id": 834, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "supportsToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 827, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 826, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 834, - "src": "6645:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 825, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6645:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6644:15:3" - }, - "returnParameters": { - "id": 830, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 829, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 834, - "src": "6681:4:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 828, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6681:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6680:6:3" - }, - "scope": 839, - "src": "6622:87:3", - "stateMutability": "pure", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 837, - "nodeType": "Block", - "src": "6741:2:3", - "statements": [] - }, - "documentation": null, - "id": 838, - "implemented": true, - "kind": "fallback", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 835, - "nodeType": "ParameterList", - "parameters": [], - "src": "6721:2:3" - }, - "returnParameters": { - "id": 836, - "nodeType": "ParameterList", - "parameters": [], - "src": "6741:0:3" - }, - "scope": 839, - "src": "6713:30:3", - "stateMutability": "payable", - "superFunction": null, - "visibility": "external" - } - ], - "scope": 840, - "src": "616:6129:3" - } - ], - "src": "0:6746:3" - }, - "legacyAST": { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/proxyIdentity.sol", - "exportedSymbols": { - "IERC1056": [ - 216 - ], - "ProxyIdentity": [ - 839 - ] - }, - "id": 840, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 189, - "literals": [ - "solidity", - "^", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:23:3" - }, - { - "absolutePath": "multi-token-standard/contracts/interfaces/IERC165.sol", - "file": "multi-token-standard/contracts/interfaces/IERC165.sol", - "id": 190, - "nodeType": "ImportDirective", - "scope": 840, - "sourceUnit": 2419, - "src": "25:63:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "multi-token-standard/contracts/interfaces/IERC1155.sol", - "file": "multi-token-standard/contracts/interfaces/IERC1155.sol", - "id": 191, - "nodeType": "ImportDirective", - "scope": 840, - "sourceUnit": 2367, - "src": "89:64:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "multi-token-standard/contracts/interfaces/IERC1155TokenReceiver.sol", - "file": "multi-token-standard/contracts/interfaces/IERC1155TokenReceiver.sol", - "id": 192, - "nodeType": "ImportDirective", - "scope": 840, - "sourceUnit": 2409, - "src": "154:77:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223Receiver.sol", - "file": "./interfaces/IERC223Receiver.sol", - "id": 193, - "nodeType": "ImportDirective", - "scope": 840, - "sourceUnit": 44, - "src": "232:42:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223.sol", - "file": "./interfaces/IERC223.sol", - "id": 194, - "nodeType": "ImportDirective", - "scope": 840, - "sourceUnit": 28, - "src": "275:34:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/tokens/ERC1155Multiproxy.sol", - "file": "./tokens/ERC1155Multiproxy.sol", - "id": 195, - "nodeType": "ImportDirective", - "scope": 840, - "sourceUnit": 1184, - "src": "310:40:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 216, - "linearizedBaseContracts": [ - 216 - ], - "name": "IERC1056", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 206, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "addDelegate", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 204, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 197, - "name": "identity", - "nodeType": "VariableDeclaration", - "scope": 206, - "src": "401:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 196, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "401:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 199, - "name": "delegateType", - "nodeType": "VariableDeclaration", - "scope": 206, - "src": "423:20:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 198, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "423:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 201, - "name": "delegate", - "nodeType": "VariableDeclaration", - "scope": 206, - "src": "449:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 200, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "449:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 203, - "name": "validity", - "nodeType": "VariableDeclaration", - "scope": 206, - "src": "471:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 202, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "471:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "395:96:3" - }, - "returnParameters": { - "id": 205, - "nodeType": "ParameterList", - "parameters": [], - "src": "500:0:3" - }, - "scope": 216, - "src": "375:126:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 215, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "revokeDelegate", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 213, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 208, - "name": "identity", - "nodeType": "VariableDeclaration", - "scope": 215, - "src": "534:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 207, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "534:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 210, - "name": "delegateType", - "nodeType": "VariableDeclaration", - "scope": 215, - "src": "556:20:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 209, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "556:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 212, - "name": "delegate", - "nodeType": "VariableDeclaration", - "scope": 215, - "src": "582:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 211, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "582:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "528:74:3" - }, - "returnParameters": { - "id": 214, - "nodeType": "ParameterList", - "parameters": [], - "src": "611:0:3" - }, - "scope": 216, - "src": "505:107:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - } - ], - "scope": 840, - "src": "352:262:3" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 217, - "name": "IERC1155TokenReceiver", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2408, - "src": "642:21:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC1155TokenReceiver_$2408", - "typeString": "contract IERC1155TokenReceiver" - } - }, - "id": 218, - "nodeType": "InheritanceSpecifier", - "src": "642:21:3" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 219, - "name": "IERC165", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2418, - "src": "665:7:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC165_$2418", - "typeString": "contract IERC165" - } - }, - "id": 220, - "nodeType": "InheritanceSpecifier", - "src": "665:7:3" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 221, - "name": "IERC223Receiver", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 43, - "src": "674:15:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC223Receiver_$43", - "typeString": "contract IERC223Receiver" - } - }, - "id": 222, - "nodeType": "InheritanceSpecifier", - "src": "674:15:3" - } - ], - "contractDependencies": [ - 43, - 2408, - 2418 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 839, - "linearizedBaseContracts": [ - 839, - 43, - 2418, - 2408 - ], - "name": "ProxyIdentity", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 224, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "694:20:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 223, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "694:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 226, - "name": "creator", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "718:22:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 225, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "718:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 229, - "name": "agents", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "744:23:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 227, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "744:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 228, - "length": null, - "nodeType": "ArrayTypeName", - "src": "744:9:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 231, - "name": "erc1056", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "771:22:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 230, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "771:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 233, - "name": "erc1155", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "797:22:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 232, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "797:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 240, - "name": "defaultValidity", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "823:36:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 234, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "823:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1", - "typeString": "int_const 1157...(70 digits omitted)...9935" - }, - "id": 239, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639936_by_1", - "typeString": "int_const 1157...(70 digits omitted)...9936" - }, - "id": 237, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 235, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "849:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "323536", - "id": 236, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "852:3:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_256_by_1", - "typeString": "int_const 256" - }, - "value": "256" - }, - "src": "849:6:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639936_by_1", - "typeString": "int_const 1157...(70 digits omitted)...9936" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 238, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "858:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "849:10:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1", - "typeString": "int_const 1157...(70 digits omitted)...9935" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 244, - "name": "digests", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "863:32:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", - "typeString": "mapping(bytes32 => bool)" - }, - "typeName": { - "id": 243, - "keyType": { - "id": 241, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "871:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Mapping", - "src": "863:24:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", - "typeString": "mapping(bytes32 => bool)" - }, - "valueType": { - "id": 242, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "882:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": true, - "id": 247, - "name": "ERC1155_ACCEPTED", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "899:54:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 245, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "899:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30786632336136653631", - "id": 246, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "943:10:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4063915617_by_1", - "typeString": "int_const 4063915617" - }, - "value": "0xf23a6e61" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 250, - "name": "ERC1155_BATCH_ACCEPTED", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "957:60:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 248, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "957:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30786263313937633831", - "id": 249, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1007:10:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3155786881_by_1", - "typeString": "int_const 3155786881" - }, - "value": "0xbc197c81" - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 252, - "name": "tkn", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "1021:7:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Tkn_$275_storage", - "typeString": "struct ProxyIdentity.Tkn" - }, - "typeName": { - "contractScope": null, - "id": 251, - "name": "Tkn", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 275, - "src": "1021:3:3", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Tkn_$275_storage_ptr", - "typeString": "struct ProxyIdentity.Tkn" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 254, - "name": "__isTokenFallback", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "1032:22:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 253, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1032:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 256, - "name": "serial", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "1058:20:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 255, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1058:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 258, - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "1082:17:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 257, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1082:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 262, - "name": "isApproved", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "1103:42:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "typeName": { - "id": 261, - "keyType": { - "id": 259, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1111:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1103:24:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueType": { - "id": 260, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1122:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "canonicalName": "ProxyIdentity.Tkn", - "id": 275, - "members": [ - { - "constant": false, - "id": 264, - "name": "addr", - "nodeType": "VariableDeclaration", - "scope": 275, - "src": "1167:12:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 263, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1167:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 266, - "name": "sender", - "nodeType": "VariableDeclaration", - "scope": 275, - "src": "1185:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 265, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1185:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 268, - "name": "origin", - "nodeType": "VariableDeclaration", - "scope": 275, - "src": "1205:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 267, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1205:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 270, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 275, - "src": "1225:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 269, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1225:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 272, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 275, - "src": "1244:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 271, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1244:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 274, - "name": "sig", - "nodeType": "VariableDeclaration", - "scope": 275, - "src": "1260:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 273, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "1260:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Tkn", - "nodeType": "StructDefinition", - "scope": 839, - "src": "1150:125:3", - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 283, - "name": "TransactionSent", - "nodeType": "EventDefinition", - "parameters": { - "id": 282, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 277, - "indexed": false, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 283, - "src": "1301:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 276, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1301:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 279, - "indexed": false, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 283, - "src": "1313:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 278, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1313:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 281, - "indexed": false, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 283, - "src": "1325:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 280, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1325:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1300:39:3" - }, - "src": "1279:61:3" - }, - { - "anonymous": false, - "documentation": null, - "id": 287, - "name": "ApprovedAgentAdded", - "nodeType": "EventDefinition", - "parameters": { - "id": 286, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 285, - "indexed": false, - "name": "agent", - "nodeType": "VariableDeclaration", - "scope": 287, - "src": "1368:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 284, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1368:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1367:15:3" - }, - "src": "1343:40:3" - }, - { - "anonymous": false, - "documentation": null, - "id": 291, - "name": "ApprovedAgentRemoved", - "nodeType": "EventDefinition", - "parameters": { - "id": 290, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 289, - "indexed": false, - "name": "agent", - "nodeType": "VariableDeclaration", - "scope": 291, - "src": "1413:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 288, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1413:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1412:15:3" - }, - "src": "1386:42:3" - }, - { - "body": { - "id": 341, - "nodeType": "Block", - "src": "1548:242:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 304, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 302, - "name": "erc1056", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 231, - "src": "1554:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 303, - "name": "_erc1056", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 293, - "src": "1564:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1554:18:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 305, - "nodeType": "ExpressionStatement", - "src": "1554:18:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 306, - "name": "erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 233, - "src": "1578:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 307, - "name": "_erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 295, - "src": "1588:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1578:18:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 309, - "nodeType": "ExpressionStatement", - "src": "1578:18:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 310, - "name": "serial", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 256, - "src": "1602:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 311, - "name": "_serial", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 297, - "src": "1611:7:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "1602:16:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 313, - "nodeType": "ExpressionStatement", - "src": "1602:16:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 316, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 314, - "name": "creator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 226, - "src": "1624:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 315, - "name": "_creator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 299, - "src": "1634:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1624:18:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 317, - "nodeType": "ExpressionStatement", - "src": "1624:18:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 320, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 318, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 224, - "src": "1648:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 319, - "name": "_creator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 299, - "src": "1656:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1648:16:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 321, - "nodeType": "ExpressionStatement", - "src": "1648:16:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 328, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 322, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 258, - "src": "1670:2:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 324, - "name": "_erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 295, - "src": "1693:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 323, - "name": "ERC1155Multiproxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1183, - "src": "1675:17:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC1155Multiproxy_$1183_$", - "typeString": "type(contract ERC1155Multiproxy)" - } - }, - "id": 325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1675:27:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1155Multiproxy_$1183", - "typeString": "contract ERC1155Multiproxy" - } - }, - "id": 326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "tokenCount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1103, - "src": "1675:38:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 327, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1675:40:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1670:45:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 329, - "nodeType": "ExpressionStatement", - "src": "1670:45:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 334, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 258, - "src": "1754:2:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 331, - "name": "_erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 295, - "src": "1739:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 330, - "name": "ERC1155Multiproxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1183, - "src": "1721:17:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC1155Multiproxy_$1183_$", - "typeString": "type(contract ERC1155Multiproxy)" - } - }, - "id": 332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1721:27:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1155Multiproxy_$1183", - "typeString": "contract ERC1155Multiproxy" - } - }, - "id": 333, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mint", - "nodeType": "MemberAccess", - "referencedDeclaration": 1173, - "src": "1721:32:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256) external" - } - }, - "id": 335, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1721:36:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 336, - "nodeType": "ExpressionStatement", - "src": "1721:36:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 338, - "name": "_creator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 299, - "src": "1776:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 337, - "name": "_addDelegate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 681, - "src": "1763:12:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 339, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1763:22:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 340, - "nodeType": "ExpressionStatement", - "src": "1763:22:3" - } - ] - }, - "documentation": null, - "id": 342, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 300, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 293, - "name": "_erc1056", - "nodeType": "VariableDeclaration", - "scope": 342, - "src": "1449:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 292, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1449:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 295, - "name": "_erc1155", - "nodeType": "VariableDeclaration", - "scope": 342, - "src": "1471:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 294, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1471:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 297, - "name": "_serial", - "nodeType": "VariableDeclaration", - "scope": 342, - "src": "1493:21:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 296, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1493:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 299, - "name": "_creator", - "nodeType": "VariableDeclaration", - "scope": 342, - "src": "1520:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 298, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1520:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1443:97:3" - }, - "returnParameters": { - "id": 301, - "nodeType": "ParameterList", - "parameters": [], - "src": "1548:0:3" - }, - "scope": 839, - "src": "1432:358:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 353, - "nodeType": "Block", - "src": "1812:68:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 348, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 345, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "1826:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 346, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1826:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 347, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 224, - "src": "1840:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1826:19:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4f6e6c79206f776e657220616c6c6f776564", - "id": 349, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1847:20:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_723fda17fb30a6cc7e06a9af2db3699db1a079268819efeab370ce8cb87b0282", - "typeString": "literal_string \"Only owner allowed\"" - }, - "value": "Only owner allowed" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_723fda17fb30a6cc7e06a9af2db3699db1a079268819efeab370ce8cb87b0282", - "typeString": "literal_string \"Only owner allowed\"" - } - ], - "id": 344, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3537, - 3538 - ], - "referencedDeclaration": 3538, - "src": "1818:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 350, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1818:50:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 351, - "nodeType": "ExpressionStatement", - "src": "1818:50:3" - }, - { - "id": 352, - "nodeType": "PlaceholderStatement", - "src": "1874:1:3" - } - ] - }, - "documentation": null, - "id": 354, - "name": "_owner", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 343, - "nodeType": "ParameterList", - "parameters": [], - "src": "1809:2:3" - }, - "src": "1794:86:3", - "visibility": "internal" - }, - { - "body": { - "id": 370, - "nodeType": "Block", - "src": "1913:145:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 365, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 360, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 357, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "1934:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1934:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 359, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 224, - "src": "1948:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1934:19:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 361, - "name": "isApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 262, - "src": "1957:10:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 364, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 362, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "1968:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 363, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1968:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1957:22:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1934:45:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "50726f78794964656e746974793a204f6e6c79206f776e6572206f7220617070726f766564206167656e7420616c6c6f776564", - "id": 366, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1987:53:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_fb31c564d39675dc395a6ca60b6e542c97a6166c5338331df279cbb9b7f5f005", - "typeString": "literal_string \"ProxyIdentity: Only owner or approved agent allowed\"" - }, - "value": "ProxyIdentity: Only owner or approved agent allowed" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_fb31c564d39675dc395a6ca60b6e542c97a6166c5338331df279cbb9b7f5f005", - "typeString": "literal_string \"ProxyIdentity: Only owner or approved agent allowed\"" - } - ], - "id": 356, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3537, - 3538 - ], - "referencedDeclaration": 3538, - "src": "1919:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 367, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1919:127:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 368, - "nodeType": "ExpressionStatement", - "src": "1919:127:3" - }, - { - "id": 369, - "nodeType": "PlaceholderStatement", - "src": "2052:1:3" - } - ] - }, - "documentation": null, - "id": 371, - "name": "isOwnerOrApproved", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 355, - "nodeType": "ParameterList", - "parameters": [], - "src": "1910:2:3" - }, - "src": "1884:174:3", - "visibility": "internal" - }, - { - "body": { - "id": 381, - "nodeType": "Block", - "src": "2084:111:3", - "statements": [ - { - "condition": { - "argumentTypes": null, - "id": 374, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "2094:18:3", - "subExpression": { - "argumentTypes": null, - "id": 373, - "name": "__isTokenFallback", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 254, - "src": "2095:17:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 379, - "nodeType": "IfStatement", - "src": "2090:93:3", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "4d6574686f642063616e20626520696e766f6b6564206f6e6c792061732070617274206f6620455243323233207472616e73666572", - "id": 376, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2127:55:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_bdab44b41622e4e29122e51585fab9d97f7a7803f6fdfb885484a7d492c6091c", - "typeString": "literal_string \"Method can be invoked only as part of ERC223 transfer\"" - }, - "value": "Method can be invoked only as part of ERC223 transfer" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_bdab44b41622e4e29122e51585fab9d97f7a7803f6fdfb885484a7d492c6091c", - "typeString": "literal_string \"Method can be invoked only as part of ERC223 transfer\"" - } - ], - "id": 375, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3539, - 3540 - ], - "referencedDeclaration": 3540, - "src": "2120:6:3", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2120:63:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 378, - "nodeType": "ExpressionStatement", - "src": "2120:63:3" - } - }, - { - "id": 380, - "nodeType": "PlaceholderStatement", - "src": "2189:1:3" - } - ] - }, - "documentation": null, - "id": 382, - "name": "tokenPayable", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 372, - "nodeType": "ParameterList", - "parameters": [], - "src": "2084:0:3" - }, - "src": "2062:133:3", - "visibility": "internal" - }, - { - "body": { - "id": 402, - "nodeType": "Block", - "src": "2311:80:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 395, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 384, - "src": "2342:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 396, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 386, - "src": "2349:2:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 397, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 388, - "src": "2353:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 394, - "name": "_sendTransaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 663, - "src": "2325:16:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (bytes memory,address,uint256) returns (bool)" - } - }, - "id": 398, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2325:34:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "43616e27742073656e64207472616e73616374696f6e", - "id": 399, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2361:24:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7c82b7a7ee1fe54aa2b67c53cc281be9ad31a3b2b59193f0526153c6a0f4b1f5", - "typeString": "literal_string \"Can't send transaction\"" - }, - "value": "Can't send transaction" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_7c82b7a7ee1fe54aa2b67c53cc281be9ad31a3b2b59193f0526153c6a0f4b1f5", - "typeString": "literal_string \"Can't send transaction\"" - } - ], - "id": 393, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3537, - 3538 - ], - "referencedDeclaration": 3538, - "src": "2317:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2317:69:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 401, - "nodeType": "ExpressionStatement", - "src": "2317:69:3" - } - ] - }, - "documentation": null, - "id": 403, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [], - "id": 391, - "modifierName": { - "argumentTypes": null, - "id": 390, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 354, - "src": "2302:6:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2302:8:3" - } - ], - "name": "sendTransaction", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 389, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 384, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 403, - "src": "2229:18:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 383, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2229:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 386, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 403, - "src": "2253:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 385, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2253:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 388, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 403, - "src": "2269:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 387, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2269:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2223:63:3" - }, - "returnParameters": { - "id": 392, - "nodeType": "ParameterList", - "parameters": [], - "src": "2311:0:3" - }, - "scope": 839, - "src": "2199:192:3", - "stateMutability": "payable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 482, - "nodeType": "Block", - "src": "2565:481:3", - "statements": [ - { - "assignments": [ - 421 - ], - "declarations": [ - { - "constant": false, - "id": 421, - "name": "digest", - "nodeType": "VariableDeclaration", - "scope": 482, - "src": "2571:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 420, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2571:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 431, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 425, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 405, - "src": "2609:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 426, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 407, - "src": "2615:2:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 427, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 415, - "src": "2619:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 428, - "name": "nonce", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 417, - "src": "2626:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 423, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3521, - "src": "2598:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 424, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2598:10:3", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 429, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2598:34:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 422, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3528, - "src": "2588:9:3", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 430, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2588:45:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2571:62:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 433, - "name": "digests", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 244, - "src": "2647:7:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", - "typeString": "mapping(bytes32 => bool)" - } - }, - "id": 435, - "indexExpression": { - "argumentTypes": null, - "id": 434, - "name": "digest", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 421, - "src": "2655:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2647:15:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 436, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2666:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "2647:24:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "54686973207472616e73616374696f6e2068617320616c7265616479206265656e2073656e74", - "id": 438, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2673:40:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_596de5951c787123d1900ef0ee539f02cc9726cd9f7754cb86c4da0f392d17e9", - "typeString": "literal_string \"This transaction has already been sent\"" - }, - "value": "This transaction has already been sent" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_596de5951c787123d1900ef0ee539f02cc9726cd9f7754cb86c4da0f392d17e9", - "typeString": "literal_string \"This transaction has already been sent\"" - } - ], - "id": 432, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3537, - 3538 - ], - "referencedDeclaration": 3538, - "src": "2639:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 439, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2639:75:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 440, - "nodeType": "ExpressionStatement", - "src": "2639:75:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 445, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 441, - "name": "digests", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 244, - "src": "2720:7:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", - "typeString": "mapping(bytes32 => bool)" - } - }, - "id": 443, - "indexExpression": { - "argumentTypes": null, - "id": 442, - "name": "digest", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 421, - "src": "2728:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2720:15:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 444, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2738:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "2720:22:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 446, - "nodeType": "ExpressionStatement", - "src": "2720:22:3" - }, - { - "assignments": [ - 448 - ], - "declarations": [ - { - "constant": false, - "id": 448, - "name": "hash", - "nodeType": "VariableDeclaration", - "scope": 482, - "src": "2748:12:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 447, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2748:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 456, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "19457468657265756d205369676e6564204d6573736167653a0a3332", - "id": 452, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2797:34:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", - "typeString": "literal_string \"\u0019Ethereum Signed Message:\n32\"" - }, - "value": "\u0019Ethereum Signed Message:\n32" - }, - { - "argumentTypes": null, - "id": 453, - "name": "digest", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 421, - "src": "2833:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", - "typeString": "literal_string \"\u0019Ethereum Signed Message:\n32\"" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 450, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3521, - "src": "2780:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 451, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2780:16:3", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2780:60:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 449, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3528, - "src": "2763:9:3", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2763:83:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2748:98:3" - }, - { - "assignments": [ - 458 - ], - "declarations": [ - { - "constant": false, - "id": 458, - "name": "signer", - "nodeType": "VariableDeclaration", - "scope": 482, - "src": "2852:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 457, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2852:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 465, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 460, - "name": "hash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 448, - "src": "2879:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 461, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 409, - "src": "2885:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "id": 462, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 411, - "src": "2888:1:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 463, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 413, - "src": "2891:1:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 459, - "name": "ecrecover", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3526, - "src": "2869:9:3", - "typeDescriptions": { - "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" - } - }, - "id": 464, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2869:24:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2852:41:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 467, - "name": "signer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 458, - "src": "2914:6:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 468, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 224, - "src": "2924:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2914:15:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5369676e6174757265206973206e6f742076616c6964", - "id": 470, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2937:24:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5482edd09fd5040631ef4b51e73f53323e29bc91c9d64b969ac54702b05cf16b", - "typeString": "literal_string \"Signature is not valid\"" - }, - "value": "Signature is not valid" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_5482edd09fd5040631ef4b51e73f53323e29bc91c9d64b969ac54702b05cf16b", - "typeString": "literal_string \"Signature is not valid\"" - } - ], - "id": 466, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3537, - 3538 - ], - "referencedDeclaration": 3538, - "src": "2899:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 471, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2899:68:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 472, - "nodeType": "ExpressionStatement", - "src": "2899:68:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 475, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 405, - "src": "2998:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 476, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 407, - "src": "3004:2:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 477, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 415, - "src": "3008:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 474, - "name": "_sendTransaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 663, - "src": "2981:16:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (bytes memory,address,uint256) returns (bool)" - } - }, - "id": 478, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2981:33:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "43616e27742073656e64207472616e73616374696f6e", - "id": 479, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3016:24:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7c82b7a7ee1fe54aa2b67c53cc281be9ad31a3b2b59193f0526153c6a0f4b1f5", - "typeString": "literal_string \"Can't send transaction\"" - }, - "value": "Can't send transaction" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_7c82b7a7ee1fe54aa2b67c53cc281be9ad31a3b2b59193f0526153c6a0f4b1f5", - "typeString": "literal_string \"Can't send transaction\"" - } - ], - "id": 473, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3537, - 3538 - ], - "referencedDeclaration": 3538, - "src": "2973:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2973:68:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 481, - "nodeType": "ExpressionStatement", - "src": "2973:68:3" - } - ] - }, - "documentation": null, - "id": 483, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sendSignedTransaction", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 418, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 405, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 483, - "src": "2431:17:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 404, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2431:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 407, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 483, - "src": "2454:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 406, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2454:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 409, - "name": "v", - "nodeType": "VariableDeclaration", - "scope": 483, - "src": "2470:7:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 408, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "2470:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 411, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 483, - "src": "2483:9:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 410, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2483:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 413, - "name": "s", - "nodeType": "VariableDeclaration", - "scope": 483, - "src": "2498:9:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 412, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2498:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 415, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 483, - "src": "2513:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 414, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2513:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 417, - "name": "nonce", - "nodeType": "VariableDeclaration", - "scope": 483, - "src": "2532:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 416, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2532:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2425:124:3" - }, - "returnParameters": { - "id": 419, - "nodeType": "ParameterList", - "parameters": [], - "src": "2565:0:3" - }, - "scope": 839, - "src": "2395:651:3", - "stateMutability": "payable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 494, - "nodeType": "Block", - "src": "3105:33:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 491, - "name": "delegate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 485, - "src": "3124:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 490, - "name": "_addDelegate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 681, - "src": "3111:12:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 492, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3111:22:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 493, - "nodeType": "ExpressionStatement", - "src": "3111:22:3" - } - ] - }, - "documentation": null, - "id": 495, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [], - "id": 488, - "modifierName": { - "argumentTypes": null, - "id": 487, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 354, - "src": "3096:6:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3096:8:3" - } - ], - "name": "addDelegate", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 486, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 485, - "name": "delegate", - "nodeType": "VariableDeclaration", - "scope": 495, - "src": "3071:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 484, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3071:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3070:18:3" - }, - "returnParameters": { - "id": 489, - "nodeType": "ParameterList", - "parameters": [], - "src": "3105:0:3" - }, - "scope": 839, - "src": "3050:88:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 513, - "nodeType": "Block", - "src": "3200:79:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 507, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3574, - "src": "3247:4:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - ], - "id": 506, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3239:7:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3239:13:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "hexValue": "73696741757468", - "id": 509, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3254:9:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e4ca3c59c7ff0162c35b0197dbc171846ff35d18a9f84431b59187ac80ada47f", - "typeString": "literal_string \"sigAuth\"" - }, - "value": "sigAuth" - }, - { - "argumentTypes": null, - "id": 510, - "name": "delegate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 497, - "src": "3265:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_stringliteral_e4ca3c59c7ff0162c35b0197dbc171846ff35d18a9f84431b59187ac80ada47f", - "typeString": "literal_string \"sigAuth\"" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 503, - "name": "erc1056", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 231, - "src": "3215:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 502, - "name": "IERC1056", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 216, - "src": "3206:8:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC1056_$216_$", - "typeString": "type(contract IERC1056)" - } - }, - "id": 504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3206:17:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC1056_$216", - "typeString": "contract IERC1056" - } - }, - "id": 505, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "revokeDelegate", - "nodeType": "MemberAccess", - "referencedDeclaration": 215, - "src": "3206:32:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,bytes32,address) external" - } - }, - "id": 511, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3206:68:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 512, - "nodeType": "ExpressionStatement", - "src": "3206:68:3" - } - ] - }, - "documentation": null, - "id": 514, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [], - "id": 500, - "modifierName": { - "argumentTypes": null, - "id": 499, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 354, - "src": "3191:6:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3191:8:3" - } - ], - "name": "revokeDelegate", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 498, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 497, - "name": "delegate", - "nodeType": "VariableDeclaration", - "scope": 514, - "src": "3166:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 496, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3166:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3165:18:3" - }, - "returnParameters": { - "id": 501, - "nodeType": "ParameterList", - "parameters": [], - "src": "3200:0:3" - }, - "scope": 839, - "src": "3142:137:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 525, - "nodeType": "Block", - "src": "3347:27:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 523, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 521, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 224, - "src": "3353:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 522, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 516, - "src": "3361:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3353:16:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 524, - "nodeType": "ExpressionStatement", - "src": "3353:16:3" - } - ] - }, - "documentation": null, - "id": 526, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 519, - "modifierName": { - "argumentTypes": null, - "id": 518, - "name": "isOwnerOrApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 371, - "src": "3329:17:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3329:17:3" - } - ], - "name": "changeOwner", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 517, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 516, - "name": "newOwner", - "nodeType": "VariableDeclaration", - "scope": 526, - "src": "3304:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 515, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3304:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3303:18:3" - }, - "returnParameters": { - "id": 520, - "nodeType": "ParameterList", - "parameters": [], - "src": "3347:0:3" - }, - "scope": 839, - "src": "3283:91:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 547, - "nodeType": "Block", - "src": "3444:98:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 537, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 533, - "name": "isApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 262, - "src": "3450:10:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 535, - "indexExpression": { - "argumentTypes": null, - "id": 534, - "name": "agent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 528, - "src": "3461:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3450:17:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 536, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3470:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "3450:24:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 538, - "nodeType": "ExpressionStatement", - "src": "3450:24:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 543, - "name": "agent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 528, - "src": "3525:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 544, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3532:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 540, - "name": "erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 233, - "src": "3498:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 539, - "name": "ERC1155Multiproxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1183, - "src": "3480:17:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC1155Multiproxy_$1183_$", - "typeString": "type(contract ERC1155Multiproxy)" - } - }, - "id": 541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3480:26:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1155Multiproxy_$1183", - "typeString": "contract ERC1155Multiproxy" - } - }, - "id": 542, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setApprovalForAll", - "nodeType": "MemberAccess", - "referencedDeclaration": 2823, - "src": "3480:44:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bool_$returns$__$", - "typeString": "function (address,bool) external" - } - }, - "id": 545, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3480:57:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 546, - "nodeType": "ExpressionStatement", - "src": "3480:57:3" - } - ] - }, - "documentation": null, - "id": 548, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 531, - "modifierName": { - "argumentTypes": null, - "id": 530, - "name": "isOwnerOrApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 371, - "src": "3426:17:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3426:17:3" - } - ], - "name": "addApprovedAgent", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 529, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 528, - "name": "agent", - "nodeType": "VariableDeclaration", - "scope": 548, - "src": "3404:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 527, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3404:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3403:15:3" - }, - "returnParameters": { - "id": 532, - "nodeType": "ParameterList", - "parameters": [], - "src": "3444:0:3" - }, - "scope": 839, - "src": "3378:164:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 569, - "nodeType": "Block", - "src": "3615:100:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 555, - "name": "isApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 262, - "src": "3621:10:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 557, - "indexExpression": { - "argumentTypes": null, - "id": 556, - "name": "agent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 550, - "src": "3632:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3621:17:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 558, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3641:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "3621:25:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 560, - "nodeType": "ExpressionStatement", - "src": "3621:25:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 565, - "name": "agent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 550, - "src": "3697:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 566, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3704:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 562, - "name": "erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 233, - "src": "3670:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 561, - "name": "ERC1155Multiproxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1183, - "src": "3652:17:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC1155Multiproxy_$1183_$", - "typeString": "type(contract ERC1155Multiproxy)" - } - }, - "id": 563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3652:26:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1155Multiproxy_$1183", - "typeString": "contract ERC1155Multiproxy" - } - }, - "id": 564, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setApprovalForAll", - "nodeType": "MemberAccess", - "referencedDeclaration": 2823, - "src": "3652:44:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bool_$returns$__$", - "typeString": "function (address,bool) external" - } - }, - "id": 567, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3652:58:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 568, - "nodeType": "ExpressionStatement", - "src": "3652:58:3" - } - ] - }, - "documentation": null, - "id": 570, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 553, - "modifierName": { - "argumentTypes": null, - "id": 552, - "name": "isOwnerOrApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 371, - "src": "3597:17:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3597:17:3" + "typeName": { + "id": 39, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "458:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" } - ], - "name": "removeApprovedAgent", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 551, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 550, - "name": "agent", - "nodeType": "VariableDeclaration", - "scope": 570, - "src": "3575:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 549, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3575:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3574:15:3" }, - "returnParameters": { - "id": 554, - "nodeType": "ParameterList", - "parameters": [], - "src": "3615:0:3" + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 42, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 254, + "src": "477:16:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string" }, - "scope": 839, - "src": "3546:169:3", - "stateMutability": "nonpayable", - "superFunction": null, + "typeName": { + "id": 41, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "477:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, "visibility": "public" }, { - "body": { - "id": 582, - "nodeType": "Block", - "src": "3770:52:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 579, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 258, - "src": "3814:2:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 576, - "name": "erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 233, - "src": "3801:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 575, - "name": "ERC1155Multiproxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1183, - "src": "3783:17:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC1155Multiproxy_$1183_$", - "typeString": "type(contract ERC1155Multiproxy)" - } - }, - "id": 577, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3783:26:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1155Multiproxy_$1183", - "typeString": "contract ERC1155Multiproxy" - } - }, - "id": 578, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "uri", - "nodeType": "MemberAccess", - "referencedDeclaration": 1118, - "src": "3783:30:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_string_memory_ptr_$", - "typeString": "function (uint256) view external returns (string memory)" - } - }, - "id": 580, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3783:34:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 574, - "id": 581, - "nodeType": "Return", - "src": "3776:41:3" - } - ] + "constant": false, + "id": 44, + "name": "sigV", + "nodeType": "VariableDeclaration", + "scope": 254, + "src": "498:10:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" }, - "documentation": null, - "id": 583, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "uri", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 571, - "nodeType": "ParameterList", - "parameters": [], - "src": "3731:2:3" + "typeName": { + "id": 43, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "498:5:0", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } }, - "returnParameters": { - "id": 574, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 573, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 583, - "src": "3755:13:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 572, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3755:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3754:15:3" + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 46, + "name": "sigR", + "nodeType": "VariableDeclaration", + "scope": 254, + "src": "512:12:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" }, - "scope": 839, - "src": "3719:103:3", - "stateMutability": "view", - "superFunction": null, + "typeName": { + "id": 45, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "512:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 48, + "name": "sigS", + "nodeType": "VariableDeclaration", + "scope": 254, + "src": "528:12:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 47, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "528:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 50, + "name": "offeredTo", + "nodeType": "VariableDeclaration", + "scope": 254, + "src": "544:24:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 49, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "544:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, "visibility": "public" }, { - "body": { - "id": 596, - "nodeType": "Block", - "src": "3872:57:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 592, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 258, - "src": "3915:2:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 593, - "name": "_uri", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 585, - "src": "3919:4:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 589, - "name": "erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 233, - "src": "3896:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 588, - "name": "ERC1155Multiproxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1183, - "src": "3878:17:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC1155Multiproxy_$1183_$", - "typeString": "type(contract ERC1155Multiproxy)" - } - }, - "id": 590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3878:26:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1155Multiproxy_$1183", - "typeString": "contract ERC1155Multiproxy" - } - }, - "id": 591, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "updateUri", - "nodeType": "MemberAccess", - "referencedDeclaration": 1142, - "src": "3878:36:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (uint256,string memory) external" - } - }, - "id": 594, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3878:46:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 595, - "nodeType": "ExpressionStatement", - "src": "3878:46:3" - } - ] - }, - "documentation": null, - "id": 597, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "updateUri", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 586, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 585, - "name": "_uri", - "nodeType": "VariableDeclaration", - "scope": 597, - "src": "3845:18:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 584, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3845:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3844:20:3" + "constant": false, + "id": 52, + "name": "offerSigner", + "nodeType": "VariableDeclaration", + "scope": 254, + "src": "572:26:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" }, - "returnParameters": { - "id": 587, - "nodeType": "ParameterList", - "parameters": [], - "src": "3872:0:3" + "typeName": { + "id": 51, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "572:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } }, - "scope": 839, - "src": "3826:103:3", - "stateMutability": "nonpayable", - "superFunction": null, + "value": null, "visibility": "public" }, { - "body": { - "id": 614, - "nodeType": "Block", - "src": "4095:34:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 612, - "name": "ERC1155_ACCEPTED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 247, - "src": "4108:16:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "functionReturnParameters": 611, - "id": 613, - "nodeType": "Return", - "src": "4101:23:3" - } - ] + "constant": false, + "id": 54, + "name": "offerHash", + "nodeType": "VariableDeclaration", + "scope": 254, + "src": "602:24:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 53, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "602:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } }, + "value": null, + "visibility": "public" + }, + { + "anonymous": false, "documentation": null, - "id": 615, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "onERC1155Received", - "nodeType": "FunctionDefinition", + "id": 60, + "name": "OfferableIdentityCreated", + "nodeType": "EventDefinition", "parameters": { - "id": 608, + "id": 59, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 599, - "name": "_operator", + "id": 56, + "indexed": false, + "name": "identity", "nodeType": "VariableDeclaration", - "scope": 615, - "src": "3965:17:3", + "scope": 60, + "src": "662:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14099,11 +4092,10 @@ "typeString": "address" }, "typeName": { - "id": 598, + "id": 55, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3965:7:3", - "stateMutability": "nonpayable", + "src": "662:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14114,196 +4106,54 @@ }, { "constant": false, - "id": 601, - "name": "_from", + "id": 58, + "indexed": false, + "name": "owner", "nodeType": "VariableDeclaration", - "scope": 615, - "src": "3988:13:3", + "scope": 60, + "src": "680:13:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 600, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3988:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 603, - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 615, - "src": "4007:11:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 602, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4007:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 605, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 615, - "src": "4024:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 604, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4024:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 607, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 615, - "src": "4044:20:3", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 606, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4044:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3959:109:3" - }, - "returnParameters": { - "id": 611, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 610, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 615, - "src": "4087:6:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" + "typeString": "address" }, "typeName": { - "id": 609, - "name": "bytes4", + "id": 57, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "4087:6:3", + "src": "680:7:0", "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" + "typeIdentifier": "t_address", + "typeString": "address" } }, "value": null, "visibility": "internal" } ], - "src": "4086:8:3" + "src": "661:33:0" }, - "scope": 839, - "src": "3933:196:3", - "stateMutability": "nonpayable", - "superFunction": 2383, - "visibility": "external" + "src": "631:64:0" }, { - "body": { - "id": 634, - "nodeType": "Block", - "src": "4324:40:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 632, - "name": "ERC1155_BATCH_ACCEPTED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 250, - "src": "4337:22:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "functionReturnParameters": 631, - "id": 633, - "nodeType": "Return", - "src": "4330:29:3" - } - ] - }, + "anonymous": false, "documentation": null, - "id": 635, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "onERC1155BatchReceived", - "nodeType": "FunctionDefinition", + "id": 66, + "name": "IdentityOffered", + "nodeType": "EventDefinition", "parameters": { - "id": 628, + "id": 65, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 617, - "name": "_operator", + "id": 62, + "indexed": false, + "name": "identity", "nodeType": "VariableDeclaration", - "scope": 635, - "src": "4170:17:3", + "scope": 66, + "src": "720:16:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14311,11 +4161,10 @@ "typeString": "address" }, "typeName": { - "id": 616, + "id": 61, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4170:7:3", - "stateMutability": "nonpayable", + "src": "720:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14326,11 +4175,12 @@ }, { "constant": false, - "id": 619, - "name": "_from", + "id": 64, + "indexed": false, + "name": "offeredTo", "nodeType": "VariableDeclaration", - "scope": 635, - "src": "4193:13:3", + "scope": 66, + "src": "738:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14338,11 +4188,10 @@ "typeString": "address" }, "typeName": { - "id": 618, + "id": 63, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4193:7:3", - "stateMutability": "nonpayable", + "src": "738:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14350,38 +4199,44 @@ }, "value": null, "visibility": "internal" - }, + } + ], + "src": "719:37:0" + }, + "src": "698:59:0" + }, + { + "anonymous": false, + "documentation": null, + "id": 72, + "name": "IdentityTransferred", + "nodeType": "EventDefinition", + "parameters": { + "id": 71, + "nodeType": "ParameterList", + "parameters": [ { "constant": false, - "id": 622, - "name": "_ids", + "id": 68, + "indexed": false, + "name": "identity", "nodeType": "VariableDeclaration", - "scope": 635, - "src": "4212:23:3", + "scope": 72, + "src": "786:16:0", "stateVariable": false, - "storageLocation": "calldata", + "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "baseType": { - "id": 620, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4212:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 621, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4212:9:3", + "id": 67, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "786:7:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" + "typeIdentifier": "t_address", + "typeString": "address" } }, "value": null, @@ -14389,280 +4244,460 @@ }, { "constant": false, - "id": 625, - "name": "_values", + "id": 70, + "indexed": false, + "name": "owner", "nodeType": "VariableDeclaration", - "scope": 635, - "src": "4241:26:3", + "scope": 72, + "src": "804:13:0", "stateVariable": false, - "storageLocation": "calldata", + "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "baseType": { - "id": 623, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4241:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 624, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4241:9:3", + "id": 69, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "804:7:0", "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" + "typeIdentifier": "t_address", + "typeString": "address" } }, "value": null, "visibility": "internal" - }, + } + ], + "src": "785:33:0" + }, + "src": "760:59:0" + }, + { + "anonymous": false, + "documentation": null, + "id": 78, + "name": "OfferRejected", + "nodeType": "EventDefinition", + "parameters": { + "id": 77, + "nodeType": "ParameterList", + "parameters": [ { "constant": false, - "id": 627, - "name": "_data", + "id": 74, + "indexed": false, + "name": "identity", "nodeType": "VariableDeclaration", - "scope": 635, - "src": "4273:20:3", + "scope": 78, + "src": "842:16:0", "stateVariable": false, - "storageLocation": "calldata", + "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": 626, - "name": "bytes", + "id": 73, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "4273:5:3", + "src": "842:7:0", "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" + "typeIdentifier": "t_address", + "typeString": "address" } }, "value": null, "visibility": "internal" - } - ], - "src": "4164:133:3" - }, - "returnParameters": { - "id": 631, - "nodeType": "ParameterList", - "parameters": [ + }, { "constant": false, - "id": 630, - "name": "", + "id": 76, + "indexed": false, + "name": "offeredTo", "nodeType": "VariableDeclaration", - "scope": 635, - "src": "4316:6:3", + "scope": 78, + "src": "860:17:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": 629, - "name": "bytes4", + "id": 75, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "4316:6:3", + "src": "860:7:0", "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" + "typeIdentifier": "t_address", + "typeString": "address" } }, "value": null, "visibility": "internal" } ], - "src": "4315:8:3" + "src": "841:37:0" }, - "scope": 839, - "src": "4133:231:3", - "stateMutability": "nonpayable", - "superFunction": 2400, - "visibility": "external" + "src": "822:57:0" }, { "body": { - "id": 662, + "id": 121, "nodeType": "Block", - "src": "4489:258:3", + "src": "955:213:0", "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 89, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 87, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 42, + "src": "961:2:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 88, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 80, + "src": "966:3:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "961:8:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 90, + "nodeType": "ExpressionStatement", + "src": "961:8:0" + }, + { + "expression": { + "argumentTypes": null, + "id": 93, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 91, + "name": "erc1056", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 40, + "src": "975:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 92, + "name": "_erc1056", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 82, + "src": "985:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "975:18:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 94, + "nodeType": "ExpressionStatement", + "src": "975:18:0" + }, { "assignments": [ - 647 + 96 ], "declarations": [ { "constant": false, - "id": 647, - "name": "data", + "id": 96, + "name": "registry", "nodeType": "VariableDeclaration", - "scope": 662, - "src": "4495:17:3", + "scope": 122, + "src": "999:17:0", "stateVariable": false, - "storageLocation": "memory", + "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" + "typeIdentifier": "t_contract$_IERC1056_$36", + "typeString": "contract IERC1056" }, "typeName": { - "id": 646, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4495:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" + "contractScope": null, + "id": 95, + "name": "IERC1056", + "nodeType": "UserDefinedTypeName", + "referencedDeclaration": 36, + "src": "999:8:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC1056_$36", + "typeString": "contract IERC1056" } }, "value": null, "visibility": "internal" } ], - "id": 649, + "id": 100, "initialValue": { "argumentTypes": null, - "id": 648, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 637, - "src": "4515:5:3", + "arguments": [ + { + "argumentTypes": null, + "id": 98, + "name": "_erc1056", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 82, + "src": "1028:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 97, + "name": "IERC1056", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36, + "src": "1019:8:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC1056_$36_$", + "typeString": "type(contract IERC1056)" + } + }, + "id": 99, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1019:18:0", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" + "typeIdentifier": "t_contract$_IERC1056_$36", + "typeString": "contract IERC1056" } }, "nodeType": "VariableDeclarationStatement", - "src": "4495:25:3" + "src": "999:38:0" }, { - "assignments": [ - 651 - ], - "declarations": [ - { - "constant": false, - "id": 651, - "name": "len", - "nodeType": "VariableDeclaration", - "scope": 662, - "src": "4526:11:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 105, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 284, + "src": "1072:4:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OfferableIdentity_$254", + "typeString": "contract OfferableIdentity" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_OfferableIdentity_$254", + "typeString": "contract OfferableIdentity" + } + ], + "id": 104, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1064:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 106, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1064:13:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } }, - "typeName": { - "id": 650, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4526:7:3", + { + "argumentTypes": null, + "id": 107, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 84, + "src": "1079:6:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 654, - "initialValue": { - "argumentTypes": null, + } + ], "expression": { - "argumentTypes": null, - "id": 652, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 647, - "src": "4540:4:3", + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "argumentTypes": null, + "id": 101, + "name": "registry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 96, + "src": "1043:8:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC1056_$36", + "typeString": "contract IERC1056" + } + }, + "id": 103, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "changeOwner", + "nodeType": "MemberAccess", + "referencedDeclaration": 21, + "src": "1043:20:0", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address) external" } }, - "id": 653, + "id": 108, "isConstant": false, "isLValue": false, "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4540:11:3", + "names": [], + "nodeType": "FunctionCall", + "src": "1043:43:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "nodeType": "VariableDeclarationStatement", - "src": "4526:25:3" + "id": 109, + "nodeType": "ExpressionStatement", + "src": "1043:43:0" }, { - "externalReferences": [ - { - "success": { - "declaration": 644, - "isOffset": false, - "isSlot": false, - "src": "4634:7:3", - "valueSize": 1 - } - }, - { - "data": { - "declaration": 647, - "isOffset": false, - "isSlot": false, - "src": "4670:4:3", - "valueSize": 1 - } - }, - { - "to": { - "declaration": 639, - "isOffset": false, - "isSlot": false, - "src": "4655:2:3", - "valueSize": 1 + "expression": { + "argumentTypes": null, + "id": 112, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 110, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 38, + "src": "1092:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" } }, - { - "value": { - "declaration": 641, - "isOffset": false, - "isSlot": false, - "src": "4659:5:3", - "valueSize": 1 + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 111, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 84, + "src": "1100:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" } }, - { - "len": { - "declaration": 651, - "isOffset": false, - "isSlot": false, - "src": "4683:3:3", - "valueSize": 1 - } + "src": "1092:14:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" } - ], - "id": 655, - "nodeType": "InlineAssembly", - "operations": "{\n success := call(gas(), to, value, add(data, 0x20), len, 0, 0)\n}", - "src": "4617:82:3" + }, + "id": 113, + "nodeType": "ExpressionStatement", + "src": "1092:14:0" }, { "eventCall": { @@ -14670,25 +4705,50 @@ "arguments": [ { "argumentTypes": null, - "id": 657, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 637, - "src": "4725:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 658, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 639, - "src": "4732:2:3", + "arguments": [ + { + "argumentTypes": null, + "id": 116, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 284, + "src": "1150:4:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OfferableIdentity_$254", + "typeString": "contract OfferableIdentity" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_OfferableIdentity_$254", + "typeString": "contract OfferableIdentity" + } + ], + "id": 115, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1142:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 117, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1142:13:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14696,45 +4756,41 @@ }, { "argumentTypes": null, - "id": 659, - "name": "value", + "id": 118, + "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 641, - "src": "4736:5:3", + "referencedDeclaration": 38, + "src": "1157:5:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } } ], "expression": { "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, { "typeIdentifier": "t_address", "typeString": "address" }, { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } ], - "id": 656, - "name": "TransactionSent", + "id": 114, + "name": "OfferableIdentityCreated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 283, - "src": "4709:15:3", + "referencedDeclaration": 60, + "src": "1117:24:0", "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (bytes memory,address,uint256)" + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" } }, - "id": 660, + "id": 119, "isConstant": false, "isLValue": false, "isPure": false, @@ -14742,50 +4798,77 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4709:33:3", + "src": "1117:46:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 661, + "id": 120, "nodeType": "EmitStatement", - "src": "4704:38:3" + "src": "1112:51:0" } ] }, "documentation": null, - "id": 663, + "id": 122, "implemented": true, - "kind": "function", + "isConstructor": true, + "isDeclaredConst": false, "modifiers": [], - "name": "_sendTransaction", + "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 642, + "id": 85, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 637, - "name": "_data", + "id": 80, + "name": "_id", "nodeType": "VariableDeclaration", - "scope": 663, - "src": "4399:18:3", + "scope": 122, + "src": "895:17:0", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" }, "typeName": { - "id": 636, - "name": "bytes", + "id": 79, + "name": "string", "nodeType": "ElementaryTypeName", - "src": "4399:5:3", + "src": "895:6:0", "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 82, + "name": "_erc1056", + "nodeType": "VariableDeclaration", + "scope": 122, + "src": "914:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 81, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "914:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" } }, "value": null, @@ -14793,11 +4876,11 @@ }, { "constant": false, - "id": 639, - "name": "to", + "id": 84, + "name": "_owner", "nodeType": "VariableDeclaration", - "scope": 663, - "src": "4423:10:3", + "scope": 122, + "src": "932:14:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14805,92 +4888,192 @@ "typeString": "address" }, "typeName": { - "id": 638, + "id": 83, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4423:7:3", - "stateMutability": "nonpayable", + "src": "932:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "894:53:0" + }, + "payable": false, + "returnParameters": { + "id": 86, + "nodeType": "ParameterList", + "parameters": [], + "src": "955:0:0" + }, + "scope": 254, + "src": "883:285:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 133, + "nodeType": "Block", + "src": "1191:68:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 128, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 125, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 269, + "src": "1205:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 126, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1205:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 127, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 38, + "src": "1219:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1205:19:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "4f6e6c79206f776e657220616c6c6f776564", + "id": 129, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1226:20:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_723fda17fb30a6cc7e06a9af2db3699db1a079268819efeab370ce8cb87b0282", + "typeString": "literal_string \"Only owner allowed\"" + }, + "value": "Only owner allowed" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_723fda17fb30a6cc7e06a9af2db3699db1a079268819efeab370ce8cb87b0282", + "typeString": "literal_string \"Only owner allowed\"" + } + ], + "id": 124, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 272, + 273 + ], + "referencedDeclaration": 273, + "src": "1197:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 130, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1197:50:0", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "value": null, - "visibility": "internal" + "id": 131, + "nodeType": "ExpressionStatement", + "src": "1197:50:0" }, { - "constant": false, - "id": 641, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 663, - "src": "4439:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 640, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4439:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" + "id": 132, + "nodeType": "PlaceholderStatement", + "src": "1253:1:0" } - ], - "src": "4393:63:3" + ] }, - "returnParameters": { - "id": 645, + "documentation": null, + "id": 134, + "name": "isOwner", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 123, "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 644, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 663, - "src": "4475:12:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 643, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4475:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4474:14:3" + "parameters": [], + "src": "1188:2:0" }, - "scope": 839, - "src": "4368:379:3", - "stateMutability": "nonpayable", - "superFunction": null, + "src": "1172:87:0", "visibility": "internal" }, { "body": { - "id": 680, + "id": 154, "nodeType": "Block", - "src": "4800:123:3", + "src": "1286:146:0", "statements": [ { "expression": { @@ -14898,183 +5081,264 @@ "arguments": [ { "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 673, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3574, - "src": "4851:4:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 141, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 137, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50, + "src": "1300:9:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" } - ], - "expression": { - "argumentTypes": [ + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" + "argumentTypes": null, + "hexValue": "30", + "id": 139, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1321:1:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" } ], - "id": 672, + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 138, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1313:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 140, "isConstant": false, "isLValue": false, "isPure": true, + "kind": "typeConversion", "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4843:7:3", + "names": [], + "nodeType": "FunctionCall", + "src": "1313:10:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" + "typeIdentifier": "t_address", + "typeString": "address" + } }, - "id": 674, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4843:13:3", + "src": "1300:23:0", "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" + "typeIdentifier": "t_bool", + "typeString": "bool" } }, { "argumentTypes": null, - "hexValue": "73696741757468", - "id": 675, + "hexValue": "50726f7879206973206e6f74206f666665726564", + "id": 142, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4864:9:3", + "src": "1325:22:0", "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e4ca3c59c7ff0162c35b0197dbc171846ff35d18a9f84431b59187ac80ada47f", - "typeString": "literal_string \"sigAuth\"" + "typeIdentifier": "t_stringliteral_67f56cf7cfe2dab60ba03182b68916128d38ba3507fedaa15f19d15e8e706a66", + "typeString": "literal_string \"Proxy is not offered\"" }, - "value": "sigAuth" - }, - { - "argumentTypes": null, - "id": 676, - "name": "delegate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 665, - "src": "4881:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 677, - "name": "defaultValidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 240, - "src": "4897:15:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "value": "Proxy is not offered" } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_stringliteral_e4ca3c59c7ff0162c35b0197dbc171846ff35d18a9f84431b59187ac80ada47f", - "typeString": "literal_string \"sigAuth\"" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_bool", + "typeString": "bool" }, { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_stringliteral_67f56cf7cfe2dab60ba03182b68916128d38ba3507fedaa15f19d15e8e706a66", + "typeString": "literal_string \"Proxy is not offered\"" } ], - "expression": { + "id": 136, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 272, + 273 + ], + "referencedDeclaration": 273, + "src": "1292:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 143, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1292:56:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 144, + "nodeType": "ExpressionStatement", + "src": "1292:56:0" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { "argumentTypes": null, - "arguments": [ - { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 149, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { "argumentTypes": null, - "id": 669, - "name": "erc1056", + "id": 146, + "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 231, - "src": "4815:7:3", + "referencedDeclaration": 269, + "src": "1362:3:0", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_magic_message", + "typeString": "msg" } + }, + "id": 147, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1362:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 668, - "name": "IERC1056", + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 148, + "name": "offeredTo", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 216, - "src": "4806:8:3", + "referencedDeclaration": 50, + "src": "1376:9:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC1056_$216_$", - "typeString": "type(contract IERC1056)" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "id": 670, + "src": "1362:23:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "50726f7879206f66666572656420746f206f74686572206163636f756e74", + "id": 150, "isConstant": false, "isLValue": false, - "isPure": false, - "kind": "typeConversion", + "isPure": true, + "kind": "string", "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4806:17:3", + "nodeType": "Literal", + "src": "1387:32:0", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC1056_$216", - "typeString": "contract IERC1056" + "typeIdentifier": "t_stringliteral_08fd32e4b45ba33ac50978960e75e0120a34559017c4786651bbfaa01f13f8f0", + "typeString": "literal_string \"Proxy offered to other account\"" + }, + "value": "Proxy offered to other account" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_08fd32e4b45ba33ac50978960e75e0120a34559017c4786651bbfaa01f13f8f0", + "typeString": "literal_string \"Proxy offered to other account\"" } - }, - "id": 671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "addDelegate", - "nodeType": "MemberAccess", - "referencedDeclaration": 206, - "src": "4806:29:3", + ], + "id": 145, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 272, + 273 + ], + "referencedDeclaration": 273, + "src": "1354:7:0", "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,bytes32,address,uint256) external" + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" } }, - "id": 678, + "id": 151, "isConstant": false, "isLValue": false, "isPure": false, @@ -15082,443 +5346,319 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4806:112:3", + "src": "1354:66:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 679, + "id": 152, "nodeType": "ExpressionStatement", - "src": "4806:112:3" + "src": "1354:66:0" + }, + { + "id": 153, + "nodeType": "PlaceholderStatement", + "src": "1426:1:0" } ] }, "documentation": null, - "id": 681, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_addDelegate", - "nodeType": "FunctionDefinition", + "id": 155, + "name": "isOfferedTo", + "nodeType": "ModifierDefinition", "parameters": { - "id": 666, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 665, - "name": "delegate", - "nodeType": "VariableDeclaration", - "scope": 681, - "src": "4773:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 664, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4773:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4772:18:3" - }, - "returnParameters": { - "id": 667, + "id": 135, "nodeType": "ParameterList", "parameters": [], - "src": "4800:0:3" + "src": "1283:2:0" }, - "scope": 839, - "src": "4751:172:3", - "stateMutability": "nonpayable", - "superFunction": null, + "src": "1263:169:0", "visibility": "internal" }, - { - "constant": true, - "id": 684, - "name": "INTERFACE_SIGNATURE_ERC165", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "5021:63:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 682, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "5021:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783031666663396137", - "id": 683, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5074:10:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_33540519_by_1", - "typeString": "int_const 33540519" - }, - "value": "0x01ffc9a7" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 687, - "name": "INTERFACE_SIGNATURE_ERC1155TOKENRECEIVER", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "5271:77:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 685, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "5271:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783465323331326530", - "id": 686, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5338:10:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1310921440_by_1", - "typeString": "int_const 1310921440" - }, - "value": "0x4e2312e0" - }, - "visibility": "private" - }, { "body": { - "id": 707, + "id": 181, "nodeType": "Block", - "src": "5641:180:3", + "src": "1509:120:0", "statements": [ { - "condition": { + "expression": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 700, + "id": 166, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "leftExpression": { + "leftHandSide": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 696, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 694, - "name": "_interfaceID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 689, - "src": "5658:12:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 695, - "name": "INTERFACE_SIGNATURE_ERC165", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 684, - "src": "5674:26:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "5658:42:3", + "id": 164, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50, + "src": "1515:9:0", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 699, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { + "id": 165, + "name": "_offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 159, + "src": "1527:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1515:22:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 167, + "nodeType": "ExpressionStatement", + "src": "1515:22:0" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { "argumentTypes": null, - "id": 697, - "name": "_interfaceID", + "id": 171, + "name": "changeOwnerTx", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 689, - "src": "5710:12:3", + "referencedDeclaration": 157, + "src": "1557:13:0", "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "expression": { "argumentTypes": null, - "id": 698, - "name": "INTERFACE_SIGNATURE_ERC1155TOKENRECEIVER", + "id": 168, + "name": "erc1056", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 687, - "src": "5726:40:3", + "referencedDeclaration": 40, + "src": "1544:7:0", "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "src": "5710:56:3", + "id": 170, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "call", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "1544:12:0", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_function_barecall_payable$__$returns$_t_bool_$", + "typeString": "function () payable returns (bool)" } }, - "src": "5658:108:3", + "id": 172, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1544:27:0", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "falseBody": null, - "id": 704, - "nodeType": "IfStatement", - "src": "5647:152:3", - "trueBody": { - "id": 703, - "nodeType": "Block", - "src": "5773:26:3", - "statements": [ + "id": 173, + "nodeType": "ExpressionStatement", + "src": "1544:27:0" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 176, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 284, + "src": "1607:4:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OfferableIdentity_$254", + "typeString": "contract OfferableIdentity" + } + } + ], "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 701, + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_OfferableIdentity_$254", + "typeString": "contract OfferableIdentity" + } + ], + "id": 175, "isConstant": false, "isLValue": false, "isPure": true, - "kind": "bool", "lValueRequested": false, - "nodeType": "Literal", - "src": "5788:4:3", - "subdenomination": null, + "nodeType": "ElementaryTypeNameExpression", + "src": "1599:7:0", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" }, - "value": "true" + "typeName": "address" + }, + "id": 177, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1599:13:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 178, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50, + "src": "1614:9:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" }, - "functionReturnParameters": 693, - "id": 702, - "nodeType": "Return", - "src": "5781:11:3" + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 174, + "name": "IdentityOffered", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 66, + "src": "1583:15:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 705, + }, + "id": 179, "isConstant": false, "isLValue": false, - "isPure": true, - "kind": "bool", + "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "nodeType": "Literal", - "src": "5811:5:3", - "subdenomination": null, + "names": [], + "nodeType": "FunctionCall", + "src": "1583:41:0", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } }, - "functionReturnParameters": 693, - "id": 706, - "nodeType": "Return", - "src": "5804:12:3" + "id": 180, + "nodeType": "EmitStatement", + "src": "1578:46:0" } ] }, - "documentation": "@notice Query if a contract implements an interface\n@param _interfaceID The interface identifier, as specified in ERC-165\n@return `true` if the contract implements `_interfaceID` and", - "id": 708, + "documentation": null, + "id": 182, "implemented": true, - "kind": "function", - "modifiers": [], - "name": "supportsInterface", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 690, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 689, - "name": "_interfaceID", - "nodeType": "VariableDeclaration", - "scope": 708, - "src": "5591:19:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 688, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "5591:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5590:21:3" - }, - "returnParameters": { - "id": 693, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 692, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 708, - "src": "5635:4:3", - "stateVariable": false, - "storageLocation": "default", + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 162, + "modifierName": { + "argumentTypes": null, + "id": 161, + "name": "isOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 134, + "src": "1501:7:0", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 691, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5635:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5634:6:3" - }, - "scope": 839, - "src": "5564:257:3", - "stateMutability": "view", - "superFunction": 2417, - "visibility": "external" - }, - { - "anonymous": false, - "documentation": null, - "id": 716, - "name": "CallbackOnTransfer", - "nodeType": "EventDefinition", + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1501:7:0" + } + ], + "name": "offer", + "nodeType": "FunctionDefinition", "parameters": { - "id": 715, + "id": 160, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 710, - "indexed": false, - "name": "data", + "id": 157, + "name": "changeOwnerTx", "nodeType": "VariableDeclaration", - "scope": 716, - "src": "5850:10:3", + "scope": 182, + "src": "1451:19:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", + "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes" }, "typeName": { - "id": 709, + "id": 156, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "5850:5:3", + "src": "1451:5:0", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -15529,39 +5669,11 @@ }, { "constant": false, - "id": 712, - "indexed": false, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 716, - "src": "5862:12:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 711, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5862:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 714, - "indexed": false, - "name": "sender", + "id": 159, + "name": "_offeredTo", "nodeType": "VariableDeclaration", - "scope": 716, - "src": "5876:14:3", + "scope": 182, + "src": "1472:18:0", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15569,11 +5681,10 @@ "typeString": "address" }, "typeName": { - "id": 713, + "id": 158, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5876:7:3", - "stateMutability": "nonpayable", + "src": "1472:7:0", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15583,235 +5694,156 @@ "visibility": "internal" } ], - "src": "5849:42:3" + "src": "1450:41:0" + }, + "payable": false, + "returnParameters": { + "id": 163, + "nodeType": "ParameterList", + "parameters": [], + "src": "1509:0:0" }, - "src": "5825:67:3" + "scope": 254, + "src": "1436:193:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" }, { "body": { - "id": 763, + "id": 214, "nodeType": "Block", - "src": "6031:311:3", + "src": "1672:223:0", "statements": [ { - "condition": { + "expression": { "argumentTypes": null, - "id": 733, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "6041:26:3", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { "argumentTypes": null, - "id": 730, - "name": "msg", + "id": 192, + "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "6056:3:3", + "referencedDeclaration": 284, + "src": "1729:4:0", "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" + "typeIdentifier": "t_contract$_OfferableIdentity_$254", + "typeString": "contract OfferableIdentity" } - }, - "id": 731, + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_OfferableIdentity_$254", + "typeString": "contract OfferableIdentity" + } + ], + "id": 191, "isConstant": false, "isLValue": false, - "isPure": false, + "isPure": true, "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6056:10:3", + "nodeType": "ElementaryTypeNameExpression", + "src": "1721:7:0", "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 193, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1721:13:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 729, - "name": "supportsToken", + }, + { + "argumentTypes": null, + "id": 194, + "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 834, - "src": "6042:13:3", + "referencedDeclaration": 44, + "src": "1742:4:0", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_bool_$", - "typeString": "function (address) pure returns (bool)" + "typeIdentifier": "t_uint8", + "typeString": "uint8" } }, - "id": 732, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6042:25:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 736, - "nodeType": "IfStatement", - "src": "6037:44:3", - "trueBody": { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 734, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6076:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 728, - "id": 735, - "nodeType": "Return", - "src": "6069:12:3" - } - }, - { - "expression": { - "argumentTypes": null, - "id": 739, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 737, - "name": "__isTokenFallback", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 254, - "src": "6087:17:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 738, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6107:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "6087:24:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 740, - "nodeType": "ExpressionStatement", - "src": "6087:24:3" - }, - { - "assignments": [ - 742, - null - ], - "declarations": [ - { - "constant": false, - "id": 742, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 763, - "src": "6178:12:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 741, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6178:4:3", + { + "argumentTypes": null, + "id": 195, + "name": "sigR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46, + "src": "1754:4:0", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "argumentTypes": null, + "id": 196, + "name": "sigS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 48, + "src": "1766:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 749, - "initialValue": { - "argumentTypes": null, - "arguments": [ { "argumentTypes": null, - "id": 747, - "name": "_data", + "id": 197, + "name": "offeredTo", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 724, - "src": "6223:5:3", + "referencedDeclaration": 50, + "src": "1778:9:0", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" + "typeIdentifier": "t_address", + "typeString": "address" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" } ], "expression": { @@ -15819,39 +5851,37 @@ "arguments": [ { "argumentTypes": null, - "id": 744, - "name": "this", + "id": 188, + "name": "erc1056", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3574, - "src": "6204:4:3", + "referencedDeclaration": 40, + "src": "1687:7:0", "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" + "typeIdentifier": "t_address", + "typeString": "address" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" + "typeIdentifier": "t_address", + "typeString": "address" } ], - "id": 743, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6196:7:3", + "id": 187, + "name": "IERC1056", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 36, + "src": "1678:8:0", "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" + "typeIdentifier": "t_type$_t_contract$_IERC1056_$36_$", + "typeString": "type(contract IERC1056)" + } }, - "id": 745, + "id": 189, "isConstant": false, "isLValue": false, "isPure": false, @@ -15859,27 +5889,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6196:13:3", + "src": "1678:17:0", "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" + "typeIdentifier": "t_contract$_IERC1056_$36", + "typeString": "contract IERC1056" } }, - "id": 746, + "id": 190, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberName": "delegatecall", + "memberName": "changeOwnerSigned", "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6196:26:3", + "referencedDeclaration": 14, + "src": "1678:35:0", "typeDescriptions": { - "typeIdentifier": "t_function_baredelegatecall_nonpayable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) returns (bool,bytes memory)" + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint8_$_t_bytes32_$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (address,uint8,bytes32,bytes32,address) external" } }, - "id": 748, + "id": 198, "isConstant": false, "isLValue": false, "isPure": false, @@ -15887,65 +5917,61 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6196:33:3", + "src": "1678:115:0", "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "nodeType": "VariableDeclarationStatement", - "src": "6177:52:3" + "id": 199, + "nodeType": "ExpressionStatement", + "src": "1678:115:0" }, { "expression": { "argumentTypes": null, - "id": 752, + "id": 202, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "argumentTypes": null, - "id": 750, - "name": "__isTokenFallback", + "id": 200, + "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 254, - "src": "6235:17:3", + "referencedDeclaration": 38, + "src": "1799:5:0", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "argumentTypes": null, - "hexValue": "66616c7365", - "id": 751, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6255:5:3", - "subdenomination": null, + "id": 201, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50, + "src": "1807:9:0", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" + "typeIdentifier": "t_address", + "typeString": "address" + } }, - "src": "6235:25:3", + "src": "1799:17:0", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "id": 753, + "id": 203, "nodeType": "ExpressionStatement", - "src": "6235:25:3" + "src": "1799:17:0" }, { "eventCall": { @@ -15953,87 +5979,92 @@ "arguments": [ { "argumentTypes": null, - "id": 755, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 724, - "src": "6290:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 756, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 742, - "src": "6297:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 206, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 284, + "src": "1855:4:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OfferableIdentity_$254", + "typeString": "contract OfferableIdentity" + } + } + ], "expression": { - "argumentTypes": null, - "id": 757, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "6306:3:3", + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_OfferableIdentity_$254", + "typeString": "contract OfferableIdentity" + } + ], + "id": 205, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1847:7:0", "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" }, - "id": 758, + "id": 207, "isConstant": false, "isLValue": false, "isPure": false, + "kind": "typeConversion", "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6306:10:3", + "names": [], + "nodeType": "FunctionCall", + "src": "1847:13:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 208, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50, + "src": "1862:9:0", "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" + "typeIdentifier": "t_address", + "typeString": "address" } } ], "expression": { "argumentTypes": [ { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_address", + "typeString": "address" }, { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" + "typeIdentifier": "t_address", + "typeString": "address" } ], - "id": 754, - "name": "CallbackOnTransfer", + "id": 204, + "name": "IdentityTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 716, - "src": "6271:18:3", + "referencedDeclaration": 72, + "src": "1827:19:0", "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes_memory_ptr_$_t_bool_$_t_address_$returns$__$", - "typeString": "function (bytes memory,bool,address)" + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" } }, - "id": 759, + "id": 209, "isConstant": false, "isLValue": false, "isPure": false, @@ -16041,946 +6072,428 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6271:46:3", + "src": "1827:45:0", "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 760, + "id": 210, "nodeType": "EmitStatement", - "src": "6266:51:3" + "src": "1822:50:0" }, { "expression": { "argumentTypes": null, - "id": 761, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 742, - "src": "6330:7:3", + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 211, + "name": "closeOffer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 253, + "src": "1878:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 212, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1878:12:0", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "functionReturnParameters": 728, - "id": 762, - "nodeType": "Return", - "src": "6323:14:3" + "id": 213, + "nodeType": "ExpressionStatement", + "src": "1878:12:0" } ] }, "documentation": null, - "id": 764, + "id": 215, "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tokenFallback", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 725, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 718, - "name": "_sender", - "nodeType": "VariableDeclaration", - "scope": 764, - "src": "5924:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 717, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5924:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 720, - "name": "_origin", - "nodeType": "VariableDeclaration", - "scope": 764, - "src": "5945:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 719, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5945:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 722, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 764, - "src": "5966:14:3", - "stateVariable": false, - "storageLocation": "default", + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 185, + "modifierName": { + "argumentTypes": null, + "id": 184, + "name": "isOfferedTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 155, + "src": "1660:11:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 721, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5966:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } }, - { - "constant": false, - "id": 724, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 764, - "src": "5986:18:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 723, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5986:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5918:90:3" + "nodeType": "ModifierInvocation", + "src": "1660:11:0" + } + ], + "name": "accept", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 183, + "nodeType": "ParameterList", + "parameters": [], + "src": "1648:2:0" }, + "payable": false, "returnParameters": { - "id": 728, + "id": 186, "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 727, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 764, - "src": "6025:4:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 726, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6025:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6024:6:3" + "parameters": [], + "src": "1672:0:0" }, - "scope": 839, - "src": "5896:446:3", + "scope": 254, + "src": "1633:262:0", "stateMutability": "nonpayable", - "superFunction": 42, - "visibility": "public" + "superFunction": null, + "visibility": "external" }, { "body": { - "id": 823, + "id": 230, "nodeType": "Block", - "src": "6416:202:3", + "src": "1938:73:0", "statements": [ { - "assignments": [ - 772 - ], - "declarations": [ - { - "constant": false, - "id": 772, - "name": "l", - "nodeType": "VariableDeclaration", - "scope": 823, - "src": "6422:9:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 771, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6422:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 781, - "initialValue": { + "eventCall": { "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 776, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { + "arguments": [ + { "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 222, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 284, + "src": "1971:4:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OfferableIdentity_$254", + "typeString": "contract OfferableIdentity" + } + } + ], "expression": { - "argumentTypes": null, - "id": 773, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 766, - "src": "6434:5:3", + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_OfferableIdentity_$254", + "typeString": "contract OfferableIdentity" + } + ], + "id": 221, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1963:7:0", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" }, - "id": 774, + "id": 223, "isConstant": false, "isLValue": false, "isPure": false, + "kind": "typeConversion", "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6434:12:3", + "names": [], + "nodeType": "FunctionCall", + "src": "1963:13:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { + { "argumentTypes": null, - "hexValue": "34", - "id": 775, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6449:1:3", - "subdenomination": null, + "id": 224, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50, + "src": "1978:9:0", "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" }, - "value": "4" - }, - "src": "6434:16:3", + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 220, + "name": "OfferRejected", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 78, + "src": "1949:13:0", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" } }, - "falseExpression": { - "argumentTypes": null, - "hexValue": "34", - "id": 779, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6468:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "id": 780, + "id": 225, "isConstant": false, "isLValue": false, "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "nodeType": "Conditional", - "src": "6434:35:3", - "trueExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 777, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 766, - "src": "6453:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 778, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6453:12:3", + "names": [], + "nodeType": "FunctionCall", + "src": "1949:39:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 226, + "nodeType": "EmitStatement", + "src": "1944:44:0" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 227, + "name": "closeOffer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 253, + "src": "1994:10:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" } }, + "id": 228, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1994:12:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" } }, - "nodeType": "VariableDeclarationStatement", - "src": "6422:47:3" + "id": 229, + "nodeType": "ExpressionStatement", + "src": "1994:12:0" + } + ] + }, + "documentation": null, + "id": 231, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 218, + "modifierName": { + "argumentTypes": null, + "id": 217, + "name": "isOfferedTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 155, + "src": "1926:11:0", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } }, + "nodeType": "ModifierInvocation", + "src": "1926:11:0" + } + ], + "name": "reject", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 216, + "nodeType": "ParameterList", + "parameters": [], + "src": "1914:2:0" + }, + "payable": false, + "returnParameters": { + "id": 219, + "nodeType": "ParameterList", + "parameters": [], + "src": "1938:0:0" + }, + "scope": 254, + "src": "1899:112:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 252, + "nodeType": "Block", + "src": "2046:77:0", + "statements": [ { - "body": { - "id": 821, - "nodeType": "Block", - "src": "6507:107:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 819, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 792, - "name": "sig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 769, - "src": "6515:3:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 816, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 796, - "name": "sig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 769, - "src": "6551:3:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "id": 795, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6544:6:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint32_$", - "typeString": "type(uint32)" - }, - "typeName": "uint32" - }, - "id": 797, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6544:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 815, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 799, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 766, - "src": "6564:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 801, - "indexExpression": { - "argumentTypes": null, - "id": 800, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 783, - "src": "6570:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6564:8:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - ], - "id": 798, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6558:5:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint8_$", - "typeString": "type(uint8)" - }, - "typeName": "uint8" - }, - "id": 802, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6558:15:3", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 813, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 803, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6577:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 811, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "38", - "id": 804, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6581:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 809, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 807, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 805, - "name": "l", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 772, - "src": "6586:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 806, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6590:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "6586:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 808, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 783, - "src": "6594:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6586:9:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 810, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "6585:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6581:15:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 812, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "6580:17:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6577:20:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 814, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "6576:22:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6558:40:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6544:54:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 794, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6537:6:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint32_$", - "typeString": "type(uint32)" - }, - "typeName": "uint32" - }, - "id": 817, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6537:62:3", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - ], - "id": 793, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6521:6:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes4_$", - "typeString": "type(bytes4)" - }, - "typeName": "bytes4" - }, - "id": 818, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6521:86:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "6515:92:3", + "expression": { + "argumentTypes": null, + "id": 238, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 234, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50, + "src": "2052:9:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 236, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2072:1:0", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" } + ], + "id": 235, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2064:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" }, - "id": 820, - "nodeType": "ExpressionStatement", - "src": "6515:92:3" + "typeName": "address" + }, + "id": 237, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2064:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" } - ] + }, + "src": "2052:22:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } }, - "condition": { + "id": 239, + "nodeType": "ExpressionStatement", + "src": "2052:22:0" + }, + { + "expression": { "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 788, + "id": 242, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 786, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 783, - "src": "6495:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { + "leftHandSide": { "argumentTypes": null, - "id": 787, - "name": "l", + "id": 240, + "name": "sigV", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 772, - "src": "6499:1:3", + "referencedDeclaration": 44, + "src": "2080:4:0", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_uint8", + "typeString": "uint8" } }, - "src": "6495:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 822, - "initializationExpression": { - "assignments": [ - 783 - ], - "declarations": [ - { - "constant": false, - "id": 783, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 822, - "src": "6480:9:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 782, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6480:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 785, - "initialValue": { + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { "argumentTypes": null, "hexValue": "30", - "id": 784, + "id": 241, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6492:1:3", + "src": "2087:1:0", "subdenomination": null, "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", @@ -16988,285 +6501,161 @@ }, "value": "0" }, - "nodeType": "VariableDeclarationStatement", - "src": "6480:13:3" + "src": "2080:8:0", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } }, - "loopExpression": { - "expression": { + "id": 243, + "nodeType": "ExpressionStatement", + "src": "2080:8:0" + }, + { + "expression": { + "argumentTypes": null, + "id": 246, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 244, + "name": "sigR", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 46, + "src": "2094:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { "argumentTypes": null, - "id": 790, + "hexValue": "", + "id": 245, "isConstant": false, "isLValue": false, - "isPure": false, + "isPure": true, + "kind": "string", "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "6502:3:3", - "subExpression": { - "argumentTypes": null, - "id": 789, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 783, - "src": "6502:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, + "nodeType": "Literal", + "src": "2101:2:0", + "subdenomination": null, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" }, - "id": 791, - "nodeType": "ExpressionStatement", - "src": "6502:3:3" - }, - "nodeType": "ForStatement", - "src": "6475:139:3" - } - ] - }, - "documentation": null, - "id": 824, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getSig", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 767, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 766, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 824, - "src": "6362:18:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 765, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "6362:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6361:20:3" - }, - "returnParameters": { - "id": 770, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 769, - "name": "sig", - "nodeType": "VariableDeclaration", - "scope": 824, - "src": "6404:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 768, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "6404:6:3", + "src": "2094:9:0", "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, - "value": null, - "visibility": "internal" - } - ], - "src": "6403:12:3" - }, - "scope": 839, - "src": "6346:272:3", - "stateMutability": "pure", - "superFunction": null, - "visibility": "private" - }, - { - "body": { - "id": 833, - "nodeType": "Block", - "src": "6687:22:3", - "statements": [ + "id": 247, + "nodeType": "ExpressionStatement", + "src": "2094:9:0" + }, { "expression": { "argumentTypes": null, - "hexValue": "74727565", - "id": 831, + "id": 250, "isConstant": false, "isLValue": false, - "isPure": true, - "kind": "bool", + "isPure": false, "lValueRequested": false, - "nodeType": "Literal", - "src": "6700:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "leftHandSide": { + "argumentTypes": null, + "id": 248, + "name": "sigS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 48, + "src": "2109:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } }, - "value": "true" - }, - "functionReturnParameters": 830, - "id": 832, - "nodeType": "Return", - "src": "6693:11:3" - } - ] - }, - "documentation": null, - "id": 834, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "supportsToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 827, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 826, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 834, - "src": "6645:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 825, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6645:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6644:15:3" - }, - "returnParameters": { - "id": 830, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 829, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 834, - "src": "6681:4:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 828, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6681:4:3", + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "hexValue": "", + "id": 249, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2116:2:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + }, + "src": "2109:9:0", "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" } }, - "value": null, - "visibility": "internal" + "id": 251, + "nodeType": "ExpressionStatement", + "src": "2109:9:0" } - ], - "src": "6680:6:3" - }, - "scope": 839, - "src": "6622:87:3", - "stateMutability": "pure", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 837, - "nodeType": "Block", - "src": "6741:2:3", - "statements": [] + ] }, "documentation": null, - "id": 838, + "id": 253, "implemented": true, - "kind": "fallback", + "isConstructor": false, + "isDeclaredConst": false, "modifiers": [], - "name": "", + "name": "closeOffer", "nodeType": "FunctionDefinition", "parameters": { - "id": 835, + "id": 232, "nodeType": "ParameterList", "parameters": [], - "src": "6721:2:3" + "src": "2034:2:0" }, + "payable": false, "returnParameters": { - "id": 836, + "id": 233, "nodeType": "ParameterList", "parameters": [], - "src": "6741:0:3" + "src": "2046:0:0" }, - "scope": 839, - "src": "6713:30:3", - "stateMutability": "payable", + "scope": 254, + "src": "2015:108:0", + "stateMutability": "nonpayable", "superFunction": null, - "visibility": "external" + "visibility": "internal" } ], - "scope": 840, - "src": "616:6129:3" + "scope": 255, + "src": "403:1722:0" } ], - "src": "0:6746:3" + "src": "0:2126:0" }, "compiler": { "name": "solc", - "version": "0.5.17+commit.d19bba13.Emscripten.clang" + "version": "0.4.24+commit.e67f0147.Emscripten.clang" }, "networks": {}, "schemaVersion": "3.0.16", - "updatedAt": "2020-10-25T11:29:13.811Z", + "updatedAt": "2021-03-09T09:36:30.316Z", "devdoc": { "methods": {} }, diff --git a/packages/proxyIdentity/build/contracts/IERC1155.json b/packages/proxyIdentity/build/contracts/IERC1155.json deleted file mode 100644 index 8ff953eea..000000000 --- a/packages/proxyIdentity/build/contracts/IERC1155.json +++ /dev/null @@ -1,2999 +0,0 @@ -{ - "contractName": "IERC1155", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_operator", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "_approved", - "type": "bool" - } - ], - "name": "ApprovalForAll", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_operator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "_ids", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "_amounts", - "type": "uint256[]" - } - ], - "name": "TransferBatch", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "_operator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "TransferSingle", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "_amount", - "type": "string" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "_id", - "type": "uint256" - } - ], - "name": "URI", - "type": "event" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "_ids", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "_amounts", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "safeBatchTransferFrom", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address[]", - "name": "_owners", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "_ids", - "type": "uint256[]" - } - ], - "name": "balanceOfBatch", - "outputs": [ - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_operator", - "type": "address" - }, - { - "internalType": "bool", - "name": "_approved", - "type": "bool" - } - ], - "name": "setApprovalForAll", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_operator", - "type": "address" - } - ], - "name": "isApprovedForAll", - "outputs": [ - { - "internalType": "bool", - "name": "isOperator", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"_ids\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"_amounts\",\"type\":\"uint256[]\"}],\"name\":\"TransferBatch\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"TransferSingle\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"_amount\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"}],\"name\":\"URI\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_owners\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_ids\",\"type\":\"uint256[]\"}],\"name\":\"balanceOfBatch\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isOperator\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"_ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_amounts\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"safeBatchTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"balanceOf(address,uint256)\":{\"params\":{\"_id\":\"ID of the Token\",\"_owner\":\"The address of the token holder\"},\"return\":\"The _owner's balance of the Token type requested\"},\"balanceOfBatch(address[],uint256[])\":{\"params\":{\"_ids\":\"ID of the Tokens\",\"_owners\":\"The addresses of the token holders\"},\"return\":\"The _owner's balance of the Token types requested (i.e. balance for each (owner, id) pair)\"},\"isApprovedForAll(address,address)\":{\"params\":{\"_operator\":\"Address of authorized operator\",\"_owner\":\"The owner of the Tokens\"},\"return\":\"True if the operator is approved, false if not\"},\"safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)\":{\"details\":\"MUST emit TransferBatch event on success Caller must be approved to manage the _from account's tokens (see isApprovedForAll) MUST throw if `_to` is the zero address MUST throw if length of `_ids` is not the same as length of `_amounts` MUST throw if any of the balance of sender for token `_ids` is lower than the respective `_amounts` sent MUST throw on any other error When transfer is complete, this function MUST check if `_to` is a smart contract (code size > 0). If so, it MUST call `onERC1155BatchReceived` on `_to` and revert if the return amount is not `bytes4(keccak256(\\\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\\\"))` Transfers and events MUST occur in the array order they were submitted (_ids[0] before _ids[1], etc)\",\"params\":{\"_amounts\":\"Transfer amounts per token type\",\"_data\":\"Additional data with no specified format, sent in call to `_to`\",\"_from\":\"Source addresses\",\"_ids\":\"IDs of each token type\",\"_to\":\"Target addresses\"}},\"safeTransferFrom(address,address,uint256,uint256,bytes)\":{\"details\":\"MUST emit TransferSingle event on success Caller must be approved to manage the _from account's tokens (see isApprovedForAll) MUST throw if `_to` is the zero address MUST throw if balance of sender for token `_id` is lower than the `_amount` sent MUST throw on any other error When transfer is complete, this function MUST check if `_to` is a smart contract (code size > 0). If so, it MUST call `onERC1155Received` on `_to` and revert if the return amount is not `bytes4(keccak256(\\\"onERC1155Received(address,address,uint256,uint256,bytes)\\\"))`\",\"params\":{\"_amount\":\"Transfered amount\",\"_data\":\"Additional data with no specified format, sent in call to `_to`\",\"_from\":\"Source address\",\"_id\":\"ID of the token type\",\"_to\":\"Target address\"}},\"setApprovalForAll(address,bool)\":{\"details\":\"MUST emit the ApprovalForAll event on success\",\"params\":{\"_approved\":\"True if the operator is approved, false to revoke approval\",\"_operator\":\"Address to add to the set of authorized operators\"}}}},\"userdoc\":{\"methods\":{\"balanceOf(address,uint256)\":{\"notice\":\"Get the balance of an account's Tokens\"},\"balanceOfBatch(address[],uint256[])\":{\"notice\":\"Get the balance of multiple account/token pairs\"},\"isApprovedForAll(address,address)\":{\"notice\":\"Queries the approval status of an operator for a given owner\"},\"safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)\":{\"notice\":\"Send multiple types of Tokens from the _from address to the _to address (with safety call)\"},\"safeTransferFrom(address,address,uint256,uint256,bytes)\":{\"notice\":\"Transfers amount of an _id from the _from address to the _to address specified\"},\"setApprovalForAll(address,bool)\":{\"notice\":\"Enable or disable approval for a third party (\\\"operator\\\") to manage all of caller's tokens\"}}}},\"settings\":{\"compilationTarget\":{\"multi-token-standard/contracts/interfaces/IERC1155.sol\":\"IERC1155\"},\"evmVersion\":\"constantinople\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"multi-token-standard/contracts/interfaces/IERC1155.sol\":{\"keccak256\":\"0x9632273d1c5272823807d1d0b1630af9e2dad7f1e41a65bfdbc66bda702c53a1\",\"urls\":[\"bzz-raw://6deb9bdff007e4b367d4561699f45f0f8521a4412a770a9292c109844f739f58\",\"dweb:/ipfs/QmTXrB3rTHHrNcHAa3PYoq2BRJiT4nMmMrPmA6AjDsk7HB\"]}},\"version\":1}", - "bytecode": "0x", - "deployedBytecode": "0x", - "sourceMap": "", - "deployedSourceMap": "", - "source": "pragma solidity ^0.5.16;\n\n\ninterface IERC1155 {\n\n /****************************************|\n | Events |\n |_______________________________________*/\n\n /**\n * @dev Either TransferSingle or TransferBatch MUST emit when tokens are transferred, including zero amount transfers as well as minting or burning\n * Operator MUST be msg.sender\n * When minting/creating tokens, the `_from` field MUST be set to `0x0`\n * When burning/destroying tokens, the `_to` field MUST be set to `0x0`\n * The total amount transferred from address 0x0 minus the total amount transferred to 0x0 may be used by clients and exchanges to be added to the \"circulating supply\" for a given token ID\n * To broadcast the existence of a token ID with no initial balance, the contract SHOULD emit the TransferSingle event from `0x0` to `0x0`, with the token creator as `_operator`, and a `_amount` of 0\n */\n event TransferSingle(address indexed _operator, address indexed _from, address indexed _to, uint256 _id, uint256 _amount);\n\n /**\n * @dev Either TransferSingle or TransferBatch MUST emit when tokens are transferred, including zero amount transfers as well as minting or burning\n * Operator MUST be msg.sender\n * When minting/creating tokens, the `_from` field MUST be set to `0x0`\n * When burning/destroying tokens, the `_to` field MUST be set to `0x0`\n * The total amount transferred from address 0x0 minus the total amount transferred to 0x0 may be used by clients and exchanges to be added to the \"circulating supply\" for a given token ID\n * To broadcast the existence of multiple token IDs with no initial balance, this SHOULD emit the TransferBatch event from `0x0` to `0x0`, with the token creator as `_operator`, and a `_amount` of 0\n */\n event TransferBatch(address indexed _operator, address indexed _from, address indexed _to, uint256[] _ids, uint256[] _amounts);\n\n /**\n * @dev MUST emit when an approval is updated\n */\n event ApprovalForAll(address indexed _owner, address indexed _operator, bool _approved);\n\n /**\n * @dev MUST emit when the URI is updated for a token ID\n * URIs are defined in RFC 3986\n * The URI MUST point a JSON file that conforms to the \"ERC-1155 Metadata JSON Schema\"\n */\n event URI(string _amount, uint256 indexed _id);\n\n\n /****************************************|\n | Functions |\n |_______________________________________*/\n\n /**\n * @notice Transfers amount of an _id from the _from address to the _to address specified\n * @dev MUST emit TransferSingle event on success\n * Caller must be approved to manage the _from account's tokens (see isApprovedForAll)\n * MUST throw if `_to` is the zero address\n * MUST throw if balance of sender for token `_id` is lower than the `_amount` sent\n * MUST throw on any other error\n * When transfer is complete, this function MUST check if `_to` is a smart contract (code size > 0). If so, it MUST call `onERC1155Received` on `_to` and revert if the return amount is not `bytes4(keccak256(\"onERC1155Received(address,address,uint256,uint256,bytes)\"))`\n * @param _from Source address\n * @param _to Target address\n * @param _id ID of the token type\n * @param _amount Transfered amount\n * @param _data Additional data with no specified format, sent in call to `_to`\n */\n function safeTransferFrom(address _from, address _to, uint256 _id, uint256 _amount, bytes calldata _data) external;\n\n /**\n * @notice Send multiple types of Tokens from the _from address to the _to address (with safety call)\n * @dev MUST emit TransferBatch event on success\n * Caller must be approved to manage the _from account's tokens (see isApprovedForAll)\n * MUST throw if `_to` is the zero address\n * MUST throw if length of `_ids` is not the same as length of `_amounts`\n * MUST throw if any of the balance of sender for token `_ids` is lower than the respective `_amounts` sent\n * MUST throw on any other error\n * When transfer is complete, this function MUST check if `_to` is a smart contract (code size > 0). If so, it MUST call `onERC1155BatchReceived` on `_to` and revert if the return amount is not `bytes4(keccak256(\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\"))`\n * Transfers and events MUST occur in the array order they were submitted (_ids[0] before _ids[1], etc)\n * @param _from Source addresses\n * @param _to Target addresses\n * @param _ids IDs of each token type\n * @param _amounts Transfer amounts per token type\n * @param _data Additional data with no specified format, sent in call to `_to`\n */\n function safeBatchTransferFrom(address _from, address _to, uint256[] calldata _ids, uint256[] calldata _amounts, bytes calldata _data) external;\n\n /**\n * @notice Get the balance of an account's Tokens\n * @param _owner The address of the token holder\n * @param _id ID of the Token\n * @return The _owner's balance of the Token type requested\n */\n function balanceOf(address _owner, uint256 _id) external view returns (uint256);\n\n /**\n * @notice Get the balance of multiple account/token pairs\n * @param _owners The addresses of the token holders\n * @param _ids ID of the Tokens\n * @return The _owner's balance of the Token types requested (i.e. balance for each (owner, id) pair)\n */\n function balanceOfBatch(address[] calldata _owners, uint256[] calldata _ids) external view returns (uint256[] memory);\n\n /**\n * @notice Enable or disable approval for a third party (\"operator\") to manage all of caller's tokens\n * @dev MUST emit the ApprovalForAll event on success\n * @param _operator Address to add to the set of authorized operators\n * @param _approved True if the operator is approved, false to revoke approval\n */\n function setApprovalForAll(address _operator, bool _approved) external;\n\n /**\n * @notice Queries the approval status of an operator for a given owner\n * @param _owner The owner of the Tokens\n * @param _operator Address of authorized operator\n * @return True if the operator is approved, false if not\n */\n function isApprovedForAll(address _owner, address _operator) external view returns (bool isOperator);\n}\n", - "sourcePath": "multi-token-standard/contracts/interfaces/IERC1155.sol", - "ast": { - "absolutePath": "multi-token-standard/contracts/interfaces/IERC1155.sol", - "exportedSymbols": { - "IERC1155": [ - 2923 - ] - }, - "id": 2924, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2817, - "literals": [ - "solidity", - "^", - "0.5", - ".16" - ], - "nodeType": "PragmaDirective", - "src": "0:24:15" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 2923, - "linearizedBaseContracts": [ - 2923 - ], - "name": "IERC1155", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": "@dev Either TransferSingle or TransferBatch MUST emit when tokens are transferred, including zero amount transfers as well as minting or burning\n Operator MUST be msg.sender\n When minting/creating tokens, the `_from` field MUST be set to `0x0`\n When burning/destroying tokens, the `_to` field MUST be set to `0x0`\n The total amount transferred from address 0x0 minus the total amount transferred to 0x0 may be used by clients and exchanges to be added to the \"circulating supply\" for a given token ID\n To broadcast the existence of a token ID with no initial balance, the contract SHOULD emit the TransferSingle event from `0x0` to `0x0`, with the token creator as `_operator`, and a `_amount` of 0", - "id": 2829, - "name": "TransferSingle", - "nodeType": "EventDefinition", - "parameters": { - "id": 2828, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2819, - "indexed": true, - "name": "_operator", - "nodeType": "VariableDeclaration", - "scope": 2829, - "src": "954:25:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2818, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "954:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2821, - "indexed": true, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 2829, - "src": "981:21:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2820, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "981:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2823, - "indexed": true, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 2829, - "src": "1004:19:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2822, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1004:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2825, - "indexed": false, - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 2829, - "src": "1025:11:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2824, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1025:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2827, - "indexed": false, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 2829, - "src": "1038:15:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2826, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1038:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "953:101:15" - }, - "src": "933:122:15" - }, - { - "anonymous": false, - "documentation": "@dev Either TransferSingle or TransferBatch MUST emit when tokens are transferred, including zero amount transfers as well as minting or burning\n Operator MUST be msg.sender\n When minting/creating tokens, the `_from` field MUST be set to `0x0`\n When burning/destroying tokens, the `_to` field MUST be set to `0x0`\n The total amount transferred from address 0x0 minus the total amount transferred to 0x0 may be used by clients and exchanges to be added to the \"circulating supply\" for a given token ID\n To broadcast the existence of multiple token IDs with no initial balance, this SHOULD emit the TransferBatch event from `0x0` to `0x0`, with the token creator as `_operator`, and a `_amount` of 0", - "id": 2843, - "name": "TransferBatch", - "nodeType": "EventDefinition", - "parameters": { - "id": 2842, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2831, - "indexed": true, - "name": "_operator", - "nodeType": "VariableDeclaration", - "scope": 2843, - "src": "1824:25:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2830, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1824:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2833, - "indexed": true, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 2843, - "src": "1851:21:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2832, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1851:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2835, - "indexed": true, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 2843, - "src": "1874:19:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2834, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1874:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2838, - "indexed": false, - "name": "_ids", - "nodeType": "VariableDeclaration", - "scope": 2843, - "src": "1895:14:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 2836, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1895:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2837, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1895:9:15", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2841, - "indexed": false, - "name": "_amounts", - "nodeType": "VariableDeclaration", - "scope": 2843, - "src": "1911:18:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 2839, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1911:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2840, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1911:9:15", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1823:107:15" - }, - "src": "1804:127:15" - }, - { - "anonymous": false, - "documentation": "@dev MUST emit when an approval is updated", - "id": 2851, - "name": "ApprovalForAll", - "nodeType": "EventDefinition", - "parameters": { - "id": 2850, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2845, - "indexed": true, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 2851, - "src": "2016:22:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2844, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2016:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2847, - "indexed": true, - "name": "_operator", - "nodeType": "VariableDeclaration", - "scope": 2851, - "src": "2040:25:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2846, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2040:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2849, - "indexed": false, - "name": "_approved", - "nodeType": "VariableDeclaration", - "scope": 2851, - "src": "2067:14:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2848, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2067:4:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2015:67:15" - }, - "src": "1995:88:15" - }, - { - "anonymous": false, - "documentation": "@dev MUST emit when the URI is updated for a token ID\n URIs are defined in RFC 3986\n The URI MUST point a JSON file that conforms to the \"ERC-1155 Metadata JSON Schema\"", - "id": 2857, - "name": "URI", - "nodeType": "EventDefinition", - "parameters": { - "id": 2856, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2853, - "indexed": false, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 2857, - "src": "2295:14:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2852, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2295:6:15", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2855, - "indexed": true, - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 2857, - "src": "2311:19:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2854, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2311:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2294:37:15" - }, - "src": "2285:47:15" - }, - { - "body": null, - "documentation": "@notice Transfers amount of an _id from the _from address to the _to address specified\n@dev MUST emit TransferSingle event on success\nCaller must be approved to manage the _from account's tokens (see isApprovedForAll)\nMUST throw if `_to` is the zero address\nMUST throw if balance of sender for token `_id` is lower than the `_amount` sent\nMUST throw on any other error\nWhen transfer is complete, this function MUST check if `_to` is a smart contract (code size > 0). If so, it MUST call `onERC1155Received` on `_to` and revert if the return amount is not `bytes4(keccak256(\"onERC1155Received(address,address,uint256,uint256,bytes)\"))`\n@param _from Source address\n@param _to Target address\n@param _id ID of the token type\n@param _amount Transfered amount\n@param _data Additional data with no specified format, sent in call to `_to`", - "id": 2870, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "safeTransferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2868, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2859, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 2870, - "src": "3432:13:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2858, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3432:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2861, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 2870, - "src": "3447:11:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2860, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3447:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2863, - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 2870, - "src": "3460:11:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2862, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3460:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2865, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 2870, - "src": "3473:15:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2864, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3473:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2867, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 2870, - "src": "3490:20:15", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 2866, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3490:5:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3431:80:15" - }, - "returnParameters": { - "id": 2869, - "nodeType": "ParameterList", - "parameters": [], - "src": "3520:0:15" - }, - "scope": 2923, - "src": "3406:115:15", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": "@notice Send multiple types of Tokens from the _from address to the _to address (with safety call)\n@dev MUST emit TransferBatch event on success\nCaller must be approved to manage the _from account's tokens (see isApprovedForAll)\nMUST throw if `_to` is the zero address\nMUST throw if length of `_ids` is not the same as length of `_amounts`\nMUST throw if any of the balance of sender for token `_ids` is lower than the respective `_amounts` sent\nMUST throw on any other error\nWhen transfer is complete, this function MUST check if `_to` is a smart contract (code size > 0). If so, it MUST call `onERC1155BatchReceived` on `_to` and revert if the return amount is not `bytes4(keccak256(\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\"))`\nTransfers and events MUST occur in the array order they were submitted (_ids[0] before _ids[1], etc)\n@param _from Source addresses\n@param _to Target addresses\n@param _ids IDs of each token type\n@param _amounts Transfer amounts per token type\n@param _data Additional data with no specified format, sent in call to `_to`", - "id": 2885, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "safeBatchTransferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2883, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2872, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 2885, - "src": "4745:13:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2871, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4745:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2874, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 2885, - "src": "4760:11:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2873, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4760:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2877, - "name": "_ids", - "nodeType": "VariableDeclaration", - "scope": 2885, - "src": "4773:23:15", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 2875, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4773:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2876, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4773:9:15", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2880, - "name": "_amounts", - "nodeType": "VariableDeclaration", - "scope": 2885, - "src": "4798:27:15", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 2878, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4798:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2879, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4798:9:15", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2882, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 2885, - "src": "4827:20:15", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 2881, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4827:5:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4744:104:15" - }, - "returnParameters": { - "id": 2884, - "nodeType": "ParameterList", - "parameters": [], - "src": "4857:0:15" - }, - "scope": 2923, - "src": "4714:144:15", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": "@notice Get the balance of an account's Tokens\n@param _owner The address of the token holder\n@param _id ID of the Token\n@return The _owner's balance of the Token type requested", - "id": 2894, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2890, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2887, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 2894, - "src": "5102:14:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2886, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5102:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2889, - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 2894, - "src": "5118:11:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2888, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5118:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5101:29:15" - }, - "returnParameters": { - "id": 2893, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2892, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2894, - "src": "5154:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2891, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5154:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5153:9:15" - }, - "scope": 2923, - "src": "5083:80:15", - "stateMutability": "view", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": "@notice Get the balance of multiple account/token pairs\n@param _owners The addresses of the token holders\n@param _ids ID of the Tokens\n@return The _owner's balance of the Token types requested (i.e. balance for each (owner, id) pair)", - "id": 2906, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOfBatch", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2901, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2897, - "name": "_owners", - "nodeType": "VariableDeclaration", - "scope": 2906, - "src": "5467:26:15", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 2895, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5467:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 2896, - "length": null, - "nodeType": "ArrayTypeName", - "src": "5467:9:15", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2900, - "name": "_ids", - "nodeType": "VariableDeclaration", - "scope": 2906, - "src": "5495:23:15", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 2898, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5495:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2899, - "length": null, - "nodeType": "ArrayTypeName", - "src": "5495:9:15", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5466:53:15" - }, - "returnParameters": { - "id": 2905, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2904, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2906, - "src": "5543:16:15", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 2902, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5543:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2903, - "length": null, - "nodeType": "ArrayTypeName", - "src": "5543:9:15", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5542:18:15" - }, - "scope": 2923, - "src": "5443:118:15", - "stateMutability": "view", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": "@notice Enable or disable approval for a third party (\"operator\") to manage all of caller's tokens\n@dev MUST emit the ApprovalForAll event on success\n@param _operator Address to add to the set of authorized operators\n@param _approved True if the operator is approved, false to revoke approval", - "id": 2913, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "setApprovalForAll", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2911, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2908, - "name": "_operator", - "nodeType": "VariableDeclaration", - "scope": 2913, - "src": "5919:17:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2907, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5919:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2910, - "name": "_approved", - "nodeType": "VariableDeclaration", - "scope": 2913, - "src": "5938:14:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2909, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5938:4:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5918:35:15" - }, - "returnParameters": { - "id": 2912, - "nodeType": "ParameterList", - "parameters": [], - "src": "5962:0:15" - }, - "scope": 2923, - "src": "5892:71:15", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": "@notice Queries the approval status of an operator for a given owner\n@param _owner The owner of the Tokens\n@param _operator Address of authorized operator\n@return True if the operator is approved, false if not", - "id": 2922, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "isApprovedForAll", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2918, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2915, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 2922, - "src": "6250:14:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2914, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6250:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2917, - "name": "_operator", - "nodeType": "VariableDeclaration", - "scope": 2922, - "src": "6266:17:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2916, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6266:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6249:35:15" - }, - "returnParameters": { - "id": 2921, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2920, - "name": "isOperator", - "nodeType": "VariableDeclaration", - "scope": 2922, - "src": "6308:15:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2919, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6308:4:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6307:17:15" - }, - "scope": 2923, - "src": "6224:101:15", - "stateMutability": "view", - "superFunction": null, - "visibility": "external" - } - ], - "scope": 2924, - "src": "27:6300:15" - } - ], - "src": "0:6328:15" - }, - "legacyAST": { - "absolutePath": "multi-token-standard/contracts/interfaces/IERC1155.sol", - "exportedSymbols": { - "IERC1155": [ - 2923 - ] - }, - "id": 2924, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2817, - "literals": [ - "solidity", - "^", - "0.5", - ".16" - ], - "nodeType": "PragmaDirective", - "src": "0:24:15" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 2923, - "linearizedBaseContracts": [ - 2923 - ], - "name": "IERC1155", - "nodeType": "ContractDefinition", - "nodes": [ - { - "anonymous": false, - "documentation": "@dev Either TransferSingle or TransferBatch MUST emit when tokens are transferred, including zero amount transfers as well as minting or burning\n Operator MUST be msg.sender\n When minting/creating tokens, the `_from` field MUST be set to `0x0`\n When burning/destroying tokens, the `_to` field MUST be set to `0x0`\n The total amount transferred from address 0x0 minus the total amount transferred to 0x0 may be used by clients and exchanges to be added to the \"circulating supply\" for a given token ID\n To broadcast the existence of a token ID with no initial balance, the contract SHOULD emit the TransferSingle event from `0x0` to `0x0`, with the token creator as `_operator`, and a `_amount` of 0", - "id": 2829, - "name": "TransferSingle", - "nodeType": "EventDefinition", - "parameters": { - "id": 2828, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2819, - "indexed": true, - "name": "_operator", - "nodeType": "VariableDeclaration", - "scope": 2829, - "src": "954:25:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2818, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "954:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2821, - "indexed": true, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 2829, - "src": "981:21:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2820, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "981:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2823, - "indexed": true, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 2829, - "src": "1004:19:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2822, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1004:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2825, - "indexed": false, - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 2829, - "src": "1025:11:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2824, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1025:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2827, - "indexed": false, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 2829, - "src": "1038:15:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2826, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1038:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "953:101:15" - }, - "src": "933:122:15" - }, - { - "anonymous": false, - "documentation": "@dev Either TransferSingle or TransferBatch MUST emit when tokens are transferred, including zero amount transfers as well as minting or burning\n Operator MUST be msg.sender\n When minting/creating tokens, the `_from` field MUST be set to `0x0`\n When burning/destroying tokens, the `_to` field MUST be set to `0x0`\n The total amount transferred from address 0x0 minus the total amount transferred to 0x0 may be used by clients and exchanges to be added to the \"circulating supply\" for a given token ID\n To broadcast the existence of multiple token IDs with no initial balance, this SHOULD emit the TransferBatch event from `0x0` to `0x0`, with the token creator as `_operator`, and a `_amount` of 0", - "id": 2843, - "name": "TransferBatch", - "nodeType": "EventDefinition", - "parameters": { - "id": 2842, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2831, - "indexed": true, - "name": "_operator", - "nodeType": "VariableDeclaration", - "scope": 2843, - "src": "1824:25:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2830, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1824:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2833, - "indexed": true, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 2843, - "src": "1851:21:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2832, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1851:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2835, - "indexed": true, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 2843, - "src": "1874:19:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2834, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1874:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2838, - "indexed": false, - "name": "_ids", - "nodeType": "VariableDeclaration", - "scope": 2843, - "src": "1895:14:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 2836, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1895:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2837, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1895:9:15", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2841, - "indexed": false, - "name": "_amounts", - "nodeType": "VariableDeclaration", - "scope": 2843, - "src": "1911:18:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 2839, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1911:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2840, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1911:9:15", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1823:107:15" - }, - "src": "1804:127:15" - }, - { - "anonymous": false, - "documentation": "@dev MUST emit when an approval is updated", - "id": 2851, - "name": "ApprovalForAll", - "nodeType": "EventDefinition", - "parameters": { - "id": 2850, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2845, - "indexed": true, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 2851, - "src": "2016:22:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2844, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2016:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2847, - "indexed": true, - "name": "_operator", - "nodeType": "VariableDeclaration", - "scope": 2851, - "src": "2040:25:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2846, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2040:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2849, - "indexed": false, - "name": "_approved", - "nodeType": "VariableDeclaration", - "scope": 2851, - "src": "2067:14:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2848, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2067:4:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2015:67:15" - }, - "src": "1995:88:15" - }, - { - "anonymous": false, - "documentation": "@dev MUST emit when the URI is updated for a token ID\n URIs are defined in RFC 3986\n The URI MUST point a JSON file that conforms to the \"ERC-1155 Metadata JSON Schema\"", - "id": 2857, - "name": "URI", - "nodeType": "EventDefinition", - "parameters": { - "id": 2856, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2853, - "indexed": false, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 2857, - "src": "2295:14:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2852, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2295:6:15", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2855, - "indexed": true, - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 2857, - "src": "2311:19:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2854, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2311:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2294:37:15" - }, - "src": "2285:47:15" - }, - { - "body": null, - "documentation": "@notice Transfers amount of an _id from the _from address to the _to address specified\n@dev MUST emit TransferSingle event on success\nCaller must be approved to manage the _from account's tokens (see isApprovedForAll)\nMUST throw if `_to` is the zero address\nMUST throw if balance of sender for token `_id` is lower than the `_amount` sent\nMUST throw on any other error\nWhen transfer is complete, this function MUST check if `_to` is a smart contract (code size > 0). If so, it MUST call `onERC1155Received` on `_to` and revert if the return amount is not `bytes4(keccak256(\"onERC1155Received(address,address,uint256,uint256,bytes)\"))`\n@param _from Source address\n@param _to Target address\n@param _id ID of the token type\n@param _amount Transfered amount\n@param _data Additional data with no specified format, sent in call to `_to`", - "id": 2870, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "safeTransferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2868, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2859, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 2870, - "src": "3432:13:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2858, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3432:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2861, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 2870, - "src": "3447:11:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2860, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3447:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2863, - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 2870, - "src": "3460:11:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2862, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3460:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2865, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 2870, - "src": "3473:15:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2864, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3473:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2867, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 2870, - "src": "3490:20:15", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 2866, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3490:5:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3431:80:15" - }, - "returnParameters": { - "id": 2869, - "nodeType": "ParameterList", - "parameters": [], - "src": "3520:0:15" - }, - "scope": 2923, - "src": "3406:115:15", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": "@notice Send multiple types of Tokens from the _from address to the _to address (with safety call)\n@dev MUST emit TransferBatch event on success\nCaller must be approved to manage the _from account's tokens (see isApprovedForAll)\nMUST throw if `_to` is the zero address\nMUST throw if length of `_ids` is not the same as length of `_amounts`\nMUST throw if any of the balance of sender for token `_ids` is lower than the respective `_amounts` sent\nMUST throw on any other error\nWhen transfer is complete, this function MUST check if `_to` is a smart contract (code size > 0). If so, it MUST call `onERC1155BatchReceived` on `_to` and revert if the return amount is not `bytes4(keccak256(\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\"))`\nTransfers and events MUST occur in the array order they were submitted (_ids[0] before _ids[1], etc)\n@param _from Source addresses\n@param _to Target addresses\n@param _ids IDs of each token type\n@param _amounts Transfer amounts per token type\n@param _data Additional data with no specified format, sent in call to `_to`", - "id": 2885, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "safeBatchTransferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2883, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2872, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 2885, - "src": "4745:13:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2871, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4745:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2874, - "name": "_to", - "nodeType": "VariableDeclaration", - "scope": 2885, - "src": "4760:11:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2873, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4760:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2877, - "name": "_ids", - "nodeType": "VariableDeclaration", - "scope": 2885, - "src": "4773:23:15", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 2875, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4773:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2876, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4773:9:15", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2880, - "name": "_amounts", - "nodeType": "VariableDeclaration", - "scope": 2885, - "src": "4798:27:15", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 2878, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4798:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2879, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4798:9:15", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2882, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 2885, - "src": "4827:20:15", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 2881, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4827:5:15", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4744:104:15" - }, - "returnParameters": { - "id": 2884, - "nodeType": "ParameterList", - "parameters": [], - "src": "4857:0:15" - }, - "scope": 2923, - "src": "4714:144:15", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": "@notice Get the balance of an account's Tokens\n@param _owner The address of the token holder\n@param _id ID of the Token\n@return The _owner's balance of the Token type requested", - "id": 2894, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2890, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2887, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 2894, - "src": "5102:14:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2886, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5102:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2889, - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 2894, - "src": "5118:11:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2888, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5118:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5101:29:15" - }, - "returnParameters": { - "id": 2893, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2892, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2894, - "src": "5154:7:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2891, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5154:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5153:9:15" - }, - "scope": 2923, - "src": "5083:80:15", - "stateMutability": "view", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": "@notice Get the balance of multiple account/token pairs\n@param _owners The addresses of the token holders\n@param _ids ID of the Tokens\n@return The _owner's balance of the Token types requested (i.e. balance for each (owner, id) pair)", - "id": 2906, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOfBatch", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2901, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2897, - "name": "_owners", - "nodeType": "VariableDeclaration", - "scope": 2906, - "src": "5467:26:15", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 2895, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5467:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 2896, - "length": null, - "nodeType": "ArrayTypeName", - "src": "5467:9:15", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2900, - "name": "_ids", - "nodeType": "VariableDeclaration", - "scope": 2906, - "src": "5495:23:15", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 2898, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5495:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2899, - "length": null, - "nodeType": "ArrayTypeName", - "src": "5495:9:15", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5466:53:15" - }, - "returnParameters": { - "id": 2905, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2904, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2906, - "src": "5543:16:15", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 2902, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5543:7:15", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2903, - "length": null, - "nodeType": "ArrayTypeName", - "src": "5543:9:15", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5542:18:15" - }, - "scope": 2923, - "src": "5443:118:15", - "stateMutability": "view", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": "@notice Enable or disable approval for a third party (\"operator\") to manage all of caller's tokens\n@dev MUST emit the ApprovalForAll event on success\n@param _operator Address to add to the set of authorized operators\n@param _approved True if the operator is approved, false to revoke approval", - "id": 2913, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "setApprovalForAll", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2911, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2908, - "name": "_operator", - "nodeType": "VariableDeclaration", - "scope": 2913, - "src": "5919:17:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2907, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5919:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2910, - "name": "_approved", - "nodeType": "VariableDeclaration", - "scope": 2913, - "src": "5938:14:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2909, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5938:4:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5918:35:15" - }, - "returnParameters": { - "id": 2912, - "nodeType": "ParameterList", - "parameters": [], - "src": "5962:0:15" - }, - "scope": 2923, - "src": "5892:71:15", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": "@notice Queries the approval status of an operator for a given owner\n@param _owner The owner of the Tokens\n@param _operator Address of authorized operator\n@return True if the operator is approved, false if not", - "id": 2922, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "isApprovedForAll", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2918, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2915, - "name": "_owner", - "nodeType": "VariableDeclaration", - "scope": 2922, - "src": "6250:14:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2914, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6250:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2917, - "name": "_operator", - "nodeType": "VariableDeclaration", - "scope": 2922, - "src": "6266:17:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2916, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6266:7:15", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6249:35:15" - }, - "returnParameters": { - "id": 2921, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2920, - "name": "isOperator", - "nodeType": "VariableDeclaration", - "scope": 2922, - "src": "6308:15:15", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2919, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6308:4:15", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6307:17:15" - }, - "scope": 2923, - "src": "6224:101:15", - "stateMutability": "view", - "superFunction": null, - "visibility": "external" - } - ], - "scope": 2924, - "src": "27:6300:15" - } - ], - "src": "0:6328:15" - }, - "compiler": { - "name": "solc", - "version": "0.5.17+commit.d19bba13.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.16", - "updatedAt": "2020-11-17T15:15:49.623Z", - "devdoc": { - "methods": { - "balanceOf(address,uint256)": { - "params": { - "_id": "ID of the Token", - "_owner": "The address of the token holder" - }, - "return": "The _owner's balance of the Token type requested" - }, - "balanceOfBatch(address[],uint256[])": { - "params": { - "_ids": "ID of the Tokens", - "_owners": "The addresses of the token holders" - }, - "return": "The _owner's balance of the Token types requested (i.e. balance for each (owner, id) pair)" - }, - "isApprovedForAll(address,address)": { - "params": { - "_operator": "Address of authorized operator", - "_owner": "The owner of the Tokens" - }, - "return": "True if the operator is approved, false if not" - }, - "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)": { - "details": "MUST emit TransferBatch event on success Caller must be approved to manage the _from account's tokens (see isApprovedForAll) MUST throw if `_to` is the zero address MUST throw if length of `_ids` is not the same as length of `_amounts` MUST throw if any of the balance of sender for token `_ids` is lower than the respective `_amounts` sent MUST throw on any other error When transfer is complete, this function MUST check if `_to` is a smart contract (code size > 0). If so, it MUST call `onERC1155BatchReceived` on `_to` and revert if the return amount is not `bytes4(keccak256(\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\"))` Transfers and events MUST occur in the array order they were submitted (_ids[0] before _ids[1], etc)", - "params": { - "_amounts": "Transfer amounts per token type", - "_data": "Additional data with no specified format, sent in call to `_to`", - "_from": "Source addresses", - "_ids": "IDs of each token type", - "_to": "Target addresses" - } - }, - "safeTransferFrom(address,address,uint256,uint256,bytes)": { - "details": "MUST emit TransferSingle event on success Caller must be approved to manage the _from account's tokens (see isApprovedForAll) MUST throw if `_to` is the zero address MUST throw if balance of sender for token `_id` is lower than the `_amount` sent MUST throw on any other error When transfer is complete, this function MUST check if `_to` is a smart contract (code size > 0). If so, it MUST call `onERC1155Received` on `_to` and revert if the return amount is not `bytes4(keccak256(\"onERC1155Received(address,address,uint256,uint256,bytes)\"))`", - "params": { - "_amount": "Transfered amount", - "_data": "Additional data with no specified format, sent in call to `_to`", - "_from": "Source address", - "_id": "ID of the token type", - "_to": "Target address" - } - }, - "setApprovalForAll(address,bool)": { - "details": "MUST emit the ApprovalForAll event on success", - "params": { - "_approved": "True if the operator is approved, false to revoke approval", - "_operator": "Address to add to the set of authorized operators" - } - } - } - }, - "userdoc": { - "methods": { - "balanceOf(address,uint256)": { - "notice": "Get the balance of an account's Tokens" - }, - "balanceOfBatch(address[],uint256[])": { - "notice": "Get the balance of multiple account/token pairs" - }, - "isApprovedForAll(address,address)": { - "notice": "Queries the approval status of an operator for a given owner" - }, - "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)": { - "notice": "Send multiple types of Tokens from the _from address to the _to address (with safety call)" - }, - "safeTransferFrom(address,address,uint256,uint256,bytes)": { - "notice": "Transfers amount of an _id from the _from address to the _to address specified" - }, - "setApprovalForAll(address,bool)": { - "notice": "Enable or disable approval for a third party (\"operator\") to manage all of caller's tokens" - } - } - } -} \ No newline at end of file diff --git a/packages/proxyIdentity/build/contracts/IERC1155TokenReceiver.json b/packages/proxyIdentity/build/contracts/IERC1155TokenReceiver.json deleted file mode 100644 index 8e9692bfc..000000000 --- a/packages/proxyIdentity/build/contracts/IERC1155TokenReceiver.json +++ /dev/null @@ -1,1201 +0,0 @@ -{ - "contractName": "IERC1155TokenReceiver", - "abi": [ - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_operator", - "type": "address" - }, - { - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "onERC1155Received", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_operator", - "type": "address" - }, - { - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "_ids", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "_amounts", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "onERC1155BatchReceived", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceID", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"_ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_amounts\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"onERC1155BatchReceived\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"onERC1155Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceID\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"ERC-1155 interface for accepting safe transfers.\",\"methods\":{\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\":{\"details\":\"An ERC1155-compliant smart contract MUST call this function on the token recipient contract, at the end of a `safeBatchTransferFrom` after the balances have been updated This function MAY throw to revert and reject the transfer Return of other amount than the magic value WILL result in the transaction being reverted Note: The token contract address is always the message sender\",\"params\":{\"_amounts\":\"An array containing amounts of each token being transferred\",\"_data\":\"Additional data with no specified format\",\"_from\":\"The address which previously owned the token\",\"_ids\":\"An array containing ids of each token being transferred\",\"_operator\":\"The address which called the `safeBatchTransferFrom` function\"},\"return\":\"`bytes4(keccak256(\\\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\\\"))`\"},\"onERC1155Received(address,address,uint256,uint256,bytes)\":{\"details\":\"An ERC1155-compliant smart contract MUST call this function on the token recipient contract, at the end of a `safeTransferFrom` after the balance has been updated This function MAY throw to revert and reject the transfer Return of other amount than the magic value MUST result in the transaction being reverted Note: The token contract address is always the message sender\",\"params\":{\"_amount\":\"The amount of tokens being transferred\",\"_data\":\"Additional data with no specified format\",\"_from\":\"The address which previously owned the token\",\"_id\":\"The id of the token being transferred\",\"_operator\":\"The address which called the `safeTransferFrom` function\"},\"return\":\"`bytes4(keccak256(\\\"onERC1155Received(address,address,uint256,uint256,bytes)\\\"))`\"},\"supportsInterface(bytes4)\":{\"details\":\"This function MUST return true if it implements the ERC1155TokenReceiver interface and ERC-165 interface. This function MUST NOT consume more than 5,000 gas.\",\"params\":{\"interfaceID\":\"The ERC-165 interface ID that is queried for support.s\"},\"return\":\"Whether ERC-165 or ERC1155TokenReceiver interfaces are supported.\"}}},\"userdoc\":{\"methods\":{\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\":{\"notice\":\"Handle the receipt of multiple ERC1155 token types\"},\"onERC1155Received(address,address,uint256,uint256,bytes)\":{\"notice\":\"Handle the receipt of a single ERC1155 token type\"},\"supportsInterface(bytes4)\":{\"notice\":\"Indicates whether a contract implements the `ERC1155TokenReceiver` functions and so can accept ERC1155 token types.\"}}}},\"settings\":{\"compilationTarget\":{\"multi-token-standard/contracts/interfaces/IERC1155TokenReceiver.sol\":\"IERC1155TokenReceiver\"},\"evmVersion\":\"constantinople\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"multi-token-standard/contracts/interfaces/IERC1155TokenReceiver.sol\":{\"keccak256\":\"0xdf097e5f122d544a93027619c941dc8475bead114e421b9398d9a1482b9bffb8\",\"urls\":[\"bzz-raw://9bdc0f8d96e08965b0e7c98b8ba9e67a56afc26c014784caf53ea4e04a966eb3\",\"dweb:/ipfs/QmRiuqBiDqfQNUtpjiwj5rR1iD5Psh6KdzKiBNNriiq68m\"]}},\"version\":1}", - "bytecode": "0x", - "deployedBytecode": "0x", - "sourceMap": "", - "deployedSourceMap": "", - "source": "pragma solidity ^0.5.16;\n\n/**\n * @dev ERC-1155 interface for accepting safe transfers.\n */\ninterface IERC1155TokenReceiver {\n\n /**\n * @notice Handle the receipt of a single ERC1155 token type\n * @dev An ERC1155-compliant smart contract MUST call this function on the token recipient contract, at the end of a `safeTransferFrom` after the balance has been updated\n * This function MAY throw to revert and reject the transfer\n * Return of other amount than the magic value MUST result in the transaction being reverted\n * Note: The token contract address is always the message sender\n * @param _operator The address which called the `safeTransferFrom` function\n * @param _from The address which previously owned the token\n * @param _id The id of the token being transferred\n * @param _amount The amount of tokens being transferred\n * @param _data Additional data with no specified format\n * @return `bytes4(keccak256(\"onERC1155Received(address,address,uint256,uint256,bytes)\"))`\n */\n function onERC1155Received(address _operator, address _from, uint256 _id, uint256 _amount, bytes calldata _data) external returns(bytes4);\n\n /**\n * @notice Handle the receipt of multiple ERC1155 token types\n * @dev An ERC1155-compliant smart contract MUST call this function on the token recipient contract, at the end of a `safeBatchTransferFrom` after the balances have been updated\n * This function MAY throw to revert and reject the transfer\n * Return of other amount than the magic value WILL result in the transaction being reverted\n * Note: The token contract address is always the message sender\n * @param _operator The address which called the `safeBatchTransferFrom` function\n * @param _from The address which previously owned the token\n * @param _ids An array containing ids of each token being transferred\n * @param _amounts An array containing amounts of each token being transferred\n * @param _data Additional data with no specified format\n * @return `bytes4(keccak256(\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\"))`\n */\n function onERC1155BatchReceived(address _operator, address _from, uint256[] calldata _ids, uint256[] calldata _amounts, bytes calldata _data) external returns(bytes4);\n\n /**\n * @notice Indicates whether a contract implements the `ERC1155TokenReceiver` functions and so can accept ERC1155 token types.\n * @param interfaceID The ERC-165 interface ID that is queried for support.s\n * @dev This function MUST return true if it implements the ERC1155TokenReceiver interface and ERC-165 interface.\n * This function MUST NOT consume more than 5,000 gas.\n * @return Whether ERC-165 or ERC1155TokenReceiver interfaces are supported.\n */\n function supportsInterface(bytes4 interfaceID) external view returns (bool);\n}\n", - "sourcePath": "multi-token-standard/contracts/interfaces/IERC1155TokenReceiver.sol", - "ast": { - "absolutePath": "multi-token-standard/contracts/interfaces/IERC1155TokenReceiver.sol", - "exportedSymbols": { - "IERC1155TokenReceiver": [ - 2965 - ] - }, - "id": 2966, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2925, - "literals": [ - "solidity", - "^", - "0.5", - ".16" - ], - "nodeType": "PragmaDirective", - "src": "0:24:16" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": "@dev ERC-1155 interface for accepting safe transfers.", - "fullyImplemented": false, - "id": 2965, - "linearizedBaseContracts": [ - 2965 - ], - "name": "IERC1155TokenReceiver", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": "@notice Handle the receipt of a single ERC1155 token type\n@dev An ERC1155-compliant smart contract MUST call this function on the token recipient contract, at the end of a `safeTransferFrom` after the balance has been updated\nThis function MAY throw to revert and reject the transfer\nReturn of other amount than the magic value MUST result in the transaction being reverted\nNote: The token contract address is always the message sender\n@param _operator The address which called the `safeTransferFrom` function\n@param _from The address which previously owned the token\n@param _id The id of the token being transferred\n@param _amount The amount of tokens being transferred\n@param _data Additional data with no specified format\n@return `bytes4(keccak256(\"onERC1155Received(address,address,uint256,uint256,bytes)\"))`", - "id": 2940, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "onERC1155Received", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2936, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2927, - "name": "_operator", - "nodeType": "VariableDeclaration", - "scope": 2940, - "src": "1066:17:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2926, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1066:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2929, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 2940, - "src": "1085:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2928, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1085:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2931, - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 2940, - "src": "1100:11:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2930, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1100:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2933, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 2940, - "src": "1113:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2932, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1113:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2935, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 2940, - "src": "1130:20:16", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 2934, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1130:5:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1065:86:16" - }, - "returnParameters": { - "id": 2939, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2938, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2940, - "src": "1169:6:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 2937, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "1169:6:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1168:8:16" - }, - "scope": 2965, - "src": "1039:138:16", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": "@notice Handle the receipt of multiple ERC1155 token types\n@dev An ERC1155-compliant smart contract MUST call this function on the token recipient contract, at the end of a `safeBatchTransferFrom` after the balances have been updated\nThis function MAY throw to revert and reject the transfer\nReturn of other amount than the magic value WILL result in the transaction being reverted\nNote: The token contract address is always the message sender\n@param _operator The address which called the `safeBatchTransferFrom` function\n@param _from The address which previously owned the token\n@param _ids An array containing ids of each token being transferred\n@param _amounts An array containing amounts of each token being transferred\n@param _data Additional data with no specified format\n@return `bytes4(keccak256(\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\"))`", - "id": 2957, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "onERC1155BatchReceived", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2953, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2942, - "name": "_operator", - "nodeType": "VariableDeclaration", - "scope": 2957, - "src": "2185:17:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2941, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2185:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2944, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 2957, - "src": "2204:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2943, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2204:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2947, - "name": "_ids", - "nodeType": "VariableDeclaration", - "scope": 2957, - "src": "2219:23:16", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 2945, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2219:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2946, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2219:9:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2950, - "name": "_amounts", - "nodeType": "VariableDeclaration", - "scope": 2957, - "src": "2244:27:16", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 2948, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2244:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2949, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2244:9:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2952, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 2957, - "src": "2273:20:16", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 2951, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2273:5:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2184:110:16" - }, - "returnParameters": { - "id": 2956, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2955, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2957, - "src": "2312:6:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 2954, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "2312:6:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2311:8:16" - }, - "scope": 2965, - "src": "2153:167:16", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": "@notice Indicates whether a contract implements the `ERC1155TokenReceiver` functions and so can accept ERC1155 token types.\n@param interfaceID The ERC-165 interface ID that is queried for support.s\n@dev This function MUST return true if it implements the ERC1155TokenReceiver interface and ERC-165 interface.\n This function MUST NOT consume more than 5,000 gas.\n@return Whether ERC-165 or ERC1155TokenReceiver interfaces are supported.", - "id": 2964, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "supportsInterface", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2960, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2959, - "name": "interfaceID", - "nodeType": "VariableDeclaration", - "scope": 2964, - "src": "2829:18:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 2958, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "2829:6:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2828:20:16" - }, - "returnParameters": { - "id": 2963, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2962, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2964, - "src": "2872:4:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2961, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2872:4:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2871:6:16" - }, - "scope": 2965, - "src": "2802:76:16", - "stateMutability": "view", - "superFunction": null, - "visibility": "external" - } - ], - "scope": 2966, - "src": "91:2789:16" - } - ], - "src": "0:2881:16" - }, - "legacyAST": { - "absolutePath": "multi-token-standard/contracts/interfaces/IERC1155TokenReceiver.sol", - "exportedSymbols": { - "IERC1155TokenReceiver": [ - 2965 - ] - }, - "id": 2966, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2925, - "literals": [ - "solidity", - "^", - "0.5", - ".16" - ], - "nodeType": "PragmaDirective", - "src": "0:24:16" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": "@dev ERC-1155 interface for accepting safe transfers.", - "fullyImplemented": false, - "id": 2965, - "linearizedBaseContracts": [ - 2965 - ], - "name": "IERC1155TokenReceiver", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": "@notice Handle the receipt of a single ERC1155 token type\n@dev An ERC1155-compliant smart contract MUST call this function on the token recipient contract, at the end of a `safeTransferFrom` after the balance has been updated\nThis function MAY throw to revert and reject the transfer\nReturn of other amount than the magic value MUST result in the transaction being reverted\nNote: The token contract address is always the message sender\n@param _operator The address which called the `safeTransferFrom` function\n@param _from The address which previously owned the token\n@param _id The id of the token being transferred\n@param _amount The amount of tokens being transferred\n@param _data Additional data with no specified format\n@return `bytes4(keccak256(\"onERC1155Received(address,address,uint256,uint256,bytes)\"))`", - "id": 2940, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "onERC1155Received", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2936, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2927, - "name": "_operator", - "nodeType": "VariableDeclaration", - "scope": 2940, - "src": "1066:17:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2926, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1066:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2929, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 2940, - "src": "1085:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2928, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1085:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2931, - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 2940, - "src": "1100:11:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2930, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1100:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2933, - "name": "_amount", - "nodeType": "VariableDeclaration", - "scope": 2940, - "src": "1113:15:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2932, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1113:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2935, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 2940, - "src": "1130:20:16", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 2934, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1130:5:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1065:86:16" - }, - "returnParameters": { - "id": 2939, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2938, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2940, - "src": "1169:6:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 2937, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "1169:6:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1168:8:16" - }, - "scope": 2965, - "src": "1039:138:16", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": "@notice Handle the receipt of multiple ERC1155 token types\n@dev An ERC1155-compliant smart contract MUST call this function on the token recipient contract, at the end of a `safeBatchTransferFrom` after the balances have been updated\nThis function MAY throw to revert and reject the transfer\nReturn of other amount than the magic value WILL result in the transaction being reverted\nNote: The token contract address is always the message sender\n@param _operator The address which called the `safeBatchTransferFrom` function\n@param _from The address which previously owned the token\n@param _ids An array containing ids of each token being transferred\n@param _amounts An array containing amounts of each token being transferred\n@param _data Additional data with no specified format\n@return `bytes4(keccak256(\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\"))`", - "id": 2957, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "onERC1155BatchReceived", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2953, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2942, - "name": "_operator", - "nodeType": "VariableDeclaration", - "scope": 2957, - "src": "2185:17:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2941, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2185:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2944, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 2957, - "src": "2204:13:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2943, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2204:7:16", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2947, - "name": "_ids", - "nodeType": "VariableDeclaration", - "scope": 2957, - "src": "2219:23:16", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 2945, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2219:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2946, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2219:9:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2950, - "name": "_amounts", - "nodeType": "VariableDeclaration", - "scope": 2957, - "src": "2244:27:16", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 2948, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2244:7:16", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 2949, - "length": null, - "nodeType": "ArrayTypeName", - "src": "2244:9:16", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2952, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 2957, - "src": "2273:20:16", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 2951, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2273:5:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2184:110:16" - }, - "returnParameters": { - "id": 2956, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2955, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2957, - "src": "2312:6:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 2954, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "2312:6:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2311:8:16" - }, - "scope": 2965, - "src": "2153:167:16", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": "@notice Indicates whether a contract implements the `ERC1155TokenReceiver` functions and so can accept ERC1155 token types.\n@param interfaceID The ERC-165 interface ID that is queried for support.s\n@dev This function MUST return true if it implements the ERC1155TokenReceiver interface and ERC-165 interface.\n This function MUST NOT consume more than 5,000 gas.\n@return Whether ERC-165 or ERC1155TokenReceiver interfaces are supported.", - "id": 2964, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "supportsInterface", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2960, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2959, - "name": "interfaceID", - "nodeType": "VariableDeclaration", - "scope": 2964, - "src": "2829:18:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 2958, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "2829:6:16", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2828:20:16" - }, - "returnParameters": { - "id": 2963, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2962, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2964, - "src": "2872:4:16", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2961, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2872:4:16", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2871:6:16" - }, - "scope": 2965, - "src": "2802:76:16", - "stateMutability": "view", - "superFunction": null, - "visibility": "external" - } - ], - "scope": 2966, - "src": "91:2789:16" - } - ], - "src": "0:2881:16" - }, - "compiler": { - "name": "solc", - "version": "0.5.17+commit.d19bba13.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.16", - "updatedAt": "2020-11-17T15:15:49.625Z", - "devdoc": { - "details": "ERC-1155 interface for accepting safe transfers.", - "methods": { - "onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)": { - "details": "An ERC1155-compliant smart contract MUST call this function on the token recipient contract, at the end of a `safeBatchTransferFrom` after the balances have been updated This function MAY throw to revert and reject the transfer Return of other amount than the magic value WILL result in the transaction being reverted Note: The token contract address is always the message sender", - "params": { - "_amounts": "An array containing amounts of each token being transferred", - "_data": "Additional data with no specified format", - "_from": "The address which previously owned the token", - "_ids": "An array containing ids of each token being transferred", - "_operator": "The address which called the `safeBatchTransferFrom` function" - }, - "return": "`bytes4(keccak256(\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\"))`" - }, - "onERC1155Received(address,address,uint256,uint256,bytes)": { - "details": "An ERC1155-compliant smart contract MUST call this function on the token recipient contract, at the end of a `safeTransferFrom` after the balance has been updated This function MAY throw to revert and reject the transfer Return of other amount than the magic value MUST result in the transaction being reverted Note: The token contract address is always the message sender", - "params": { - "_amount": "The amount of tokens being transferred", - "_data": "Additional data with no specified format", - "_from": "The address which previously owned the token", - "_id": "The id of the token being transferred", - "_operator": "The address which called the `safeTransferFrom` function" - }, - "return": "`bytes4(keccak256(\"onERC1155Received(address,address,uint256,uint256,bytes)\"))`" - }, - "supportsInterface(bytes4)": { - "details": "This function MUST return true if it implements the ERC1155TokenReceiver interface and ERC-165 interface. This function MUST NOT consume more than 5,000 gas.", - "params": { - "interfaceID": "The ERC-165 interface ID that is queried for support.s" - }, - "return": "Whether ERC-165 or ERC1155TokenReceiver interfaces are supported." - } - } - }, - "userdoc": { - "methods": { - "onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)": { - "notice": "Handle the receipt of multiple ERC1155 token types" - }, - "onERC1155Received(address,address,uint256,uint256,bytes)": { - "notice": "Handle the receipt of a single ERC1155 token type" - }, - "supportsInterface(bytes4)": { - "notice": "Indicates whether a contract implements the `ERC1155TokenReceiver` functions and so can accept ERC1155 token types." - } - } - } -} \ No newline at end of file diff --git a/packages/proxyIdentity/build/contracts/IERC165.json b/packages/proxyIdentity/build/contracts/IERC165.json deleted file mode 100644 index edd5d0ae2..000000000 --- a/packages/proxyIdentity/build/contracts/IERC165.json +++ /dev/null @@ -1,303 +0,0 @@ -{ - "contractName": "IERC165", - "abi": [ - { - "constant": true, - "inputs": [ - { - "internalType": "bytes4", - "name": "_interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"_interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"https://github.com/ethereum/EIPs/blob/master/EIPS/eip-165.md\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"Interface identification is specified in ERC-165. This function uses less than 30,000 gas\",\"params\":{\"_interfaceId\":\"The interface identifier, as specified in ERC-165\"}}},\"title\":\"ERC165\"},\"userdoc\":{\"methods\":{\"supportsInterface(bytes4)\":{\"notice\":\"Query if a contract implements an interface\"}}}},\"settings\":{\"compilationTarget\":{\"multi-token-standard/contracts/interfaces/IERC165.sol\":\"IERC165\"},\"evmVersion\":\"constantinople\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"multi-token-standard/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x5561863476cd7598c203efcd18bb436746a2596ac61e37c7bbf73790a511de39\",\"urls\":[\"bzz-raw://92f034ed08c66e4a1579b6ad8dd53e615cb7d39b2f26a131fd62f90f3d30e25b\",\"dweb:/ipfs/QmXKMPTepiBrfEKgpQR8PneSgAsVi2769wy9THBM65BspH\"]}},\"version\":1}", - "bytecode": "0x", - "deployedBytecode": "0x", - "sourceMap": "", - "deployedSourceMap": "", - "source": "pragma solidity ^0.5.16;\n\n\n/**\n * @title ERC165\n * @dev https://github.com/ethereum/EIPs/blob/master/EIPS/eip-165.md\n */\ninterface IERC165 {\n\n /**\n * @notice Query if a contract implements an interface\n * @dev Interface identification is specified in ERC-165. This function\n * uses less than 30,000 gas\n * @param _interfaceId The interface identifier, as specified in ERC-165\n */\n function supportsInterface(bytes4 _interfaceId)\n external\n view\n returns (bool);\n}", - "sourcePath": "multi-token-standard/contracts/interfaces/IERC165.sol", - "ast": { - "absolutePath": "multi-token-standard/contracts/interfaces/IERC165.sol", - "exportedSymbols": { - "IERC165": [ - 2975 - ] - }, - "id": 2976, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2967, - "literals": [ - "solidity", - "^", - "0.5", - ".16" - ], - "nodeType": "PragmaDirective", - "src": "0:24:17" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": "@title ERC165\n@dev https://github.com/ethereum/EIPs/blob/master/EIPS/eip-165.md", - "fullyImplemented": false, - "id": 2975, - "linearizedBaseContracts": [ - 2975 - ], - "name": "IERC165", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": "@notice Query if a contract implements an interface\n@dev Interface identification is specified in ERC-165. This function\nuses less than 30,000 gas\n@param _interfaceId The interface identifier, as specified in ERC-165", - "id": 2974, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "supportsInterface", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2970, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2969, - "name": "_interfaceId", - "nodeType": "VariableDeclaration", - "scope": 2974, - "src": "434:19:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 2968, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "434:6:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "433:21:17" - }, - "returnParameters": { - "id": 2973, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2972, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2974, - "src": "490:4:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2971, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "490:4:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "489:6:17" - }, - "scope": 2975, - "src": "407:89:17", - "stateMutability": "view", - "superFunction": 2964, - "visibility": "external" - } - ], - "scope": 2976, - "src": "121:377:17" - } - ], - "src": "0:498:17" - }, - "legacyAST": { - "absolutePath": "multi-token-standard/contracts/interfaces/IERC165.sol", - "exportedSymbols": { - "IERC165": [ - 2975 - ] - }, - "id": 2976, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2967, - "literals": [ - "solidity", - "^", - "0.5", - ".16" - ], - "nodeType": "PragmaDirective", - "src": "0:24:17" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": "@title ERC165\n@dev https://github.com/ethereum/EIPs/blob/master/EIPS/eip-165.md", - "fullyImplemented": false, - "id": 2975, - "linearizedBaseContracts": [ - 2975 - ], - "name": "IERC165", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": "@notice Query if a contract implements an interface\n@dev Interface identification is specified in ERC-165. This function\nuses less than 30,000 gas\n@param _interfaceId The interface identifier, as specified in ERC-165", - "id": 2974, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "supportsInterface", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2970, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2969, - "name": "_interfaceId", - "nodeType": "VariableDeclaration", - "scope": 2974, - "src": "434:19:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 2968, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "434:6:17", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "433:21:17" - }, - "returnParameters": { - "id": 2973, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2972, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2974, - "src": "490:4:17", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2971, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "490:4:17", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "489:6:17" - }, - "scope": 2975, - "src": "407:89:17", - "stateMutability": "view", - "superFunction": 2964, - "visibility": "external" - } - ], - "scope": 2976, - "src": "121:377:17" - } - ], - "src": "0:498:17" - }, - "compiler": { - "name": "solc", - "version": "0.5.17+commit.d19bba13.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.16", - "updatedAt": "2020-11-17T15:15:49.626Z", - "devdoc": { - "details": "https://github.com/ethereum/EIPs/blob/master/EIPS/eip-165.md", - "methods": { - "supportsInterface(bytes4)": { - "details": "Interface identification is specified in ERC-165. This function uses less than 30,000 gas", - "params": { - "_interfaceId": "The interface identifier, as specified in ERC-165" - } - } - }, - "title": "ERC165" - }, - "userdoc": { - "methods": { - "supportsInterface(bytes4)": { - "notice": "Query if a contract implements an interface" - } - } - } -} \ No newline at end of file diff --git a/packages/proxyIdentity/build/contracts/IERC20.json b/packages/proxyIdentity/build/contracts/IERC20.json deleted file mode 100644 index fdcaf8e97..000000000 --- a/packages/proxyIdentity/build/contracts/IERC20.json +++ /dev/null @@ -1,1906 +0,0 @@ -{ - "contractName": "IERC20", - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "constant": true, - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC20 standard as defined in the EIP. Does not include the optional functions; to access them see {ERC20Detailed}.\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. * This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets `amount` as the allowance of `spender` over the caller's tokens. * Returns a boolean value indicating whether the operation succeeded. * IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the amount of tokens owned by `account`.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves `amount` tokens from the caller's account to `recipient`. * Returns a boolean value indicating whether the operation succeeded. * Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `sender` to `recipient` using the allowance mechanism. `amount` is then deducted from the caller's allowance. * Returns a boolean value indicating whether the operation succeeded. * Emits a {Transfer} event.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":\"IERC20\"},\"evmVersion\":\"constantinople\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzz-raw://59fd025151435da35faa8093a5c7a17de02de9d08ad27275c5cdf05050820d91\",\"dweb:/ipfs/QmQMvwEcPhoRXzbXyrdoeRtvLoifUW9Qh7Luho7bmUPRkc\"]}},\"version\":1}", - "bytecode": "0x", - "deployedBytecode": "0x", - "sourceMap": "", - "deployedSourceMap": "", - "source": "pragma solidity ^0.5.0;\n\n/**\n * @dev Interface of the ERC20 standard as defined in the EIP. Does not include\n * the optional functions; to access them see {ERC20Detailed}.\n */\ninterface IERC20 {\n /**\n * @dev Returns the amount of tokens in existence.\n */\n function totalSupply() external view returns (uint256);\n\n /**\n * @dev Returns the amount of tokens owned by `account`.\n */\n function balanceOf(address account) external view returns (uint256);\n\n /**\n * @dev Moves `amount` tokens from the caller's account to `recipient`.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * Emits a {Transfer} event.\n */\n function transfer(address recipient, uint256 amount) external returns (bool);\n\n /**\n * @dev Returns the remaining number of tokens that `spender` will be\n * allowed to spend on behalf of `owner` through {transferFrom}. This is\n * zero by default.\n *\n * This value changes when {approve} or {transferFrom} are called.\n */\n function allowance(address owner, address spender) external view returns (uint256);\n\n /**\n * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * IMPORTANT: Beware that changing an allowance with this method brings the risk\n * that someone may use both the old and the new allowance by unfortunate\n * transaction ordering. One possible solution to mitigate this race\n * condition is to first reduce the spender's allowance to 0 and set the\n * desired value afterwards:\n * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n *\n * Emits an {Approval} event.\n */\n function approve(address spender, uint256 amount) external returns (bool);\n\n /**\n * @dev Moves `amount` tokens from `sender` to `recipient` using the\n * allowance mechanism. `amount` is then deducted from the caller's\n * allowance.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * Emits a {Transfer} event.\n */\n function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);\n\n /**\n * @dev Emitted when `value` tokens are moved from one account (`from`) to\n * another (`to`).\n *\n * Note that `value` may be zero.\n */\n event Transfer(address indexed from, address indexed to, uint256 value);\n\n /**\n * @dev Emitted when the allowance of a `spender` for an `owner` is set by\n * a call to {approve}. `value` is the new allowance.\n */\n event Approval(address indexed owner, address indexed spender, uint256 value);\n}\n", - "sourcePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", - "ast": { - "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", - "exportedSymbols": { - "IERC20": [ - 2815 - ] - }, - "id": 2816, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2748, - "literals": [ - "solidity", - "^", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:23:14" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": "@dev Interface of the ERC20 standard as defined in the EIP. Does not include\nthe optional functions; to access them see {ERC20Detailed}.", - "fullyImplemented": false, - "id": 2815, - "linearizedBaseContracts": [ - 2815 - ], - "name": "IERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": "@dev Returns the amount of tokens in existence.", - "id": 2753, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2749, - "nodeType": "ParameterList", - "parameters": [], - "src": "290:2:14" - }, - "returnParameters": { - "id": 2752, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2751, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2753, - "src": "316:7:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2750, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "316:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "315:9:14" - }, - "scope": 2815, - "src": "270:55:14", - "stateMutability": "view", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Returns the amount of tokens owned by `account`.", - "id": 2760, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2756, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2755, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 2760, - "src": "427:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2754, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "427:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "426:17:14" - }, - "returnParameters": { - "id": 2759, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2758, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2760, - "src": "467:7:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2757, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "467:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "466:9:14" - }, - "scope": 2815, - "src": "408:68:14", - "stateMutability": "view", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Moves `amount` tokens from the caller's account to `recipient`.\n * Returns a boolean value indicating whether the operation succeeded.\n * Emits a {Transfer} event.", - "id": 2769, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2765, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2762, - "name": "recipient", - "nodeType": "VariableDeclaration", - "scope": 2769, - "src": "714:17:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2761, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "714:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2764, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 2769, - "src": "733:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2763, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "733:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "713:35:14" - }, - "returnParameters": { - "id": 2768, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2767, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2769, - "src": "767:4:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2766, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "767:4:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "766:6:14" - }, - "scope": 2815, - "src": "696:77:14", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Returns the remaining number of tokens that `spender` will be\nallowed to spend on behalf of `owner` through {transferFrom}. This is\nzero by default.\n * This value changes when {approve} or {transferFrom} are called.", - "id": 2778, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2774, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2771, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 2778, - "src": "1067:13:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2770, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1067:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2773, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 2778, - "src": "1082:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2772, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1082:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1066:32:14" - }, - "returnParameters": { - "id": 2777, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2776, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2778, - "src": "1122:7:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2775, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1122:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1121:9:14" - }, - "scope": 2815, - "src": "1048:83:14", - "stateMutability": "view", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n * Returns a boolean value indicating whether the operation succeeded.\n * IMPORTANT: Beware that changing an allowance with this method brings the risk\nthat someone may use both the old and the new allowance by unfortunate\ntransaction ordering. One possible solution to mitigate this race\ncondition is to first reduce the spender's allowance to 0 and set the\ndesired value afterwards:\nhttps://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n * Emits an {Approval} event.", - "id": 2787, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2783, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2780, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 2787, - "src": "1801:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2779, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1801:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2782, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 2787, - "src": "1818:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2781, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1818:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1800:33:14" - }, - "returnParameters": { - "id": 2786, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2785, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2787, - "src": "1852:4:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2784, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1852:4:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1851:6:14" - }, - "scope": 2815, - "src": "1784:74:14", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Moves `amount` tokens from `sender` to `recipient` using the\nallowance mechanism. `amount` is then deducted from the caller's\nallowance.\n * Returns a boolean value indicating whether the operation succeeded.\n * Emits a {Transfer} event.", - "id": 2798, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2794, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2789, - "name": "sender", - "nodeType": "VariableDeclaration", - "scope": 2798, - "src": "2187:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2788, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2187:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2791, - "name": "recipient", - "nodeType": "VariableDeclaration", - "scope": 2798, - "src": "2203:17:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2790, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2203:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2793, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 2798, - "src": "2222:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2792, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2222:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2186:51:14" - }, - "returnParameters": { - "id": 2797, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2796, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2798, - "src": "2256:4:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2795, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2256:4:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2255:6:14" - }, - "scope": 2815, - "src": "2165:97:14", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "anonymous": false, - "documentation": "@dev Emitted when `value` tokens are moved from one account (`from`) to\nanother (`to`).\n * Note that `value` may be zero.", - "id": 2806, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 2805, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2800, - "indexed": true, - "name": "from", - "nodeType": "VariableDeclaration", - "scope": 2806, - "src": "2446:20:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2799, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2446:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2802, - "indexed": true, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 2806, - "src": "2468:18:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2801, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2468:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2804, - "indexed": false, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 2806, - "src": "2488:13:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2803, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2488:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2445:57:14" - }, - "src": "2431:72:14" - }, - { - "anonymous": false, - "documentation": "@dev Emitted when the allowance of a `spender` for an `owner` is set by\na call to {approve}. `value` is the new allowance.", - "id": 2814, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 2813, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2808, - "indexed": true, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 2814, - "src": "2677:21:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2807, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2677:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2810, - "indexed": true, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 2814, - "src": "2700:23:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2809, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2700:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2812, - "indexed": false, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 2814, - "src": "2725:13:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2811, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2725:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2676:63:14" - }, - "src": "2662:78:14" - } - ], - "scope": 2816, - "src": "176:2566:14" - } - ], - "src": "0:2743:14" - }, - "legacyAST": { - "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", - "exportedSymbols": { - "IERC20": [ - 2815 - ] - }, - "id": 2816, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2748, - "literals": [ - "solidity", - "^", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:23:14" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": "@dev Interface of the ERC20 standard as defined in the EIP. Does not include\nthe optional functions; to access them see {ERC20Detailed}.", - "fullyImplemented": false, - "id": 2815, - "linearizedBaseContracts": [ - 2815 - ], - "name": "IERC20", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": "@dev Returns the amount of tokens in existence.", - "id": 2753, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "totalSupply", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2749, - "nodeType": "ParameterList", - "parameters": [], - "src": "290:2:14" - }, - "returnParameters": { - "id": 2752, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2751, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2753, - "src": "316:7:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2750, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "316:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "315:9:14" - }, - "scope": 2815, - "src": "270:55:14", - "stateMutability": "view", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Returns the amount of tokens owned by `account`.", - "id": 2760, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "balanceOf", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2756, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2755, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 2760, - "src": "427:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2754, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "427:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "426:17:14" - }, - "returnParameters": { - "id": 2759, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2758, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2760, - "src": "467:7:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2757, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "467:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "466:9:14" - }, - "scope": 2815, - "src": "408:68:14", - "stateMutability": "view", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Moves `amount` tokens from the caller's account to `recipient`.\n * Returns a boolean value indicating whether the operation succeeded.\n * Emits a {Transfer} event.", - "id": 2769, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2765, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2762, - "name": "recipient", - "nodeType": "VariableDeclaration", - "scope": 2769, - "src": "714:17:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2761, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "714:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2764, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 2769, - "src": "733:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2763, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "733:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "713:35:14" - }, - "returnParameters": { - "id": 2768, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2767, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2769, - "src": "767:4:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2766, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "767:4:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "766:6:14" - }, - "scope": 2815, - "src": "696:77:14", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Returns the remaining number of tokens that `spender` will be\nallowed to spend on behalf of `owner` through {transferFrom}. This is\nzero by default.\n * This value changes when {approve} or {transferFrom} are called.", - "id": 2778, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "allowance", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2774, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2771, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 2778, - "src": "1067:13:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2770, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1067:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2773, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 2778, - "src": "1082:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2772, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1082:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1066:32:14" - }, - "returnParameters": { - "id": 2777, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2776, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2778, - "src": "1122:7:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2775, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1122:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1121:9:14" - }, - "scope": 2815, - "src": "1048:83:14", - "stateMutability": "view", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Sets `amount` as the allowance of `spender` over the caller's tokens.\n * Returns a boolean value indicating whether the operation succeeded.\n * IMPORTANT: Beware that changing an allowance with this method brings the risk\nthat someone may use both the old and the new allowance by unfortunate\ntransaction ordering. One possible solution to mitigate this race\ncondition is to first reduce the spender's allowance to 0 and set the\ndesired value afterwards:\nhttps://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n * Emits an {Approval} event.", - "id": 2787, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "approve", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2783, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2780, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 2787, - "src": "1801:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2779, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1801:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2782, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 2787, - "src": "1818:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2781, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1818:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1800:33:14" - }, - "returnParameters": { - "id": 2786, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2785, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2787, - "src": "1852:4:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2784, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1852:4:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1851:6:14" - }, - "scope": 2815, - "src": "1784:74:14", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": "@dev Moves `amount` tokens from `sender` to `recipient` using the\nallowance mechanism. `amount` is then deducted from the caller's\nallowance.\n * Returns a boolean value indicating whether the operation succeeded.\n * Emits a {Transfer} event.", - "id": 2798, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2794, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2789, - "name": "sender", - "nodeType": "VariableDeclaration", - "scope": 2798, - "src": "2187:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2788, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2187:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2791, - "name": "recipient", - "nodeType": "VariableDeclaration", - "scope": 2798, - "src": "2203:17:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2790, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2203:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2793, - "name": "amount", - "nodeType": "VariableDeclaration", - "scope": 2798, - "src": "2222:14:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2792, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2222:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2186:51:14" - }, - "returnParameters": { - "id": 2797, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2796, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2798, - "src": "2256:4:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2795, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2256:4:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2255:6:14" - }, - "scope": 2815, - "src": "2165:97:14", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "anonymous": false, - "documentation": "@dev Emitted when `value` tokens are moved from one account (`from`) to\nanother (`to`).\n * Note that `value` may be zero.", - "id": 2806, - "name": "Transfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 2805, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2800, - "indexed": true, - "name": "from", - "nodeType": "VariableDeclaration", - "scope": 2806, - "src": "2446:20:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2799, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2446:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2802, - "indexed": true, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 2806, - "src": "2468:18:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2801, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2468:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2804, - "indexed": false, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 2806, - "src": "2488:13:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2803, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2488:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2445:57:14" - }, - "src": "2431:72:14" - }, - { - "anonymous": false, - "documentation": "@dev Emitted when the allowance of a `spender` for an `owner` is set by\na call to {approve}. `value` is the new allowance.", - "id": 2814, - "name": "Approval", - "nodeType": "EventDefinition", - "parameters": { - "id": 2813, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2808, - "indexed": true, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 2814, - "src": "2677:21:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2807, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2677:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2810, - "indexed": true, - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 2814, - "src": "2700:23:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2809, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2700:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 2812, - "indexed": false, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 2814, - "src": "2725:13:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2811, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2725:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2676:63:14" - }, - "src": "2662:78:14" - } - ], - "scope": 2816, - "src": "176:2566:14" - } - ], - "src": "0:2743:14" - }, - "compiler": { - "name": "solc", - "version": "0.5.17+commit.d19bba13.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.16", - "updatedAt": "2020-11-17T15:15:49.621Z", - "devdoc": { - "details": "Interface of the ERC20 standard as defined in the EIP. Does not include the optional functions; to access them see {ERC20Detailed}.", - "methods": { - "allowance(address,address)": { - "details": "Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. * This value changes when {approve} or {transferFrom} are called." - }, - "approve(address,uint256)": { - "details": "Sets `amount` as the allowance of `spender` over the caller's tokens. * Returns a boolean value indicating whether the operation succeeded. * IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * Emits an {Approval} event." - }, - "balanceOf(address)": { - "details": "Returns the amount of tokens owned by `account`." - }, - "totalSupply()": { - "details": "Returns the amount of tokens in existence." - }, - "transfer(address,uint256)": { - "details": "Moves `amount` tokens from the caller's account to `recipient`. * Returns a boolean value indicating whether the operation succeeded. * Emits a {Transfer} event." - }, - "transferFrom(address,address,uint256)": { - "details": "Moves `amount` tokens from `sender` to `recipient` using the allowance mechanism. `amount` is then deducted from the caller's allowance. * Returns a boolean value indicating whether the operation succeeded. * Emits a {Transfer} event." - } - } - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/packages/proxyIdentity/build/contracts/IERC223.json b/packages/proxyIdentity/build/contracts/IERC223.json deleted file mode 100644 index e92b18531..000000000 --- a/packages/proxyIdentity/build/contracts/IERC223.json +++ /dev/null @@ -1,786 +0,0 @@ -{ - "contractName": "IERC223", - "abi": [ - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223.sol\":\"IERC223\"},\"evmVersion\":\"constantinople\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223.sol\":{\"keccak256\":\"0x3e3d1fc80b2e7c13015946457c9f4a5255f3b6f385b48616159e78c7b2c74737\",\"urls\":[\"bzz-raw://3f3458d0c93202f964bbf51a349b99165344f8eec5c43bb3ca5291c13488286f\",\"dweb:/ipfs/QmQ6ZV1eJqKffWcYqa5iQ22zPkQvgjXiNnciajAE6eb8ep\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzz-raw://59fd025151435da35faa8093a5c7a17de02de9d08ad27275c5cdf05050820d91\",\"dweb:/ipfs/QmQMvwEcPhoRXzbXyrdoeRtvLoifUW9Qh7Luho7bmUPRkc\"]}},\"version\":1}", - "bytecode": "0x", - "deployedBytecode": "0x", - "sourceMap": "", - "deployedSourceMap": "", - "source": "pragma solidity ^0.5.0;\n\nimport \"@openzeppelin/contracts/token/ERC20/IERC20.sol\";\n\n\ninterface IERC223 {\n function transfer(\n address to,\n uint256 value,\n bytes calldata data\n ) external returns (bool);\n\n function transferFrom(\n address from,\n address to,\n uint256 value,\n bytes calldata data\n ) external returns (bool);\n}\n", - "sourcePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223.sol", - "ast": { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223.sol", - "exportedSymbols": { - "IERC223": [ - 27 - ] - }, - "id": 28, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1, - "literals": [ - "solidity", - "^", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:23:0" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", - "file": "@openzeppelin/contracts/token/ERC20/IERC20.sol", - "id": 2, - "nodeType": "ImportDirective", - "scope": 28, - "sourceUnit": 2816, - "src": "25:56:0", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 27, - "linearizedBaseContracts": [ - 27 - ], - "name": "IERC223", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 13, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 13, - "src": "129:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "129:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 13, - "src": "145:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "145:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 13, - "src": "164:19:0", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 7, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "164:5:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "123:64:0" - }, - "returnParameters": { - "id": 12, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 13, - "src": "206:4:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "206:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "205:6:0" - }, - "scope": 27, - "src": "106:106:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 26, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15, - "name": "from", - "nodeType": "VariableDeclaration", - "scope": 26, - "src": "243:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 14, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "243:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 26, - "src": "261:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "261:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 26, - "src": "277:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "277:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 26, - "src": "296:19:0", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 20, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "296:5:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "237:82:0" - }, - "returnParameters": { - "id": 25, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 26, - "src": "338:4:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 23, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "338:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "337:6:0" - }, - "scope": 27, - "src": "216:128:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - } - ], - "scope": 28, - "src": "84:262:0" - } - ], - "src": "0:347:0" - }, - "legacyAST": { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223.sol", - "exportedSymbols": { - "IERC223": [ - 27 - ] - }, - "id": 28, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1, - "literals": [ - "solidity", - "^", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:23:0" - }, - { - "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", - "file": "@openzeppelin/contracts/token/ERC20/IERC20.sol", - "id": 2, - "nodeType": "ImportDirective", - "scope": 28, - "sourceUnit": 2816, - "src": "25:56:0", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 27, - "linearizedBaseContracts": [ - 27 - ], - "name": "IERC223", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 13, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transfer", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 9, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 4, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 13, - "src": "129:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 3, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "129:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 6, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 13, - "src": "145:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "145:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 8, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 13, - "src": "164:19:0", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 7, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "164:5:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "123:64:0" - }, - "returnParameters": { - "id": 12, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 11, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 13, - "src": "206:4:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 10, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "206:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "205:6:0" - }, - "scope": 27, - "src": "106:106:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 26, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 22, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 15, - "name": "from", - "nodeType": "VariableDeclaration", - "scope": 26, - "src": "243:12:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 14, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "243:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 17, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 26, - "src": "261:10:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 16, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "261:7:0", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 19, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 26, - "src": "277:13:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 18, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "277:7:0", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 21, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 26, - "src": "296:19:0", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 20, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "296:5:0", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "237:82:0" - }, - "returnParameters": { - "id": 25, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 24, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 26, - "src": "338:4:0", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 23, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "338:4:0", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "337:6:0" - }, - "scope": 27, - "src": "216:128:0", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - } - ], - "scope": 28, - "src": "84:262:0" - } - ], - "src": "0:347:0" - }, - "compiler": { - "name": "solc", - "version": "0.5.17+commit.d19bba13.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.16", - "updatedAt": "2020-11-17T15:15:49.556Z", - "devdoc": { - "methods": {} - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/packages/proxyIdentity/build/contracts/IERC223Receiver.json b/packages/proxyIdentity/build/contracts/IERC223Receiver.json deleted file mode 100644 index 4fbc88f5e..000000000 --- a/packages/proxyIdentity/build/contracts/IERC223Receiver.json +++ /dev/null @@ -1,465 +0,0 @@ -{ - "contractName": "IERC223Receiver", - "abi": [ - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "internalType": "address", - "name": "_origin", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_value", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "tokenFallback", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_origin\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"tokenFallback\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223Receiver.sol\":\"IERC223Receiver\"},\"evmVersion\":\"constantinople\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223Receiver.sol\":{\"keccak256\":\"0x3d4cacfc4d9b98e6d79a1f30ac15f171253771454fff2605d0eeeff14ddd8996\",\"urls\":[\"bzz-raw://c9537e6ef6b75a1fd320b099e6d0ee5eb85c89b6147b22196331b2b3393c736b\",\"dweb:/ipfs/Qmd32qvh5cncrttSuk92ugFakEK8YTLCkMP2tadfymBT6q\"]}},\"version\":1}", - "bytecode": "0x", - "deployedBytecode": "0x", - "sourceMap": "", - "deployedSourceMap": "", - "source": "pragma solidity ^0.5.0;\n\n\ninterface IERC223Receiver {\n function tokenFallback(\n address _sender,\n address _origin,\n uint256 _value,\n bytes calldata _data\n ) external returns (bool);\n}\n", - "sourcePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223Receiver.sol", - "ast": { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223Receiver.sol", - "exportedSymbols": { - "IERC223Receiver": [ - 43 - ] - }, - "id": 44, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 29, - "literals": [ - "solidity", - "^", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:23:1" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 43, - "linearizedBaseContracts": [ - 43 - ], - "name": "IERC223Receiver", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 42, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "tokenFallback", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 38, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 31, - "name": "_sender", - "nodeType": "VariableDeclaration", - "scope": 42, - "src": "84:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 30, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "84:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 33, - "name": "_origin", - "nodeType": "VariableDeclaration", - "scope": 42, - "src": "105:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 32, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "105:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 35, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 42, - "src": "126:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 34, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "126:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 37, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 42, - "src": "146:20:1", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 36, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "146:5:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "78:92:1" - }, - "returnParameters": { - "id": 41, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 40, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 42, - "src": "189:4:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 39, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "189:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "188:6:1" - }, - "scope": 43, - "src": "56:139:1", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - } - ], - "scope": 44, - "src": "26:171:1" - } - ], - "src": "0:198:1" - }, - "legacyAST": { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223Receiver.sol", - "exportedSymbols": { - "IERC223Receiver": [ - 43 - ] - }, - "id": 44, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 29, - "literals": [ - "solidity", - "^", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:23:1" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 43, - "linearizedBaseContracts": [ - 43 - ], - "name": "IERC223Receiver", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 42, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "tokenFallback", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 38, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 31, - "name": "_sender", - "nodeType": "VariableDeclaration", - "scope": 42, - "src": "84:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 30, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "84:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 33, - "name": "_origin", - "nodeType": "VariableDeclaration", - "scope": 42, - "src": "105:15:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 32, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "105:7:1", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 35, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 42, - "src": "126:14:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 34, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "126:7:1", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 37, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 42, - "src": "146:20:1", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 36, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "146:5:1", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "78:92:1" - }, - "returnParameters": { - "id": 41, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 40, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 42, - "src": "189:4:1", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 39, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "189:4:1", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "188:6:1" - }, - "scope": 43, - "src": "56:139:1", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - } - ], - "scope": 44, - "src": "26:171:1" - } - ], - "src": "0:198:1" - }, - "compiler": { - "name": "solc", - "version": "0.5.17+commit.d19bba13.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.16", - "updatedAt": "2020-11-17T15:15:49.557Z", - "devdoc": { - "methods": {} - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/packages/proxyIdentity/build/contracts/MinterRole.json b/packages/proxyIdentity/build/contracts/MinterRole.json deleted file mode 100644 index 6945bf37e..000000000 --- a/packages/proxyIdentity/build/contracts/MinterRole.json +++ /dev/null @@ -1,2618 +0,0 @@ -{ - "contractName": "MinterRole", - "abi": [ - { - "inputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "MinterAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "MinterRemoved", - "type": "event" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "isMinter", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "addMinter", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [], - "name": "renounceMinter", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"MinterAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"MinterRemoved\",\"type\":\"event\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"addMinter\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isMinter\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceMinter\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/access/roles/MinterRole.sol\":\"MinterRole\"},\"evmVersion\":\"constantinople\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/GSN/Context.sol\":{\"keccak256\":\"0x90a3995645af7562d84b9d69363ffa5ae7217714ab61e951bf7bc450f40e4061\",\"urls\":[\"bzz-raw://216ef9d6b614db4eb46970b4e84903f2534a45572dd30a79f0041f1a5830f436\",\"dweb:/ipfs/QmNPrJ4MWKUAWzKXpUqeyKRUfosaoANZAqXgvepdrCwZAG\"]},\"@openzeppelin/contracts/access/Roles.sol\":{\"keccak256\":\"0xb002c378d7b82a101bd659c341518953ca0919d342c0a400196982c0e7e7bcdb\",\"urls\":[\"bzz-raw://00a788c4631466c220b385bdd100c571d24b2deccd657615cfbcef6cadf669a4\",\"dweb:/ipfs/QmTEwDbjJNxmMNCDMqtuou3dyM8Wtp8Q9NFvn7SAVM7Jf3\"]},\"@openzeppelin/contracts/access/roles/MinterRole.sol\":{\"keccak256\":\"0xbe8eef6f2cb4e427f5c5d8a76865ccd06e55a4f1d6671ba312d45bfa705aedbf\",\"urls\":[\"bzz-raw://badf338a5e22c8658c01fe2ce89b487d9dbf6d2d9d5eb49df7415383e2498765\",\"dweb:/ipfs/QmP5aMkvFwMJyuQjKE8ADh5tkWYqonb4KjgkAjgYEVVFAv\"]}},\"version\":1}", - "bytecode": "0x", - "deployedBytecode": "0x", - "sourceMap": "", - "deployedSourceMap": "", - "source": "pragma solidity ^0.5.0;\n\nimport \"../../GSN/Context.sol\";\nimport \"../Roles.sol\";\n\ncontract MinterRole is Context {\n using Roles for Roles.Role;\n\n event MinterAdded(address indexed account);\n event MinterRemoved(address indexed account);\n\n Roles.Role private _minters;\n\n constructor () internal {\n _addMinter(_msgSender());\n }\n\n modifier onlyMinter() {\n require(isMinter(_msgSender()), \"MinterRole: caller does not have the Minter role\");\n _;\n }\n\n function isMinter(address account) public view returns (bool) {\n return _minters.has(account);\n }\n\n function addMinter(address account) public onlyMinter {\n _addMinter(account);\n }\n\n function renounceMinter() public {\n _removeMinter(_msgSender());\n }\n\n function _addMinter(address account) internal {\n _minters.add(account);\n emit MinterAdded(account);\n }\n\n function _removeMinter(address account) internal {\n _minters.remove(account);\n emit MinterRemoved(account);\n }\n}\n", - "sourcePath": "@openzeppelin/contracts/access/roles/MinterRole.sol", - "ast": { - "absolutePath": "@openzeppelin/contracts/access/roles/MinterRole.sol", - "exportedSymbols": { - "MinterRole": [ - 2126 - ] - }, - "id": 2127, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2021, - "literals": [ - "solidity", - "^", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:23:10" - }, - { - "absolutePath": "@openzeppelin/contracts/GSN/Context.sol", - "file": "../../GSN/Context.sol", - "id": 2022, - "nodeType": "ImportDirective", - "scope": 2127, - "sourceUnit": 1939, - "src": "25:31:10", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/access/Roles.sol", - "file": "../Roles.sol", - "id": 2023, - "nodeType": "ImportDirective", - "scope": 2127, - "sourceUnit": 2020, - "src": "57:22:10", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 2024, - "name": "Context", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1938, - "src": "104:7:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Context_$1938", - "typeString": "contract Context" - } - }, - "id": 2025, - "nodeType": "InheritanceSpecifier", - "src": "104:7:10" - } - ], - "contractDependencies": [ - 1938 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 2126, - "linearizedBaseContracts": [ - 2126, - 1938 - ], - "name": "MinterRole", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 2028, - "libraryName": { - "contractScope": null, - "id": 2026, - "name": "Roles", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2019, - "src": "124:5:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Roles_$2019", - "typeString": "library Roles" - } - }, - "nodeType": "UsingForDirective", - "src": "118:27:10", - "typeName": { - "contractScope": null, - "id": 2027, - "name": "Roles.Role", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1945, - "src": "134:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1945_storage_ptr", - "typeString": "struct Roles.Role" - } - } - }, - { - "anonymous": false, - "documentation": null, - "id": 2032, - "name": "MinterAdded", - "nodeType": "EventDefinition", - "parameters": { - "id": 2031, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2030, - "indexed": true, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 2032, - "src": "169:23:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2029, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "169:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "168:25:10" - }, - "src": "151:43:10" - }, - { - "anonymous": false, - "documentation": null, - "id": 2036, - "name": "MinterRemoved", - "nodeType": "EventDefinition", - "parameters": { - "id": 2035, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2034, - "indexed": true, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 2036, - "src": "219:23:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2033, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "219:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "218:25:10" - }, - "src": "199:45:10" - }, - { - "constant": false, - "id": 2038, - "name": "_minters", - "nodeType": "VariableDeclaration", - "scope": 2126, - "src": "250:27:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1945_storage", - "typeString": "struct Roles.Role" - }, - "typeName": { - "contractScope": null, - "id": 2037, - "name": "Roles.Role", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1945, - "src": "250:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1945_storage_ptr", - "typeString": "struct Roles.Role" - } - }, - "value": null, - "visibility": "private" - }, - { - "body": { - "id": 2046, - "nodeType": "Block", - "src": "308:41:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2042, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1926, - "src": "329:10:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 2043, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "329:12:10", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 2041, - "name": "_addMinter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2109, - "src": "318:10:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 2044, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "318:24:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2045, - "nodeType": "ExpressionStatement", - "src": "318:24:10" - } - ] - }, - "documentation": null, - "id": 2047, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2039, - "nodeType": "ParameterList", - "parameters": [], - "src": "296:2:10" - }, - "returnParameters": { - "id": 2040, - "nodeType": "ParameterList", - "parameters": [], - "src": "308:0:10" - }, - "scope": 2126, - "src": "284:65:10", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 2058, - "nodeType": "Block", - "src": "377:111:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2051, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1926, - "src": "404:10:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 2052, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "404:12:10", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 2050, - "name": "isMinter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2072, - "src": "395:8:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 2053, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "395:22:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4d696e746572526f6c653a2063616c6c657220646f6573206e6f74206861766520746865204d696e74657220726f6c65", - "id": 2054, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "419:50:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_79ecb50133735b20228dea9d08fe36a462bbc1350f591a146908848db91104cd", - "typeString": "literal_string \"MinterRole: caller does not have the Minter role\"" - }, - "value": "MinterRole: caller does not have the Minter role" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_79ecb50133735b20228dea9d08fe36a462bbc1350f591a146908848db91104cd", - "typeString": "literal_string \"MinterRole: caller does not have the Minter role\"" - } - ], - "id": 2049, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "387:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2055, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "387:83:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2056, - "nodeType": "ExpressionStatement", - "src": "387:83:10" - }, - { - "id": 2057, - "nodeType": "PlaceholderStatement", - "src": "480:1:10" - } - ] - }, - "documentation": null, - "id": 2059, - "name": "onlyMinter", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 2048, - "nodeType": "ParameterList", - "parameters": [], - "src": "374:2:10" - }, - "src": "355:133:10", - "visibility": "internal" - }, - { - "body": { - "id": 2071, - "nodeType": "Block", - "src": "556:45:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2068, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2061, - "src": "586:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 2066, - "name": "_minters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2038, - "src": "573:8:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1945_storage", - "typeString": "struct Roles.Role storage ref" - } - }, - "id": 2067, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "has", - "nodeType": "MemberAccess", - "referencedDeclaration": 2018, - "src": "573:12:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$1945_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_Role_$1945_storage_ptr_$", - "typeString": "function (struct Roles.Role storage pointer,address) view returns (bool)" - } - }, - "id": 2069, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "573:21:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 2065, - "id": 2070, - "nodeType": "Return", - "src": "566:28:10" - } - ] - }, - "documentation": null, - "id": 2072, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isMinter", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2062, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2061, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 2072, - "src": "512:15:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2060, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "512:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "511:17:10" - }, - "returnParameters": { - "id": 2065, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2064, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2072, - "src": "550:4:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2063, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "550:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "549:6:10" - }, - "scope": 2126, - "src": "494:107:10", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2083, - "nodeType": "Block", - "src": "661:36:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2080, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2074, - "src": "682:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2079, - "name": "_addMinter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2109, - "src": "671:10:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 2081, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "671:19:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2082, - "nodeType": "ExpressionStatement", - "src": "671:19:10" - } - ] - }, - "documentation": null, - "id": 2084, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 2077, - "modifierName": { - "argumentTypes": null, - "id": 2076, - "name": "onlyMinter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "650:10:10", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "650:10:10" - } - ], - "name": "addMinter", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2075, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2074, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 2084, - "src": "626:15:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2073, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "626:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "625:17:10" - }, - "returnParameters": { - "id": 2078, - "nodeType": "ParameterList", - "parameters": [], - "src": "661:0:10" - }, - "scope": 2126, - "src": "607:90:10", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2092, - "nodeType": "Block", - "src": "736:44:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2088, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1926, - "src": "760:10:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 2089, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "760:12:10", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 2087, - "name": "_removeMinter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2125, - "src": "746:13:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 2090, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "746:27:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2091, - "nodeType": "ExpressionStatement", - "src": "746:27:10" - } - ] - }, - "documentation": null, - "id": 2093, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "renounceMinter", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2085, - "nodeType": "ParameterList", - "parameters": [], - "src": "726:2:10" - }, - "returnParameters": { - "id": 2086, - "nodeType": "ParameterList", - "parameters": [], - "src": "736:0:10" - }, - "scope": 2126, - "src": "703:77:10", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2108, - "nodeType": "Block", - "src": "832:73:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2101, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2095, - "src": "855:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 2098, - "name": "_minters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2038, - "src": "842:8:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1945_storage", - "typeString": "struct Roles.Role storage ref" - } - }, - "id": 2100, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 1970, - "src": "842:12:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$1945_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$1945_storage_ptr_$", - "typeString": "function (struct Roles.Role storage pointer,address)" - } - }, - "id": 2102, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "842:21:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2103, - "nodeType": "ExpressionStatement", - "src": "842:21:10" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2105, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2095, - "src": "890:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2104, - "name": "MinterAdded", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2032, - "src": "878:11:10", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 2106, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "878:20:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2107, - "nodeType": "EmitStatement", - "src": "873:25:10" - } - ] - }, - "documentation": null, - "id": 2109, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_addMinter", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2096, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2095, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 2109, - "src": "806:15:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2094, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "806:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "805:17:10" - }, - "returnParameters": { - "id": 2097, - "nodeType": "ParameterList", - "parameters": [], - "src": "832:0:10" - }, - "scope": 2126, - "src": "786:119:10", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 2124, - "nodeType": "Block", - "src": "960:78:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2117, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2111, - "src": "986:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 2114, - "name": "_minters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2038, - "src": "970:8:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1945_storage", - "typeString": "struct Roles.Role storage ref" - } - }, - "id": 2116, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "remove", - "nodeType": "MemberAccess", - "referencedDeclaration": 1994, - "src": "970:15:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$1945_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$1945_storage_ptr_$", - "typeString": "function (struct Roles.Role storage pointer,address)" - } - }, - "id": 2118, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "970:24:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2119, - "nodeType": "ExpressionStatement", - "src": "970:24:10" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2121, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2111, - "src": "1023:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2120, - "name": "MinterRemoved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2036, - "src": "1009:13:10", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 2122, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1009:22:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2123, - "nodeType": "EmitStatement", - "src": "1004:27:10" - } - ] - }, - "documentation": null, - "id": 2125, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_removeMinter", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2112, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2111, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 2125, - "src": "934:15:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2110, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "934:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "933:17:10" - }, - "returnParameters": { - "id": 2113, - "nodeType": "ParameterList", - "parameters": [], - "src": "960:0:10" - }, - "scope": 2126, - "src": "911:127:10", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 2127, - "src": "81:959:10" - } - ], - "src": "0:1041:10" - }, - "legacyAST": { - "absolutePath": "@openzeppelin/contracts/access/roles/MinterRole.sol", - "exportedSymbols": { - "MinterRole": [ - 2126 - ] - }, - "id": 2127, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 2021, - "literals": [ - "solidity", - "^", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:23:10" - }, - { - "absolutePath": "@openzeppelin/contracts/GSN/Context.sol", - "file": "../../GSN/Context.sol", - "id": 2022, - "nodeType": "ImportDirective", - "scope": 2127, - "sourceUnit": 1939, - "src": "25:31:10", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "@openzeppelin/contracts/access/Roles.sol", - "file": "../Roles.sol", - "id": 2023, - "nodeType": "ImportDirective", - "scope": 2127, - "sourceUnit": 2020, - "src": "57:22:10", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 2024, - "name": "Context", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1938, - "src": "104:7:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Context_$1938", - "typeString": "contract Context" - } - }, - "id": 2025, - "nodeType": "InheritanceSpecifier", - "src": "104:7:10" - } - ], - "contractDependencies": [ - 1938 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 2126, - "linearizedBaseContracts": [ - 2126, - 1938 - ], - "name": "MinterRole", - "nodeType": "ContractDefinition", - "nodes": [ - { - "id": 2028, - "libraryName": { - "contractScope": null, - "id": 2026, - "name": "Roles", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2019, - "src": "124:5:10", - "typeDescriptions": { - "typeIdentifier": "t_contract$_Roles_$2019", - "typeString": "library Roles" - } - }, - "nodeType": "UsingForDirective", - "src": "118:27:10", - "typeName": { - "contractScope": null, - "id": 2027, - "name": "Roles.Role", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1945, - "src": "134:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1945_storage_ptr", - "typeString": "struct Roles.Role" - } - } - }, - { - "anonymous": false, - "documentation": null, - "id": 2032, - "name": "MinterAdded", - "nodeType": "EventDefinition", - "parameters": { - "id": 2031, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2030, - "indexed": true, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 2032, - "src": "169:23:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2029, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "169:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "168:25:10" - }, - "src": "151:43:10" - }, - { - "anonymous": false, - "documentation": null, - "id": 2036, - "name": "MinterRemoved", - "nodeType": "EventDefinition", - "parameters": { - "id": 2035, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2034, - "indexed": true, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 2036, - "src": "219:23:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2033, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "219:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "218:25:10" - }, - "src": "199:45:10" - }, - { - "constant": false, - "id": 2038, - "name": "_minters", - "nodeType": "VariableDeclaration", - "scope": 2126, - "src": "250:27:10", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1945_storage", - "typeString": "struct Roles.Role" - }, - "typeName": { - "contractScope": null, - "id": 2037, - "name": "Roles.Role", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1945, - "src": "250:10:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1945_storage_ptr", - "typeString": "struct Roles.Role" - } - }, - "value": null, - "visibility": "private" - }, - { - "body": { - "id": 2046, - "nodeType": "Block", - "src": "308:41:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2042, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1926, - "src": "329:10:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 2043, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "329:12:10", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 2041, - "name": "_addMinter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2109, - "src": "318:10:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 2044, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "318:24:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2045, - "nodeType": "ExpressionStatement", - "src": "318:24:10" - } - ] - }, - "documentation": null, - "id": 2047, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2039, - "nodeType": "ParameterList", - "parameters": [], - "src": "296:2:10" - }, - "returnParameters": { - "id": 2040, - "nodeType": "ParameterList", - "parameters": [], - "src": "308:0:10" - }, - "scope": 2126, - "src": "284:65:10", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 2058, - "nodeType": "Block", - "src": "377:111:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2051, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1926, - "src": "404:10:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 2052, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "404:12:10", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 2050, - "name": "isMinter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2072, - "src": "395:8:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", - "typeString": "function (address) view returns (bool)" - } - }, - "id": 2053, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "395:22:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4d696e746572526f6c653a2063616c6c657220646f6573206e6f74206861766520746865204d696e74657220726f6c65", - "id": 2054, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "419:50:10", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_79ecb50133735b20228dea9d08fe36a462bbc1350f591a146908848db91104cd", - "typeString": "literal_string \"MinterRole: caller does not have the Minter role\"" - }, - "value": "MinterRole: caller does not have the Minter role" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_79ecb50133735b20228dea9d08fe36a462bbc1350f591a146908848db91104cd", - "typeString": "literal_string \"MinterRole: caller does not have the Minter role\"" - } - ], - "id": 2049, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "387:7:10", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2055, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "387:83:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2056, - "nodeType": "ExpressionStatement", - "src": "387:83:10" - }, - { - "id": 2057, - "nodeType": "PlaceholderStatement", - "src": "480:1:10" - } - ] - }, - "documentation": null, - "id": 2059, - "name": "onlyMinter", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 2048, - "nodeType": "ParameterList", - "parameters": [], - "src": "374:2:10" - }, - "src": "355:133:10", - "visibility": "internal" - }, - { - "body": { - "id": 2071, - "nodeType": "Block", - "src": "556:45:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2068, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2061, - "src": "586:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 2066, - "name": "_minters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2038, - "src": "573:8:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1945_storage", - "typeString": "struct Roles.Role storage ref" - } - }, - "id": 2067, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "has", - "nodeType": "MemberAccess", - "referencedDeclaration": 2018, - "src": "573:12:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$1945_storage_ptr_$_t_address_$returns$_t_bool_$bound_to$_t_struct$_Role_$1945_storage_ptr_$", - "typeString": "function (struct Roles.Role storage pointer,address) view returns (bool)" - } - }, - "id": 2069, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "573:21:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 2065, - "id": 2070, - "nodeType": "Return", - "src": "566:28:10" - } - ] - }, - "documentation": null, - "id": 2072, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "isMinter", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2062, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2061, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 2072, - "src": "512:15:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2060, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "512:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "511:17:10" - }, - "returnParameters": { - "id": 2065, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2064, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2072, - "src": "550:4:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2063, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "550:4:10", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "549:6:10" - }, - "scope": 2126, - "src": "494:107:10", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2083, - "nodeType": "Block", - "src": "661:36:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2080, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2074, - "src": "682:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2079, - "name": "_addMinter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2109, - "src": "671:10:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 2081, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "671:19:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2082, - "nodeType": "ExpressionStatement", - "src": "671:19:10" - } - ] - }, - "documentation": null, - "id": 2084, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 2077, - "modifierName": { - "argumentTypes": null, - "id": 2076, - "name": "onlyMinter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "650:10:10", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "650:10:10" - } - ], - "name": "addMinter", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2075, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2074, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 2084, - "src": "626:15:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2073, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "626:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "625:17:10" - }, - "returnParameters": { - "id": 2078, - "nodeType": "ParameterList", - "parameters": [], - "src": "661:0:10" - }, - "scope": 2126, - "src": "607:90:10", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2092, - "nodeType": "Block", - "src": "736:44:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2088, - "name": "_msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1926, - "src": "760:10:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 2089, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "760:12:10", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 2087, - "name": "_removeMinter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2125, - "src": "746:13:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 2090, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "746:27:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2091, - "nodeType": "ExpressionStatement", - "src": "746:27:10" - } - ] - }, - "documentation": null, - "id": 2093, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "renounceMinter", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2085, - "nodeType": "ParameterList", - "parameters": [], - "src": "726:2:10" - }, - "returnParameters": { - "id": 2086, - "nodeType": "ParameterList", - "parameters": [], - "src": "736:0:10" - }, - "scope": 2126, - "src": "703:77:10", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 2108, - "nodeType": "Block", - "src": "832:73:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2101, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2095, - "src": "855:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 2098, - "name": "_minters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2038, - "src": "842:8:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1945_storage", - "typeString": "struct Roles.Role storage ref" - } - }, - "id": 2100, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "add", - "nodeType": "MemberAccess", - "referencedDeclaration": 1970, - "src": "842:12:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$1945_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$1945_storage_ptr_$", - "typeString": "function (struct Roles.Role storage pointer,address)" - } - }, - "id": 2102, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "842:21:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2103, - "nodeType": "ExpressionStatement", - "src": "842:21:10" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2105, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2095, - "src": "890:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2104, - "name": "MinterAdded", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2032, - "src": "878:11:10", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 2106, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "878:20:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2107, - "nodeType": "EmitStatement", - "src": "873:25:10" - } - ] - }, - "documentation": null, - "id": 2109, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_addMinter", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2096, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2095, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 2109, - "src": "806:15:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2094, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "806:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "805:17:10" - }, - "returnParameters": { - "id": 2097, - "nodeType": "ParameterList", - "parameters": [], - "src": "832:0:10" - }, - "scope": 2126, - "src": "786:119:10", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 2124, - "nodeType": "Block", - "src": "960:78:10", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2117, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2111, - "src": "986:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "id": 2114, - "name": "_minters", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2038, - "src": "970:8:10", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1945_storage", - "typeString": "struct Roles.Role storage ref" - } - }, - "id": 2116, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "remove", - "nodeType": "MemberAccess", - "referencedDeclaration": 1994, - "src": "970:15:10", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Role_$1945_storage_ptr_$_t_address_$returns$__$bound_to$_t_struct$_Role_$1945_storage_ptr_$", - "typeString": "function (struct Roles.Role storage pointer,address)" - } - }, - "id": 2118, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "970:24:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2119, - "nodeType": "ExpressionStatement", - "src": "970:24:10" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 2121, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2111, - "src": "1023:7:10", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 2120, - "name": "MinterRemoved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2036, - "src": "1009:13:10", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 2122, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1009:22:10", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2123, - "nodeType": "EmitStatement", - "src": "1004:27:10" - } - ] - }, - "documentation": null, - "id": 2125, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_removeMinter", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2112, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2111, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 2125, - "src": "934:15:10", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2110, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "934:7:10", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "933:17:10" - }, - "returnParameters": { - "id": 2113, - "nodeType": "ParameterList", - "parameters": [], - "src": "960:0:10" - }, - "scope": 2126, - "src": "911:127:10", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 2127, - "src": "81:959:10" - } - ], - "src": "0:1041:10" - }, - "compiler": { - "name": "solc", - "version": "0.5.17+commit.d19bba13.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.16", - "updatedAt": "2020-11-17T15:15:49.605Z", - "devdoc": { - "methods": {} - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/packages/proxyIdentity/build/contracts/OfferableIdentity.json b/packages/proxyIdentity/build/contracts/OfferableIdentity.json new file mode 100644 index 000000000..7eecf21fd --- /dev/null +++ b/packages/proxyIdentity/build/contracts/OfferableIdentity.json @@ -0,0 +1,4078 @@ +{ + "contractName": "OfferableIdentity", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "offeredTo", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "id", + "outputs": [ + { + "name": "", + "type": "string" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "name": "_id", + "type": "string" + }, + { + "name": "_owner", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "identity", + "type": "address" + }, + { + "indexed": false, + "name": "owner", + "type": "address" + } + ], + "name": "OfferableIdentityCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "identity", + "type": "address" + }, + { + "indexed": false, + "name": "offeredTo", + "type": "address" + } + ], + "name": "IdentityOffered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "identity", + "type": "address" + }, + { + "indexed": false, + "name": "owner", + "type": "address" + } + ], + "name": "IdentityTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "identity", + "type": "address" + }, + { + "indexed": false, + "name": "offeredTo", + "type": "address" + } + ], + "name": "OfferRejected", + "type": "event" + }, + { + "constant": false, + "inputs": [ + { + "name": "_offeredTo", + "type": "address" + } + ], + "name": "offer", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "accept", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "reject", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "metadata": "{\"compiler\":{\"version\":\"0.4.24+commit.e67f0147\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[],\"name\":\"accept\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"reject\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"offeredTo\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"id\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_offeredTo\",\"type\":\"address\"}],\"name\":\"offer\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"_id\",\"type\":\"string\"},{\"name\":\"_owner\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"identity\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OfferableIdentityCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"identity\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"offeredTo\",\"type\":\"address\"}],\"name\":\"IdentityOffered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"identity\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"IdentityTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"identity\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"offeredTo\",\"type\":\"address\"}],\"name\":\"OfferRejected\",\"type\":\"event\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/offerableIdentity.sol\":\"OfferableIdentity\"},\"evmVersion\":\"constantinople\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/offerableIdentity.sol\":{\"keccak256\":\"0x61c436e885bfe58520918b164be4806074a6ba185662250e8fea953a8fc579c8\",\"urls\":[\"bzzr://b2709869de1078d482f341ed5ebde9eb72d8a44f13fb4f7364f9f5adbae3ecfa\"]}},\"version\":1}", + "bytecode": "0x608060405234801561001057600080fd5b50604051610c33380380610c3383398101806040528101908080518201929190602001805190602001909291905050508160019080519060200190610056929190610156565b50806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fcedf4174582d6f8507e1c52a7ed814b17faf56d5b1e4e861111e7fd9a70114ba306000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a150506101fb565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061019757805160ff19168380011785556101c5565b828001600101855582156101c5579182015b828111156101c45782518255916020019190600101906101a9565b5b5090506101d291906101d6565b5090565b6101f891905b808211156101f45760008160009055506001016101dc565b5090565b90565b610a298061020a6000396000f30060806040526004361061005b5760003560e01c63ffffffff1680632852b71c146100605780634dc415de146100775780638da5cb5b1461008e578063918af2cf146100e5578063af640d0f1461013c578063ce2d4aca146101cc575b600080fd5b34801561006c57600080fd5b5061007561020f565b005b34801561008357600080fd5b5061008c6104c0565b005b34801561009a57600080fd5b506100a361070f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156100f157600080fd5b506100fa610734565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561014857600080fd5b5061015161075a565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610191578082015181840152602081019050610176565b50505050905090810190601f1680156101be5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101d857600080fd5b5061020d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107f8565b005b600073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515156102d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f50726f7879206973206e6f74206f66666572656400000000000000000000000081525060200191505060405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561039b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f50726f7879206f66666572656420746f206f74686572206163636f756e74000081525060200191505060405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f4599e0afdc7ea6742d503b9977cd207759ff64353868267a75d858892955111830600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a16104be6109b9565b565b600073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151515610587576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f50726f7879206973206e6f74206f66666572656400000000000000000000000081525060200191505060405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561064c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f50726f7879206f66666572656420746f206f74686572206163636f756e74000081525060200191505060405180910390fd5b7f8f1e0875e8a490c9548884df4fa0c6466173357016c506b89decdd5822bce59730600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a161070d6109b9565b565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156107f05780601f106107c5576101008083540402835291602001916107f0565b820191906000526020600020905b8154815290600101906020018083116107d357829003601f168201915b505050505081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156108bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4f6e6c79206f776e657220616c6c6f776564000000000000000000000000000081525060200191505060405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f61630d1a354bd4f22055602103a3458ced3bdfbdc3e3387b5df00ea584ce6ff730600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a150565b6000600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505600a165627a7a723058202baf73ee6bc2fb462d45183b727a963189a85c289908a23bd8cfa91de74ac09f0029", + "deployedBytecode": "0x60806040526004361061005b5760003560e01c63ffffffff1680632852b71c146100605780634dc415de146100775780638da5cb5b1461008e578063918af2cf146100e5578063af640d0f1461013c578063ce2d4aca146101cc575b600080fd5b34801561006c57600080fd5b5061007561020f565b005b34801561008357600080fd5b5061008c6104c0565b005b34801561009a57600080fd5b506100a361070f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156100f157600080fd5b506100fa610734565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561014857600080fd5b5061015161075a565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610191578082015181840152602081019050610176565b50505050905090810190601f1680156101be5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101d857600080fd5b5061020d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107f8565b005b600073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515156102d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f50726f7879206973206e6f74206f66666572656400000000000000000000000081525060200191505060405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561039b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f50726f7879206f66666572656420746f206f74686572206163636f756e74000081525060200191505060405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f4599e0afdc7ea6742d503b9977cd207759ff64353868267a75d858892955111830600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a16104be6109b9565b565b600073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151515610587576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f50726f7879206973206e6f74206f66666572656400000000000000000000000081525060200191505060405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561064c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f50726f7879206f66666572656420746f206f74686572206163636f756e74000081525060200191505060405180910390fd5b7f8f1e0875e8a490c9548884df4fa0c6466173357016c506b89decdd5822bce59730600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a161070d6109b9565b565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156107f05780601f106107c5576101008083540402835291602001916107f0565b820191906000526020600020905b8154815290600101906020018083116107d357829003601f168201915b505050505081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156108bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4f6e6c79206f776e657220616c6c6f776564000000000000000000000000000081525060200191505060405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f61630d1a354bd4f22055602103a3458ced3bdfbdc3e3387b5df00ea584ce6ff730600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a150565b6000600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505600a165627a7a723058202baf73ee6bc2fb462d45183b727a963189a85c289908a23bd8cfa91de74ac09f0029", + "sourceMap": "26:1244:0:-;;;383:150;8:9:-1;5:2;;;30:1;27;20:12;5:2;383:150:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;448:3;443:2;:8;;;;;;;;;;;;:::i;:::-;;465:6;457:5;;:14;;;;;;;;;;;;;;;;;;482:46;515:4;522:5;;;;;;;;;;;482:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;383:150;;26:1244;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", + "deployedSourceMap": "26:1244:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;943:141;;8:9:-1;5:2;;;30:1;27;20:12;5:2;943:141:0;;;;;;1088:112;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1088:112:0;;;;;;57:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;57:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;102:24;;8:9:-1;5:2;;;30:1;27;20:12;5:2;102:24:0;;;;;;;;;;;;;;;;;;;;;;;;;;;81:16;;8:9:-1;5:2;;;30:1;27;20:12;5:2;81:16:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;81:16:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;801:138;;8:9:-1;5:2;;;30:1;27;20:12;5:2;801:138:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;943:141;686:1;665:23;;:9;;;;;;;;;;;:23;;;;657:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;741:9;;;;;;;;;;;727:23;;:10;:23;;;719:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;996:9;;;;;;;;;;;988:5;;:17;;;;;;;;;;;;;;;;;;1016:45;1044:4;1051:9;;;;;;;;;;;1016:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1067:12;:10;:12::i;:::-;943:141::o;1088:112::-;686:1;665:23;;:9;;;;;;;;;;;:23;;;;657:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;741:9;;;;;;;;;;;727:23;;:10;:23;;;719:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1138:39;1160:4;1167:9;;;;;;;;;;;1138:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1183:12;:10;:12::i;:::-;1088:112::o;57:20::-;;;;;;;;;;;;;:::o;102:24::-;;;;;;;;;;;;;:::o;81:16::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;801:138::-;584:5;;;;;;;;;;;570:19;;:10;:19;;;562:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;871:10;859:9;;:22;;;;;;;;;;;;;;;;;;893:41;917:4;924:9;;;;;;;;;;;893:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;801:138;:::o;1204:64::-;1261:1;1241:9;;:22;;;;;;;;;;;;;;;;;;1204:64::o", + "source": "pragma solidity 0.4.24;\n\n\ncontract OfferableIdentity {\n address public owner;\n string public id;\n\n address public offeredTo;\n\n event OfferableIdentityCreated(address identity, address owner);\n event IdentityOffered(address identity, address offeredTo);\n event IdentityTransferred(address identity, address owner);\n event OfferRejected(address identity, address offeredTo);\n\n constructor(string memory _id, address _owner) public {\n id = _id;\n owner = _owner;\n emit OfferableIdentityCreated(address(this), owner);\n }\n\n modifier isOwner() {\n require(msg.sender == owner, \"Only owner allowed\");\n _;\n }\n\n modifier isOfferedTo() {\n require(offeredTo != address(0), \"Proxy is not offered\");\n require(msg.sender == offeredTo, \"Proxy offered to other account\");\n _;\n }\n\n function offer(address _offeredTo) external isOwner {\n offeredTo = _offeredTo;\n\n emit IdentityOffered(address(this), offeredTo);\n }\n\n function accept() external isOfferedTo {\n owner = offeredTo;\n emit IdentityTransferred(address(this), offeredTo);\n closeOffer();\n }\n\n function reject() external isOfferedTo {\n emit OfferRejected(address(this), offeredTo);\n closeOffer();\n }\n\n function closeOffer() internal {\n offeredTo = address(0);\n }\n}\n", + "sourcePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/offerableIdentity.sol", + "ast": { + "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/offerableIdentity.sol", + "exportedSymbols": { + "OfferableIdentity": [ + 153 + ] + }, + "id": 154, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1, + "literals": [ + "solidity", + "0.4", + ".24" + ], + "nodeType": "PragmaDirective", + "src": "0:23:0" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 153, + "linearizedBaseContracts": [ + 153 + ], + "name": "OfferableIdentity", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 3, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 153, + "src": "57:20:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "57:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 5, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 153, + "src": "81:16:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string" + }, + "typeName": { + "id": 4, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "81:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 7, + "name": "offeredTo", + "nodeType": "VariableDeclaration", + "scope": 153, + "src": "102:24:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "102:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 13, + "name": "OfferableIdentityCreated", + "nodeType": "EventDefinition", + "parameters": { + "id": 12, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9, + "indexed": false, + "name": "identity", + "nodeType": "VariableDeclaration", + "scope": 13, + "src": "162:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "162:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 11, + "indexed": false, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 13, + "src": "180:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "180:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "161:33:0" + }, + "src": "131:64:0" + }, + { + "anonymous": false, + "documentation": null, + "id": 19, + "name": "IdentityOffered", + "nodeType": "EventDefinition", + "parameters": { + "id": 18, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15, + "indexed": false, + "name": "identity", + "nodeType": "VariableDeclaration", + "scope": 19, + "src": "220:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 14, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "220:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17, + "indexed": false, + "name": "offeredTo", + "nodeType": "VariableDeclaration", + "scope": 19, + "src": "238:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "238:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "219:37:0" + }, + "src": "198:59:0" + }, + { + "anonymous": false, + "documentation": null, + "id": 25, + "name": "IdentityTransferred", + "nodeType": "EventDefinition", + "parameters": { + "id": 24, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21, + "indexed": false, + "name": "identity", + "nodeType": "VariableDeclaration", + "scope": 25, + "src": "286:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "286:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 23, + "indexed": false, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 25, + "src": "304:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 22, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "304:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "285:33:0" + }, + "src": "260:59:0" + }, + { + "anonymous": false, + "documentation": null, + "id": 31, + "name": "OfferRejected", + "nodeType": "EventDefinition", + "parameters": { + "id": 30, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 27, + "indexed": false, + "name": "identity", + "nodeType": "VariableDeclaration", + "scope": 31, + "src": "342:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "342:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 29, + "indexed": false, + "name": "offeredTo", + "nodeType": "VariableDeclaration", + "scope": 31, + "src": "360:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 28, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "360:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "341:37:0" + }, + "src": "322:57:0" + }, + { + "body": { + "id": 53, + "nodeType": "Block", + "src": "437:96:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 40, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 38, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5, + "src": "443:2:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 39, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33, + "src": "448:3:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "443:8:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 41, + "nodeType": "ExpressionStatement", + "src": "443:8:0" + }, + { + "expression": { + "argumentTypes": null, + "id": 44, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 42, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "457:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 43, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35, + "src": "465:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "457:14:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 45, + "nodeType": "ExpressionStatement", + "src": "457:14:0" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 48, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 181, + "src": "515:4:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OfferableIdentity_$153", + "typeString": "contract OfferableIdentity" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_OfferableIdentity_$153", + "typeString": "contract OfferableIdentity" + } + ], + "id": 47, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "507:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 49, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "507:13:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 50, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "522:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 46, + "name": "OfferableIdentityCreated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13, + "src": "482:24:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 51, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "482:46:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 52, + "nodeType": "EmitStatement", + "src": "477:51:0" + } + ] + }, + "documentation": null, + "id": 54, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 36, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 33, + "name": "_id", + "nodeType": "VariableDeclaration", + "scope": 54, + "src": "395:17:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 32, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "395:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 35, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 54, + "src": "414:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 34, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "414:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "394:35:0" + }, + "payable": false, + "returnParameters": { + "id": 37, + "nodeType": "ParameterList", + "parameters": [], + "src": "437:0:0" + }, + "scope": 153, + "src": "383:150:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 65, + "nodeType": "Block", + "src": "556:68:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 60, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 57, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 168, + "src": "570:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 58, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "570:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 59, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "584:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "570:19:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "4f6e6c79206f776e657220616c6c6f776564", + "id": 61, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "591:20:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_723fda17fb30a6cc7e06a9af2db3699db1a079268819efeab370ce8cb87b0282", + "typeString": "literal_string \"Only owner allowed\"" + }, + "value": "Only owner allowed" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_723fda17fb30a6cc7e06a9af2db3699db1a079268819efeab370ce8cb87b0282", + "typeString": "literal_string \"Only owner allowed\"" + } + ], + "id": 56, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 171, + 172 + ], + "referencedDeclaration": 172, + "src": "562:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 62, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "562:50:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 63, + "nodeType": "ExpressionStatement", + "src": "562:50:0" + }, + { + "id": 64, + "nodeType": "PlaceholderStatement", + "src": "618:1:0" + } + ] + }, + "documentation": null, + "id": 66, + "name": "isOwner", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 55, + "nodeType": "ParameterList", + "parameters": [], + "src": "553:2:0" + }, + "src": "537:87:0", + "visibility": "internal" + }, + { + "body": { + "id": 86, + "nodeType": "Block", + "src": "651:146:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 73, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 69, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7, + "src": "665:9:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 71, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "686:1:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 70, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "678:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 72, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "678:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "665:23:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "50726f7879206973206e6f74206f666665726564", + "id": 74, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "690:22:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_67f56cf7cfe2dab60ba03182b68916128d38ba3507fedaa15f19d15e8e706a66", + "typeString": "literal_string \"Proxy is not offered\"" + }, + "value": "Proxy is not offered" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_67f56cf7cfe2dab60ba03182b68916128d38ba3507fedaa15f19d15e8e706a66", + "typeString": "literal_string \"Proxy is not offered\"" + } + ], + "id": 68, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 171, + 172 + ], + "referencedDeclaration": 172, + "src": "657:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 75, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "657:56:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 76, + "nodeType": "ExpressionStatement", + "src": "657:56:0" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 81, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 78, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 168, + "src": "727:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 79, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "727:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 80, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7, + "src": "741:9:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "727:23:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "50726f7879206f66666572656420746f206f74686572206163636f756e74", + "id": 82, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "752:32:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_08fd32e4b45ba33ac50978960e75e0120a34559017c4786651bbfaa01f13f8f0", + "typeString": "literal_string \"Proxy offered to other account\"" + }, + "value": "Proxy offered to other account" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_08fd32e4b45ba33ac50978960e75e0120a34559017c4786651bbfaa01f13f8f0", + "typeString": "literal_string \"Proxy offered to other account\"" + } + ], + "id": 77, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 171, + 172 + ], + "referencedDeclaration": 172, + "src": "719:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 83, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "719:66:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 84, + "nodeType": "ExpressionStatement", + "src": "719:66:0" + }, + { + "id": 85, + "nodeType": "PlaceholderStatement", + "src": "791:1:0" + } + ] + }, + "documentation": null, + "id": 87, + "name": "isOfferedTo", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 67, + "nodeType": "ParameterList", + "parameters": [], + "src": "648:2:0" + }, + "src": "628:169:0", + "visibility": "internal" + }, + { + "body": { + "id": 105, + "nodeType": "Block", + "src": "853:86:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 96, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 94, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7, + "src": "859:9:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 95, + "name": "_offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 89, + "src": "871:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "859:22:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 97, + "nodeType": "ExpressionStatement", + "src": "859:22:0" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 100, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 181, + "src": "917:4:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OfferableIdentity_$153", + "typeString": "contract OfferableIdentity" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_OfferableIdentity_$153", + "typeString": "contract OfferableIdentity" + } + ], + "id": 99, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "909:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 101, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "909:13:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 102, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7, + "src": "924:9:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 98, + "name": "IdentityOffered", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19, + "src": "893:15:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 103, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "893:41:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 104, + "nodeType": "EmitStatement", + "src": "888:46:0" + } + ] + }, + "documentation": null, + "id": 106, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 92, + "modifierName": { + "argumentTypes": null, + "id": 91, + "name": "isOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 66, + "src": "845:7:0", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "845:7:0" + } + ], + "name": "offer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 90, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 89, + "name": "_offeredTo", + "nodeType": "VariableDeclaration", + "scope": 106, + "src": "816:18:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 88, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "816:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "815:20:0" + }, + "payable": false, + "returnParameters": { + "id": 93, + "nodeType": "ParameterList", + "parameters": [], + "src": "853:0:0" + }, + "scope": 153, + "src": "801:138:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 125, + "nodeType": "Block", + "src": "982:102:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 113, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 111, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "988:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 112, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7, + "src": "996:9:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "988:17:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 114, + "nodeType": "ExpressionStatement", + "src": "988:17:0" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 117, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 181, + "src": "1044:4:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OfferableIdentity_$153", + "typeString": "contract OfferableIdentity" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_OfferableIdentity_$153", + "typeString": "contract OfferableIdentity" + } + ], + "id": 116, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1036:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 118, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1036:13:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 119, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7, + "src": "1051:9:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 115, + "name": "IdentityTransferred", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25, + "src": "1016:19:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 120, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1016:45:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 121, + "nodeType": "EmitStatement", + "src": "1011:50:0" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 122, + "name": "closeOffer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 152, + "src": "1067:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 123, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1067:12:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 124, + "nodeType": "ExpressionStatement", + "src": "1067:12:0" + } + ] + }, + "documentation": null, + "id": 126, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 109, + "modifierName": { + "argumentTypes": null, + "id": 108, + "name": "isOfferedTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87, + "src": "970:11:0", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "970:11:0" + } + ], + "name": "accept", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 107, + "nodeType": "ParameterList", + "parameters": [], + "src": "958:2:0" + }, + "payable": false, + "returnParameters": { + "id": 110, + "nodeType": "ParameterList", + "parameters": [], + "src": "982:0:0" + }, + "scope": 153, + "src": "943:141:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 141, + "nodeType": "Block", + "src": "1127:73:0", + "statements": [ + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 133, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 181, + "src": "1160:4:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OfferableIdentity_$153", + "typeString": "contract OfferableIdentity" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_OfferableIdentity_$153", + "typeString": "contract OfferableIdentity" + } + ], + "id": 132, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1152:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 134, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1152:13:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 135, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7, + "src": "1167:9:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 131, + "name": "OfferRejected", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31, + "src": "1138:13:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 136, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1138:39:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 137, + "nodeType": "EmitStatement", + "src": "1133:44:0" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 138, + "name": "closeOffer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 152, + "src": "1183:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 139, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1183:12:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 140, + "nodeType": "ExpressionStatement", + "src": "1183:12:0" + } + ] + }, + "documentation": null, + "id": 142, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 129, + "modifierName": { + "argumentTypes": null, + "id": 128, + "name": "isOfferedTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87, + "src": "1115:11:0", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1115:11:0" + } + ], + "name": "reject", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 127, + "nodeType": "ParameterList", + "parameters": [], + "src": "1103:2:0" + }, + "payable": false, + "returnParameters": { + "id": 130, + "nodeType": "ParameterList", + "parameters": [], + "src": "1127:0:0" + }, + "scope": 153, + "src": "1088:112:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 151, + "nodeType": "Block", + "src": "1235:33:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 149, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 145, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7, + "src": "1241:9:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 147, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1261:1:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 146, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1253:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 148, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1253:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1241:22:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 150, + "nodeType": "ExpressionStatement", + "src": "1241:22:0" + } + ] + }, + "documentation": null, + "id": 152, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "closeOffer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 143, + "nodeType": "ParameterList", + "parameters": [], + "src": "1223:2:0" + }, + "payable": false, + "returnParameters": { + "id": 144, + "nodeType": "ParameterList", + "parameters": [], + "src": "1235:0:0" + }, + "scope": 153, + "src": "1204:64:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 154, + "src": "26:1244:0" + } + ], + "src": "0:1271:0" + }, + "legacyAST": { + "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/offerableIdentity.sol", + "exportedSymbols": { + "OfferableIdentity": [ + 153 + ] + }, + "id": 154, + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1, + "literals": [ + "solidity", + "0.4", + ".24" + ], + "nodeType": "PragmaDirective", + "src": "0:23:0" + }, + { + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "id": 153, + "linearizedBaseContracts": [ + 153 + ], + "name": "OfferableIdentity", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 3, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 153, + "src": "57:20:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "57:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 5, + "name": "id", + "nodeType": "VariableDeclaration", + "scope": 153, + "src": "81:16:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string" + }, + "typeName": { + "id": 4, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "81:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "public" + }, + { + "constant": false, + "id": 7, + "name": "offeredTo", + "nodeType": "VariableDeclaration", + "scope": 153, + "src": "102:24:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "102:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "public" + }, + { + "anonymous": false, + "documentation": null, + "id": 13, + "name": "OfferableIdentityCreated", + "nodeType": "EventDefinition", + "parameters": { + "id": 12, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9, + "indexed": false, + "name": "identity", + "nodeType": "VariableDeclaration", + "scope": 13, + "src": "162:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "162:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 11, + "indexed": false, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 13, + "src": "180:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "180:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "161:33:0" + }, + "src": "131:64:0" + }, + { + "anonymous": false, + "documentation": null, + "id": 19, + "name": "IdentityOffered", + "nodeType": "EventDefinition", + "parameters": { + "id": 18, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 15, + "indexed": false, + "name": "identity", + "nodeType": "VariableDeclaration", + "scope": 19, + "src": "220:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 14, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "220:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 17, + "indexed": false, + "name": "offeredTo", + "nodeType": "VariableDeclaration", + "scope": 19, + "src": "238:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 16, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "238:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "219:37:0" + }, + "src": "198:59:0" + }, + { + "anonymous": false, + "documentation": null, + "id": 25, + "name": "IdentityTransferred", + "nodeType": "EventDefinition", + "parameters": { + "id": 24, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21, + "indexed": false, + "name": "identity", + "nodeType": "VariableDeclaration", + "scope": 25, + "src": "286:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 20, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "286:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 23, + "indexed": false, + "name": "owner", + "nodeType": "VariableDeclaration", + "scope": 25, + "src": "304:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 22, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "304:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "285:33:0" + }, + "src": "260:59:0" + }, + { + "anonymous": false, + "documentation": null, + "id": 31, + "name": "OfferRejected", + "nodeType": "EventDefinition", + "parameters": { + "id": 30, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 27, + "indexed": false, + "name": "identity", + "nodeType": "VariableDeclaration", + "scope": 31, + "src": "342:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 26, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "342:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 29, + "indexed": false, + "name": "offeredTo", + "nodeType": "VariableDeclaration", + "scope": 31, + "src": "360:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 28, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "360:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "341:37:0" + }, + "src": "322:57:0" + }, + { + "body": { + "id": 53, + "nodeType": "Block", + "src": "437:96:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 40, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 38, + "name": "id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5, + "src": "443:2:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 39, + "name": "_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 33, + "src": "448:3:0", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "443:8:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 41, + "nodeType": "ExpressionStatement", + "src": "443:8:0" + }, + { + "expression": { + "argumentTypes": null, + "id": 44, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 42, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "457:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 43, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35, + "src": "465:6:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "457:14:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 45, + "nodeType": "ExpressionStatement", + "src": "457:14:0" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 48, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 181, + "src": "515:4:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OfferableIdentity_$153", + "typeString": "contract OfferableIdentity" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_OfferableIdentity_$153", + "typeString": "contract OfferableIdentity" + } + ], + "id": 47, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "507:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 49, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "507:13:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 50, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "522:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 46, + "name": "OfferableIdentityCreated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 13, + "src": "482:24:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 51, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "482:46:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 52, + "nodeType": "EmitStatement", + "src": "477:51:0" + } + ] + }, + "documentation": null, + "id": 54, + "implemented": true, + "isConstructor": true, + "isDeclaredConst": false, + "modifiers": [], + "name": "", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 36, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 33, + "name": "_id", + "nodeType": "VariableDeclaration", + "scope": 54, + "src": "395:17:0", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 32, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "395:6:0", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": null, + "visibility": "internal" + }, + { + "constant": false, + "id": 35, + "name": "_owner", + "nodeType": "VariableDeclaration", + "scope": 54, + "src": "414:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 34, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "414:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "394:35:0" + }, + "payable": false, + "returnParameters": { + "id": 37, + "nodeType": "ParameterList", + "parameters": [], + "src": "437:0:0" + }, + "scope": 153, + "src": "383:150:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + { + "body": { + "id": 65, + "nodeType": "Block", + "src": "556:68:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 60, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 57, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 168, + "src": "570:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 58, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "570:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 59, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "584:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "570:19:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "4f6e6c79206f776e657220616c6c6f776564", + "id": 61, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "591:20:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_723fda17fb30a6cc7e06a9af2db3699db1a079268819efeab370ce8cb87b0282", + "typeString": "literal_string \"Only owner allowed\"" + }, + "value": "Only owner allowed" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_723fda17fb30a6cc7e06a9af2db3699db1a079268819efeab370ce8cb87b0282", + "typeString": "literal_string \"Only owner allowed\"" + } + ], + "id": 56, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 171, + 172 + ], + "referencedDeclaration": 172, + "src": "562:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 62, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "562:50:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 63, + "nodeType": "ExpressionStatement", + "src": "562:50:0" + }, + { + "id": 64, + "nodeType": "PlaceholderStatement", + "src": "618:1:0" + } + ] + }, + "documentation": null, + "id": 66, + "name": "isOwner", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 55, + "nodeType": "ParameterList", + "parameters": [], + "src": "553:2:0" + }, + "src": "537:87:0", + "visibility": "internal" + }, + { + "body": { + "id": 86, + "nodeType": "Block", + "src": "651:146:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 73, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "id": 69, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7, + "src": "665:9:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 71, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "686:1:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 70, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "678:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 72, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "678:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "665:23:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "50726f7879206973206e6f74206f666665726564", + "id": 74, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "690:22:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_67f56cf7cfe2dab60ba03182b68916128d38ba3507fedaa15f19d15e8e706a66", + "typeString": "literal_string \"Proxy is not offered\"" + }, + "value": "Proxy is not offered" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_67f56cf7cfe2dab60ba03182b68916128d38ba3507fedaa15f19d15e8e706a66", + "typeString": "literal_string \"Proxy is not offered\"" + } + ], + "id": 68, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 171, + 172 + ], + "referencedDeclaration": 172, + "src": "657:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 75, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "657:56:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 76, + "nodeType": "ExpressionStatement", + "src": "657:56:0" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 81, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "argumentTypes": null, + "expression": { + "argumentTypes": null, + "id": 78, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 168, + "src": "727:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 79, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "referencedDeclaration": null, + "src": "727:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "argumentTypes": null, + "id": 80, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7, + "src": "741:9:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "727:23:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "argumentTypes": null, + "hexValue": "50726f7879206f66666572656420746f206f74686572206163636f756e74", + "id": 82, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "752:32:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_08fd32e4b45ba33ac50978960e75e0120a34559017c4786651bbfaa01f13f8f0", + "typeString": "literal_string \"Proxy offered to other account\"" + }, + "value": "Proxy offered to other account" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_08fd32e4b45ba33ac50978960e75e0120a34559017c4786651bbfaa01f13f8f0", + "typeString": "literal_string \"Proxy offered to other account\"" + } + ], + "id": 77, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 171, + 172 + ], + "referencedDeclaration": 172, + "src": "719:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 83, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "719:66:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 84, + "nodeType": "ExpressionStatement", + "src": "719:66:0" + }, + { + "id": 85, + "nodeType": "PlaceholderStatement", + "src": "791:1:0" + } + ] + }, + "documentation": null, + "id": 87, + "name": "isOfferedTo", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 67, + "nodeType": "ParameterList", + "parameters": [], + "src": "648:2:0" + }, + "src": "628:169:0", + "visibility": "internal" + }, + { + "body": { + "id": 105, + "nodeType": "Block", + "src": "853:86:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 96, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 94, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7, + "src": "859:9:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 95, + "name": "_offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 89, + "src": "871:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "859:22:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 97, + "nodeType": "ExpressionStatement", + "src": "859:22:0" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 100, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 181, + "src": "917:4:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OfferableIdentity_$153", + "typeString": "contract OfferableIdentity" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_OfferableIdentity_$153", + "typeString": "contract OfferableIdentity" + } + ], + "id": 99, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "909:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 101, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "909:13:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 102, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7, + "src": "924:9:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 98, + "name": "IdentityOffered", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 19, + "src": "893:15:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 103, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "893:41:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 104, + "nodeType": "EmitStatement", + "src": "888:46:0" + } + ] + }, + "documentation": null, + "id": 106, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 92, + "modifierName": { + "argumentTypes": null, + "id": 91, + "name": "isOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 66, + "src": "845:7:0", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "845:7:0" + } + ], + "name": "offer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 90, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 89, + "name": "_offeredTo", + "nodeType": "VariableDeclaration", + "scope": 106, + "src": "816:18:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 88, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "816:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": null, + "visibility": "internal" + } + ], + "src": "815:20:0" + }, + "payable": false, + "returnParameters": { + "id": 93, + "nodeType": "ParameterList", + "parameters": [], + "src": "853:0:0" + }, + "scope": 153, + "src": "801:138:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 125, + "nodeType": "Block", + "src": "982:102:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 113, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 111, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3, + "src": "988:5:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "id": 112, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7, + "src": "996:9:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "988:17:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 114, + "nodeType": "ExpressionStatement", + "src": "988:17:0" + }, + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 117, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 181, + "src": "1044:4:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OfferableIdentity_$153", + "typeString": "contract OfferableIdentity" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_OfferableIdentity_$153", + "typeString": "contract OfferableIdentity" + } + ], + "id": 116, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1036:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 118, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1036:13:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 119, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7, + "src": "1051:9:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 115, + "name": "IdentityTransferred", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25, + "src": "1016:19:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 120, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1016:45:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 121, + "nodeType": "EmitStatement", + "src": "1011:50:0" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 122, + "name": "closeOffer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 152, + "src": "1067:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 123, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1067:12:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 124, + "nodeType": "ExpressionStatement", + "src": "1067:12:0" + } + ] + }, + "documentation": null, + "id": 126, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 109, + "modifierName": { + "argumentTypes": null, + "id": 108, + "name": "isOfferedTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87, + "src": "970:11:0", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "970:11:0" + } + ], + "name": "accept", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 107, + "nodeType": "ParameterList", + "parameters": [], + "src": "958:2:0" + }, + "payable": false, + "returnParameters": { + "id": 110, + "nodeType": "ParameterList", + "parameters": [], + "src": "982:0:0" + }, + "scope": 153, + "src": "943:141:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 141, + "nodeType": "Block", + "src": "1127:73:0", + "statements": [ + { + "eventCall": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "id": 133, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 181, + "src": "1160:4:0", + "typeDescriptions": { + "typeIdentifier": "t_contract$_OfferableIdentity_$153", + "typeString": "contract OfferableIdentity" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_OfferableIdentity_$153", + "typeString": "contract OfferableIdentity" + } + ], + "id": 132, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1152:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 134, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1152:13:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "argumentTypes": null, + "id": 135, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7, + "src": "1167:9:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 131, + "name": "OfferRejected", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31, + "src": "1138:13:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 136, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1138:39:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 137, + "nodeType": "EmitStatement", + "src": "1133:44:0" + }, + { + "expression": { + "argumentTypes": null, + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 138, + "name": "closeOffer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 152, + "src": "1183:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 139, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1183:12:0", + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 140, + "nodeType": "ExpressionStatement", + "src": "1183:12:0" + } + ] + }, + "documentation": null, + "id": 142, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [ + { + "arguments": null, + "id": 129, + "modifierName": { + "argumentTypes": null, + "id": 128, + "name": "isOfferedTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 87, + "src": "1115:11:0", + "typeDescriptions": { + "typeIdentifier": "t_modifier$__$", + "typeString": "modifier ()" + } + }, + "nodeType": "ModifierInvocation", + "src": "1115:11:0" + } + ], + "name": "reject", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 127, + "nodeType": "ParameterList", + "parameters": [], + "src": "1103:2:0" + }, + "payable": false, + "returnParameters": { + "id": 130, + "nodeType": "ParameterList", + "parameters": [], + "src": "1127:0:0" + }, + "scope": 153, + "src": "1088:112:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + { + "body": { + "id": 151, + "nodeType": "Block", + "src": "1235:33:0", + "statements": [ + { + "expression": { + "argumentTypes": null, + "id": 149, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "argumentTypes": null, + "id": 145, + "name": "offeredTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7, + "src": "1241:9:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "argumentTypes": null, + "arguments": [ + { + "argumentTypes": null, + "hexValue": "30", + "id": 147, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1261:1:0", + "subdenomination": null, + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 146, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1253:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": "address" + }, + "id": 148, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1253:10:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1241:22:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 150, + "nodeType": "ExpressionStatement", + "src": "1241:22:0" + } + ] + }, + "documentation": null, + "id": 152, + "implemented": true, + "isConstructor": false, + "isDeclaredConst": false, + "modifiers": [], + "name": "closeOffer", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 143, + "nodeType": "ParameterList", + "parameters": [], + "src": "1223:2:0" + }, + "payable": false, + "returnParameters": { + "id": 144, + "nodeType": "ParameterList", + "parameters": [], + "src": "1235:0:0" + }, + "scope": 153, + "src": "1204:64:0", + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + } + ], + "scope": 154, + "src": "26:1244:0" + } + ], + "src": "0:1271:0" + }, + "compiler": { + "name": "solc", + "version": "0.4.24+commit.e67f0147.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "3.0.16", + "updatedAt": "2021-03-09T10:31:59.502Z", + "devdoc": { + "methods": {} + }, + "userdoc": { + "methods": {} + } +} \ No newline at end of file diff --git a/packages/proxyIdentity/build/contracts/ProxyFactory.json b/packages/proxyIdentity/build/contracts/ProxyFactory.json deleted file mode 100644 index 67f5103fe..000000000 --- a/packages/proxyIdentity/build/contracts/ProxyFactory.json +++ /dev/null @@ -1,3720 +0,0 @@ -{ - "contractName": "ProxyFactory", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_erc1056", - "type": "address" - }, - { - "internalType": "address", - "name": "_erc1155", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address[]", - "name": "newProxies", - "type": "address[]" - } - ], - "name": "BatchProxyCreated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "proxy", - "type": "address" - } - ], - "name": "ProxyCreated", - "type": "event" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "string", - "name": "serial", - "type": "string" - } - ], - "name": "create", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "string[]", - "name": "serials", - "type": "string[]" - } - ], - "name": "createBatch", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_erc1056\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_erc1155\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"newProxies\",\"type\":\"address[]\"}],\"name\":\"BatchProxyCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"proxy\",\"type\":\"address\"}],\"name\":\"ProxyCreated\",\"type\":\"event\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"string\",\"name\":\"serial\",\"type\":\"string\"}],\"name\":\"create\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"serials\",\"type\":\"string[]\"}],\"name\":\"createBatch\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/proxyFactory.sol\":\"ProxyFactory\"},\"evmVersion\":\"constantinople\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223.sol\":{\"keccak256\":\"0x3e3d1fc80b2e7c13015946457c9f4a5255f3b6f385b48616159e78c7b2c74737\",\"urls\":[\"bzz-raw://3f3458d0c93202f964bbf51a349b99165344f8eec5c43bb3ca5291c13488286f\",\"dweb:/ipfs/QmQ6ZV1eJqKffWcYqa5iQ22zPkQvgjXiNnciajAE6eb8ep\"]},\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223Receiver.sol\":{\"keccak256\":\"0x3d4cacfc4d9b98e6d79a1f30ac15f171253771454fff2605d0eeeff14ddd8996\",\"urls\":[\"bzz-raw://c9537e6ef6b75a1fd320b099e6d0ee5eb85c89b6147b22196331b2b3393c736b\",\"dweb:/ipfs/Qmd32qvh5cncrttSuk92ugFakEK8YTLCkMP2tadfymBT6q\"]},\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/proxyFactory.sol\":{\"keccak256\":\"0x5654f41de8b0dbc3300244b9f3fb215a30971486f6fbfbd7b0c52e3a4f51dd1e\",\"urls\":[\"bzz-raw://c5f5e26eb5e7fc766617e5e67e35d204a425b39f67f8be8f19c9bfaf488fc863\",\"dweb:/ipfs/QmSxKkVKKMchjo3H6GHVV8KTuC31R7LybJgSRbkaK4SNjR\"]},\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/proxyIdentity.sol\":{\"keccak256\":\"0xdf4dda59244973fb70bd0cb82914435443c07fce5e003b8158afd389c889d12a\",\"urls\":[\"bzz-raw://a6b786967673526b3ba93dec11153160479b028e9b435563b7b32bc4b62710f6\",\"dweb:/ipfs/QmQ7ibdezbEeg3qMH9eAuqvUaXaNcV7EJzKvZuDM7M4Yho\"]},\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/tokens/ERC1155Multiproxy.sol\":{\"keccak256\":\"0x65c692e6fdfbdc216d31f9f2a82ccd528126fc3a7fd2b30460696bef6890e57b\",\"urls\":[\"bzz-raw://8018e79ca78802e46722409d8e6eca2f364c255d97de988d3c39d951cfcb5f66\",\"dweb:/ipfs/QmTFsypNNX9thXu9jFX5WzLKD95ysLWwP2Pm6QHuiMcTPb\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzz-raw://59fd025151435da35faa8093a5c7a17de02de9d08ad27275c5cdf05050820d91\",\"dweb:/ipfs/QmQMvwEcPhoRXzbXyrdoeRtvLoifUW9Qh7Luho7bmUPRkc\"]},\"multi-token-standard/contracts/interfaces/IERC1155.sol\":{\"keccak256\":\"0x9632273d1c5272823807d1d0b1630af9e2dad7f1e41a65bfdbc66bda702c53a1\",\"urls\":[\"bzz-raw://6deb9bdff007e4b367d4561699f45f0f8521a4412a770a9292c109844f739f58\",\"dweb:/ipfs/QmTXrB3rTHHrNcHAa3PYoq2BRJiT4nMmMrPmA6AjDsk7HB\"]},\"multi-token-standard/contracts/interfaces/IERC1155TokenReceiver.sol\":{\"keccak256\":\"0xdf097e5f122d544a93027619c941dc8475bead114e421b9398d9a1482b9bffb8\",\"urls\":[\"bzz-raw://9bdc0f8d96e08965b0e7c98b8ba9e67a56afc26c014784caf53ea4e04a966eb3\",\"dweb:/ipfs/QmRiuqBiDqfQNUtpjiwj5rR1iD5Psh6KdzKiBNNriiq68m\"]},\"multi-token-standard/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x5561863476cd7598c203efcd18bb436746a2596ac61e37c7bbf73790a511de39\",\"urls\":[\"bzz-raw://92f034ed08c66e4a1579b6ad8dd53e615cb7d39b2f26a131fd62f90f3d30e25b\",\"dweb:/ipfs/QmXKMPTepiBrfEKgpQR8PneSgAsVi2769wy9THBM65BspH\"]},\"multi-token-standard/contracts/tokens/ERC1155/ERC1155.sol\":{\"keccak256\":\"0x454f992789731d8ca2e284409dc69115285e48c8c9ad8f38b1f35d9e7bc23320\",\"urls\":[\"bzz-raw://e101d27d80cecb9b8cc788982914974022984f90b213550bc1290818a7047139\",\"dweb:/ipfs/QmZu2HKUsQa5GbGrrtKbCkX5VLRZiPxAtDUxBDf1V7QtR1\"]},\"multi-token-standard/contracts/tokens/ERC1155/ERC1155Metadata.sol\":{\"keccak256\":\"0x4ef6482f64e22ea36be61c3eba61f85bed1fa75f83dcda5c4850697b5ed2c4d4\",\"urls\":[\"bzz-raw://e7550ccafd3c9e121a9d9a86e6246db33cf6a1917bf89fdd3dc35c3e539489b4\",\"dweb:/ipfs/QmQKsdE526BUTA4Xjo8FeTwmYQMWeXEUqHs392hLKeFZGn\"]},\"multi-token-standard/contracts/tokens/ERC1155/ERC1155MintBurn.sol\":{\"keccak256\":\"0x8b5247002651f1bcc2365b22051a9db517b4e4892d71594fd0adcea4a43ec678\",\"urls\":[\"bzz-raw://f7ddd00e7da49cbac08d2c3678b520875aee42c505ffde06e62c86f43f9da43a\",\"dweb:/ipfs/QmVBa6ocmrrLp3ak46hFHVGgL2GJq9z8VWvBX4GPyWYhrD\"]},\"multi-token-standard/contracts/utils/Address.sol\":{\"keccak256\":\"0xc089dcd9159bf02993336e47f629e8e86dcd3086cf2278e9ea06145b4094be5f\",\"urls\":[\"bzz-raw://bf05b053fb01bda8c24854d5d5c652c3c46c411597d90692e0c146b02a5154a0\",\"dweb:/ipfs/QmP5madVNQjx9JHqkdx9R79MdZZgeQJFEWVW5iwRYBV4ny\"]},\"multi-token-standard/contracts/utils/SafeMath.sol\":{\"keccak256\":\"0x0a904266aa9620d2f126588f1a964ec47bd8e777f3b2281a6e8f6897bc1d9fbd\",\"urls\":[\"bzz-raw://c4fcd436cda8c33574b2146bb9098f560095e4b2d63084563c176c2d402a9554\",\"dweb:/ipfs/QmW3Jo5Lt6LUf8pp6r7vE5kfpMpknJNoFEqTH9FbK7eFiU\"]}},\"version\":1}", - "bytecode": "0x608060405234801561001057600080fd5b5060405161350a38038061350a833981810160405261003291908101906100cf565b816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050610154565b6000815190506100c98161013d565b92915050565b600080604083850312156100e257600080fd5b60006100f0858286016100ba565b9250506020610101858286016100ba565b9150509250929050565b60006101168261011d565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6101468161010b565b811461015157600080fd5b50565b6133a7806101636000396000f3fe60806040523480156200001157600080fd5b50600436106200003a5760003560e01c80633b75a8b7146200003f578063b6a46b3b1462000075575b600080fd5b6200005d6004803603620000579190810190620004fd565b620000ab565b6040516200006c9190620007a2565b60405180910390f35b6200009360048036036200008d919081019062000542565b6200028c565b604051620000a29190620006c0565b60405180910390f35b6060808251604051908082528060200260200182016040528015620000df5781602001602082028038833980820191505090505b50905060008090505b8351811015620002495760008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168684815181106200014657fe5b6020026020010151336040516200015d90620003ba565b6200016c94939291906200074e565b604051809103906000f08015801562000189573d6000803e3d6000fd5b50905060028190806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050808383815181106200020057fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050508080600101915050620000e8565b507f9e57bd86fba2f0fb352492e1e64ce9fd28985df8e5764ca9533151946ae345a4816040516200027b9190620007a2565b60405180910390a180915050919050565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168433604051620002e490620003ba565b620002f39493929190620006fa565b604051809103906000f08015801562000310573d6000803e3d6000fd5b50905060028190806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550507efffc2da0b561cae30d9826d37709e9421c4725faebc226cbbb7ef5fc5e734981604051620003a99190620006dd565b60405180910390a180915050919050565b6129c7806200099e83390190565b600082601f830112620003da57600080fd5b8135620003f1620003eb82620007f4565b620007c6565b9150818183526020840193506020810190508360005b838110156200043b578135860162000420888262000445565b84526020840193506020830192505060018101905062000407565b5050505092915050565b600082601f8301126200045757600080fd5b81356200046e62000468826200081d565b620007c6565b915080825260208301602083018583830111156200048b57600080fd5b6200049883828462000947565b50505092915050565b600082601f830112620004b357600080fd5b8135620004ca620004c4826200084a565b620007c6565b91508082526020830160208301858383011115620004e757600080fd5b620004f483828462000947565b50505092915050565b6000602082840312156200051057600080fd5b600082013567ffffffffffffffff8111156200052b57600080fd5b6200053984828501620003c8565b91505092915050565b6000602082840312156200055557600080fd5b600082013567ffffffffffffffff8111156200057057600080fd5b6200057e84828501620004a1565b91505092915050565b6000620005958383620005b2565b60208301905092915050565b620005ac816200090b565b82525050565b620005bd81620008d7565b82525050565b620005ce81620008d7565b82525050565b6000620005e18262000887565b620005ed8185620008b5565b9350620005fa8362000877565b8060005b838110156200063157815162000615888262000587565b97506200062283620008a8565b925050600181019050620005fe565b5085935050505092915050565b60006200064b826200089d565b620006578185620008c6565b93506200066981856020860162000956565b62000674816200098c565b840191505092915050565b60006200068c8262000892565b620006988185620008c6565b9350620006aa81856020860162000956565b620006b5816200098c565b840191505092915050565b6000602082019050620006d76000830184620005c3565b92915050565b6000602082019050620006f46000830184620005a1565b92915050565b6000608082019050620007116000830187620005c3565b620007206020830186620005c3565b81810360408301526200073481856200063e565b9050620007456060830184620005a1565b95945050505050565b6000608082019050620007656000830187620005c3565b620007746020830186620005c3565b81810360408301526200078881856200067f565b9050620007996060830184620005a1565b95945050505050565b60006020820190508181036000830152620007be8184620005d4565b905092915050565b6000604051905081810181811067ffffffffffffffff82111715620007ea57600080fd5b8060405250919050565b600067ffffffffffffffff8211156200080c57600080fd5b602082029050602081019050919050565b600067ffffffffffffffff8211156200083557600080fd5b601f19601f8301169050602081019050919050565b600067ffffffffffffffff8211156200086257600080fd5b601f19601f8301169050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000620008e482620008eb565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000918826200091f565b9050919050565b60006200092c8262000933565b9050919050565b60006200094082620008eb565b9050919050565b82818337600083830152505050565b60005b838110156200097657808201518184015260208101905062000959565b8381111562000986576000848401525b50505050565b6000601f19601f830116905091905056fe60806040527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6005553480156200003557600080fd5b50604051620029c7380380620029c7833981810160405260808110156200005b57600080fd5b810190808051906020019092919080519060200190929190805160405193929190846401000000008211156200009057600080fd5b83820191506020820185811115620000a757600080fd5b8251866001820283011164010000000082111715620000c557600080fd5b8083526020830192505050908051906020019080838360005b83811015620000fb578082015181840152602081019050620000de565b50505050905090810190601f168015620001295780820380516001836020036101000a031916815260200191505b506040526020018051906020019092919050505083600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600e9080519060200190620001d792919062000491565b5080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff16639f181b5e6040518163ffffffff1660e01b815260040160206040518083038186803b158015620002a057600080fd5b505afa158015620002b5573d6000803e3d6000fd5b505050506040513d6020811015620002cc57600080fd5b8101908080519060200190929190505050600f819055508273ffffffffffffffffffffffffffffffffffffffff1663a0712d68600f546040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156200033957600080fd5b505af11580156200034e573d6000803e3d6000fd5b5050505062000363816200036d60201b60201c565b5050505062000540565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a7068d6630836005546040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001807f73696741757468000000000000000000000000000000000000000000000000008152506020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b1580156200047557600080fd5b505af11580156200048a573d6000803e3d6000fd5b5050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620004d457805160ff191683800117855562000505565b8280016001018555821562000505579182015b8281111562000504578251825591602001919060010190620004e7565b5b50905062000514919062000518565b5090565b6200053d91905b80821115620005395760008160009055506001016200051f565b5090565b90565b61247780620005506000396000f3fe6080604052600436106101355760003560e01c8063a6f9dae1116100ab578063d56022d71161006f578063d56022d714610ac2578063e71bdf4114610b19578063eac989f814610b6a578063f23a6e6114610bfa578063f6d713dd14610d26578063fa352c0014610db657610135565b8063a6f9dae11461074e578063ad9ec05d1461079f578063af640d0f146107f0578063bbc018571461081b578063bc197c811461090057610135565b80634c123019116100fd5780634c123019146103ca578063513856c8146104f4578063570b3c6a1461056f578063673448dd1461063757806384eb68fb146106a05780638da5cb5b146106f757610135565b806301ffc9a71461013757806302d05d3f146101a9578063061f7650146102005780630eb930ab146102695780632c39952a146102ba575b005b34801561014357600080fd5b5061018f6004803603602081101561015a57600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610e07565b604051808215151515815260200191505060405180910390f35b3480156101b557600080fd5b506101be610eb8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561020c57600080fd5b5061024f6004803603602081101561022357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ede565b604051808215151515815260200191505060405180910390f35b34801561027557600080fd5b506102b86004803603602081101561028c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ee9565b005b6103c8600480360360e08110156102d057600080fd5b81019080803590602001906401000000008111156102ed57600080fd5b8201836020820111156102ff57600080fd5b8035906020019184600183028401116401000000008311171561032157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff16906020019092919080359060200190929190803590602001909291908035906020019092919080359060200190929190505050611103565b005b3480156103d657600080fd5b506104da600480360360808110156103ed57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561045457600080fd5b82018360208201111561046657600080fd5b8035906020019184600183028401116401000000008311171561048857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050611489565b604051808215151515815260200191505060405180910390f35b34801561050057600080fd5b5061052d6004803603602081101561051757600080fd5b8101908080359060200190929190505050611676565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561057b57600080fd5b506106356004803603602081101561059257600080fd5b81019080803590602001906401000000008111156105af57600080fd5b8201836020820111156105c157600080fd5b803590602001918460018302840111640100000000831117156105e357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506116b2565b005b34801561064357600080fd5b506106866004803603602081101561065a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117b1565b604051808215151515815260200191505060405180910390f35b3480156106ac57600080fd5b506106b56117d1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561070357600080fd5b5061070c6117f7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561075a57600080fd5b5061079d6004803603602081101561077157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061181c565b005b3480156107ab57600080fd5b506107ee600480360360208110156107c257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611958565b005b3480156107fc57600080fd5b50610805611b72565b6040518082815260200191505060405180910390f35b6108fe6004803603606081101561083157600080fd5b810190808035906020019064010000000081111561084e57600080fd5b82018360208201111561086057600080fd5b8035906020019184600183028401116401000000008311171561088257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611b78565b005b34801561090c57600080fd5b50610a6e600480360360a081101561092357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561098057600080fd5b82018360208201111561099257600080fd5b803590602001918460208302840111640100000000831117156109b457600080fd5b9091929391929390803590602001906401000000008111156109d557600080fd5b8201836020820111156109e757600080fd5b80359060200191846020830284011164010000000083111715610a0957600080fd5b909192939192939080359060200190640100000000811115610a2a57600080fd5b820183602082011115610a3c57600080fd5b80359060200191846001830284011164010000000083111715610a5e57600080fd5b9091929391929390505050611cbc565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b348015610ace57600080fd5b50610ad7611cd4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610b2557600080fd5b50610b6860048036036020811015610b3c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611cfa565b005b348015610b7657600080fd5b50610b7f611dc8565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610bbf578082015181840152602081019050610ba4565b50505050905090810190601f168015610bec5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610c0657600080fd5b50610cd2600480360360a0811015610c1d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019092919080359060200190640100000000811115610c8e57600080fd5b820183602082011115610ca057600080fd5b80359060200191846001830284011164010000000083111715610cc257600080fd5b9091929391929390505050611f3d565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b348015610d3257600080fd5b50610d3b611f53565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610d7b578082015181840152602081019050610d60565b50505050905090810190601f168015610da85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610dc257600080fd5b50610e0560048036036020811015610dd957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ff1565b005b60006301ffc9a760e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610ea05750634e2312e060e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b15610eae5760019050610eb3565b600090505b919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060019050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610f8d5750601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b610fe2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260338152602001806124106033913960400191505060405180910390fd5b6001601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a22cb4658260016040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018215151515815260200192505050600060405180830381600087803b1580156110e857600080fd5b505af11580156110fc573d6000803e3d6000fd5b5050505050565b60008787848460405160200180806020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001848152602001838152602001828103825286818151815260200191508051906020019080838360005b8381101561118a57808201518184015260208101905061116f565b50505050905090810190601f1680156111b75780820380516001836020036101000a031916815260200191505b5095505050505050604051602081830303815290604052805190602001209050600015156006600083815260200190815260200160002060009054906101000a900460ff16151514611254576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806123ea6026913960400191505060405180910390fd5b60016006600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060008160405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c01828152602001915050604051602081830303815290604052805190602001209050600060018289898960405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015611332573d6000803e3d6000fd5b5050506020604051035190506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611400576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f5369676e6174757265206973206e6f742076616c69640000000000000000000081525060200191505060405180910390fd5b61140b8a8a876121cb565b61147d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f43616e27742073656e64207472616e73616374696f6e0000000000000000000081525060200191505060405180910390fd5b50505050505050505050565b600061149433610ede565b6114a1576000905061166e565b6001600d60006101000a81548160ff02191690831515021790555060003073ffffffffffffffffffffffffffffffffffffffff16836040518082805190602001908083835b6020831061150957805182526020820191506020810190506020830392506114e6565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114611569576040519150601f19603f3d011682016040523d82523d6000602084013e61156e565b606091505b505090506000600d60006101000a81548160ff0219169083151502179055507feab9f6c333c4c219217a67230a9af8a2e860061556fa026945860d2c885d60fe8382336040518080602001841515151581526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825285818151815260200191508051906020019080838360005b8381101561162d578082015181840152602081019050611612565b50505050905090810190601f16801561165a5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a1809150505b949350505050565b6002818154811061168357fe5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166305751204600f54836040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561174957808201518184015260208101905061172e565b50505050905090810190601f1680156117765780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b15801561179657600080fd5b505af11580156117aa573d6000803e3d6000fd5b5050505050565b60106020528060005260406000206000915054906101000a900460ff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806118c05750601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611915576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260338152602001806124106033913960400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806119fc5750601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611a51576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260338152602001806124106033913960400191505060405180910390fd5b6000601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a22cb4658260006040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018215151515815260200192505050600060405180830381600087803b158015611b5757600080fd5b505af1158015611b6b573d6000803e3d6000fd5b5050505050565b600f5481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611c3a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4f6e6c79206f776e657220616c6c6f776564000000000000000000000000000081525060200191505060405180910390fd5b611c458383836121cb565b611cb7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f43616e27742073656e64207472616e73616374696f6e0000000000000000000081525060200191505060405180910390fd5b505050565b600063bc197c8160e01b905098975050505050505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611dbc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4f6e6c79206f776e657220616c6c6f776564000000000000000000000000000081525060200191505060405180910390fd5b611dc5816122c7565b50565b6060600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e89341c600f546040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b158015611e3f57600080fd5b505afa158015611e53573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506020811015611e7d57600080fd5b8101908080516040519392919084640100000000821115611e9d57600080fd5b83820191506020820185811115611eb357600080fd5b8251866001820283011164010000000082111715611ed057600080fd5b8083526020830192505050908051906020019080838360005b83811015611f04578082015181840152602081019050611ee9565b50505050905090810190601f168015611f315780820380516001836020036101000a031916815260200191505b50604052505050905090565b600063f23a6e6160e01b90509695505050505050565b600e8054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611fe95780601f10611fbe57610100808354040283529160200191611fe9565b820191906000526020600020905b815481529060010190602001808311611fcc57829003601f168201915b505050505081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146120b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4f6e6c79206f776e657220616c6c6f776564000000000000000000000000000081525060200191505060405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166380b29f7c30836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001807f73696741757468000000000000000000000000000000000000000000000000008152506020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b1580156121b057600080fd5b505af11580156121c4573d6000803e3d6000fd5b5050505050565b60006060849050600081519050600080826020850187895af192507f7e4155ee9daec547578a255f7495bc08f38796f4d4a3be4ed7189f4fc55cb18586868660405180806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825285818151815260200191508051906020019080838360005b83811015612282578082015181840152602081019050612267565b50505050905090810190601f1680156122af5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a150509392505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a7068d6630836005546040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001807f73696741757468000000000000000000000000000000000000000000000000008152506020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b1580156123ce57600080fd5b505af11580156123e2573d6000803e3d6000fd5b505050505056fe54686973207472616e73616374696f6e2068617320616c7265616479206265656e2073656e7450726f78794964656e746974793a204f6e6c79206f776e6572206f7220617070726f766564206167656e7420616c6c6f776564a265627a7a7231582006c8e52c04b4db6cf1431c7d94ec5ff14dc54062ecaf15d5c5327f343768857364736f6c63430005110032a365627a7a723158202fba2c1156e8563b6fe86e6436e6a90f2dba54756b65c4f3ade5f22036bd4d8e6c6578706572696d656e74616cf564736f6c63430005110040", - "deployedBytecode": "0x60806040523480156200001157600080fd5b50600436106200003a5760003560e01c80633b75a8b7146200003f578063b6a46b3b1462000075575b600080fd5b6200005d6004803603620000579190810190620004fd565b620000ab565b6040516200006c9190620007a2565b60405180910390f35b6200009360048036036200008d919081019062000542565b6200028c565b604051620000a29190620006c0565b60405180910390f35b6060808251604051908082528060200260200182016040528015620000df5781602001602082028038833980820191505090505b50905060008090505b8351811015620002495760008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168684815181106200014657fe5b6020026020010151336040516200015d90620003ba565b6200016c94939291906200074e565b604051809103906000f08015801562000189573d6000803e3d6000fd5b50905060028190806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050808383815181106200020057fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050508080600101915050620000e8565b507f9e57bd86fba2f0fb352492e1e64ce9fd28985df8e5764ca9533151946ae345a4816040516200027b9190620007a2565b60405180910390a180915050919050565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168433604051620002e490620003ba565b620002f39493929190620006fa565b604051809103906000f08015801562000310573d6000803e3d6000fd5b50905060028190806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550507efffc2da0b561cae30d9826d37709e9421c4725faebc226cbbb7ef5fc5e734981604051620003a99190620006dd565b60405180910390a180915050919050565b6129c7806200099e83390190565b600082601f830112620003da57600080fd5b8135620003f1620003eb82620007f4565b620007c6565b9150818183526020840193506020810190508360005b838110156200043b578135860162000420888262000445565b84526020840193506020830192505060018101905062000407565b5050505092915050565b600082601f8301126200045757600080fd5b81356200046e62000468826200081d565b620007c6565b915080825260208301602083018583830111156200048b57600080fd5b6200049883828462000947565b50505092915050565b600082601f830112620004b357600080fd5b8135620004ca620004c4826200084a565b620007c6565b91508082526020830160208301858383011115620004e757600080fd5b620004f483828462000947565b50505092915050565b6000602082840312156200051057600080fd5b600082013567ffffffffffffffff8111156200052b57600080fd5b6200053984828501620003c8565b91505092915050565b6000602082840312156200055557600080fd5b600082013567ffffffffffffffff8111156200057057600080fd5b6200057e84828501620004a1565b91505092915050565b6000620005958383620005b2565b60208301905092915050565b620005ac816200090b565b82525050565b620005bd81620008d7565b82525050565b620005ce81620008d7565b82525050565b6000620005e18262000887565b620005ed8185620008b5565b9350620005fa8362000877565b8060005b838110156200063157815162000615888262000587565b97506200062283620008a8565b925050600181019050620005fe565b5085935050505092915050565b60006200064b826200089d565b620006578185620008c6565b93506200066981856020860162000956565b62000674816200098c565b840191505092915050565b60006200068c8262000892565b620006988185620008c6565b9350620006aa81856020860162000956565b620006b5816200098c565b840191505092915050565b6000602082019050620006d76000830184620005c3565b92915050565b6000602082019050620006f46000830184620005a1565b92915050565b6000608082019050620007116000830187620005c3565b620007206020830186620005c3565b81810360408301526200073481856200063e565b9050620007456060830184620005a1565b95945050505050565b6000608082019050620007656000830187620005c3565b620007746020830186620005c3565b81810360408301526200078881856200067f565b9050620007996060830184620005a1565b95945050505050565b60006020820190508181036000830152620007be8184620005d4565b905092915050565b6000604051905081810181811067ffffffffffffffff82111715620007ea57600080fd5b8060405250919050565b600067ffffffffffffffff8211156200080c57600080fd5b602082029050602081019050919050565b600067ffffffffffffffff8211156200083557600080fd5b601f19601f8301169050602081019050919050565b600067ffffffffffffffff8211156200086257600080fd5b601f19601f8301169050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000620008e482620008eb565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000918826200091f565b9050919050565b60006200092c8262000933565b9050919050565b60006200094082620008eb565b9050919050565b82818337600083830152505050565b60005b838110156200097657808201518184015260208101905062000959565b8381111562000986576000848401525b50505050565b6000601f19601f830116905091905056fe60806040527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6005553480156200003557600080fd5b50604051620029c7380380620029c7833981810160405260808110156200005b57600080fd5b810190808051906020019092919080519060200190929190805160405193929190846401000000008211156200009057600080fd5b83820191506020820185811115620000a757600080fd5b8251866001820283011164010000000082111715620000c557600080fd5b8083526020830192505050908051906020019080838360005b83811015620000fb578082015181840152602081019050620000de565b50505050905090810190601f168015620001295780820380516001836020036101000a031916815260200191505b506040526020018051906020019092919050505083600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600e9080519060200190620001d792919062000491565b5080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff16639f181b5e6040518163ffffffff1660e01b815260040160206040518083038186803b158015620002a057600080fd5b505afa158015620002b5573d6000803e3d6000fd5b505050506040513d6020811015620002cc57600080fd5b8101908080519060200190929190505050600f819055508273ffffffffffffffffffffffffffffffffffffffff1663a0712d68600f546040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156200033957600080fd5b505af11580156200034e573d6000803e3d6000fd5b5050505062000363816200036d60201b60201c565b5050505062000540565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a7068d6630836005546040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001807f73696741757468000000000000000000000000000000000000000000000000008152506020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b1580156200047557600080fd5b505af11580156200048a573d6000803e3d6000fd5b5050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620004d457805160ff191683800117855562000505565b8280016001018555821562000505579182015b8281111562000504578251825591602001919060010190620004e7565b5b50905062000514919062000518565b5090565b6200053d91905b80821115620005395760008160009055506001016200051f565b5090565b90565b61247780620005506000396000f3fe6080604052600436106101355760003560e01c8063a6f9dae1116100ab578063d56022d71161006f578063d56022d714610ac2578063e71bdf4114610b19578063eac989f814610b6a578063f23a6e6114610bfa578063f6d713dd14610d26578063fa352c0014610db657610135565b8063a6f9dae11461074e578063ad9ec05d1461079f578063af640d0f146107f0578063bbc018571461081b578063bc197c811461090057610135565b80634c123019116100fd5780634c123019146103ca578063513856c8146104f4578063570b3c6a1461056f578063673448dd1461063757806384eb68fb146106a05780638da5cb5b146106f757610135565b806301ffc9a71461013757806302d05d3f146101a9578063061f7650146102005780630eb930ab146102695780632c39952a146102ba575b005b34801561014357600080fd5b5061018f6004803603602081101561015a57600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610e07565b604051808215151515815260200191505060405180910390f35b3480156101b557600080fd5b506101be610eb8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561020c57600080fd5b5061024f6004803603602081101561022357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ede565b604051808215151515815260200191505060405180910390f35b34801561027557600080fd5b506102b86004803603602081101561028c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ee9565b005b6103c8600480360360e08110156102d057600080fd5b81019080803590602001906401000000008111156102ed57600080fd5b8201836020820111156102ff57600080fd5b8035906020019184600183028401116401000000008311171561032157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff16906020019092919080359060200190929190803590602001909291908035906020019092919080359060200190929190505050611103565b005b3480156103d657600080fd5b506104da600480360360808110156103ed57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561045457600080fd5b82018360208201111561046657600080fd5b8035906020019184600183028401116401000000008311171561048857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050611489565b604051808215151515815260200191505060405180910390f35b34801561050057600080fd5b5061052d6004803603602081101561051757600080fd5b8101908080359060200190929190505050611676565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561057b57600080fd5b506106356004803603602081101561059257600080fd5b81019080803590602001906401000000008111156105af57600080fd5b8201836020820111156105c157600080fd5b803590602001918460018302840111640100000000831117156105e357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506116b2565b005b34801561064357600080fd5b506106866004803603602081101561065a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117b1565b604051808215151515815260200191505060405180910390f35b3480156106ac57600080fd5b506106b56117d1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561070357600080fd5b5061070c6117f7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561075a57600080fd5b5061079d6004803603602081101561077157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061181c565b005b3480156107ab57600080fd5b506107ee600480360360208110156107c257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611958565b005b3480156107fc57600080fd5b50610805611b72565b6040518082815260200191505060405180910390f35b6108fe6004803603606081101561083157600080fd5b810190808035906020019064010000000081111561084e57600080fd5b82018360208201111561086057600080fd5b8035906020019184600183028401116401000000008311171561088257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611b78565b005b34801561090c57600080fd5b50610a6e600480360360a081101561092357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561098057600080fd5b82018360208201111561099257600080fd5b803590602001918460208302840111640100000000831117156109b457600080fd5b9091929391929390803590602001906401000000008111156109d557600080fd5b8201836020820111156109e757600080fd5b80359060200191846020830284011164010000000083111715610a0957600080fd5b909192939192939080359060200190640100000000811115610a2a57600080fd5b820183602082011115610a3c57600080fd5b80359060200191846001830284011164010000000083111715610a5e57600080fd5b9091929391929390505050611cbc565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b348015610ace57600080fd5b50610ad7611cd4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610b2557600080fd5b50610b6860048036036020811015610b3c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611cfa565b005b348015610b7657600080fd5b50610b7f611dc8565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610bbf578082015181840152602081019050610ba4565b50505050905090810190601f168015610bec5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610c0657600080fd5b50610cd2600480360360a0811015610c1d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019092919080359060200190640100000000811115610c8e57600080fd5b820183602082011115610ca057600080fd5b80359060200191846001830284011164010000000083111715610cc257600080fd5b9091929391929390505050611f3d565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b348015610d3257600080fd5b50610d3b611f53565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610d7b578082015181840152602081019050610d60565b50505050905090810190601f168015610da85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610dc257600080fd5b50610e0560048036036020811015610dd957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ff1565b005b60006301ffc9a760e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610ea05750634e2312e060e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b15610eae5760019050610eb3565b600090505b919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060019050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610f8d5750601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b610fe2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260338152602001806124106033913960400191505060405180910390fd5b6001601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a22cb4658260016040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018215151515815260200192505050600060405180830381600087803b1580156110e857600080fd5b505af11580156110fc573d6000803e3d6000fd5b5050505050565b60008787848460405160200180806020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001848152602001838152602001828103825286818151815260200191508051906020019080838360005b8381101561118a57808201518184015260208101905061116f565b50505050905090810190601f1680156111b75780820380516001836020036101000a031916815260200191505b5095505050505050604051602081830303815290604052805190602001209050600015156006600083815260200190815260200160002060009054906101000a900460ff16151514611254576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806123ea6026913960400191505060405180910390fd5b60016006600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060008160405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c01828152602001915050604051602081830303815290604052805190602001209050600060018289898960405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015611332573d6000803e3d6000fd5b5050506020604051035190506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611400576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f5369676e6174757265206973206e6f742076616c69640000000000000000000081525060200191505060405180910390fd5b61140b8a8a876121cb565b61147d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f43616e27742073656e64207472616e73616374696f6e0000000000000000000081525060200191505060405180910390fd5b50505050505050505050565b600061149433610ede565b6114a1576000905061166e565b6001600d60006101000a81548160ff02191690831515021790555060003073ffffffffffffffffffffffffffffffffffffffff16836040518082805190602001908083835b6020831061150957805182526020820191506020810190506020830392506114e6565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114611569576040519150601f19603f3d011682016040523d82523d6000602084013e61156e565b606091505b505090506000600d60006101000a81548160ff0219169083151502179055507feab9f6c333c4c219217a67230a9af8a2e860061556fa026945860d2c885d60fe8382336040518080602001841515151581526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825285818151815260200191508051906020019080838360005b8381101561162d578082015181840152602081019050611612565b50505050905090810190601f16801561165a5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a1809150505b949350505050565b6002818154811061168357fe5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166305751204600f54836040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561174957808201518184015260208101905061172e565b50505050905090810190601f1680156117765780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b15801561179657600080fd5b505af11580156117aa573d6000803e3d6000fd5b5050505050565b60106020528060005260406000206000915054906101000a900460ff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806118c05750601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611915576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260338152602001806124106033913960400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806119fc5750601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611a51576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260338152602001806124106033913960400191505060405180910390fd5b6000601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a22cb4658260006040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018215151515815260200192505050600060405180830381600087803b158015611b5757600080fd5b505af1158015611b6b573d6000803e3d6000fd5b5050505050565b600f5481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611c3a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4f6e6c79206f776e657220616c6c6f776564000000000000000000000000000081525060200191505060405180910390fd5b611c458383836121cb565b611cb7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f43616e27742073656e64207472616e73616374696f6e0000000000000000000081525060200191505060405180910390fd5b505050565b600063bc197c8160e01b905098975050505050505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611dbc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4f6e6c79206f776e657220616c6c6f776564000000000000000000000000000081525060200191505060405180910390fd5b611dc5816122c7565b50565b6060600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e89341c600f546040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b158015611e3f57600080fd5b505afa158015611e53573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506020811015611e7d57600080fd5b8101908080516040519392919084640100000000821115611e9d57600080fd5b83820191506020820185811115611eb357600080fd5b8251866001820283011164010000000082111715611ed057600080fd5b8083526020830192505050908051906020019080838360005b83811015611f04578082015181840152602081019050611ee9565b50505050905090810190601f168015611f315780820380516001836020036101000a031916815260200191505b50604052505050905090565b600063f23a6e6160e01b90509695505050505050565b600e8054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611fe95780601f10611fbe57610100808354040283529160200191611fe9565b820191906000526020600020905b815481529060010190602001808311611fcc57829003601f168201915b505050505081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146120b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4f6e6c79206f776e657220616c6c6f776564000000000000000000000000000081525060200191505060405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166380b29f7c30836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001807f73696741757468000000000000000000000000000000000000000000000000008152506020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b1580156121b057600080fd5b505af11580156121c4573d6000803e3d6000fd5b5050505050565b60006060849050600081519050600080826020850187895af192507f7e4155ee9daec547578a255f7495bc08f38796f4d4a3be4ed7189f4fc55cb18586868660405180806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825285818151815260200191508051906020019080838360005b83811015612282578082015181840152602081019050612267565b50505050905090810190601f1680156122af5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a150509392505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a7068d6630836005546040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001807f73696741757468000000000000000000000000000000000000000000000000008152506020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b1580156123ce57600080fd5b505af11580156123e2573d6000803e3d6000fd5b505050505056fe54686973207472616e73616374696f6e2068617320616c7265616479206265656e2073656e7450726f78794964656e746974793a204f6e6c79206f776e6572206f7220617070726f766564206167656e7420616c6c6f776564a265627a7a7231582006c8e52c04b4db6cf1431c7d94ec5ff14dc54062ecaf15d5c5327f343768857364736f6c63430005110032a365627a7a723158202fba2c1156e8563b6fe86e6436e6a90f2dba54756b65c4f3ade5f22036bd4d8e6c6578706572696d656e74616cf564736f6c63430005110040", - "sourceMap": "111:1073:2:-;;;342:118;8:9:-1;5:2;;;30:1;27;20:12;5:2;342:118:2;;;;;;;;;;;;;;;;;;;;;;;;417:8;407:7;;:18;;;;;;;;;;;;;;;;;;445:8;435:7;;:18;;;;;;;;;;;;;;;;;;342:118;;111:1073;;5:134:-1;;89:6;83:13;74:22;;101:33;128:5;101:33;;;68:71;;;;;146:399;;;278:2;266:9;257:7;253:23;249:32;246:2;;;294:1;291;284:12;246:2;329:1;346:64;402:7;393:6;382:9;378:22;346:64;;;336:74;;308:108;447:2;465:64;521:7;512:6;501:9;497:22;465:64;;;455:74;;426:109;240:305;;;;;;552:91;;614:24;632:5;614:24;;;603:35;;597:46;;;;650:121;;723:42;716:5;712:54;701:65;;695:76;;;;778:117;847:24;865:5;847:24;;;840:5;837:35;827:2;;886:1;883;876:12;827:2;821:74;;111:1073:2;;;;;;;", - "deployedSourceMap": "111:1073:2:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;111:1073:2;;;;;;;;;;;;;;;;;;;;;;;;736:446;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;466:260;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;736:446;798:16;824:27;868:7;:14;854:29;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;854:29:2;;;;824:59;;896:9;908:1;896:13;;891:214;915:7;:14;911:1;:18;891:214;;;946:19;986:7;;;;;;;;;;;995;;;;;;;;;;;1004;1012:1;1004:10;;;;;;;;;;;;;;1016;968:59;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;968:59:2;946:81;;1037:7;1050:5;1037:19;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;1037:19:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1090:5;1066:10;1077:1;1066:13;;;;;;;;;;;;;:30;;;;;;;;;;;891:214;931:3;;;;;;;891:214;;;;1119:29;1137:10;1119:29;;;;;;;;;;;;;;;1165:10;1158:17;;;736:446;;;:::o;466:260::-;520:7;539:19;579:7;;;;;;;;;;;588;;;;;;;;;;;597:6;605:10;561:55;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;561:55:2;539:77;;626:7;639:5;626:19;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;626:19:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;660:28;681:5;660:28;;;;;;;;;;;;;;;713:5;698:21;;;466:260;;;:::o;111:1073::-;;;;;;;;:::o;22:696:-1:-;;145:3;138:4;130:6;126:17;122:27;112:2;;163:1;160;153:12;112:2;200:6;187:20;222:86;237:70;300:6;237:70;;;222:86;;;213:95;;325:5;350:6;343:5;336:21;380:4;372:6;368:17;358:27;;402:4;397:3;393:14;386:21;;455:6;488:1;473:239;498:6;495:1;492:13;473:239;;;581:3;568:17;560:6;556:30;605:43;644:3;632:10;605:43;;;600:3;593:56;672:4;667:3;663:14;656:21;;700:4;695:3;691:14;684:21;;530:182;520:1;517;513:9;508:14;;473:239;;;477:14;105:613;;;;;;;;727:434;;825:3;818:4;810:6;806:17;802:27;792:2;;843:1;840;833:12;792:2;880:6;867:20;902:61;917:45;955:6;917:45;;;902:61;;;893:70;;983:6;976:5;969:21;1019:4;1011:6;1007:17;1052:4;1045:5;1041:16;1087:3;1078:6;1073:3;1069:16;1066:25;1063:2;;;1104:1;1101;1094:12;1063:2;1114:41;1148:6;1143:3;1138;1114:41;;;785:376;;;;;;;;1170:442;;1272:3;1265:4;1257:6;1253:17;1249:27;1239:2;;1290:1;1287;1280:12;1239:2;1327:6;1314:20;1349:65;1364:49;1406:6;1364:49;;;1349:65;;;1340:74;;1434:6;1427:5;1420:21;1470:4;1462:6;1458:17;1503:4;1496:5;1492:16;1538:3;1529:6;1524:3;1520:16;1517:25;1514:2;;;1555:1;1552;1545:12;1514:2;1565:41;1599:6;1594:3;1589;1565:41;;;1232:380;;;;;;;;1620:389;;1755:2;1743:9;1734:7;1730:23;1726:32;1723:2;;;1771:1;1768;1761:12;1723:2;1834:1;1823:9;1819:17;1806:31;1857:18;1849:6;1846:30;1843:2;;;1889:1;1886;1879:12;1843:2;1909:84;1985:7;1976:6;1965:9;1961:22;1909:84;;;1899:94;;1785:214;1717:292;;;;;2016:347;;2130:2;2118:9;2109:7;2105:23;2101:32;2098:2;;;2146:1;2143;2136:12;2098:2;2209:1;2198:9;2194:17;2181:31;2232:18;2224:6;2221:30;2218:2;;;2264:1;2261;2254:12;2218:2;2284:63;2339:7;2330:6;2319:9;2315:22;2284:63;;;2274:73;;2160:193;2092:271;;;;;2371:173;;2458:46;2500:3;2492:6;2458:46;;;2533:4;2528:3;2524:14;2510:28;;2451:93;;;;;2552:142;2643:45;2682:5;2643:45;;;2638:3;2631:58;2625:69;;;2701:103;2774:24;2792:5;2774:24;;;2769:3;2762:37;2756:48;;;2811:113;2894:24;2912:5;2894:24;;;2889:3;2882:37;2876:48;;;2962:690;;3107:54;3155:5;3107:54;;;3174:86;3253:6;3248:3;3174:86;;;3167:93;;3281:56;3331:5;3281:56;;;3357:7;3385:1;3370:260;3395:6;3392:1;3389:13;3370:260;;;3462:6;3456:13;3483:63;3542:3;3527:13;3483:63;;;3476:70;;3563:60;3616:6;3563:60;;;3553:70;;3427:203;3417:1;3414;3410:9;3405:14;;3370:260;;;3374:14;3643:3;3636:10;;3086:566;;;;;;;;3660:347;;3772:39;3805:5;3772:39;;;3823:71;3887:6;3882:3;3823:71;;;3816:78;;3899:52;3944:6;3939:3;3932:4;3925:5;3921:16;3899:52;;;3972:29;3994:6;3972:29;;;3967:3;3963:39;3956:46;;3752:255;;;;;;4014:339;;4122:35;4151:5;4122:35;;;4169:71;4233:6;4228:3;4169:71;;;4162:78;;4245:52;4290:6;4285:3;4278:4;4271:5;4267:16;4245:52;;;4318:29;4340:6;4318:29;;;4313:3;4309:39;4302:46;;4102:251;;;;;;4360:213;;4478:2;4467:9;4463:18;4455:26;;4492:71;4560:1;4549:9;4545:17;4536:6;4492:71;;;4449:124;;;;;4580:229;;4706:2;4695:9;4691:18;4683:26;;4720:79;4796:1;4785:9;4781:17;4772:6;4720:79;;;4677:132;;;;;4816:651;;5046:3;5035:9;5031:19;5023:27;;5061:71;5129:1;5118:9;5114:17;5105:6;5061:71;;;5143:72;5211:2;5200:9;5196:18;5187:6;5143:72;;;5263:9;5257:4;5253:20;5248:2;5237:9;5233:18;5226:48;5288:78;5361:4;5352:6;5288:78;;;5280:86;;5377:80;5453:2;5442:9;5438:18;5429:6;5377:80;;;5017:450;;;;;;;;5474:643;;5700:3;5689:9;5685:19;5677:27;;5715:71;5783:1;5772:9;5768:17;5759:6;5715:71;;;5797:72;5865:2;5854:9;5850:18;5841:6;5797:72;;;5917:9;5911:4;5907:20;5902:2;5891:9;5887:18;5880:48;5942:74;6011:4;6002:6;5942:74;;;5934:82;;6027:80;6103:2;6092:9;6088:18;6079:6;6027:80;;;5671:446;;;;;;;;6124:361;;6292:2;6281:9;6277:18;6269:26;;6342:9;6336:4;6332:20;6328:1;6317:9;6313:17;6306:47;6367:108;6470:4;6461:6;6367:108;;;6359:116;;6263:222;;;;;6492:256;;6554:2;6548:9;6538:19;;6592:4;6584:6;6580:17;6691:6;6679:10;6676:22;6655:18;6643:10;6640:34;6637:62;6634:2;;;6712:1;6709;6702:12;6634:2;6732:10;6728:2;6721:22;6532:216;;;;;6755:310;;6920:18;6912:6;6909:30;6906:2;;;6952:1;6949;6942:12;6906:2;6987:4;6979:6;6975:17;6967:25;;7050:4;7044;7040:15;7032:23;;6843:222;;;;7072:318;;7212:18;7204:6;7201:30;7198:2;;;7244:1;7241;7234:12;7198:2;7311:4;7307:9;7300:4;7292:6;7288:17;7284:33;7276:41;;7375:4;7369;7365:15;7357:23;;7135:255;;;;7397:322;;7541:18;7533:6;7530:30;7527:2;;;7573:1;7570;7563:12;7527:2;7640:4;7636:9;7629:4;7621:6;7617:17;7613:33;7605:41;;7704:4;7698;7694:15;7686:23;;7464:255;;;;7726:151;;7812:3;7804:11;;7850:4;7845:3;7841:14;7833:22;;7798:79;;;;7884:137;;7993:5;7987:12;7977:22;;7958:63;;;;8028:118;;8118:5;8112:12;8102:22;;8083:63;;;;8153:122;;8247:5;8241:12;8231:22;;8212:63;;;;8282:108;;8380:4;8375:3;8371:14;8363:22;;8357:33;;;;8398:178;;8528:6;8523:3;8516:19;8565:4;8560:3;8556:14;8541:29;;8509:67;;;;;8585:163;;8700:6;8695:3;8688:19;8737:4;8732:3;8728:14;8713:29;;8681:67;;;;;8756:91;;8818:24;8836:5;8818:24;;;8807:35;;8801:46;;;;8854:121;;8927:42;8920:5;8916:54;8905:65;;8899:76;;;;8982:129;;9069:37;9100:5;9069:37;;;9056:50;;9050:61;;;;9118:121;;9197:37;9228:5;9197:37;;;9184:50;;9178:61;;;;9246:108;;9325:24;9343:5;9325:24;;;9312:37;;9306:48;;;;9362:145;9443:6;9438:3;9433;9420:30;9499:1;9490:6;9485:3;9481:16;9474:27;9413:94;;;;9516:268;9581:1;9588:101;9602:6;9599:1;9596:13;9588:101;;;9678:1;9673:3;9669:11;9663:18;9659:1;9654:3;9650:11;9643:39;9624:2;9621:1;9617:10;9612:15;;9588:101;;;9704:6;9701:1;9698:13;9695:2;;;9769:1;9760:6;9755:3;9751:16;9744:27;9695:2;9565:219;;;;;9792:97;;9880:2;9876:7;9871:2;9864:5;9860:14;9856:28;9846:38;;9840:49;;;", - "source": "pragma solidity ^0.5.0;\npragma experimental ABIEncoderV2;\n\nimport {ProxyIdentity} from \"./proxyIdentity.sol\";\n\ncontract ProxyFactory {\n address erc1056;\n address erc1155;\n ProxyIdentity[] proxies;\n mapping(address => bool) identities;\n event ProxyCreated(address proxy);\n event BatchProxyCreated(address[] newProxies);\n\n constructor(address _erc1056, address _erc1155) public {\n erc1056 = _erc1056;\n erc1155 = _erc1155;\n }\n\n function create(string memory serial) public returns (address) {\n ProxyIdentity proxy = new ProxyIdentity(erc1056, erc1155, serial, msg.sender);\n proxies.push(proxy);\n emit ProxyCreated(address(proxy));\n return address(proxy);\n }\n \n function createBatch(string[] memory serials) public returns (address[] memory) {\n address[] memory newProxies = new address[](serials.length);\n for (uint256 i = 0; i < serials.length; i++) {\n ProxyIdentity proxy = new ProxyIdentity(erc1056, erc1155, serials[i], msg.sender);\n proxies.push(proxy);\n newProxies[i] = address(proxy);\n }\n emit BatchProxyCreated(newProxies);\n return newProxies;\n }\n}\n", - "sourcePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/proxyFactory.sol", - "ast": { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/proxyFactory.sol", - "exportedSymbols": { - "ProxyFactory": [ - 187 - ] - }, - "id": 188, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 45, - "literals": [ - "solidity", - "^", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:23:2" - }, - { - "id": 46, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "24:33:2" - }, - { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/proxyIdentity.sol", - "file": "./proxyIdentity.sol", - "id": 48, - "nodeType": "ImportDirective", - "scope": 188, - "sourceUnit": 840, - "src": "59:50:2", - "symbolAliases": [ - { - "foreign": 47, - "local": null - } - ], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [ - 839 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 187, - "linearizedBaseContracts": [ - 187 - ], - "name": "ProxyFactory", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 50, - "name": "erc1056", - "nodeType": "VariableDeclaration", - "scope": 187, - "src": "139:15:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 49, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "139:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 52, - "name": "erc1155", - "nodeType": "VariableDeclaration", - "scope": 187, - "src": "160:15:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 51, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "160:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 55, - "name": "proxies", - "nodeType": "VariableDeclaration", - "scope": 187, - "src": "181:23:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_contract$_ProxyIdentity_$839_$dyn_storage", - "typeString": "contract ProxyIdentity[]" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 53, - "name": "ProxyIdentity", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 839, - "src": "181:13:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - }, - "id": 54, - "length": null, - "nodeType": "ArrayTypeName", - "src": "181:15:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_contract$_ProxyIdentity_$839_$dyn_storage_ptr", - "typeString": "contract ProxyIdentity[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 59, - "name": "identities", - "nodeType": "VariableDeclaration", - "scope": 187, - "src": "210:35:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "typeName": { - "id": 58, - "keyType": { - "id": 56, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "218:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "210:24:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueType": { - "id": 57, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "229:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "anonymous": false, - "documentation": null, - "id": 63, - "name": "ProxyCreated", - "nodeType": "EventDefinition", - "parameters": { - "id": 62, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 61, - "indexed": false, - "name": "proxy", - "nodeType": "VariableDeclaration", - "scope": 63, - "src": "270:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 60, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "270:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "269:15:2" - }, - "src": "251:34:2" - }, - { - "anonymous": false, - "documentation": null, - "id": 68, - "name": "BatchProxyCreated", - "nodeType": "EventDefinition", - "parameters": { - "id": 67, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 66, - "indexed": false, - "name": "newProxies", - "nodeType": "VariableDeclaration", - "scope": 68, - "src": "314:20:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 64, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "314:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 65, - "length": null, - "nodeType": "ArrayTypeName", - "src": "314:9:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "313:22:2" - }, - "src": "290:46:2" - }, - { - "body": { - "id": 83, - "nodeType": "Block", - "src": "397:63:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 77, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 75, - "name": "erc1056", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 50, - "src": "407:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 76, - "name": "_erc1056", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 70, - "src": "417:8:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "407:18:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 78, - "nodeType": "ExpressionStatement", - "src": "407:18:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 81, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 79, - "name": "erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 52, - "src": "435:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 80, - "name": "_erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 72, - "src": "445:8:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "435:18:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 82, - "nodeType": "ExpressionStatement", - "src": "435:18:2" - } - ] - }, - "documentation": null, - "id": 84, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 73, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 70, - "name": "_erc1056", - "nodeType": "VariableDeclaration", - "scope": 84, - "src": "354:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 69, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "354:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 72, - "name": "_erc1155", - "nodeType": "VariableDeclaration", - "scope": 84, - "src": "372:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 71, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "372:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "353:36:2" - }, - "returnParameters": { - "id": 74, - "nodeType": "ParameterList", - "parameters": [], - "src": "397:0:2" - }, - "scope": 187, - "src": "342:118:2", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 118, - "nodeType": "Block", - "src": "529:197:2", - "statements": [ - { - "assignments": [ - 92 - ], - "declarations": [ - { - "constant": false, - "id": 92, - "name": "proxy", - "nodeType": "VariableDeclaration", - "scope": 118, - "src": "539:19:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - }, - "typeName": { - "contractScope": null, - "id": 91, - "name": "ProxyIdentity", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 839, - "src": "539:13:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 101, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 95, - "name": "erc1056", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 50, - "src": "579:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 96, - "name": "erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 52, - "src": "588:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 97, - "name": "serial", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86, - "src": "597:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 98, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "605:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 99, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "605:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 94, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "561:17:2", - "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$_t_address_$_t_address_$_t_string_memory_ptr_$_t_address_$returns$_t_contract$_ProxyIdentity_$839_$", - "typeString": "function (address,address,string memory,address) returns (contract ProxyIdentity)" - }, - "typeName": { - "contractScope": null, - "id": 93, - "name": "ProxyIdentity", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 839, - "src": "565:13:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - } - }, - "id": 100, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "561:55:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "539:77:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 105, - "name": "proxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 92, - "src": "639:5:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - ], - "expression": { - "argumentTypes": null, - "id": 102, - "name": "proxies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55, - "src": "626:7:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_contract$_ProxyIdentity_$839_$dyn_storage", - "typeString": "contract ProxyIdentity[] storage ref" - } - }, - "id": 104, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "626:12:2", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_contract$_ProxyIdentity_$839_$returns$_t_uint256_$", - "typeString": "function (contract ProxyIdentity) returns (uint256)" - } - }, - "id": 106, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "626:19:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 107, - "nodeType": "ExpressionStatement", - "src": "626:19:2" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 110, - "name": "proxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 92, - "src": "681:5:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - ], - "id": 109, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "673:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 111, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "673:14:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 108, - "name": "ProxyCreated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 63, - "src": "660:12:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 112, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "660:28:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 113, - "nodeType": "EmitStatement", - "src": "655:33:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 115, - "name": "proxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 92, - "src": "713:5:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - ], - "id": 114, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "705:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 116, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "705:14:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "functionReturnParameters": 90, - "id": 117, - "nodeType": "Return", - "src": "698:21:2" - } - ] - }, - "documentation": null, - "id": 119, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "create", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 87, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 86, - "name": "serial", - "nodeType": "VariableDeclaration", - "scope": 119, - "src": "482:20:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 85, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "482:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "481:22:2" - }, - "returnParameters": { - "id": 90, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 89, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 119, - "src": "520:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 88, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "520:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "519:9:2" - }, - "scope": 187, - "src": "466:260:2", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 185, - "nodeType": "Block", - "src": "816:366:2", - "statements": [ - { - "assignments": [ - 131 - ], - "declarations": [ - { - "constant": false, - "id": 131, - "name": "newProxies", - "nodeType": "VariableDeclaration", - "scope": 185, - "src": "824:27:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 129, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "824:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 130, - "length": null, - "nodeType": "ArrayTypeName", - "src": "824:9:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 138, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 135, - "name": "serials", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 122, - "src": "868:7:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_memory_$dyn_memory_ptr", - "typeString": "string memory[] memory" - } - }, - "id": 136, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "868:14:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 134, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "854:13:2", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_$", - "typeString": "function (uint256) pure returns (address[] memory)" - }, - "typeName": { - "baseType": { - "id": 132, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "858:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 133, - "length": null, - "nodeType": "ArrayTypeName", - "src": "858:9:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - } - }, - "id": 137, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "854:29:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "824:59:2" - }, - { - "body": { - "id": 177, - "nodeType": "Block", - "src": "936:169:2", - "statements": [ - { - "assignments": [ - 151 - ], - "declarations": [ - { - "constant": false, - "id": 151, - "name": "proxy", - "nodeType": "VariableDeclaration", - "scope": 177, - "src": "946:19:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - }, - "typeName": { - "contractScope": null, - "id": 150, - "name": "ProxyIdentity", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 839, - "src": "946:13:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 162, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 154, - "name": "erc1056", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 50, - "src": "986:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 155, - "name": "erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 52, - "src": "995:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 156, - "name": "serials", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 122, - "src": "1004:7:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_memory_$dyn_memory_ptr", - "typeString": "string memory[] memory" - } - }, - "id": 158, - "indexExpression": { - "argumentTypes": null, - "id": 157, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "1012:1:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1004:10:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 159, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "1016:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 160, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1016:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "968:17:2", - "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$_t_address_$_t_address_$_t_string_memory_ptr_$_t_address_$returns$_t_contract$_ProxyIdentity_$839_$", - "typeString": "function (address,address,string memory,address) returns (contract ProxyIdentity)" - }, - "typeName": { - "contractScope": null, - "id": 152, - "name": "ProxyIdentity", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 839, - "src": "972:13:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - } - }, - "id": 161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "968:59:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "946:81:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 166, - "name": "proxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 151, - "src": "1050:5:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - ], - "expression": { - "argumentTypes": null, - "id": 163, - "name": "proxies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55, - "src": "1037:7:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_contract$_ProxyIdentity_$839_$dyn_storage", - "typeString": "contract ProxyIdentity[] storage ref" - } - }, - "id": 165, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1037:12:2", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_contract$_ProxyIdentity_$839_$returns$_t_uint256_$", - "typeString": "function (contract ProxyIdentity) returns (uint256)" - } - }, - "id": 167, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1037:19:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 168, - "nodeType": "ExpressionStatement", - "src": "1037:19:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 175, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 169, - "name": "newProxies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 131, - "src": "1066:10:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 171, - "indexExpression": { - "argumentTypes": null, - "id": 170, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "1077:1:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1066:13:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 173, - "name": "proxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 151, - "src": "1090:5:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - ], - "id": 172, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1082:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 174, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1082:14:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "1066:30:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 176, - "nodeType": "ExpressionStatement", - "src": "1066:30:2" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 143, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "911:1:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 144, - "name": "serials", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 122, - "src": "915:7:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_memory_$dyn_memory_ptr", - "typeString": "string memory[] memory" - } - }, - "id": 145, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "915:14:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "911:18:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 178, - "initializationExpression": { - "assignments": [ - 140 - ], - "declarations": [ - { - "constant": false, - "id": 140, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 178, - "src": "896:9:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 139, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "896:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 142, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 141, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "908:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "896:13:2" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 148, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "931:3:2", - "subExpression": { - "argumentTypes": null, - "id": 147, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "931:1:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 149, - "nodeType": "ExpressionStatement", - "src": "931:3:2" - }, - "nodeType": "ForStatement", - "src": "891:214:2" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 180, - "name": "newProxies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 131, - "src": "1137:10:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - ], - "id": 179, - "name": "BatchProxyCreated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 68, - "src": "1119:17:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$returns$__$", - "typeString": "function (address[] memory)" - } - }, - "id": 181, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1119:29:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 182, - "nodeType": "EmitStatement", - "src": "1114:34:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 183, - "name": "newProxies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 131, - "src": "1165:10:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "functionReturnParameters": 127, - "id": 184, - "nodeType": "Return", - "src": "1158:17:2" - } - ] - }, - "documentation": null, - "id": 186, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "createBatch", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 123, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 122, - "name": "serials", - "nodeType": "VariableDeclaration", - "scope": 186, - "src": "757:23:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_memory_$dyn_memory_ptr", - "typeString": "string[]" - }, - "typeName": { - "baseType": { - "id": 120, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "757:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "id": 121, - "length": null, - "nodeType": "ArrayTypeName", - "src": "757:8:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", - "typeString": "string[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "756:25:2" - }, - "returnParameters": { - "id": 127, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 126, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 186, - "src": "798:16:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 124, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "798:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 125, - "length": null, - "nodeType": "ArrayTypeName", - "src": "798:9:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "797:18:2" - }, - "scope": 187, - "src": "736:446:2", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 188, - "src": "111:1073:2" - } - ], - "src": "0:1185:2" - }, - "legacyAST": { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/proxyFactory.sol", - "exportedSymbols": { - "ProxyFactory": [ - 187 - ] - }, - "id": 188, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 45, - "literals": [ - "solidity", - "^", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:23:2" - }, - { - "id": 46, - "literals": [ - "experimental", - "ABIEncoderV2" - ], - "nodeType": "PragmaDirective", - "src": "24:33:2" - }, - { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/proxyIdentity.sol", - "file": "./proxyIdentity.sol", - "id": 48, - "nodeType": "ImportDirective", - "scope": 188, - "sourceUnit": 840, - "src": "59:50:2", - "symbolAliases": [ - { - "foreign": 47, - "local": null - } - ], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [ - 839 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 187, - "linearizedBaseContracts": [ - 187 - ], - "name": "ProxyFactory", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 50, - "name": "erc1056", - "nodeType": "VariableDeclaration", - "scope": 187, - "src": "139:15:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 49, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "139:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 52, - "name": "erc1155", - "nodeType": "VariableDeclaration", - "scope": 187, - "src": "160:15:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 51, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "160:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 55, - "name": "proxies", - "nodeType": "VariableDeclaration", - "scope": 187, - "src": "181:23:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_contract$_ProxyIdentity_$839_$dyn_storage", - "typeString": "contract ProxyIdentity[]" - }, - "typeName": { - "baseType": { - "contractScope": null, - "id": 53, - "name": "ProxyIdentity", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 839, - "src": "181:13:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - }, - "id": 54, - "length": null, - "nodeType": "ArrayTypeName", - "src": "181:15:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_contract$_ProxyIdentity_$839_$dyn_storage_ptr", - "typeString": "contract ProxyIdentity[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 59, - "name": "identities", - "nodeType": "VariableDeclaration", - "scope": 187, - "src": "210:35:2", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "typeName": { - "id": 58, - "keyType": { - "id": 56, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "218:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "210:24:2", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueType": { - "id": 57, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "229:4:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "anonymous": false, - "documentation": null, - "id": 63, - "name": "ProxyCreated", - "nodeType": "EventDefinition", - "parameters": { - "id": 62, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 61, - "indexed": false, - "name": "proxy", - "nodeType": "VariableDeclaration", - "scope": 63, - "src": "270:13:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 60, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "270:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "269:15:2" - }, - "src": "251:34:2" - }, - { - "anonymous": false, - "documentation": null, - "id": 68, - "name": "BatchProxyCreated", - "nodeType": "EventDefinition", - "parameters": { - "id": 67, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 66, - "indexed": false, - "name": "newProxies", - "nodeType": "VariableDeclaration", - "scope": 68, - "src": "314:20:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 64, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "314:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 65, - "length": null, - "nodeType": "ArrayTypeName", - "src": "314:9:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "313:22:2" - }, - "src": "290:46:2" - }, - { - "body": { - "id": 83, - "nodeType": "Block", - "src": "397:63:2", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 77, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 75, - "name": "erc1056", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 50, - "src": "407:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 76, - "name": "_erc1056", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 70, - "src": "417:8:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "407:18:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 78, - "nodeType": "ExpressionStatement", - "src": "407:18:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 81, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 79, - "name": "erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 52, - "src": "435:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 80, - "name": "_erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 72, - "src": "445:8:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "435:18:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 82, - "nodeType": "ExpressionStatement", - "src": "435:18:2" - } - ] - }, - "documentation": null, - "id": 84, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 73, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 70, - "name": "_erc1056", - "nodeType": "VariableDeclaration", - "scope": 84, - "src": "354:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 69, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "354:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 72, - "name": "_erc1155", - "nodeType": "VariableDeclaration", - "scope": 84, - "src": "372:16:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 71, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "372:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "353:36:2" - }, - "returnParameters": { - "id": 74, - "nodeType": "ParameterList", - "parameters": [], - "src": "397:0:2" - }, - "scope": 187, - "src": "342:118:2", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 118, - "nodeType": "Block", - "src": "529:197:2", - "statements": [ - { - "assignments": [ - 92 - ], - "declarations": [ - { - "constant": false, - "id": 92, - "name": "proxy", - "nodeType": "VariableDeclaration", - "scope": 118, - "src": "539:19:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - }, - "typeName": { - "contractScope": null, - "id": 91, - "name": "ProxyIdentity", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 839, - "src": "539:13:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 101, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 95, - "name": "erc1056", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 50, - "src": "579:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 96, - "name": "erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 52, - "src": "588:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 97, - "name": "serial", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 86, - "src": "597:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 98, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "605:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 99, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "605:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 94, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "561:17:2", - "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$_t_address_$_t_address_$_t_string_memory_ptr_$_t_address_$returns$_t_contract$_ProxyIdentity_$839_$", - "typeString": "function (address,address,string memory,address) returns (contract ProxyIdentity)" - }, - "typeName": { - "contractScope": null, - "id": 93, - "name": "ProxyIdentity", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 839, - "src": "565:13:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - } - }, - "id": 100, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "561:55:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "539:77:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 105, - "name": "proxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 92, - "src": "639:5:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - ], - "expression": { - "argumentTypes": null, - "id": 102, - "name": "proxies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55, - "src": "626:7:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_contract$_ProxyIdentity_$839_$dyn_storage", - "typeString": "contract ProxyIdentity[] storage ref" - } - }, - "id": 104, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "626:12:2", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_contract$_ProxyIdentity_$839_$returns$_t_uint256_$", - "typeString": "function (contract ProxyIdentity) returns (uint256)" - } - }, - "id": 106, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "626:19:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 107, - "nodeType": "ExpressionStatement", - "src": "626:19:2" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 110, - "name": "proxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 92, - "src": "681:5:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - ], - "id": 109, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "673:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 111, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "673:14:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 108, - "name": "ProxyCreated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 63, - "src": "660:12:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 112, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "660:28:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 113, - "nodeType": "EmitStatement", - "src": "655:33:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 115, - "name": "proxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 92, - "src": "713:5:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - ], - "id": 114, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "705:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 116, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "705:14:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "functionReturnParameters": 90, - "id": 117, - "nodeType": "Return", - "src": "698:21:2" - } - ] - }, - "documentation": null, - "id": 119, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "create", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 87, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 86, - "name": "serial", - "nodeType": "VariableDeclaration", - "scope": 119, - "src": "482:20:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 85, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "482:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "481:22:2" - }, - "returnParameters": { - "id": 90, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 89, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 119, - "src": "520:7:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 88, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "520:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "519:9:2" - }, - "scope": 187, - "src": "466:260:2", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 185, - "nodeType": "Block", - "src": "816:366:2", - "statements": [ - { - "assignments": [ - 131 - ], - "declarations": [ - { - "constant": false, - "id": 131, - "name": "newProxies", - "nodeType": "VariableDeclaration", - "scope": 185, - "src": "824:27:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 129, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "824:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 130, - "length": null, - "nodeType": "ArrayTypeName", - "src": "824:9:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 138, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 135, - "name": "serials", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 122, - "src": "868:7:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_memory_$dyn_memory_ptr", - "typeString": "string memory[] memory" - } - }, - "id": 136, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "868:14:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 134, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "854:13:2", - "typeDescriptions": { - "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_$", - "typeString": "function (uint256) pure returns (address[] memory)" - }, - "typeName": { - "baseType": { - "id": 132, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "858:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 133, - "length": null, - "nodeType": "ArrayTypeName", - "src": "858:9:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - } - }, - "id": 137, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "854:29:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory", - "typeString": "address[] memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "824:59:2" - }, - { - "body": { - "id": 177, - "nodeType": "Block", - "src": "936:169:2", - "statements": [ - { - "assignments": [ - 151 - ], - "declarations": [ - { - "constant": false, - "id": 151, - "name": "proxy", - "nodeType": "VariableDeclaration", - "scope": 177, - "src": "946:19:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - }, - "typeName": { - "contractScope": null, - "id": 150, - "name": "ProxyIdentity", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 839, - "src": "946:13:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 162, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 154, - "name": "erc1056", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 50, - "src": "986:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 155, - "name": "erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 52, - "src": "995:7:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 156, - "name": "serials", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 122, - "src": "1004:7:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_memory_$dyn_memory_ptr", - "typeString": "string memory[] memory" - } - }, - "id": 158, - "indexExpression": { - "argumentTypes": null, - "id": 157, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "1012:1:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1004:10:2", - "typeDescriptions": { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 159, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "1016:3:2", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 160, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1016:10:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_string_memory", - "typeString": "string memory" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 153, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "NewExpression", - "src": "968:17:2", - "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$_t_address_$_t_address_$_t_string_memory_ptr_$_t_address_$returns$_t_contract$_ProxyIdentity_$839_$", - "typeString": "function (address,address,string memory,address) returns (contract ProxyIdentity)" - }, - "typeName": { - "contractScope": null, - "id": 152, - "name": "ProxyIdentity", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 839, - "src": "972:13:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - } - }, - "id": 161, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "968:59:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "946:81:2" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 166, - "name": "proxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 151, - "src": "1050:5:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - ], - "expression": { - "argumentTypes": null, - "id": 163, - "name": "proxies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 55, - "src": "1037:7:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_contract$_ProxyIdentity_$839_$dyn_storage", - "typeString": "contract ProxyIdentity[] storage ref" - } - }, - "id": 165, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "push", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1037:12:2", - "typeDescriptions": { - "typeIdentifier": "t_function_arraypush_nonpayable$_t_contract$_ProxyIdentity_$839_$returns$_t_uint256_$", - "typeString": "function (contract ProxyIdentity) returns (uint256)" - } - }, - "id": 167, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1037:19:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 168, - "nodeType": "ExpressionStatement", - "src": "1037:19:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 175, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 169, - "name": "newProxies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 131, - "src": "1066:10:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 171, - "indexExpression": { - "argumentTypes": null, - "id": 170, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "1077:1:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1066:13:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 173, - "name": "proxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 151, - "src": "1090:5:2", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - ], - "id": 172, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1082:7:2", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 174, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1082:14:2", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "1066:30:2", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 176, - "nodeType": "ExpressionStatement", - "src": "1066:30:2" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 146, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 143, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "911:1:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 144, - "name": "serials", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 122, - "src": "915:7:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_memory_$dyn_memory_ptr", - "typeString": "string memory[] memory" - } - }, - "id": 145, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "915:14:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "911:18:2", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 178, - "initializationExpression": { - "assignments": [ - 140 - ], - "declarations": [ - { - "constant": false, - "id": 140, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 178, - "src": "896:9:2", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 139, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "896:7:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 142, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 141, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "908:1:2", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "896:13:2" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 148, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "931:3:2", - "subExpression": { - "argumentTypes": null, - "id": 147, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 140, - "src": "931:1:2", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 149, - "nodeType": "ExpressionStatement", - "src": "931:3:2" - }, - "nodeType": "ForStatement", - "src": "891:214:2" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 180, - "name": "newProxies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 131, - "src": "1137:10:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - ], - "id": 179, - "name": "BatchProxyCreated", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 68, - "src": "1119:17:2", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_array$_t_address_$dyn_memory_ptr_$returns$__$", - "typeString": "function (address[] memory)" - } - }, - "id": 181, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1119:29:2", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 182, - "nodeType": "EmitStatement", - "src": "1114:34:2" - }, - { - "expression": { - "argumentTypes": null, - "id": 183, - "name": "newProxies", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 131, - "src": "1165:10:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "functionReturnParameters": 127, - "id": 184, - "nodeType": "Return", - "src": "1158:17:2" - } - ] - }, - "documentation": null, - "id": 186, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "createBatch", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 123, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 122, - "name": "serials", - "nodeType": "VariableDeclaration", - "scope": 186, - "src": "757:23:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_memory_$dyn_memory_ptr", - "typeString": "string[]" - }, - "typeName": { - "baseType": { - "id": 120, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "757:6:2", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "id": 121, - "length": null, - "nodeType": "ArrayTypeName", - "src": "757:8:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", - "typeString": "string[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "756:25:2" - }, - "returnParameters": { - "id": 127, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 126, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 186, - "src": "798:16:2", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 124, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "798:7:2", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 125, - "length": null, - "nodeType": "ArrayTypeName", - "src": "798:9:2", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "797:18:2" - }, - "scope": 187, - "src": "736:446:2", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - } - ], - "scope": 188, - "src": "111:1073:2" - } - ], - "src": "0:1185:2" - }, - "compiler": { - "name": "solc", - "version": "0.5.17+commit.d19bba13.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.16", - "updatedAt": "2020-10-25T11:29:13.805Z", - "devdoc": { - "methods": {} - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/packages/proxyIdentity/build/contracts/ProxyIdentity.json b/packages/proxyIdentity/build/contracts/ProxyIdentity.json deleted file mode 100644 index 77441dce1..000000000 --- a/packages/proxyIdentity/build/contracts/ProxyIdentity.json +++ /dev/null @@ -1,17807 +0,0 @@ -{ - "contractName": "ProxyIdentity", - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_erc1056", - "type": "address" - }, - { - "internalType": "address", - "name": "_erc1155", - "type": "address" - }, - { - "internalType": "string", - "name": "_serial", - "type": "string" - }, - { - "internalType": "address", - "name": "_creator", - "type": "address" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "agent", - "type": "address" - } - ], - "name": "ApprovedAgentAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "agent", - "type": "address" - } - ], - "name": "ApprovedAgentRemoved", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes", - "name": "data", - "type": "bytes" - }, - { - "indexed": false, - "internalType": "bool", - "name": "success", - "type": "bool" - }, - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - } - ], - "name": "CallbackOnTransfer", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes", - "name": "data", - "type": "bytes" - }, - { - "indexed": false, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "TransactionSent", - "type": "event" - }, - { - "payable": true, - "stateMutability": "payable", - "type": "fallback" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "agents", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "creator", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "erc1056", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "erc1155", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "id", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "isApproved", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "serial", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "sendTransaction", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "nonce", - "type": "uint256" - } - ], - "name": "sendSignedTransaction", - "outputs": [], - "payable": true, - "stateMutability": "payable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "delegate", - "type": "address" - } - ], - "name": "addDelegate", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "delegate", - "type": "address" - } - ], - "name": "revokeDelegate", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "changeOwner", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "agent", - "type": "address" - } - ], - "name": "addApprovedAgent", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "agent", - "type": "address" - } - ], - "name": "removeApprovedAgent", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [], - "name": "uri", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "string", - "name": "_uri", - "type": "string" - } - ], - "name": "updateUri", - "outputs": [], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_operator", - "type": "address" - }, - { - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_value", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "onERC1155Received", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_operator", - "type": "address" - }, - { - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "_ids", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "_values", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "onERC1155BatchReceived", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "bytes4", - "name": "_interfaceID", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "view", - "type": "function" - }, - { - "constant": false, - "inputs": [ - { - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "internalType": "address", - "name": "_origin", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_value", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "tokenFallback", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "nonpayable", - "type": "function" - }, - { - "constant": true, - "inputs": [ - { - "internalType": "address", - "name": "token", - "type": "address" - } - ], - "name": "supportsToken", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "payable": false, - "stateMutability": "pure", - "type": "function" - } - ], - "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_erc1056\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_erc1155\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_serial\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_creator\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"}],\"name\":\"ApprovedAgentAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"}],\"name\":\"ApprovedAgentRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"CallbackOnTransfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"TransactionSent\",\"type\":\"event\"},{\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"}],\"name\":\"addApprovedAgent\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegate\",\"type\":\"address\"}],\"name\":\"addDelegate\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"agents\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"changeOwner\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"creator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"erc1056\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"erc1155\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"id\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"isApproved\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"_ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"onERC1155BatchReceived\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"onERC1155Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"}],\"name\":\"removeApprovedAgent\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegate\",\"type\":\"address\"}],\"name\":\"revokeDelegate\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"name\":\"sendSignedTransaction\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"sendTransaction\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"serial\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"_interfaceID\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"supportsToken\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_origin\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"tokenFallback\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"string\",\"name\":\"_uri\",\"type\":\"string\"}],\"name\":\"updateUri\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"uri\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"supportsInterface(bytes4)\":{\"params\":{\"_interfaceID\":\"The interface identifier, as specified in ERC-165\"},\"return\":\"`true` if the contract implements `_interfaceID` and\"}}},\"userdoc\":{\"methods\":{\"supportsInterface(bytes4)\":{\"notice\":\"Query if a contract implements an interface\"}}}},\"settings\":{\"compilationTarget\":{\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/proxyIdentity.sol\":\"ProxyIdentity\"},\"evmVersion\":\"constantinople\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223.sol\":{\"keccak256\":\"0x3e3d1fc80b2e7c13015946457c9f4a5255f3b6f385b48616159e78c7b2c74737\",\"urls\":[\"bzz-raw://3f3458d0c93202f964bbf51a349b99165344f8eec5c43bb3ca5291c13488286f\",\"dweb:/ipfs/QmQ6ZV1eJqKffWcYqa5iQ22zPkQvgjXiNnciajAE6eb8ep\"]},\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223Receiver.sol\":{\"keccak256\":\"0x3d4cacfc4d9b98e6d79a1f30ac15f171253771454fff2605d0eeeff14ddd8996\",\"urls\":[\"bzz-raw://c9537e6ef6b75a1fd320b099e6d0ee5eb85c89b6147b22196331b2b3393c736b\",\"dweb:/ipfs/Qmd32qvh5cncrttSuk92ugFakEK8YTLCkMP2tadfymBT6q\"]},\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/proxyIdentity.sol\":{\"keccak256\":\"0xdf4dda59244973fb70bd0cb82914435443c07fce5e003b8158afd389c889d12a\",\"urls\":[\"bzz-raw://a6b786967673526b3ba93dec11153160479b028e9b435563b7b32bc4b62710f6\",\"dweb:/ipfs/QmQ7ibdezbEeg3qMH9eAuqvUaXaNcV7EJzKvZuDM7M4Yho\"]},\"/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/tokens/ERC1155Multiproxy.sol\":{\"keccak256\":\"0x65c692e6fdfbdc216d31f9f2a82ccd528126fc3a7fd2b30460696bef6890e57b\",\"urls\":[\"bzz-raw://8018e79ca78802e46722409d8e6eca2f364c255d97de988d3c39d951cfcb5f66\",\"dweb:/ipfs/QmTFsypNNX9thXu9jFX5WzLKD95ysLWwP2Pm6QHuiMcTPb\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzz-raw://59fd025151435da35faa8093a5c7a17de02de9d08ad27275c5cdf05050820d91\",\"dweb:/ipfs/QmQMvwEcPhoRXzbXyrdoeRtvLoifUW9Qh7Luho7bmUPRkc\"]},\"multi-token-standard/contracts/interfaces/IERC1155.sol\":{\"keccak256\":\"0x9632273d1c5272823807d1d0b1630af9e2dad7f1e41a65bfdbc66bda702c53a1\",\"urls\":[\"bzz-raw://6deb9bdff007e4b367d4561699f45f0f8521a4412a770a9292c109844f739f58\",\"dweb:/ipfs/QmTXrB3rTHHrNcHAa3PYoq2BRJiT4nMmMrPmA6AjDsk7HB\"]},\"multi-token-standard/contracts/interfaces/IERC1155TokenReceiver.sol\":{\"keccak256\":\"0xdf097e5f122d544a93027619c941dc8475bead114e421b9398d9a1482b9bffb8\",\"urls\":[\"bzz-raw://9bdc0f8d96e08965b0e7c98b8ba9e67a56afc26c014784caf53ea4e04a966eb3\",\"dweb:/ipfs/QmRiuqBiDqfQNUtpjiwj5rR1iD5Psh6KdzKiBNNriiq68m\"]},\"multi-token-standard/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x5561863476cd7598c203efcd18bb436746a2596ac61e37c7bbf73790a511de39\",\"urls\":[\"bzz-raw://92f034ed08c66e4a1579b6ad8dd53e615cb7d39b2f26a131fd62f90f3d30e25b\",\"dweb:/ipfs/QmXKMPTepiBrfEKgpQR8PneSgAsVi2769wy9THBM65BspH\"]},\"multi-token-standard/contracts/tokens/ERC1155/ERC1155.sol\":{\"keccak256\":\"0x454f992789731d8ca2e284409dc69115285e48c8c9ad8f38b1f35d9e7bc23320\",\"urls\":[\"bzz-raw://e101d27d80cecb9b8cc788982914974022984f90b213550bc1290818a7047139\",\"dweb:/ipfs/QmZu2HKUsQa5GbGrrtKbCkX5VLRZiPxAtDUxBDf1V7QtR1\"]},\"multi-token-standard/contracts/tokens/ERC1155/ERC1155Metadata.sol\":{\"keccak256\":\"0x4ef6482f64e22ea36be61c3eba61f85bed1fa75f83dcda5c4850697b5ed2c4d4\",\"urls\":[\"bzz-raw://e7550ccafd3c9e121a9d9a86e6246db33cf6a1917bf89fdd3dc35c3e539489b4\",\"dweb:/ipfs/QmQKsdE526BUTA4Xjo8FeTwmYQMWeXEUqHs392hLKeFZGn\"]},\"multi-token-standard/contracts/tokens/ERC1155/ERC1155MintBurn.sol\":{\"keccak256\":\"0x8b5247002651f1bcc2365b22051a9db517b4e4892d71594fd0adcea4a43ec678\",\"urls\":[\"bzz-raw://f7ddd00e7da49cbac08d2c3678b520875aee42c505ffde06e62c86f43f9da43a\",\"dweb:/ipfs/QmVBa6ocmrrLp3ak46hFHVGgL2GJq9z8VWvBX4GPyWYhrD\"]},\"multi-token-standard/contracts/utils/Address.sol\":{\"keccak256\":\"0xc089dcd9159bf02993336e47f629e8e86dcd3086cf2278e9ea06145b4094be5f\",\"urls\":[\"bzz-raw://bf05b053fb01bda8c24854d5d5c652c3c46c411597d90692e0c146b02a5154a0\",\"dweb:/ipfs/QmP5madVNQjx9JHqkdx9R79MdZZgeQJFEWVW5iwRYBV4ny\"]},\"multi-token-standard/contracts/utils/SafeMath.sol\":{\"keccak256\":\"0x0a904266aa9620d2f126588f1a964ec47bd8e777f3b2281a6e8f6897bc1d9fbd\",\"urls\":[\"bzz-raw://c4fcd436cda8c33574b2146bb9098f560095e4b2d63084563c176c2d402a9554\",\"dweb:/ipfs/QmW3Jo5Lt6LUf8pp6r7vE5kfpMpknJNoFEqTH9FbK7eFiU\"]}},\"version\":1}", - "bytecode": "0x60806040527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6005553480156200003557600080fd5b50604051620029c7380380620029c7833981810160405260808110156200005b57600080fd5b810190808051906020019092919080519060200190929190805160405193929190846401000000008211156200009057600080fd5b83820191506020820185811115620000a757600080fd5b8251866001820283011164010000000082111715620000c557600080fd5b8083526020830192505050908051906020019080838360005b83811015620000fb578082015181840152602081019050620000de565b50505050905090810190601f168015620001295780820380516001836020036101000a031916815260200191505b506040526020018051906020019092919050505083600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600e9080519060200190620001d792919062000491565b5080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff16639f181b5e6040518163ffffffff1660e01b815260040160206040518083038186803b158015620002a057600080fd5b505afa158015620002b5573d6000803e3d6000fd5b505050506040513d6020811015620002cc57600080fd5b8101908080519060200190929190505050600f819055508273ffffffffffffffffffffffffffffffffffffffff1663a0712d68600f546040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156200033957600080fd5b505af11580156200034e573d6000803e3d6000fd5b5050505062000363816200036d60201b60201c565b5050505062000540565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a7068d6630836005546040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001807f73696741757468000000000000000000000000000000000000000000000000008152506020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b1580156200047557600080fd5b505af11580156200048a573d6000803e3d6000fd5b5050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620004d457805160ff191683800117855562000505565b8280016001018555821562000505579182015b8281111562000504578251825591602001919060010190620004e7565b5b50905062000514919062000518565b5090565b6200053d91905b80821115620005395760008160009055506001016200051f565b5090565b90565b61247780620005506000396000f3fe6080604052600436106101355760003560e01c8063a6f9dae1116100ab578063d56022d71161006f578063d56022d714610ac2578063e71bdf4114610b19578063eac989f814610b6a578063f23a6e6114610bfa578063f6d713dd14610d26578063fa352c0014610db657610135565b8063a6f9dae11461074e578063ad9ec05d1461079f578063af640d0f146107f0578063bbc018571461081b578063bc197c811461090057610135565b80634c123019116100fd5780634c123019146103ca578063513856c8146104f4578063570b3c6a1461056f578063673448dd1461063757806384eb68fb146106a05780638da5cb5b146106f757610135565b806301ffc9a71461013757806302d05d3f146101a9578063061f7650146102005780630eb930ab146102695780632c39952a146102ba575b005b34801561014357600080fd5b5061018f6004803603602081101561015a57600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610e07565b604051808215151515815260200191505060405180910390f35b3480156101b557600080fd5b506101be610eb8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561020c57600080fd5b5061024f6004803603602081101561022357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ede565b604051808215151515815260200191505060405180910390f35b34801561027557600080fd5b506102b86004803603602081101561028c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ee9565b005b6103c8600480360360e08110156102d057600080fd5b81019080803590602001906401000000008111156102ed57600080fd5b8201836020820111156102ff57600080fd5b8035906020019184600183028401116401000000008311171561032157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff16906020019092919080359060200190929190803590602001909291908035906020019092919080359060200190929190505050611103565b005b3480156103d657600080fd5b506104da600480360360808110156103ed57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561045457600080fd5b82018360208201111561046657600080fd5b8035906020019184600183028401116401000000008311171561048857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050611489565b604051808215151515815260200191505060405180910390f35b34801561050057600080fd5b5061052d6004803603602081101561051757600080fd5b8101908080359060200190929190505050611676565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561057b57600080fd5b506106356004803603602081101561059257600080fd5b81019080803590602001906401000000008111156105af57600080fd5b8201836020820111156105c157600080fd5b803590602001918460018302840111640100000000831117156105e357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506116b2565b005b34801561064357600080fd5b506106866004803603602081101561065a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117b1565b604051808215151515815260200191505060405180910390f35b3480156106ac57600080fd5b506106b56117d1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561070357600080fd5b5061070c6117f7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561075a57600080fd5b5061079d6004803603602081101561077157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061181c565b005b3480156107ab57600080fd5b506107ee600480360360208110156107c257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611958565b005b3480156107fc57600080fd5b50610805611b72565b6040518082815260200191505060405180910390f35b6108fe6004803603606081101561083157600080fd5b810190808035906020019064010000000081111561084e57600080fd5b82018360208201111561086057600080fd5b8035906020019184600183028401116401000000008311171561088257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611b78565b005b34801561090c57600080fd5b50610a6e600480360360a081101561092357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561098057600080fd5b82018360208201111561099257600080fd5b803590602001918460208302840111640100000000831117156109b457600080fd5b9091929391929390803590602001906401000000008111156109d557600080fd5b8201836020820111156109e757600080fd5b80359060200191846020830284011164010000000083111715610a0957600080fd5b909192939192939080359060200190640100000000811115610a2a57600080fd5b820183602082011115610a3c57600080fd5b80359060200191846001830284011164010000000083111715610a5e57600080fd5b9091929391929390505050611cbc565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b348015610ace57600080fd5b50610ad7611cd4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610b2557600080fd5b50610b6860048036036020811015610b3c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611cfa565b005b348015610b7657600080fd5b50610b7f611dc8565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610bbf578082015181840152602081019050610ba4565b50505050905090810190601f168015610bec5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610c0657600080fd5b50610cd2600480360360a0811015610c1d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019092919080359060200190640100000000811115610c8e57600080fd5b820183602082011115610ca057600080fd5b80359060200191846001830284011164010000000083111715610cc257600080fd5b9091929391929390505050611f3d565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b348015610d3257600080fd5b50610d3b611f53565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610d7b578082015181840152602081019050610d60565b50505050905090810190601f168015610da85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610dc257600080fd5b50610e0560048036036020811015610dd957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ff1565b005b60006301ffc9a760e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610ea05750634e2312e060e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b15610eae5760019050610eb3565b600090505b919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060019050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610f8d5750601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b610fe2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260338152602001806124106033913960400191505060405180910390fd5b6001601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a22cb4658260016040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018215151515815260200192505050600060405180830381600087803b1580156110e857600080fd5b505af11580156110fc573d6000803e3d6000fd5b5050505050565b60008787848460405160200180806020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001848152602001838152602001828103825286818151815260200191508051906020019080838360005b8381101561118a57808201518184015260208101905061116f565b50505050905090810190601f1680156111b75780820380516001836020036101000a031916815260200191505b5095505050505050604051602081830303815290604052805190602001209050600015156006600083815260200190815260200160002060009054906101000a900460ff16151514611254576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806123ea6026913960400191505060405180910390fd5b60016006600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060008160405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c01828152602001915050604051602081830303815290604052805190602001209050600060018289898960405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015611332573d6000803e3d6000fd5b5050506020604051035190506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611400576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f5369676e6174757265206973206e6f742076616c69640000000000000000000081525060200191505060405180910390fd5b61140b8a8a876121cb565b61147d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f43616e27742073656e64207472616e73616374696f6e0000000000000000000081525060200191505060405180910390fd5b50505050505050505050565b600061149433610ede565b6114a1576000905061166e565b6001600d60006101000a81548160ff02191690831515021790555060003073ffffffffffffffffffffffffffffffffffffffff16836040518082805190602001908083835b6020831061150957805182526020820191506020810190506020830392506114e6565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114611569576040519150601f19603f3d011682016040523d82523d6000602084013e61156e565b606091505b505090506000600d60006101000a81548160ff0219169083151502179055507feab9f6c333c4c219217a67230a9af8a2e860061556fa026945860d2c885d60fe8382336040518080602001841515151581526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825285818151815260200191508051906020019080838360005b8381101561162d578082015181840152602081019050611612565b50505050905090810190601f16801561165a5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a1809150505b949350505050565b6002818154811061168357fe5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166305751204600f54836040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561174957808201518184015260208101905061172e565b50505050905090810190601f1680156117765780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b15801561179657600080fd5b505af11580156117aa573d6000803e3d6000fd5b5050505050565b60106020528060005260406000206000915054906101000a900460ff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806118c05750601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611915576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260338152602001806124106033913960400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806119fc5750601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611a51576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260338152602001806124106033913960400191505060405180910390fd5b6000601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a22cb4658260006040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018215151515815260200192505050600060405180830381600087803b158015611b5757600080fd5b505af1158015611b6b573d6000803e3d6000fd5b5050505050565b600f5481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611c3a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4f6e6c79206f776e657220616c6c6f776564000000000000000000000000000081525060200191505060405180910390fd5b611c458383836121cb565b611cb7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f43616e27742073656e64207472616e73616374696f6e0000000000000000000081525060200191505060405180910390fd5b505050565b600063bc197c8160e01b905098975050505050505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611dbc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4f6e6c79206f776e657220616c6c6f776564000000000000000000000000000081525060200191505060405180910390fd5b611dc5816122c7565b50565b6060600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e89341c600f546040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b158015611e3f57600080fd5b505afa158015611e53573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506020811015611e7d57600080fd5b8101908080516040519392919084640100000000821115611e9d57600080fd5b83820191506020820185811115611eb357600080fd5b8251866001820283011164010000000082111715611ed057600080fd5b8083526020830192505050908051906020019080838360005b83811015611f04578082015181840152602081019050611ee9565b50505050905090810190601f168015611f315780820380516001836020036101000a031916815260200191505b50604052505050905090565b600063f23a6e6160e01b90509695505050505050565b600e8054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611fe95780601f10611fbe57610100808354040283529160200191611fe9565b820191906000526020600020905b815481529060010190602001808311611fcc57829003601f168201915b505050505081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146120b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4f6e6c79206f776e657220616c6c6f776564000000000000000000000000000081525060200191505060405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166380b29f7c30836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001807f73696741757468000000000000000000000000000000000000000000000000008152506020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b1580156121b057600080fd5b505af11580156121c4573d6000803e3d6000fd5b5050505050565b60006060849050600081519050600080826020850187895af192507f7e4155ee9daec547578a255f7495bc08f38796f4d4a3be4ed7189f4fc55cb18586868660405180806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825285818151815260200191508051906020019080838360005b83811015612282578082015181840152602081019050612267565b50505050905090810190601f1680156122af5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a150509392505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a7068d6630836005546040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001807f73696741757468000000000000000000000000000000000000000000000000008152506020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b1580156123ce57600080fd5b505af11580156123e2573d6000803e3d6000fd5b505050505056fe54686973207472616e73616374696f6e2068617320616c7265616479206265656e2073656e7450726f78794964656e746974793a204f6e6c79206f776e6572206f7220617070726f766564206167656e7420616c6c6f776564a265627a7a7231582006c8e52c04b4db6cf1431c7d94ec5ff14dc54062ecaf15d5c5327f343768857364736f6c63430005110032", - "deployedBytecode": "0x6080604052600436106101355760003560e01c8063a6f9dae1116100ab578063d56022d71161006f578063d56022d714610ac2578063e71bdf4114610b19578063eac989f814610b6a578063f23a6e6114610bfa578063f6d713dd14610d26578063fa352c0014610db657610135565b8063a6f9dae11461074e578063ad9ec05d1461079f578063af640d0f146107f0578063bbc018571461081b578063bc197c811461090057610135565b80634c123019116100fd5780634c123019146103ca578063513856c8146104f4578063570b3c6a1461056f578063673448dd1461063757806384eb68fb146106a05780638da5cb5b146106f757610135565b806301ffc9a71461013757806302d05d3f146101a9578063061f7650146102005780630eb930ab146102695780632c39952a146102ba575b005b34801561014357600080fd5b5061018f6004803603602081101561015a57600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610e07565b604051808215151515815260200191505060405180910390f35b3480156101b557600080fd5b506101be610eb8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561020c57600080fd5b5061024f6004803603602081101561022357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ede565b604051808215151515815260200191505060405180910390f35b34801561027557600080fd5b506102b86004803603602081101561028c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ee9565b005b6103c8600480360360e08110156102d057600080fd5b81019080803590602001906401000000008111156102ed57600080fd5b8201836020820111156102ff57600080fd5b8035906020019184600183028401116401000000008311171561032157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff16906020019092919080359060200190929190803590602001909291908035906020019092919080359060200190929190505050611103565b005b3480156103d657600080fd5b506104da600480360360808110156103ed57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561045457600080fd5b82018360208201111561046657600080fd5b8035906020019184600183028401116401000000008311171561048857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050611489565b604051808215151515815260200191505060405180910390f35b34801561050057600080fd5b5061052d6004803603602081101561051757600080fd5b8101908080359060200190929190505050611676565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561057b57600080fd5b506106356004803603602081101561059257600080fd5b81019080803590602001906401000000008111156105af57600080fd5b8201836020820111156105c157600080fd5b803590602001918460018302840111640100000000831117156105e357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506116b2565b005b34801561064357600080fd5b506106866004803603602081101561065a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117b1565b604051808215151515815260200191505060405180910390f35b3480156106ac57600080fd5b506106b56117d1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561070357600080fd5b5061070c6117f7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561075a57600080fd5b5061079d6004803603602081101561077157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061181c565b005b3480156107ab57600080fd5b506107ee600480360360208110156107c257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611958565b005b3480156107fc57600080fd5b50610805611b72565b6040518082815260200191505060405180910390f35b6108fe6004803603606081101561083157600080fd5b810190808035906020019064010000000081111561084e57600080fd5b82018360208201111561086057600080fd5b8035906020019184600183028401116401000000008311171561088257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611b78565b005b34801561090c57600080fd5b50610a6e600480360360a081101561092357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561098057600080fd5b82018360208201111561099257600080fd5b803590602001918460208302840111640100000000831117156109b457600080fd5b9091929391929390803590602001906401000000008111156109d557600080fd5b8201836020820111156109e757600080fd5b80359060200191846020830284011164010000000083111715610a0957600080fd5b909192939192939080359060200190640100000000811115610a2a57600080fd5b820183602082011115610a3c57600080fd5b80359060200191846001830284011164010000000083111715610a5e57600080fd5b9091929391929390505050611cbc565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b348015610ace57600080fd5b50610ad7611cd4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610b2557600080fd5b50610b6860048036036020811015610b3c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611cfa565b005b348015610b7657600080fd5b50610b7f611dc8565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610bbf578082015181840152602081019050610ba4565b50505050905090810190601f168015610bec5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610c0657600080fd5b50610cd2600480360360a0811015610c1d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019092919080359060200190640100000000811115610c8e57600080fd5b820183602082011115610ca057600080fd5b80359060200191846001830284011164010000000083111715610cc257600080fd5b9091929391929390505050611f3d565b60405180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060405180910390f35b348015610d3257600080fd5b50610d3b611f53565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610d7b578082015181840152602081019050610d60565b50505050905090810190601f168015610da85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610dc257600080fd5b50610e0560048036036020811015610dd957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ff1565b005b60006301ffc9a760e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610ea05750634e2312e060e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b15610eae5760019050610eb3565b600090505b919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060019050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610f8d5750601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b610fe2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260338152602001806124106033913960400191505060405180910390fd5b6001601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a22cb4658260016040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018215151515815260200192505050600060405180830381600087803b1580156110e857600080fd5b505af11580156110fc573d6000803e3d6000fd5b5050505050565b60008787848460405160200180806020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001848152602001838152602001828103825286818151815260200191508051906020019080838360005b8381101561118a57808201518184015260208101905061116f565b50505050905090810190601f1680156111b75780820380516001836020036101000a031916815260200191505b5095505050505050604051602081830303815290604052805190602001209050600015156006600083815260200190815260200160002060009054906101000a900460ff16151514611254576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806123ea6026913960400191505060405180910390fd5b60016006600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060008160405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c01828152602001915050604051602081830303815290604052805190602001209050600060018289898960405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015611332573d6000803e3d6000fd5b5050506020604051035190506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611400576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f5369676e6174757265206973206e6f742076616c69640000000000000000000081525060200191505060405180910390fd5b61140b8a8a876121cb565b61147d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f43616e27742073656e64207472616e73616374696f6e0000000000000000000081525060200191505060405180910390fd5b50505050505050505050565b600061149433610ede565b6114a1576000905061166e565b6001600d60006101000a81548160ff02191690831515021790555060003073ffffffffffffffffffffffffffffffffffffffff16836040518082805190602001908083835b6020831061150957805182526020820191506020810190506020830392506114e6565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114611569576040519150601f19603f3d011682016040523d82523d6000602084013e61156e565b606091505b505090506000600d60006101000a81548160ff0219169083151502179055507feab9f6c333c4c219217a67230a9af8a2e860061556fa026945860d2c885d60fe8382336040518080602001841515151581526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825285818151815260200191508051906020019080838360005b8381101561162d578082015181840152602081019050611612565b50505050905090810190601f16801561165a5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a1809150505b949350505050565b6002818154811061168357fe5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166305751204600f54836040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561174957808201518184015260208101905061172e565b50505050905090810190601f1680156117765780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b15801561179657600080fd5b505af11580156117aa573d6000803e3d6000fd5b5050505050565b60106020528060005260406000206000915054906101000a900460ff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806118c05750601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611915576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260338152602001806124106033913960400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806119fc5750601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611a51576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260338152602001806124106033913960400191505060405180910390fd5b6000601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a22cb4658260006040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018215151515815260200192505050600060405180830381600087803b158015611b5757600080fd5b505af1158015611b6b573d6000803e3d6000fd5b5050505050565b600f5481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611c3a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4f6e6c79206f776e657220616c6c6f776564000000000000000000000000000081525060200191505060405180910390fd5b611c458383836121cb565b611cb7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f43616e27742073656e64207472616e73616374696f6e0000000000000000000081525060200191505060405180910390fd5b505050565b600063bc197c8160e01b905098975050505050505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611dbc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4f6e6c79206f776e657220616c6c6f776564000000000000000000000000000081525060200191505060405180910390fd5b611dc5816122c7565b50565b6060600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630e89341c600f546040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b158015611e3f57600080fd5b505afa158015611e53573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506020811015611e7d57600080fd5b8101908080516040519392919084640100000000821115611e9d57600080fd5b83820191506020820185811115611eb357600080fd5b8251866001820283011164010000000082111715611ed057600080fd5b8083526020830192505050908051906020019080838360005b83811015611f04578082015181840152602081019050611ee9565b50505050905090810190601f168015611f315780820380516001836020036101000a031916815260200191505b50604052505050905090565b600063f23a6e6160e01b90509695505050505050565b600e8054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611fe95780601f10611fbe57610100808354040283529160200191611fe9565b820191906000526020600020905b815481529060010190602001808311611fcc57829003601f168201915b505050505081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146120b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4f6e6c79206f776e657220616c6c6f776564000000000000000000000000000081525060200191505060405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166380b29f7c30836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001807f73696741757468000000000000000000000000000000000000000000000000008152506020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b1580156121b057600080fd5b505af11580156121c4573d6000803e3d6000fd5b5050505050565b60006060849050600081519050600080826020850187895af192507f7e4155ee9daec547578a255f7495bc08f38796f4d4a3be4ed7189f4fc55cb18586868660405180806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825285818151815260200191508051906020019080838360005b83811015612282578082015181840152602081019050612267565b50505050905090810190601f1680156122af5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a150509392505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a7068d6630836005546040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001807f73696741757468000000000000000000000000000000000000000000000000008152506020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b1580156123ce57600080fd5b505af11580156123e2573d6000803e3d6000fd5b505050505056fe54686973207472616e73616374696f6e2068617320616c7265616479206265656e2073656e7450726f78794964656e746974793a204f6e6c79206f776e6572206f7220617070726f766564206167656e7420616c6c6f776564a265627a7a7231582006c8e52c04b4db6cf1431c7d94ec5ff14dc54062ecaf15d5c5327f343768857364736f6c63430005110032", - "sourceMap": "616:6129:3:-;;;849:10;823:36;;1432:358;8:9:-1;5:2;;;30:1;27;20:12;5:2;1432:358:3;;;;;;;;;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;1432:358:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;71:11;66:3;62:21;55:28;;123:4;118:3;114:14;159:9;141:16;138:31;135:2;;;182:1;179;172:12;135:2;219:3;213:10;330:9;325:1;311:12;307:20;289:16;285:43;282:58;261:11;247:12;244:29;233:115;230:2;;;361:1;358;351:12;230:2;384:12;379:3;372:25;420:4;415:3;411:14;404:21;;0:432;;1432:358:3;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1432:358:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1564:8;1554:7;;:18;;;;;;;;;;;;;;;;;;1588:8;1578:7;;:18;;;;;;;;;;;;;;;;;;1611:7;1602:6;:16;;;;;;;;;;;;:::i;:::-;;1634:8;1624:7;;:18;;;;;;;;;;;;;;;;;;1656:8;1648:5;;:16;;;;;;;;;;;;;;;;;;1693:8;1675:38;;;:40;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1675:40:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1675:40:3;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1675:40:3;;;;;;;;;;;;;;;;1670:2;:45;;;;1739:8;1721:32;;;1754:2;;1721:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1721:36:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1721:36:3;;;;1763:22;1776:8;1763:12;;;:22;;:::i;:::-;1432:358;;;;616:6129;;4751:172;4815:7;;;;;;;;;;;4806:29;;;4851:4;4881:8;4897:15;;4806:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4806:112:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4806:112:3;;;;4751:172;:::o;616:6129::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", - "deployedSourceMap": "616:6129:3:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5564:257;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5564:257:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5564:257:3;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;718:22;;8:9:-1;5:2;;;30:1;27;20:12;5:2;718:22:3;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6622:87;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6622:87:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6622:87:3;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3378:164;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3378:164:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3378:164:3;;;;;;;;;;;;;;;;;;;:::i;:::-;;2395:651;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;2395:651:3;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;2395:651:3;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;2395:651:3;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;2395:651:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;2395:651:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5896:446;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5896:446:3;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;5896:446:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;5896:446:3;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;5896:446:3;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;5896:446:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;5896:446:3;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;744:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;744:23:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;744:23:3;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3826:103;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3826:103:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3826:103:3;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;3826:103:3;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;3826:103:3;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;3826:103:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;3826:103:3;;;;;;;;;;;;;;;:::i;:::-;;1103:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1103:42:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1103:42:3;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;771:22;;8:9:-1;5:2;;;30:1;27;20:12;5:2;771:22:3;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;694:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;694:20:3;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3283:91;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3283:91:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3283:91:3;;;;;;;;;;;;;;;;;;;:::i;:::-;;3546:169;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3546:169:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3546:169:3;;;;;;;;;;;;;;;;;;;:::i;:::-;;1082:17;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1082:17:3;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2199:192;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2199:192:3;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;2199:192:3;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;2199:192:3;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;2199:192:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;2199:192:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4133:231;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4133:231:3;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;4133:231:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;4133:231:3;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;4133:231:3;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;4133:231:3;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;4133:231:3;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;4133:231:3;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;4133:231:3;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;4133:231:3;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;4133:231:3;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;4133:231:3;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;797:22;;8:9:-1;5:2;;;30:1;27;20:12;5:2;797:22:3;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3050:88;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3050:88:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3050:88:3;;;;;;;;;;;;;;;;;;;:::i;:::-;;3719:103;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3719:103:3;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;3719:103:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3933:196;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3933:196:3;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;3933:196:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;3933:196:3;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;3933:196:3;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;3933:196:3;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;1058:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1058:20:3;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1058:20:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3142:137;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3142:137:3;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3142:137:3;;;;;;;;;;;;;;;;;;;:::i;:::-;;5564:257;5635:4;5074:10;5674:26;;5658:42;;;:12;:42;;;;:108;;;;5338:10;5726:40;;5710:56;;;:12;:56;;;;5658:108;5647:152;;;5788:4;5781:11;;;;5647:152;5811:5;5804:12;;5564:257;;;;:::o;718:22::-;;;;;;;;;;;;;:::o;6622:87::-;6681:4;6700;6693:11;;6622:87;;;:::o;3378:164::-;1948:5;;;;;;;;;;;1934:19;;:10;:19;;;:45;;;;1957:10;:22;1968:10;1957:22;;;;;;;;;;;;;;;;;;;;;;;;;1934:45;1919:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3470:4;3450:10;:17;3461:5;3450:17;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;3498:7;;;;;;;;;;;3480:44;;;3525:5;3532:4;3480:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3480:57:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3480:57:3;;;;3378:164;:::o;2395:651::-;2571:14;2609:4;2615:2;2619:5;2626;2598:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;2598:34:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;2598:34:3;;;2588:45;;;;;;2571:62;;2666:5;2647:24;;:7;:15;2655:6;2647:15;;;;;;;;;;;;;;;;;;;;;:24;;;2639:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2738:4;2720:7;:15;2728:6;2720:15;;;;;;;;;;;;:22;;;;;;;;;;;;;;;;;;2748:12;2833:6;2780:60;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;2780:60:3;;;2763:83;;;;;;2748:98;;2852:14;2869:24;2879:4;2885:1;2888;2891;2869:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2869:24:3;;;;;;;;2852:41;;2924:5;;;;;;;;;;;2914:15;;:6;:15;;;2899:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2981:33;2998:4;3004:2;3008:5;2981:16;:33::i;:::-;2973:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2395:651;;;;;;;;;;:::o;5896:446::-;6025:4;6042:25;6056:10;6042:13;:25::i;:::-;6037:44;;6076:5;6069:12;;;;6037:44;6107:4;6087:17;;:24;;;;;;;;;;;;;;;;;;6178:12;6204:4;6196:26;;6223:5;6196:33;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;6196:33:3;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;6177:52:3;;;6255:5;6235:17;;:25;;;;;;;;;;;;;;;;;;6271:46;6290:5;6297:7;6306:10;6271:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;6271:46:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6330:7;6323:14;;;5896:446;;;;;;;:::o;744:23::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3826:103::-;3896:7;;;;;;;;;;;3878:36;;;3915:2;;3919:4;3878:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;3878:46:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3878:46:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3878:46:3;;;;3826:103;:::o;1103:42::-;;;;;;;;;;;;;;;;;;;;;;:::o;771:22::-;;;;;;;;;;;;;:::o;694:20::-;;;;;;;;;;;;;:::o;3283:91::-;1948:5;;;;;;;;;;;1934:19;;:10;:19;;;:45;;;;1957:10;:22;1968:10;1957:22;;;;;;;;;;;;;;;;;;;;;;;;;1934:45;1919:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3361:8;3353:5;;:16;;;;;;;;;;;;;;;;;;3283:91;:::o;3546:169::-;1948:5;;;;;;;;;;;1934:19;;:10;:19;;;:45;;;;1957:10;:22;1968:10;1957:22;;;;;;;;;;;;;;;;;;;;;;;;;1934:45;1919:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3641:5;3621:10;:17;3632:5;3621:17;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;3670:7;;;;;;;;;;;3652:44;;;3697:5;3704;3652:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3652:58:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3652:58:3;;;;3546:169;:::o;1082:17::-;;;;:::o;2199:192::-;1840:5;;;;;;;;;;;1826:19;;:10;:19;;;1818:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2325:34;2342:5;2349:2;2353:5;2325:16;:34::i;:::-;2317:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2199:192;;;:::o;4133:231::-;4316:6;1007:10;4337:22;;4330:29;;4133:231;;;;;;;;;;:::o;797:22::-;;;;;;;;;;;;;:::o;3050:88::-;1840:5;;;;;;;;;;;1826:19;;:10;:19;;;1818:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3111:22;3124:8;3111:12;:22::i;:::-;3050:88;:::o;3719:103::-;3755:13;3801:7;;;;;;;;;;;3783:30;;;3814:2;;3783:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3783:34:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3783:34:3;;;;;;39:16:-1;36:1;17:17;2:54;3783:34:3;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13:2;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3783:34:3;;;;;;;;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;71:11;66:3;62:21;55:28;;123:4;118:3;114:14;159:9;141:16;138:31;135:2;;;182:1;179;172:12;135:2;219:3;213:10;330:9;325:1;311:12;307:20;289:16;285:43;282:58;261:11;247:12;244:29;233:115;230:2;;;361:1;358;351:12;230:2;384:12;379:3;372:25;420:4;415:3;411:14;404:21;;0:432;;3783:34:3;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;3783:34:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3776:41;;3719:103;:::o;3933:196::-;4087:6;943:10;4108:16;;4101:23;;3933:196;;;;;;;;:::o;1058:20::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3142:137::-;1840:5;;;;;;;;;;;1826:19;;:10;:19;;;1818:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3215:7;;;;;;;;;;;3206:32;;;3247:4;3265:8;3206:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3206:68:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3206:68:3;;;;3142:137;:::o;4368:379::-;4475:12;4495:17;4515:5;4495:25;;4526:11;4540:4;:11;4526:25;;4691:1;4688;4683:3;4676:4;4670;4666:15;4659:5;4655:2;4650:3;4645:48;4634:59;;4709:33;4725:5;4732:2;4736:5;4709:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;4709:33:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4368:379;;;;;;;:::o;4751:172::-;4815:7;;;;;;;;;;;4806:29;;;4851:4;4881:8;4897:15;;4806:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4806:112:3;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4806:112:3;;;;4751:172;:::o", - "source": "pragma solidity ^0.5.0;\n\nimport \"multi-token-standard/contracts/interfaces/IERC165.sol\";\nimport \"multi-token-standard/contracts/interfaces/IERC1155.sol\";\nimport \"multi-token-standard/contracts/interfaces/IERC1155TokenReceiver.sol\";\nimport \"./interfaces/IERC223Receiver.sol\";\nimport \"./interfaces/IERC223.sol\";\nimport \"./tokens/ERC1155Multiproxy.sol\";\n\ninterface IERC1056 {\n function addDelegate(\n address identity,\n bytes32 delegateType,\n address delegate,\n uint256 validity\n ) external;\n\n function revokeDelegate(\n address identity,\n bytes32 delegateType,\n address delegate\n ) external;\n}\n\ncontract ProxyIdentity is IERC1155TokenReceiver, IERC165, IERC223Receiver {\n address public owner;\n address public creator;\n address[] public agents;\n address public erc1056;\n address public erc1155;\n uint256 defaultValidity = 2**256 - 1;\n mapping(bytes32 => bool) digests;\n bytes4 internal constant ERC1155_ACCEPTED = 0xf23a6e61;\n bytes4 internal constant ERC1155_BATCH_ACCEPTED = 0xbc197c81;\n Tkn tkn;\n bool __isTokenFallback;\n string public serial;\n uint256 public id;\n mapping(address => bool) public isApproved;\n\n struct Tkn {\n address addr;\n address sender;\n address origin;\n uint256 value;\n bytes data;\n bytes4 sig;\n }\n\n event TransactionSent(bytes data, address to, uint256 value);\n event ApprovedAgentAdded(address agent);\n event ApprovedAgentRemoved(address agent);\n\n constructor(\n address _erc1056,\n address _erc1155,\n string memory _serial,\n address _creator\n ) public {\n erc1056 = _erc1056;\n erc1155 = _erc1155;\n serial = _serial;\n creator = _creator;\n owner = _creator;\n id = ERC1155Multiproxy(_erc1155).tokenCount();\n ERC1155Multiproxy(_erc1155).mint(id);\n _addDelegate(_creator);\n }\n\n modifier _owner() {\n require(msg.sender == owner, \"Only owner allowed\");\n _;\n }\n\n modifier isOwnerOrApproved() {\n require(\n msg.sender == owner || isApproved[msg.sender],\n \"ProxyIdentity: Only owner or approved agent allowed\"\n );\n _;\n }\n\n modifier tokenPayable {\n if (!__isTokenFallback)\n revert(\"Method can be invoked only as part of ERC223 transfer\");\n _;\n }\n\n function sendTransaction(\n bytes memory _data,\n address to,\n uint256 value\n ) public payable _owner() {\n require(_sendTransaction(_data, to, value), \"Can't send transaction\");\n }\n\n function sendSignedTransaction(\n bytes memory data,\n address to,\n uint8 v,\n bytes32 r,\n bytes32 s,\n uint256 value,\n uint256 nonce\n ) public payable {\n bytes32 digest = keccak256(abi.encode(data, to, value, nonce));\n require(digests[digest] == false, \"This transaction has already been sent\");\n digests[digest] = true;\n bytes32 hash = keccak256(\n abi.encodePacked(\"\\x19Ethereum Signed Message:\\n32\", digest)\n );\n address signer = ecrecover(hash, v, r, s);\n require(\n signer == owner,\n \"Signature is not valid\"\n );\n require(_sendTransaction(data, to, value), \"Can't send transaction\");\n }\n\n function addDelegate(address delegate) public _owner() {\n _addDelegate(delegate);\n }\n\n function revokeDelegate(address delegate) public _owner() {\n IERC1056(erc1056).revokeDelegate(address(this), \"sigAuth\", delegate);\n }\n\n function changeOwner(address newOwner) public isOwnerOrApproved {\n owner = newOwner;\n }\n\n function addApprovedAgent(address agent) public isOwnerOrApproved {\n isApproved[agent] = true;\n ERC1155Multiproxy(erc1155).setApprovalForAll(agent, true);\n }\n\n function removeApprovedAgent(address agent) public isOwnerOrApproved {\n isApproved[agent] = false;\n ERC1155Multiproxy(erc1155).setApprovalForAll(agent, false);\n }\n\n function uri() public view returns (string memory) {\n return ERC1155Multiproxy(erc1155).uri(id);\n }\n\n function updateUri(string memory _uri) public {\n ERC1155Multiproxy(erc1155).updateUri(id, _uri);\n }\n\n function onERC1155Received(\n address _operator,\n address _from,\n uint256 _id,\n uint256 _value,\n bytes calldata _data\n ) external returns (bytes4) {\n return ERC1155_ACCEPTED;\n }\n\n function onERC1155BatchReceived(\n address _operator,\n address _from,\n uint256[] calldata _ids,\n uint256[] calldata _values,\n bytes calldata _data\n ) external returns (bytes4) {\n return ERC1155_BATCH_ACCEPTED;\n }\n\n function _sendTransaction(\n bytes memory _data,\n address to,\n uint256 value\n ) internal returns (bool success) {\n bytes memory data = _data;\n uint256 len = data.length;\n // solium-disable-next-line security/no-inline-assembly\n assembly {\n success := call(gas, to, value, add(data, 0x20), len, 0, 0)\n }\n emit TransactionSent(_data, to, value);\n }\n\n function _addDelegate(address delegate) internal {\n IERC1056(erc1056).addDelegate(\n address(this),\n \"sigAuth\",\n delegate,\n defaultValidity\n );\n }\n\n /**\n * INTERFACE_SIGNATURE_ERC165 = bytes4(keccak256(\"supportsInterface(bytes4)\"));\n */\n bytes4 private constant INTERFACE_SIGNATURE_ERC165 = 0x01ffc9a7;\n\n /**\n * bytes4(keccak256(\"onERC1155Received(address,address,uint256,uint256,bytes)\"))^bytes4(keccak256(\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\"))\n */\n bytes4 private constant INTERFACE_SIGNATURE_ERC1155TOKENRECEIVER = 0x4e2312e0;\n\n /**\n * @notice Query if a contract implements an interface\n * @param _interfaceID The interface identifier, as specified in ERC-165\n * @return `true` if the contract implements `_interfaceID` and\n */\n function supportsInterface(bytes4 _interfaceID) external view returns (bool) {\n if (\n _interfaceID == INTERFACE_SIGNATURE_ERC165 ||\n _interfaceID == INTERFACE_SIGNATURE_ERC1155TOKENRECEIVER\n ) {\n return true;\n }\n return false;\n }\n\n event CallbackOnTransfer(bytes data, bool success, address sender);\n\n function tokenFallback(\n address _sender,\n address _origin,\n uint256 _value,\n bytes memory _data\n ) public returns (bool) {\n if (!supportsToken(msg.sender)) return false;\n __isTokenFallback = true;\n // solium-disable-next-line security/no-low-level-calls\n (bool success, ) = address(this).delegatecall(_data);\n __isTokenFallback = false;\n emit CallbackOnTransfer(_data, success, msg.sender);\n return success;\n }\n\n function getSig(bytes memory _data) private pure returns (bytes4 sig) {\n uint256 l = _data.length < 4 ? _data.length : 4;\n for (uint256 i = 0; i < l; i++) {\n sig = bytes4(\n uint32(uint32(sig) + uint8(_data[i]) * (2**(8 * (l - 1 - i))))\n );\n }\n }\n\n function supportsToken(address token) public pure returns (bool) {\n return true;\n }\n\n function() external payable {}\n}\n", - "sourcePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/proxyIdentity.sol", - "ast": { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/proxyIdentity.sol", - "exportedSymbols": { - "IERC1056": [ - 216 - ], - "ProxyIdentity": [ - 839 - ] - }, - "id": 840, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 189, - "literals": [ - "solidity", - "^", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:23:3" - }, - { - "absolutePath": "multi-token-standard/contracts/interfaces/IERC165.sol", - "file": "multi-token-standard/contracts/interfaces/IERC165.sol", - "id": 190, - "nodeType": "ImportDirective", - "scope": 840, - "sourceUnit": 2419, - "src": "25:63:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "multi-token-standard/contracts/interfaces/IERC1155.sol", - "file": "multi-token-standard/contracts/interfaces/IERC1155.sol", - "id": 191, - "nodeType": "ImportDirective", - "scope": 840, - "sourceUnit": 2367, - "src": "89:64:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "multi-token-standard/contracts/interfaces/IERC1155TokenReceiver.sol", - "file": "multi-token-standard/contracts/interfaces/IERC1155TokenReceiver.sol", - "id": 192, - "nodeType": "ImportDirective", - "scope": 840, - "sourceUnit": 2409, - "src": "154:77:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223Receiver.sol", - "file": "./interfaces/IERC223Receiver.sol", - "id": 193, - "nodeType": "ImportDirective", - "scope": 840, - "sourceUnit": 44, - "src": "232:42:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223.sol", - "file": "./interfaces/IERC223.sol", - "id": 194, - "nodeType": "ImportDirective", - "scope": 840, - "sourceUnit": 28, - "src": "275:34:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/tokens/ERC1155Multiproxy.sol", - "file": "./tokens/ERC1155Multiproxy.sol", - "id": 195, - "nodeType": "ImportDirective", - "scope": 840, - "sourceUnit": 1184, - "src": "310:40:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 216, - "linearizedBaseContracts": [ - 216 - ], - "name": "IERC1056", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 206, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "addDelegate", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 204, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 197, - "name": "identity", - "nodeType": "VariableDeclaration", - "scope": 206, - "src": "401:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 196, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "401:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 199, - "name": "delegateType", - "nodeType": "VariableDeclaration", - "scope": 206, - "src": "423:20:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 198, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "423:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 201, - "name": "delegate", - "nodeType": "VariableDeclaration", - "scope": 206, - "src": "449:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 200, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "449:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 203, - "name": "validity", - "nodeType": "VariableDeclaration", - "scope": 206, - "src": "471:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 202, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "471:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "395:96:3" - }, - "returnParameters": { - "id": 205, - "nodeType": "ParameterList", - "parameters": [], - "src": "500:0:3" - }, - "scope": 216, - "src": "375:126:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 215, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "revokeDelegate", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 213, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 208, - "name": "identity", - "nodeType": "VariableDeclaration", - "scope": 215, - "src": "534:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 207, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "534:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 210, - "name": "delegateType", - "nodeType": "VariableDeclaration", - "scope": 215, - "src": "556:20:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 209, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "556:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 212, - "name": "delegate", - "nodeType": "VariableDeclaration", - "scope": 215, - "src": "582:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 211, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "582:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "528:74:3" - }, - "returnParameters": { - "id": 214, - "nodeType": "ParameterList", - "parameters": [], - "src": "611:0:3" - }, - "scope": 216, - "src": "505:107:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - } - ], - "scope": 840, - "src": "352:262:3" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 217, - "name": "IERC1155TokenReceiver", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2408, - "src": "642:21:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC1155TokenReceiver_$2408", - "typeString": "contract IERC1155TokenReceiver" - } - }, - "id": 218, - "nodeType": "InheritanceSpecifier", - "src": "642:21:3" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 219, - "name": "IERC165", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2418, - "src": "665:7:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC165_$2418", - "typeString": "contract IERC165" - } - }, - "id": 220, - "nodeType": "InheritanceSpecifier", - "src": "665:7:3" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 221, - "name": "IERC223Receiver", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 43, - "src": "674:15:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC223Receiver_$43", - "typeString": "contract IERC223Receiver" - } - }, - "id": 222, - "nodeType": "InheritanceSpecifier", - "src": "674:15:3" - } - ], - "contractDependencies": [ - 43, - 2408, - 2418 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 839, - "linearizedBaseContracts": [ - 839, - 43, - 2418, - 2408 - ], - "name": "ProxyIdentity", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 224, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "694:20:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 223, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "694:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 226, - "name": "creator", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "718:22:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 225, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "718:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 229, - "name": "agents", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "744:23:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 227, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "744:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 228, - "length": null, - "nodeType": "ArrayTypeName", - "src": "744:9:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 231, - "name": "erc1056", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "771:22:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 230, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "771:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 233, - "name": "erc1155", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "797:22:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 232, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "797:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 240, - "name": "defaultValidity", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "823:36:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 234, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "823:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1", - "typeString": "int_const 1157...(70 digits omitted)...9935" - }, - "id": 239, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639936_by_1", - "typeString": "int_const 1157...(70 digits omitted)...9936" - }, - "id": 237, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 235, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "849:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "323536", - "id": 236, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "852:3:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_256_by_1", - "typeString": "int_const 256" - }, - "value": "256" - }, - "src": "849:6:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639936_by_1", - "typeString": "int_const 1157...(70 digits omitted)...9936" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 238, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "858:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "849:10:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1", - "typeString": "int_const 1157...(70 digits omitted)...9935" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 244, - "name": "digests", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "863:32:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", - "typeString": "mapping(bytes32 => bool)" - }, - "typeName": { - "id": 243, - "keyType": { - "id": 241, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "871:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Mapping", - "src": "863:24:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", - "typeString": "mapping(bytes32 => bool)" - }, - "valueType": { - "id": 242, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "882:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": true, - "id": 247, - "name": "ERC1155_ACCEPTED", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "899:54:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 245, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "899:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30786632336136653631", - "id": 246, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "943:10:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4063915617_by_1", - "typeString": "int_const 4063915617" - }, - "value": "0xf23a6e61" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 250, - "name": "ERC1155_BATCH_ACCEPTED", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "957:60:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 248, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "957:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30786263313937633831", - "id": 249, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1007:10:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3155786881_by_1", - "typeString": "int_const 3155786881" - }, - "value": "0xbc197c81" - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 252, - "name": "tkn", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "1021:7:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Tkn_$275_storage", - "typeString": "struct ProxyIdentity.Tkn" - }, - "typeName": { - "contractScope": null, - "id": 251, - "name": "Tkn", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 275, - "src": "1021:3:3", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Tkn_$275_storage_ptr", - "typeString": "struct ProxyIdentity.Tkn" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 254, - "name": "__isTokenFallback", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "1032:22:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 253, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1032:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 256, - "name": "serial", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "1058:20:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 255, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1058:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 258, - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "1082:17:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 257, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1082:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 262, - "name": "isApproved", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "1103:42:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "typeName": { - "id": 261, - "keyType": { - "id": 259, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1111:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1103:24:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueType": { - "id": 260, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1122:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "canonicalName": "ProxyIdentity.Tkn", - "id": 275, - "members": [ - { - "constant": false, - "id": 264, - "name": "addr", - "nodeType": "VariableDeclaration", - "scope": 275, - "src": "1167:12:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 263, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1167:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 266, - "name": "sender", - "nodeType": "VariableDeclaration", - "scope": 275, - "src": "1185:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 265, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1185:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 268, - "name": "origin", - "nodeType": "VariableDeclaration", - "scope": 275, - "src": "1205:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 267, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1205:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 270, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 275, - "src": "1225:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 269, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1225:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 272, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 275, - "src": "1244:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 271, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1244:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 274, - "name": "sig", - "nodeType": "VariableDeclaration", - "scope": 275, - "src": "1260:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 273, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "1260:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Tkn", - "nodeType": "StructDefinition", - "scope": 839, - "src": "1150:125:3", - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 283, - "name": "TransactionSent", - "nodeType": "EventDefinition", - "parameters": { - "id": 282, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 277, - "indexed": false, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 283, - "src": "1301:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 276, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1301:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 279, - "indexed": false, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 283, - "src": "1313:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 278, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1313:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 281, - "indexed": false, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 283, - "src": "1325:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 280, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1325:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1300:39:3" - }, - "src": "1279:61:3" - }, - { - "anonymous": false, - "documentation": null, - "id": 287, - "name": "ApprovedAgentAdded", - "nodeType": "EventDefinition", - "parameters": { - "id": 286, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 285, - "indexed": false, - "name": "agent", - "nodeType": "VariableDeclaration", - "scope": 287, - "src": "1368:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 284, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1368:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1367:15:3" - }, - "src": "1343:40:3" - }, - { - "anonymous": false, - "documentation": null, - "id": 291, - "name": "ApprovedAgentRemoved", - "nodeType": "EventDefinition", - "parameters": { - "id": 290, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 289, - "indexed": false, - "name": "agent", - "nodeType": "VariableDeclaration", - "scope": 291, - "src": "1413:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 288, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1413:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1412:15:3" - }, - "src": "1386:42:3" - }, - { - "body": { - "id": 341, - "nodeType": "Block", - "src": "1548:242:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 304, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 302, - "name": "erc1056", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 231, - "src": "1554:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 303, - "name": "_erc1056", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 293, - "src": "1564:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1554:18:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 305, - "nodeType": "ExpressionStatement", - "src": "1554:18:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 306, - "name": "erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 233, - "src": "1578:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 307, - "name": "_erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 295, - "src": "1588:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1578:18:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 309, - "nodeType": "ExpressionStatement", - "src": "1578:18:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 310, - "name": "serial", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 256, - "src": "1602:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 311, - "name": "_serial", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 297, - "src": "1611:7:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "1602:16:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 313, - "nodeType": "ExpressionStatement", - "src": "1602:16:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 316, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 314, - "name": "creator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 226, - "src": "1624:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 315, - "name": "_creator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 299, - "src": "1634:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1624:18:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 317, - "nodeType": "ExpressionStatement", - "src": "1624:18:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 320, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 318, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 224, - "src": "1648:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 319, - "name": "_creator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 299, - "src": "1656:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1648:16:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 321, - "nodeType": "ExpressionStatement", - "src": "1648:16:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 328, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 322, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 258, - "src": "1670:2:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 324, - "name": "_erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 295, - "src": "1693:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 323, - "name": "ERC1155Multiproxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1183, - "src": "1675:17:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC1155Multiproxy_$1183_$", - "typeString": "type(contract ERC1155Multiproxy)" - } - }, - "id": 325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1675:27:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1155Multiproxy_$1183", - "typeString": "contract ERC1155Multiproxy" - } - }, - "id": 326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "tokenCount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1103, - "src": "1675:38:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 327, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1675:40:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1670:45:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 329, - "nodeType": "ExpressionStatement", - "src": "1670:45:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 334, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 258, - "src": "1754:2:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 331, - "name": "_erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 295, - "src": "1739:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 330, - "name": "ERC1155Multiproxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1183, - "src": "1721:17:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC1155Multiproxy_$1183_$", - "typeString": "type(contract ERC1155Multiproxy)" - } - }, - "id": 332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1721:27:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1155Multiproxy_$1183", - "typeString": "contract ERC1155Multiproxy" - } - }, - "id": 333, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mint", - "nodeType": "MemberAccess", - "referencedDeclaration": 1173, - "src": "1721:32:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256) external" - } - }, - "id": 335, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1721:36:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 336, - "nodeType": "ExpressionStatement", - "src": "1721:36:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 338, - "name": "_creator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 299, - "src": "1776:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 337, - "name": "_addDelegate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 681, - "src": "1763:12:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 339, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1763:22:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 340, - "nodeType": "ExpressionStatement", - "src": "1763:22:3" - } - ] - }, - "documentation": null, - "id": 342, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 300, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 293, - "name": "_erc1056", - "nodeType": "VariableDeclaration", - "scope": 342, - "src": "1449:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 292, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1449:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 295, - "name": "_erc1155", - "nodeType": "VariableDeclaration", - "scope": 342, - "src": "1471:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 294, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1471:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 297, - "name": "_serial", - "nodeType": "VariableDeclaration", - "scope": 342, - "src": "1493:21:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 296, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1493:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 299, - "name": "_creator", - "nodeType": "VariableDeclaration", - "scope": 342, - "src": "1520:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 298, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1520:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1443:97:3" - }, - "returnParameters": { - "id": 301, - "nodeType": "ParameterList", - "parameters": [], - "src": "1548:0:3" - }, - "scope": 839, - "src": "1432:358:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 353, - "nodeType": "Block", - "src": "1812:68:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 348, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 345, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "1826:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 346, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1826:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 347, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 224, - "src": "1840:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1826:19:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4f6e6c79206f776e657220616c6c6f776564", - "id": 349, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1847:20:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_723fda17fb30a6cc7e06a9af2db3699db1a079268819efeab370ce8cb87b0282", - "typeString": "literal_string \"Only owner allowed\"" - }, - "value": "Only owner allowed" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_723fda17fb30a6cc7e06a9af2db3699db1a079268819efeab370ce8cb87b0282", - "typeString": "literal_string \"Only owner allowed\"" - } - ], - "id": 344, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3537, - 3538 - ], - "referencedDeclaration": 3538, - "src": "1818:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 350, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1818:50:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 351, - "nodeType": "ExpressionStatement", - "src": "1818:50:3" - }, - { - "id": 352, - "nodeType": "PlaceholderStatement", - "src": "1874:1:3" - } - ] - }, - "documentation": null, - "id": 354, - "name": "_owner", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 343, - "nodeType": "ParameterList", - "parameters": [], - "src": "1809:2:3" - }, - "src": "1794:86:3", - "visibility": "internal" - }, - { - "body": { - "id": 370, - "nodeType": "Block", - "src": "1913:145:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 365, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 360, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 357, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "1934:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1934:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 359, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 224, - "src": "1948:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1934:19:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 361, - "name": "isApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 262, - "src": "1957:10:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 364, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 362, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "1968:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 363, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1968:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1957:22:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1934:45:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "50726f78794964656e746974793a204f6e6c79206f776e6572206f7220617070726f766564206167656e7420616c6c6f776564", - "id": 366, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1987:53:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_fb31c564d39675dc395a6ca60b6e542c97a6166c5338331df279cbb9b7f5f005", - "typeString": "literal_string \"ProxyIdentity: Only owner or approved agent allowed\"" - }, - "value": "ProxyIdentity: Only owner or approved agent allowed" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_fb31c564d39675dc395a6ca60b6e542c97a6166c5338331df279cbb9b7f5f005", - "typeString": "literal_string \"ProxyIdentity: Only owner or approved agent allowed\"" - } - ], - "id": 356, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3537, - 3538 - ], - "referencedDeclaration": 3538, - "src": "1919:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 367, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1919:127:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 368, - "nodeType": "ExpressionStatement", - "src": "1919:127:3" - }, - { - "id": 369, - "nodeType": "PlaceholderStatement", - "src": "2052:1:3" - } - ] - }, - "documentation": null, - "id": 371, - "name": "isOwnerOrApproved", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 355, - "nodeType": "ParameterList", - "parameters": [], - "src": "1910:2:3" - }, - "src": "1884:174:3", - "visibility": "internal" - }, - { - "body": { - "id": 381, - "nodeType": "Block", - "src": "2084:111:3", - "statements": [ - { - "condition": { - "argumentTypes": null, - "id": 374, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "2094:18:3", - "subExpression": { - "argumentTypes": null, - "id": 373, - "name": "__isTokenFallback", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 254, - "src": "2095:17:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 379, - "nodeType": "IfStatement", - "src": "2090:93:3", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "4d6574686f642063616e20626520696e766f6b6564206f6e6c792061732070617274206f6620455243323233207472616e73666572", - "id": 376, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2127:55:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_bdab44b41622e4e29122e51585fab9d97f7a7803f6fdfb885484a7d492c6091c", - "typeString": "literal_string \"Method can be invoked only as part of ERC223 transfer\"" - }, - "value": "Method can be invoked only as part of ERC223 transfer" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_bdab44b41622e4e29122e51585fab9d97f7a7803f6fdfb885484a7d492c6091c", - "typeString": "literal_string \"Method can be invoked only as part of ERC223 transfer\"" - } - ], - "id": 375, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3539, - 3540 - ], - "referencedDeclaration": 3540, - "src": "2120:6:3", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2120:63:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 378, - "nodeType": "ExpressionStatement", - "src": "2120:63:3" - } - }, - { - "id": 380, - "nodeType": "PlaceholderStatement", - "src": "2189:1:3" - } - ] - }, - "documentation": null, - "id": 382, - "name": "tokenPayable", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 372, - "nodeType": "ParameterList", - "parameters": [], - "src": "2084:0:3" - }, - "src": "2062:133:3", - "visibility": "internal" - }, - { - "body": { - "id": 402, - "nodeType": "Block", - "src": "2311:80:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 395, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 384, - "src": "2342:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 396, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 386, - "src": "2349:2:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 397, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 388, - "src": "2353:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 394, - "name": "_sendTransaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 663, - "src": "2325:16:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (bytes memory,address,uint256) returns (bool)" - } - }, - "id": 398, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2325:34:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "43616e27742073656e64207472616e73616374696f6e", - "id": 399, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2361:24:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7c82b7a7ee1fe54aa2b67c53cc281be9ad31a3b2b59193f0526153c6a0f4b1f5", - "typeString": "literal_string \"Can't send transaction\"" - }, - "value": "Can't send transaction" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_7c82b7a7ee1fe54aa2b67c53cc281be9ad31a3b2b59193f0526153c6a0f4b1f5", - "typeString": "literal_string \"Can't send transaction\"" - } - ], - "id": 393, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3537, - 3538 - ], - "referencedDeclaration": 3538, - "src": "2317:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2317:69:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 401, - "nodeType": "ExpressionStatement", - "src": "2317:69:3" - } - ] - }, - "documentation": null, - "id": 403, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [], - "id": 391, - "modifierName": { - "argumentTypes": null, - "id": 390, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 354, - "src": "2302:6:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2302:8:3" - } - ], - "name": "sendTransaction", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 389, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 384, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 403, - "src": "2229:18:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 383, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2229:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 386, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 403, - "src": "2253:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 385, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2253:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 388, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 403, - "src": "2269:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 387, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2269:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2223:63:3" - }, - "returnParameters": { - "id": 392, - "nodeType": "ParameterList", - "parameters": [], - "src": "2311:0:3" - }, - "scope": 839, - "src": "2199:192:3", - "stateMutability": "payable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 482, - "nodeType": "Block", - "src": "2565:481:3", - "statements": [ - { - "assignments": [ - 421 - ], - "declarations": [ - { - "constant": false, - "id": 421, - "name": "digest", - "nodeType": "VariableDeclaration", - "scope": 482, - "src": "2571:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 420, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2571:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 431, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 425, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 405, - "src": "2609:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 426, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 407, - "src": "2615:2:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 427, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 415, - "src": "2619:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 428, - "name": "nonce", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 417, - "src": "2626:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 423, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3521, - "src": "2598:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 424, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2598:10:3", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 429, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2598:34:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 422, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3528, - "src": "2588:9:3", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 430, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2588:45:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2571:62:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 433, - "name": "digests", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 244, - "src": "2647:7:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", - "typeString": "mapping(bytes32 => bool)" - } - }, - "id": 435, - "indexExpression": { - "argumentTypes": null, - "id": 434, - "name": "digest", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 421, - "src": "2655:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2647:15:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 436, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2666:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "2647:24:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "54686973207472616e73616374696f6e2068617320616c7265616479206265656e2073656e74", - "id": 438, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2673:40:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_596de5951c787123d1900ef0ee539f02cc9726cd9f7754cb86c4da0f392d17e9", - "typeString": "literal_string \"This transaction has already been sent\"" - }, - "value": "This transaction has already been sent" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_596de5951c787123d1900ef0ee539f02cc9726cd9f7754cb86c4da0f392d17e9", - "typeString": "literal_string \"This transaction has already been sent\"" - } - ], - "id": 432, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3537, - 3538 - ], - "referencedDeclaration": 3538, - "src": "2639:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 439, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2639:75:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 440, - "nodeType": "ExpressionStatement", - "src": "2639:75:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 445, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 441, - "name": "digests", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 244, - "src": "2720:7:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", - "typeString": "mapping(bytes32 => bool)" - } - }, - "id": 443, - "indexExpression": { - "argumentTypes": null, - "id": 442, - "name": "digest", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 421, - "src": "2728:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2720:15:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 444, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2738:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "2720:22:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 446, - "nodeType": "ExpressionStatement", - "src": "2720:22:3" - }, - { - "assignments": [ - 448 - ], - "declarations": [ - { - "constant": false, - "id": 448, - "name": "hash", - "nodeType": "VariableDeclaration", - "scope": 482, - "src": "2748:12:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 447, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2748:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 456, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "19457468657265756d205369676e6564204d6573736167653a0a3332", - "id": 452, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2797:34:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", - "typeString": "literal_string \"\u0019Ethereum Signed Message:\n32\"" - }, - "value": "\u0019Ethereum Signed Message:\n32" - }, - { - "argumentTypes": null, - "id": 453, - "name": "digest", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 421, - "src": "2833:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", - "typeString": "literal_string \"\u0019Ethereum Signed Message:\n32\"" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 450, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3521, - "src": "2780:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 451, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2780:16:3", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2780:60:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 449, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3528, - "src": "2763:9:3", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2763:83:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2748:98:3" - }, - { - "assignments": [ - 458 - ], - "declarations": [ - { - "constant": false, - "id": 458, - "name": "signer", - "nodeType": "VariableDeclaration", - "scope": 482, - "src": "2852:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 457, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2852:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 465, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 460, - "name": "hash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 448, - "src": "2879:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 461, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 409, - "src": "2885:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "id": 462, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 411, - "src": "2888:1:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 463, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 413, - "src": "2891:1:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 459, - "name": "ecrecover", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3526, - "src": "2869:9:3", - "typeDescriptions": { - "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" - } - }, - "id": 464, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2869:24:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2852:41:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 467, - "name": "signer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 458, - "src": "2914:6:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 468, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 224, - "src": "2924:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2914:15:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5369676e6174757265206973206e6f742076616c6964", - "id": 470, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2937:24:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5482edd09fd5040631ef4b51e73f53323e29bc91c9d64b969ac54702b05cf16b", - "typeString": "literal_string \"Signature is not valid\"" - }, - "value": "Signature is not valid" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_5482edd09fd5040631ef4b51e73f53323e29bc91c9d64b969ac54702b05cf16b", - "typeString": "literal_string \"Signature is not valid\"" - } - ], - "id": 466, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3537, - 3538 - ], - "referencedDeclaration": 3538, - "src": "2899:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 471, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2899:68:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 472, - "nodeType": "ExpressionStatement", - "src": "2899:68:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 475, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 405, - "src": "2998:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 476, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 407, - "src": "3004:2:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 477, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 415, - "src": "3008:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 474, - "name": "_sendTransaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 663, - "src": "2981:16:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (bytes memory,address,uint256) returns (bool)" - } - }, - "id": 478, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2981:33:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "43616e27742073656e64207472616e73616374696f6e", - "id": 479, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3016:24:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7c82b7a7ee1fe54aa2b67c53cc281be9ad31a3b2b59193f0526153c6a0f4b1f5", - "typeString": "literal_string \"Can't send transaction\"" - }, - "value": "Can't send transaction" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_7c82b7a7ee1fe54aa2b67c53cc281be9ad31a3b2b59193f0526153c6a0f4b1f5", - "typeString": "literal_string \"Can't send transaction\"" - } - ], - "id": 473, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3537, - 3538 - ], - "referencedDeclaration": 3538, - "src": "2973:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2973:68:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 481, - "nodeType": "ExpressionStatement", - "src": "2973:68:3" - } - ] - }, - "documentation": null, - "id": 483, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sendSignedTransaction", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 418, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 405, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 483, - "src": "2431:17:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 404, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2431:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 407, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 483, - "src": "2454:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 406, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2454:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 409, - "name": "v", - "nodeType": "VariableDeclaration", - "scope": 483, - "src": "2470:7:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 408, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "2470:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 411, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 483, - "src": "2483:9:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 410, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2483:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 413, - "name": "s", - "nodeType": "VariableDeclaration", - "scope": 483, - "src": "2498:9:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 412, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2498:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 415, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 483, - "src": "2513:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 414, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2513:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 417, - "name": "nonce", - "nodeType": "VariableDeclaration", - "scope": 483, - "src": "2532:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 416, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2532:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2425:124:3" - }, - "returnParameters": { - "id": 419, - "nodeType": "ParameterList", - "parameters": [], - "src": "2565:0:3" - }, - "scope": 839, - "src": "2395:651:3", - "stateMutability": "payable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 494, - "nodeType": "Block", - "src": "3105:33:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 491, - "name": "delegate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 485, - "src": "3124:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 490, - "name": "_addDelegate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 681, - "src": "3111:12:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 492, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3111:22:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 493, - "nodeType": "ExpressionStatement", - "src": "3111:22:3" - } - ] - }, - "documentation": null, - "id": 495, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [], - "id": 488, - "modifierName": { - "argumentTypes": null, - "id": 487, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 354, - "src": "3096:6:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3096:8:3" - } - ], - "name": "addDelegate", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 486, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 485, - "name": "delegate", - "nodeType": "VariableDeclaration", - "scope": 495, - "src": "3071:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 484, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3071:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3070:18:3" - }, - "returnParameters": { - "id": 489, - "nodeType": "ParameterList", - "parameters": [], - "src": "3105:0:3" - }, - "scope": 839, - "src": "3050:88:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 513, - "nodeType": "Block", - "src": "3200:79:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 507, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3574, - "src": "3247:4:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - ], - "id": 506, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3239:7:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3239:13:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "hexValue": "73696741757468", - "id": 509, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3254:9:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e4ca3c59c7ff0162c35b0197dbc171846ff35d18a9f84431b59187ac80ada47f", - "typeString": "literal_string \"sigAuth\"" - }, - "value": "sigAuth" - }, - { - "argumentTypes": null, - "id": 510, - "name": "delegate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 497, - "src": "3265:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_stringliteral_e4ca3c59c7ff0162c35b0197dbc171846ff35d18a9f84431b59187ac80ada47f", - "typeString": "literal_string \"sigAuth\"" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 503, - "name": "erc1056", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 231, - "src": "3215:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 502, - "name": "IERC1056", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 216, - "src": "3206:8:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC1056_$216_$", - "typeString": "type(contract IERC1056)" - } - }, - "id": 504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3206:17:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC1056_$216", - "typeString": "contract IERC1056" - } - }, - "id": 505, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "revokeDelegate", - "nodeType": "MemberAccess", - "referencedDeclaration": 215, - "src": "3206:32:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,bytes32,address) external" - } - }, - "id": 511, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3206:68:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 512, - "nodeType": "ExpressionStatement", - "src": "3206:68:3" - } - ] - }, - "documentation": null, - "id": 514, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [], - "id": 500, - "modifierName": { - "argumentTypes": null, - "id": 499, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 354, - "src": "3191:6:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3191:8:3" - } - ], - "name": "revokeDelegate", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 498, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 497, - "name": "delegate", - "nodeType": "VariableDeclaration", - "scope": 514, - "src": "3166:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 496, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3166:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3165:18:3" - }, - "returnParameters": { - "id": 501, - "nodeType": "ParameterList", - "parameters": [], - "src": "3200:0:3" - }, - "scope": 839, - "src": "3142:137:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 525, - "nodeType": "Block", - "src": "3347:27:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 523, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 521, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 224, - "src": "3353:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 522, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 516, - "src": "3361:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3353:16:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 524, - "nodeType": "ExpressionStatement", - "src": "3353:16:3" - } - ] - }, - "documentation": null, - "id": 526, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 519, - "modifierName": { - "argumentTypes": null, - "id": 518, - "name": "isOwnerOrApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 371, - "src": "3329:17:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3329:17:3" - } - ], - "name": "changeOwner", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 517, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 516, - "name": "newOwner", - "nodeType": "VariableDeclaration", - "scope": 526, - "src": "3304:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 515, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3304:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3303:18:3" - }, - "returnParameters": { - "id": 520, - "nodeType": "ParameterList", - "parameters": [], - "src": "3347:0:3" - }, - "scope": 839, - "src": "3283:91:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 547, - "nodeType": "Block", - "src": "3444:98:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 537, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 533, - "name": "isApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 262, - "src": "3450:10:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 535, - "indexExpression": { - "argumentTypes": null, - "id": 534, - "name": "agent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 528, - "src": "3461:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3450:17:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 536, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3470:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "3450:24:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 538, - "nodeType": "ExpressionStatement", - "src": "3450:24:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 543, - "name": "agent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 528, - "src": "3525:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 544, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3532:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 540, - "name": "erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 233, - "src": "3498:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 539, - "name": "ERC1155Multiproxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1183, - "src": "3480:17:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC1155Multiproxy_$1183_$", - "typeString": "type(contract ERC1155Multiproxy)" - } - }, - "id": 541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3480:26:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1155Multiproxy_$1183", - "typeString": "contract ERC1155Multiproxy" - } - }, - "id": 542, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setApprovalForAll", - "nodeType": "MemberAccess", - "referencedDeclaration": 2823, - "src": "3480:44:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bool_$returns$__$", - "typeString": "function (address,bool) external" - } - }, - "id": 545, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3480:57:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 546, - "nodeType": "ExpressionStatement", - "src": "3480:57:3" - } - ] - }, - "documentation": null, - "id": 548, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 531, - "modifierName": { - "argumentTypes": null, - "id": 530, - "name": "isOwnerOrApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 371, - "src": "3426:17:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3426:17:3" - } - ], - "name": "addApprovedAgent", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 529, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 528, - "name": "agent", - "nodeType": "VariableDeclaration", - "scope": 548, - "src": "3404:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 527, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3404:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3403:15:3" - }, - "returnParameters": { - "id": 532, - "nodeType": "ParameterList", - "parameters": [], - "src": "3444:0:3" - }, - "scope": 839, - "src": "3378:164:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 569, - "nodeType": "Block", - "src": "3615:100:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 555, - "name": "isApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 262, - "src": "3621:10:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 557, - "indexExpression": { - "argumentTypes": null, - "id": 556, - "name": "agent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 550, - "src": "3632:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3621:17:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 558, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3641:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "3621:25:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 560, - "nodeType": "ExpressionStatement", - "src": "3621:25:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 565, - "name": "agent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 550, - "src": "3697:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 566, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3704:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 562, - "name": "erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 233, - "src": "3670:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 561, - "name": "ERC1155Multiproxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1183, - "src": "3652:17:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC1155Multiproxy_$1183_$", - "typeString": "type(contract ERC1155Multiproxy)" - } - }, - "id": 563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3652:26:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1155Multiproxy_$1183", - "typeString": "contract ERC1155Multiproxy" - } - }, - "id": 564, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setApprovalForAll", - "nodeType": "MemberAccess", - "referencedDeclaration": 2823, - "src": "3652:44:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bool_$returns$__$", - "typeString": "function (address,bool) external" - } - }, - "id": 567, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3652:58:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 568, - "nodeType": "ExpressionStatement", - "src": "3652:58:3" - } - ] - }, - "documentation": null, - "id": 570, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 553, - "modifierName": { - "argumentTypes": null, - "id": 552, - "name": "isOwnerOrApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 371, - "src": "3597:17:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3597:17:3" - } - ], - "name": "removeApprovedAgent", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 551, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 550, - "name": "agent", - "nodeType": "VariableDeclaration", - "scope": 570, - "src": "3575:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 549, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3575:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3574:15:3" - }, - "returnParameters": { - "id": 554, - "nodeType": "ParameterList", - "parameters": [], - "src": "3615:0:3" - }, - "scope": 839, - "src": "3546:169:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 582, - "nodeType": "Block", - "src": "3770:52:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 579, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 258, - "src": "3814:2:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 576, - "name": "erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 233, - "src": "3801:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 575, - "name": "ERC1155Multiproxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1183, - "src": "3783:17:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC1155Multiproxy_$1183_$", - "typeString": "type(contract ERC1155Multiproxy)" - } - }, - "id": 577, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3783:26:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1155Multiproxy_$1183", - "typeString": "contract ERC1155Multiproxy" - } - }, - "id": 578, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "uri", - "nodeType": "MemberAccess", - "referencedDeclaration": 1118, - "src": "3783:30:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_string_memory_ptr_$", - "typeString": "function (uint256) view external returns (string memory)" - } - }, - "id": 580, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3783:34:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 574, - "id": 581, - "nodeType": "Return", - "src": "3776:41:3" - } - ] - }, - "documentation": null, - "id": 583, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "uri", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 571, - "nodeType": "ParameterList", - "parameters": [], - "src": "3731:2:3" - }, - "returnParameters": { - "id": 574, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 573, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 583, - "src": "3755:13:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 572, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3755:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3754:15:3" - }, - "scope": 839, - "src": "3719:103:3", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 596, - "nodeType": "Block", - "src": "3872:57:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 592, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 258, - "src": "3915:2:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 593, - "name": "_uri", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 585, - "src": "3919:4:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 589, - "name": "erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 233, - "src": "3896:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 588, - "name": "ERC1155Multiproxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1183, - "src": "3878:17:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC1155Multiproxy_$1183_$", - "typeString": "type(contract ERC1155Multiproxy)" - } - }, - "id": 590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3878:26:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1155Multiproxy_$1183", - "typeString": "contract ERC1155Multiproxy" - } - }, - "id": 591, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "updateUri", - "nodeType": "MemberAccess", - "referencedDeclaration": 1142, - "src": "3878:36:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (uint256,string memory) external" - } - }, - "id": 594, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3878:46:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 595, - "nodeType": "ExpressionStatement", - "src": "3878:46:3" - } - ] - }, - "documentation": null, - "id": 597, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "updateUri", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 586, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 585, - "name": "_uri", - "nodeType": "VariableDeclaration", - "scope": 597, - "src": "3845:18:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 584, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3845:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3844:20:3" - }, - "returnParameters": { - "id": 587, - "nodeType": "ParameterList", - "parameters": [], - "src": "3872:0:3" - }, - "scope": 839, - "src": "3826:103:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 614, - "nodeType": "Block", - "src": "4095:34:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 612, - "name": "ERC1155_ACCEPTED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 247, - "src": "4108:16:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "functionReturnParameters": 611, - "id": 613, - "nodeType": "Return", - "src": "4101:23:3" - } - ] - }, - "documentation": null, - "id": 615, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "onERC1155Received", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 608, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 599, - "name": "_operator", - "nodeType": "VariableDeclaration", - "scope": 615, - "src": "3965:17:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 598, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3965:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 601, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 615, - "src": "3988:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 600, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3988:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 603, - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 615, - "src": "4007:11:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 602, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4007:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 605, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 615, - "src": "4024:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 604, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4024:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 607, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 615, - "src": "4044:20:3", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 606, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4044:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3959:109:3" - }, - "returnParameters": { - "id": 611, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 610, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 615, - "src": "4087:6:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 609, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "4087:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4086:8:3" - }, - "scope": 839, - "src": "3933:196:3", - "stateMutability": "nonpayable", - "superFunction": 2383, - "visibility": "external" - }, - { - "body": { - "id": 634, - "nodeType": "Block", - "src": "4324:40:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 632, - "name": "ERC1155_BATCH_ACCEPTED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 250, - "src": "4337:22:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "functionReturnParameters": 631, - "id": 633, - "nodeType": "Return", - "src": "4330:29:3" - } - ] - }, - "documentation": null, - "id": 635, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "onERC1155BatchReceived", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 628, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 617, - "name": "_operator", - "nodeType": "VariableDeclaration", - "scope": 635, - "src": "4170:17:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 616, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4170:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 619, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 635, - "src": "4193:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 618, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4193:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 622, - "name": "_ids", - "nodeType": "VariableDeclaration", - "scope": 635, - "src": "4212:23:3", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 620, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4212:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 621, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4212:9:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 625, - "name": "_values", - "nodeType": "VariableDeclaration", - "scope": 635, - "src": "4241:26:3", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 623, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4241:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 624, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4241:9:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 627, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 635, - "src": "4273:20:3", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 626, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4273:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4164:133:3" - }, - "returnParameters": { - "id": 631, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 630, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 635, - "src": "4316:6:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 629, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "4316:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4315:8:3" - }, - "scope": 839, - "src": "4133:231:3", - "stateMutability": "nonpayable", - "superFunction": 2400, - "visibility": "external" - }, - { - "body": { - "id": 662, - "nodeType": "Block", - "src": "4489:258:3", - "statements": [ - { - "assignments": [ - 647 - ], - "declarations": [ - { - "constant": false, - "id": 647, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 662, - "src": "4495:17:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 646, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4495:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 649, - "initialValue": { - "argumentTypes": null, - "id": 648, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 637, - "src": "4515:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4495:25:3" - }, - { - "assignments": [ - 651 - ], - "declarations": [ - { - "constant": false, - "id": 651, - "name": "len", - "nodeType": "VariableDeclaration", - "scope": 662, - "src": "4526:11:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 650, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4526:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 654, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 652, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 647, - "src": "4540:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 653, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4540:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4526:25:3" - }, - { - "externalReferences": [ - { - "success": { - "declaration": 644, - "isOffset": false, - "isSlot": false, - "src": "4634:7:3", - "valueSize": 1 - } - }, - { - "data": { - "declaration": 647, - "isOffset": false, - "isSlot": false, - "src": "4670:4:3", - "valueSize": 1 - } - }, - { - "to": { - "declaration": 639, - "isOffset": false, - "isSlot": false, - "src": "4655:2:3", - "valueSize": 1 - } - }, - { - "value": { - "declaration": 641, - "isOffset": false, - "isSlot": false, - "src": "4659:5:3", - "valueSize": 1 - } - }, - { - "len": { - "declaration": 651, - "isOffset": false, - "isSlot": false, - "src": "4683:3:3", - "valueSize": 1 - } - } - ], - "id": 655, - "nodeType": "InlineAssembly", - "operations": "{\n success := call(gas(), to, value, add(data, 0x20), len, 0, 0)\n}", - "src": "4617:82:3" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 657, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 637, - "src": "4725:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 658, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 639, - "src": "4732:2:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 659, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 641, - "src": "4736:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 656, - "name": "TransactionSent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 283, - "src": "4709:15:3", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (bytes memory,address,uint256)" - } - }, - "id": 660, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4709:33:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 661, - "nodeType": "EmitStatement", - "src": "4704:38:3" - } - ] - }, - "documentation": null, - "id": 663, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_sendTransaction", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 642, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 637, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 663, - "src": "4399:18:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 636, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4399:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 639, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 663, - "src": "4423:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 638, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4423:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 641, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 663, - "src": "4439:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 640, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4439:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4393:63:3" - }, - "returnParameters": { - "id": 645, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 644, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 663, - "src": "4475:12:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 643, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4475:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4474:14:3" - }, - "scope": 839, - "src": "4368:379:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 680, - "nodeType": "Block", - "src": "4800:123:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 673, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3574, - "src": "4851:4:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - ], - "id": 672, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4843:7:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 674, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4843:13:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "hexValue": "73696741757468", - "id": 675, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4864:9:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e4ca3c59c7ff0162c35b0197dbc171846ff35d18a9f84431b59187ac80ada47f", - "typeString": "literal_string \"sigAuth\"" - }, - "value": "sigAuth" - }, - { - "argumentTypes": null, - "id": 676, - "name": "delegate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 665, - "src": "4881:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 677, - "name": "defaultValidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 240, - "src": "4897:15:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_stringliteral_e4ca3c59c7ff0162c35b0197dbc171846ff35d18a9f84431b59187ac80ada47f", - "typeString": "literal_string \"sigAuth\"" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 669, - "name": "erc1056", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 231, - "src": "4815:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 668, - "name": "IERC1056", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 216, - "src": "4806:8:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC1056_$216_$", - "typeString": "type(contract IERC1056)" - } - }, - "id": 670, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4806:17:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC1056_$216", - "typeString": "contract IERC1056" - } - }, - "id": 671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "addDelegate", - "nodeType": "MemberAccess", - "referencedDeclaration": 206, - "src": "4806:29:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,bytes32,address,uint256) external" - } - }, - "id": 678, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4806:112:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 679, - "nodeType": "ExpressionStatement", - "src": "4806:112:3" - } - ] - }, - "documentation": null, - "id": 681, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_addDelegate", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 666, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 665, - "name": "delegate", - "nodeType": "VariableDeclaration", - "scope": 681, - "src": "4773:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 664, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4773:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4772:18:3" - }, - "returnParameters": { - "id": 667, - "nodeType": "ParameterList", - "parameters": [], - "src": "4800:0:3" - }, - "scope": 839, - "src": "4751:172:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "constant": true, - "id": 684, - "name": "INTERFACE_SIGNATURE_ERC165", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "5021:63:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 682, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "5021:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783031666663396137", - "id": 683, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5074:10:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_33540519_by_1", - "typeString": "int_const 33540519" - }, - "value": "0x01ffc9a7" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 687, - "name": "INTERFACE_SIGNATURE_ERC1155TOKENRECEIVER", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "5271:77:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 685, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "5271:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783465323331326530", - "id": 686, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5338:10:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1310921440_by_1", - "typeString": "int_const 1310921440" - }, - "value": "0x4e2312e0" - }, - "visibility": "private" - }, - { - "body": { - "id": 707, - "nodeType": "Block", - "src": "5641:180:3", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 700, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 696, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 694, - "name": "_interfaceID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 689, - "src": "5658:12:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 695, - "name": "INTERFACE_SIGNATURE_ERC165", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 684, - "src": "5674:26:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "5658:42:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 699, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 697, - "name": "_interfaceID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 689, - "src": "5710:12:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 698, - "name": "INTERFACE_SIGNATURE_ERC1155TOKENRECEIVER", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 687, - "src": "5726:40:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "5710:56:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "5658:108:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 704, - "nodeType": "IfStatement", - "src": "5647:152:3", - "trueBody": { - "id": 703, - "nodeType": "Block", - "src": "5773:26:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 701, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5788:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 693, - "id": 702, - "nodeType": "Return", - "src": "5781:11:3" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 705, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5811:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 693, - "id": 706, - "nodeType": "Return", - "src": "5804:12:3" - } - ] - }, - "documentation": "@notice Query if a contract implements an interface\n@param _interfaceID The interface identifier, as specified in ERC-165\n@return `true` if the contract implements `_interfaceID` and", - "id": 708, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "supportsInterface", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 690, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 689, - "name": "_interfaceID", - "nodeType": "VariableDeclaration", - "scope": 708, - "src": "5591:19:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 688, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "5591:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5590:21:3" - }, - "returnParameters": { - "id": 693, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 692, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 708, - "src": "5635:4:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 691, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5635:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5634:6:3" - }, - "scope": 839, - "src": "5564:257:3", - "stateMutability": "view", - "superFunction": 2417, - "visibility": "external" - }, - { - "anonymous": false, - "documentation": null, - "id": 716, - "name": "CallbackOnTransfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 715, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 710, - "indexed": false, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 716, - "src": "5850:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 709, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5850:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 712, - "indexed": false, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 716, - "src": "5862:12:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 711, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5862:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 714, - "indexed": false, - "name": "sender", - "nodeType": "VariableDeclaration", - "scope": 716, - "src": "5876:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 713, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5876:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5849:42:3" - }, - "src": "5825:67:3" - }, - { - "body": { - "id": 763, - "nodeType": "Block", - "src": "6031:311:3", - "statements": [ - { - "condition": { - "argumentTypes": null, - "id": 733, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "6041:26:3", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 730, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "6056:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 731, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6056:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 729, - "name": "supportsToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 834, - "src": "6042:13:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_bool_$", - "typeString": "function (address) pure returns (bool)" - } - }, - "id": 732, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6042:25:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 736, - "nodeType": "IfStatement", - "src": "6037:44:3", - "trueBody": { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 734, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6076:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 728, - "id": 735, - "nodeType": "Return", - "src": "6069:12:3" - } - }, - { - "expression": { - "argumentTypes": null, - "id": 739, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 737, - "name": "__isTokenFallback", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 254, - "src": "6087:17:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 738, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6107:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "6087:24:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 740, - "nodeType": "ExpressionStatement", - "src": "6087:24:3" - }, - { - "assignments": [ - 742, - null - ], - "declarations": [ - { - "constant": false, - "id": 742, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 763, - "src": "6178:12:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 741, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6178:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 749, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 747, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 724, - "src": "6223:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 744, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3574, - "src": "6204:4:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - ], - "id": 743, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6196:7:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 745, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6196:13:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 746, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "delegatecall", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6196:26:3", - "typeDescriptions": { - "typeIdentifier": "t_function_baredelegatecall_nonpayable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) returns (bool,bytes memory)" - } - }, - "id": 748, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6196:33:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6177:52:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 752, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 750, - "name": "__isTokenFallback", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 254, - "src": "6235:17:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 751, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6255:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "6235:25:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 753, - "nodeType": "ExpressionStatement", - "src": "6235:25:3" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 755, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 724, - "src": "6290:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 756, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 742, - "src": "6297:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 757, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "6306:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6306:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 754, - "name": "CallbackOnTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 716, - "src": "6271:18:3", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes_memory_ptr_$_t_bool_$_t_address_$returns$__$", - "typeString": "function (bytes memory,bool,address)" - } - }, - "id": 759, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6271:46:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 760, - "nodeType": "EmitStatement", - "src": "6266:51:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 761, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 742, - "src": "6330:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 728, - "id": 762, - "nodeType": "Return", - "src": "6323:14:3" - } - ] - }, - "documentation": null, - "id": 764, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tokenFallback", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 725, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 718, - "name": "_sender", - "nodeType": "VariableDeclaration", - "scope": 764, - "src": "5924:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 717, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5924:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 720, - "name": "_origin", - "nodeType": "VariableDeclaration", - "scope": 764, - "src": "5945:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 719, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5945:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 722, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 764, - "src": "5966:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 721, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5966:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 724, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 764, - "src": "5986:18:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 723, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5986:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5918:90:3" - }, - "returnParameters": { - "id": 728, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 727, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 764, - "src": "6025:4:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 726, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6025:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6024:6:3" - }, - "scope": 839, - "src": "5896:446:3", - "stateMutability": "nonpayable", - "superFunction": 42, - "visibility": "public" - }, - { - "body": { - "id": 823, - "nodeType": "Block", - "src": "6416:202:3", - "statements": [ - { - "assignments": [ - 772 - ], - "declarations": [ - { - "constant": false, - "id": 772, - "name": "l", - "nodeType": "VariableDeclaration", - "scope": 823, - "src": "6422:9:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 771, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6422:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 781, - "initialValue": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 776, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 773, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 766, - "src": "6434:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 774, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6434:12:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "hexValue": "34", - "id": 775, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6449:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "src": "6434:16:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "hexValue": "34", - "id": 779, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6468:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "id": 780, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "6434:35:3", - "trueExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 777, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 766, - "src": "6453:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 778, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6453:12:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6422:47:3" - }, - { - "body": { - "id": 821, - "nodeType": "Block", - "src": "6507:107:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 819, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 792, - "name": "sig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 769, - "src": "6515:3:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 816, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 796, - "name": "sig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 769, - "src": "6551:3:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "id": 795, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6544:6:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint32_$", - "typeString": "type(uint32)" - }, - "typeName": "uint32" - }, - "id": 797, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6544:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 815, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 799, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 766, - "src": "6564:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 801, - "indexExpression": { - "argumentTypes": null, - "id": 800, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 783, - "src": "6570:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6564:8:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - ], - "id": 798, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6558:5:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint8_$", - "typeString": "type(uint8)" - }, - "typeName": "uint8" - }, - "id": 802, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6558:15:3", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 813, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 803, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6577:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 811, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "38", - "id": 804, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6581:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 809, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 807, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 805, - "name": "l", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 772, - "src": "6586:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 806, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6590:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "6586:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 808, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 783, - "src": "6594:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6586:9:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 810, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "6585:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6581:15:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 812, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "6580:17:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6577:20:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 814, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "6576:22:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6558:40:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6544:54:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 794, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6537:6:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint32_$", - "typeString": "type(uint32)" - }, - "typeName": "uint32" - }, - "id": 817, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6537:62:3", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - ], - "id": 793, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6521:6:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes4_$", - "typeString": "type(bytes4)" - }, - "typeName": "bytes4" - }, - "id": 818, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6521:86:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "6515:92:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "id": 820, - "nodeType": "ExpressionStatement", - "src": "6515:92:3" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 788, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 786, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 783, - "src": "6495:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 787, - "name": "l", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 772, - "src": "6499:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6495:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 822, - "initializationExpression": { - "assignments": [ - 783 - ], - "declarations": [ - { - "constant": false, - "id": 783, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 822, - "src": "6480:9:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 782, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6480:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 785, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 784, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6492:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "6480:13:3" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 790, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "6502:3:3", - "subExpression": { - "argumentTypes": null, - "id": 789, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 783, - "src": "6502:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 791, - "nodeType": "ExpressionStatement", - "src": "6502:3:3" - }, - "nodeType": "ForStatement", - "src": "6475:139:3" - } - ] - }, - "documentation": null, - "id": 824, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getSig", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 767, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 766, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 824, - "src": "6362:18:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 765, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "6362:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6361:20:3" - }, - "returnParameters": { - "id": 770, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 769, - "name": "sig", - "nodeType": "VariableDeclaration", - "scope": 824, - "src": "6404:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 768, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "6404:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6403:12:3" - }, - "scope": 839, - "src": "6346:272:3", - "stateMutability": "pure", - "superFunction": null, - "visibility": "private" - }, - { - "body": { - "id": 833, - "nodeType": "Block", - "src": "6687:22:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 831, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6700:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 830, - "id": 832, - "nodeType": "Return", - "src": "6693:11:3" - } - ] - }, - "documentation": null, - "id": 834, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "supportsToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 827, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 826, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 834, - "src": "6645:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 825, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6645:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6644:15:3" - }, - "returnParameters": { - "id": 830, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 829, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 834, - "src": "6681:4:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 828, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6681:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6680:6:3" - }, - "scope": 839, - "src": "6622:87:3", - "stateMutability": "pure", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 837, - "nodeType": "Block", - "src": "6741:2:3", - "statements": [] - }, - "documentation": null, - "id": 838, - "implemented": true, - "kind": "fallback", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 835, - "nodeType": "ParameterList", - "parameters": [], - "src": "6721:2:3" - }, - "returnParameters": { - "id": 836, - "nodeType": "ParameterList", - "parameters": [], - "src": "6741:0:3" - }, - "scope": 839, - "src": "6713:30:3", - "stateMutability": "payable", - "superFunction": null, - "visibility": "external" - } - ], - "scope": 840, - "src": "616:6129:3" - } - ], - "src": "0:6746:3" - }, - "legacyAST": { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/proxyIdentity.sol", - "exportedSymbols": { - "IERC1056": [ - 216 - ], - "ProxyIdentity": [ - 839 - ] - }, - "id": 840, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 189, - "literals": [ - "solidity", - "^", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:23:3" - }, - { - "absolutePath": "multi-token-standard/contracts/interfaces/IERC165.sol", - "file": "multi-token-standard/contracts/interfaces/IERC165.sol", - "id": 190, - "nodeType": "ImportDirective", - "scope": 840, - "sourceUnit": 2419, - "src": "25:63:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "multi-token-standard/contracts/interfaces/IERC1155.sol", - "file": "multi-token-standard/contracts/interfaces/IERC1155.sol", - "id": 191, - "nodeType": "ImportDirective", - "scope": 840, - "sourceUnit": 2367, - "src": "89:64:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "multi-token-standard/contracts/interfaces/IERC1155TokenReceiver.sol", - "file": "multi-token-standard/contracts/interfaces/IERC1155TokenReceiver.sol", - "id": 192, - "nodeType": "ImportDirective", - "scope": 840, - "sourceUnit": 2409, - "src": "154:77:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223Receiver.sol", - "file": "./interfaces/IERC223Receiver.sol", - "id": 193, - "nodeType": "ImportDirective", - "scope": 840, - "sourceUnit": 44, - "src": "232:42:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/interfaces/IERC223.sol", - "file": "./interfaces/IERC223.sol", - "id": 194, - "nodeType": "ImportDirective", - "scope": 840, - "sourceUnit": 28, - "src": "275:34:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "absolutePath": "/home/dima/Development/ew-did-registry/packages/proxyIdentity/contracts/tokens/ERC1155Multiproxy.sol", - "file": "./tokens/ERC1155Multiproxy.sol", - "id": 195, - "nodeType": "ImportDirective", - "scope": 840, - "sourceUnit": 1184, - "src": "310:40:3", - "symbolAliases": [], - "unitAlias": "" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "id": 216, - "linearizedBaseContracts": [ - 216 - ], - "name": "IERC1056", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": null, - "documentation": null, - "id": 206, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "addDelegate", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 204, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 197, - "name": "identity", - "nodeType": "VariableDeclaration", - "scope": 206, - "src": "401:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 196, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "401:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 199, - "name": "delegateType", - "nodeType": "VariableDeclaration", - "scope": 206, - "src": "423:20:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 198, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "423:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 201, - "name": "delegate", - "nodeType": "VariableDeclaration", - "scope": 206, - "src": "449:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 200, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "449:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 203, - "name": "validity", - "nodeType": "VariableDeclaration", - "scope": 206, - "src": "471:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 202, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "471:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "395:96:3" - }, - "returnParameters": { - "id": 205, - "nodeType": "ParameterList", - "parameters": [], - "src": "500:0:3" - }, - "scope": 216, - "src": "375:126:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - }, - { - "body": null, - "documentation": null, - "id": 215, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "revokeDelegate", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 213, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 208, - "name": "identity", - "nodeType": "VariableDeclaration", - "scope": 215, - "src": "534:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 207, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "534:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 210, - "name": "delegateType", - "nodeType": "VariableDeclaration", - "scope": 215, - "src": "556:20:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 209, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "556:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 212, - "name": "delegate", - "nodeType": "VariableDeclaration", - "scope": 215, - "src": "582:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 211, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "582:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "528:74:3" - }, - "returnParameters": { - "id": 214, - "nodeType": "ParameterList", - "parameters": [], - "src": "611:0:3" - }, - "scope": 216, - "src": "505:107:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "external" - } - ], - "scope": 840, - "src": "352:262:3" - }, - { - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 217, - "name": "IERC1155TokenReceiver", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2408, - "src": "642:21:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC1155TokenReceiver_$2408", - "typeString": "contract IERC1155TokenReceiver" - } - }, - "id": 218, - "nodeType": "InheritanceSpecifier", - "src": "642:21:3" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 219, - "name": "IERC165", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2418, - "src": "665:7:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC165_$2418", - "typeString": "contract IERC165" - } - }, - "id": 220, - "nodeType": "InheritanceSpecifier", - "src": "665:7:3" - }, - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 221, - "name": "IERC223Receiver", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 43, - "src": "674:15:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC223Receiver_$43", - "typeString": "contract IERC223Receiver" - } - }, - "id": 222, - "nodeType": "InheritanceSpecifier", - "src": "674:15:3" - } - ], - "contractDependencies": [ - 43, - 2408, - 2418 - ], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "id": 839, - "linearizedBaseContracts": [ - 839, - 43, - 2418, - 2408 - ], - "name": "ProxyIdentity", - "nodeType": "ContractDefinition", - "nodes": [ - { - "constant": false, - "id": 224, - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "694:20:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 223, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "694:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 226, - "name": "creator", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "718:22:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 225, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "718:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 229, - "name": "agents", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "744:23:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 227, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "744:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 228, - "length": null, - "nodeType": "ArrayTypeName", - "src": "744:9:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 231, - "name": "erc1056", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "771:22:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 230, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "771:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 233, - "name": "erc1155", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "797:22:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 232, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "797:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 240, - "name": "defaultValidity", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "823:36:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 234, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "823:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1", - "typeString": "int_const 1157...(70 digits omitted)...9935" - }, - "id": 239, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639936_by_1", - "typeString": "int_const 1157...(70 digits omitted)...9936" - }, - "id": 237, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 235, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "849:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "hexValue": "323536", - "id": 236, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "852:3:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_256_by_1", - "typeString": "int_const 256" - }, - "value": "256" - }, - "src": "849:6:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639936_by_1", - "typeString": "int_const 1157...(70 digits omitted)...9936" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 238, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "858:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "849:10:3", - "typeDescriptions": { - "typeIdentifier": "t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1", - "typeString": "int_const 1157...(70 digits omitted)...9935" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 244, - "name": "digests", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "863:32:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", - "typeString": "mapping(bytes32 => bool)" - }, - "typeName": { - "id": 243, - "keyType": { - "id": 241, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "871:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "Mapping", - "src": "863:24:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", - "typeString": "mapping(bytes32 => bool)" - }, - "valueType": { - "id": 242, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "882:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": true, - "id": 247, - "name": "ERC1155_ACCEPTED", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "899:54:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 245, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "899:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30786632336136653631", - "id": 246, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "943:10:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4063915617_by_1", - "typeString": "int_const 4063915617" - }, - "value": "0xf23a6e61" - }, - "visibility": "internal" - }, - { - "constant": true, - "id": 250, - "name": "ERC1155_BATCH_ACCEPTED", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "957:60:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 248, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "957:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30786263313937633831", - "id": 249, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1007:10:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_3155786881_by_1", - "typeString": "int_const 3155786881" - }, - "value": "0xbc197c81" - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 252, - "name": "tkn", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "1021:7:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Tkn_$275_storage", - "typeString": "struct ProxyIdentity.Tkn" - }, - "typeName": { - "contractScope": null, - "id": 251, - "name": "Tkn", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 275, - "src": "1021:3:3", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Tkn_$275_storage_ptr", - "typeString": "struct ProxyIdentity.Tkn" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 254, - "name": "__isTokenFallback", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "1032:22:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 253, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1032:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 256, - "name": "serial", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "1058:20:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 255, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1058:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 258, - "name": "id", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "1082:17:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 257, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1082:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "constant": false, - "id": 262, - "name": "isApproved", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "1103:42:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "typeName": { - "id": 261, - "keyType": { - "id": 259, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1111:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "1103:24:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueType": { - "id": 260, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "1122:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "public" - }, - { - "canonicalName": "ProxyIdentity.Tkn", - "id": 275, - "members": [ - { - "constant": false, - "id": 264, - "name": "addr", - "nodeType": "VariableDeclaration", - "scope": 275, - "src": "1167:12:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 263, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1167:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 266, - "name": "sender", - "nodeType": "VariableDeclaration", - "scope": 275, - "src": "1185:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 265, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1185:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 268, - "name": "origin", - "nodeType": "VariableDeclaration", - "scope": 275, - "src": "1205:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 267, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1205:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 270, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 275, - "src": "1225:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 269, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1225:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 272, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 275, - "src": "1244:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 271, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1244:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 274, - "name": "sig", - "nodeType": "VariableDeclaration", - "scope": 275, - "src": "1260:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 273, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "1260:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Tkn", - "nodeType": "StructDefinition", - "scope": 839, - "src": "1150:125:3", - "visibility": "public" - }, - { - "anonymous": false, - "documentation": null, - "id": 283, - "name": "TransactionSent", - "nodeType": "EventDefinition", - "parameters": { - "id": 282, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 277, - "indexed": false, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 283, - "src": "1301:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 276, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1301:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 279, - "indexed": false, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 283, - "src": "1313:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 278, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1313:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 281, - "indexed": false, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 283, - "src": "1325:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 280, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1325:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1300:39:3" - }, - "src": "1279:61:3" - }, - { - "anonymous": false, - "documentation": null, - "id": 287, - "name": "ApprovedAgentAdded", - "nodeType": "EventDefinition", - "parameters": { - "id": 286, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 285, - "indexed": false, - "name": "agent", - "nodeType": "VariableDeclaration", - "scope": 287, - "src": "1368:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 284, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1368:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1367:15:3" - }, - "src": "1343:40:3" - }, - { - "anonymous": false, - "documentation": null, - "id": 291, - "name": "ApprovedAgentRemoved", - "nodeType": "EventDefinition", - "parameters": { - "id": 290, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 289, - "indexed": false, - "name": "agent", - "nodeType": "VariableDeclaration", - "scope": 291, - "src": "1413:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 288, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1413:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1412:15:3" - }, - "src": "1386:42:3" - }, - { - "body": { - "id": 341, - "nodeType": "Block", - "src": "1548:242:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 304, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 302, - "name": "erc1056", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 231, - "src": "1554:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 303, - "name": "_erc1056", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 293, - "src": "1564:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1554:18:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 305, - "nodeType": "ExpressionStatement", - "src": "1554:18:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 308, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 306, - "name": "erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 233, - "src": "1578:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 307, - "name": "_erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 295, - "src": "1588:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1578:18:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 309, - "nodeType": "ExpressionStatement", - "src": "1578:18:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 312, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 310, - "name": "serial", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 256, - "src": "1602:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 311, - "name": "_serial", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 297, - "src": "1611:7:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "1602:16:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 313, - "nodeType": "ExpressionStatement", - "src": "1602:16:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 316, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 314, - "name": "creator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 226, - "src": "1624:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 315, - "name": "_creator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 299, - "src": "1634:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1624:18:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 317, - "nodeType": "ExpressionStatement", - "src": "1624:18:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 320, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 318, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 224, - "src": "1648:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 319, - "name": "_creator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 299, - "src": "1656:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1648:16:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 321, - "nodeType": "ExpressionStatement", - "src": "1648:16:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 328, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 322, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 258, - "src": "1670:2:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 324, - "name": "_erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 295, - "src": "1693:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 323, - "name": "ERC1155Multiproxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1183, - "src": "1675:17:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC1155Multiproxy_$1183_$", - "typeString": "type(contract ERC1155Multiproxy)" - } - }, - "id": 325, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1675:27:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1155Multiproxy_$1183", - "typeString": "contract ERC1155Multiproxy" - } - }, - "id": 326, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "tokenCount", - "nodeType": "MemberAccess", - "referencedDeclaration": 1103, - "src": "1675:38:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", - "typeString": "function () view external returns (uint256)" - } - }, - "id": 327, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1675:40:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1670:45:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 329, - "nodeType": "ExpressionStatement", - "src": "1670:45:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 334, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 258, - "src": "1754:2:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 331, - "name": "_erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 295, - "src": "1739:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 330, - "name": "ERC1155Multiproxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1183, - "src": "1721:17:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC1155Multiproxy_$1183_$", - "typeString": "type(contract ERC1155Multiproxy)" - } - }, - "id": 332, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1721:27:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1155Multiproxy_$1183", - "typeString": "contract ERC1155Multiproxy" - } - }, - "id": 333, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "mint", - "nodeType": "MemberAccess", - "referencedDeclaration": 1173, - "src": "1721:32:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$returns$__$", - "typeString": "function (uint256) external" - } - }, - "id": 335, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1721:36:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 336, - "nodeType": "ExpressionStatement", - "src": "1721:36:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 338, - "name": "_creator", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 299, - "src": "1776:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 337, - "name": "_addDelegate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 681, - "src": "1763:12:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 339, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1763:22:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 340, - "nodeType": "ExpressionStatement", - "src": "1763:22:3" - } - ] - }, - "documentation": null, - "id": 342, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 300, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 293, - "name": "_erc1056", - "nodeType": "VariableDeclaration", - "scope": 342, - "src": "1449:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 292, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1449:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 295, - "name": "_erc1155", - "nodeType": "VariableDeclaration", - "scope": 342, - "src": "1471:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 294, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1471:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 297, - "name": "_serial", - "nodeType": "VariableDeclaration", - "scope": 342, - "src": "1493:21:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 296, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1493:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 299, - "name": "_creator", - "nodeType": "VariableDeclaration", - "scope": 342, - "src": "1520:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 298, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1520:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1443:97:3" - }, - "returnParameters": { - "id": 301, - "nodeType": "ParameterList", - "parameters": [], - "src": "1548:0:3" - }, - "scope": 839, - "src": "1432:358:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 353, - "nodeType": "Block", - "src": "1812:68:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 348, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 345, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "1826:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 346, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1826:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 347, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 224, - "src": "1840:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1826:19:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4f6e6c79206f776e657220616c6c6f776564", - "id": 349, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1847:20:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_723fda17fb30a6cc7e06a9af2db3699db1a079268819efeab370ce8cb87b0282", - "typeString": "literal_string \"Only owner allowed\"" - }, - "value": "Only owner allowed" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_723fda17fb30a6cc7e06a9af2db3699db1a079268819efeab370ce8cb87b0282", - "typeString": "literal_string \"Only owner allowed\"" - } - ], - "id": 344, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3537, - 3538 - ], - "referencedDeclaration": 3538, - "src": "1818:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 350, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1818:50:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 351, - "nodeType": "ExpressionStatement", - "src": "1818:50:3" - }, - { - "id": 352, - "nodeType": "PlaceholderStatement", - "src": "1874:1:3" - } - ] - }, - "documentation": null, - "id": 354, - "name": "_owner", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 343, - "nodeType": "ParameterList", - "parameters": [], - "src": "1809:2:3" - }, - "src": "1794:86:3", - "visibility": "internal" - }, - { - "body": { - "id": 370, - "nodeType": "Block", - "src": "1913:145:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 365, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 360, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 357, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "1934:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 358, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1934:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 359, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 224, - "src": "1948:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "1934:19:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 361, - "name": "isApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 262, - "src": "1957:10:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 364, - "indexExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 362, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "1968:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 363, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1968:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1957:22:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "1934:45:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "50726f78794964656e746974793a204f6e6c79206f776e6572206f7220617070726f766564206167656e7420616c6c6f776564", - "id": 366, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1987:53:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_fb31c564d39675dc395a6ca60b6e542c97a6166c5338331df279cbb9b7f5f005", - "typeString": "literal_string \"ProxyIdentity: Only owner or approved agent allowed\"" - }, - "value": "ProxyIdentity: Only owner or approved agent allowed" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_fb31c564d39675dc395a6ca60b6e542c97a6166c5338331df279cbb9b7f5f005", - "typeString": "literal_string \"ProxyIdentity: Only owner or approved agent allowed\"" - } - ], - "id": 356, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3537, - 3538 - ], - "referencedDeclaration": 3538, - "src": "1919:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 367, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1919:127:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 368, - "nodeType": "ExpressionStatement", - "src": "1919:127:3" - }, - { - "id": 369, - "nodeType": "PlaceholderStatement", - "src": "2052:1:3" - } - ] - }, - "documentation": null, - "id": 371, - "name": "isOwnerOrApproved", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 355, - "nodeType": "ParameterList", - "parameters": [], - "src": "1910:2:3" - }, - "src": "1884:174:3", - "visibility": "internal" - }, - { - "body": { - "id": 381, - "nodeType": "Block", - "src": "2084:111:3", - "statements": [ - { - "condition": { - "argumentTypes": null, - "id": 374, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "2094:18:3", - "subExpression": { - "argumentTypes": null, - "id": 373, - "name": "__isTokenFallback", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 254, - "src": "2095:17:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 379, - "nodeType": "IfStatement", - "src": "2090:93:3", - "trueBody": { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "4d6574686f642063616e20626520696e766f6b6564206f6e6c792061732070617274206f6620455243323233207472616e73666572", - "id": 376, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2127:55:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_bdab44b41622e4e29122e51585fab9d97f7a7803f6fdfb885484a7d492c6091c", - "typeString": "literal_string \"Method can be invoked only as part of ERC223 transfer\"" - }, - "value": "Method can be invoked only as part of ERC223 transfer" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_bdab44b41622e4e29122e51585fab9d97f7a7803f6fdfb885484a7d492c6091c", - "typeString": "literal_string \"Method can be invoked only as part of ERC223 transfer\"" - } - ], - "id": 375, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3539, - 3540 - ], - "referencedDeclaration": 3540, - "src": "2120:6:3", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 377, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2120:63:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 378, - "nodeType": "ExpressionStatement", - "src": "2120:63:3" - } - }, - { - "id": 380, - "nodeType": "PlaceholderStatement", - "src": "2189:1:3" - } - ] - }, - "documentation": null, - "id": 382, - "name": "tokenPayable", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 372, - "nodeType": "ParameterList", - "parameters": [], - "src": "2084:0:3" - }, - "src": "2062:133:3", - "visibility": "internal" - }, - { - "body": { - "id": 402, - "nodeType": "Block", - "src": "2311:80:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 395, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 384, - "src": "2342:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 396, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 386, - "src": "2349:2:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 397, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 388, - "src": "2353:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 394, - "name": "_sendTransaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 663, - "src": "2325:16:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (bytes memory,address,uint256) returns (bool)" - } - }, - "id": 398, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2325:34:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "43616e27742073656e64207472616e73616374696f6e", - "id": 399, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2361:24:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7c82b7a7ee1fe54aa2b67c53cc281be9ad31a3b2b59193f0526153c6a0f4b1f5", - "typeString": "literal_string \"Can't send transaction\"" - }, - "value": "Can't send transaction" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_7c82b7a7ee1fe54aa2b67c53cc281be9ad31a3b2b59193f0526153c6a0f4b1f5", - "typeString": "literal_string \"Can't send transaction\"" - } - ], - "id": 393, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3537, - 3538 - ], - "referencedDeclaration": 3538, - "src": "2317:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 400, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2317:69:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 401, - "nodeType": "ExpressionStatement", - "src": "2317:69:3" - } - ] - }, - "documentation": null, - "id": 403, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [], - "id": 391, - "modifierName": { - "argumentTypes": null, - "id": 390, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 354, - "src": "2302:6:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2302:8:3" - } - ], - "name": "sendTransaction", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 389, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 384, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 403, - "src": "2229:18:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 383, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2229:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 386, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 403, - "src": "2253:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 385, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2253:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 388, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 403, - "src": "2269:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 387, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2269:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2223:63:3" - }, - "returnParameters": { - "id": 392, - "nodeType": "ParameterList", - "parameters": [], - "src": "2311:0:3" - }, - "scope": 839, - "src": "2199:192:3", - "stateMutability": "payable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 482, - "nodeType": "Block", - "src": "2565:481:3", - "statements": [ - { - "assignments": [ - 421 - ], - "declarations": [ - { - "constant": false, - "id": 421, - "name": "digest", - "nodeType": "VariableDeclaration", - "scope": 482, - "src": "2571:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 420, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2571:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 431, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 425, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 405, - "src": "2609:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 426, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 407, - "src": "2615:2:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 427, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 415, - "src": "2619:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 428, - "name": "nonce", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 417, - "src": "2626:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 423, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3521, - "src": "2598:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 424, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2598:10:3", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 429, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2598:34:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 422, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3528, - "src": "2588:9:3", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 430, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2588:45:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2571:62:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 433, - "name": "digests", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 244, - "src": "2647:7:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", - "typeString": "mapping(bytes32 => bool)" - } - }, - "id": 435, - "indexExpression": { - "argumentTypes": null, - "id": 434, - "name": "digest", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 421, - "src": "2655:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2647:15:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 436, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2666:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "2647:24:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "54686973207472616e73616374696f6e2068617320616c7265616479206265656e2073656e74", - "id": 438, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2673:40:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_596de5951c787123d1900ef0ee539f02cc9726cd9f7754cb86c4da0f392d17e9", - "typeString": "literal_string \"This transaction has already been sent\"" - }, - "value": "This transaction has already been sent" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_596de5951c787123d1900ef0ee539f02cc9726cd9f7754cb86c4da0f392d17e9", - "typeString": "literal_string \"This transaction has already been sent\"" - } - ], - "id": 432, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3537, - 3538 - ], - "referencedDeclaration": 3538, - "src": "2639:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 439, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2639:75:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 440, - "nodeType": "ExpressionStatement", - "src": "2639:75:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 445, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 441, - "name": "digests", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 244, - "src": "2720:7:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_bool_$", - "typeString": "mapping(bytes32 => bool)" - } - }, - "id": 443, - "indexExpression": { - "argumentTypes": null, - "id": 442, - "name": "digest", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 421, - "src": "2728:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2720:15:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 444, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2738:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "2720:22:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 446, - "nodeType": "ExpressionStatement", - "src": "2720:22:3" - }, - { - "assignments": [ - 448 - ], - "declarations": [ - { - "constant": false, - "id": 448, - "name": "hash", - "nodeType": "VariableDeclaration", - "scope": 482, - "src": "2748:12:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 447, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2748:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 456, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "19457468657265756d205369676e6564204d6573736167653a0a3332", - "id": 452, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2797:34:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", - "typeString": "literal_string \"\u0019Ethereum Signed Message:\n32\"" - }, - "value": "\u0019Ethereum Signed Message:\n32" - }, - { - "argumentTypes": null, - "id": 453, - "name": "digest", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 421, - "src": "2833:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73", - "typeString": "literal_string \"\u0019Ethereum Signed Message:\n32\"" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 450, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3521, - "src": "2780:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 451, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2780:16:3", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } - }, - "id": 454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2780:60:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 449, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3528, - "src": "2763:9:3", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 455, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2763:83:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2748:98:3" - }, - { - "assignments": [ - 458 - ], - "declarations": [ - { - "constant": false, - "id": 458, - "name": "signer", - "nodeType": "VariableDeclaration", - "scope": 482, - "src": "2852:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 457, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2852:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 465, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 460, - "name": "hash", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 448, - "src": "2879:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 461, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 409, - "src": "2885:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "id": 462, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 411, - "src": "2888:1:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 463, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 413, - "src": "2891:1:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 459, - "name": "ecrecover", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3526, - "src": "2869:9:3", - "typeDescriptions": { - "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" - } - }, - "id": 464, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2869:24:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2852:41:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 469, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 467, - "name": "signer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 458, - "src": "2914:6:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 468, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 224, - "src": "2924:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2914:15:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "5369676e6174757265206973206e6f742076616c6964", - "id": 470, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2937:24:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_5482edd09fd5040631ef4b51e73f53323e29bc91c9d64b969ac54702b05cf16b", - "typeString": "literal_string \"Signature is not valid\"" - }, - "value": "Signature is not valid" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_5482edd09fd5040631ef4b51e73f53323e29bc91c9d64b969ac54702b05cf16b", - "typeString": "literal_string \"Signature is not valid\"" - } - ], - "id": 466, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3537, - 3538 - ], - "referencedDeclaration": 3538, - "src": "2899:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 471, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2899:68:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 472, - "nodeType": "ExpressionStatement", - "src": "2899:68:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 475, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 405, - "src": "2998:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 476, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 407, - "src": "3004:2:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 477, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 415, - "src": "3008:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 474, - "name": "_sendTransaction", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 663, - "src": "2981:16:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (bytes memory,address,uint256) returns (bool)" - } - }, - "id": 478, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2981:33:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "43616e27742073656e64207472616e73616374696f6e", - "id": 479, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3016:24:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7c82b7a7ee1fe54aa2b67c53cc281be9ad31a3b2b59193f0526153c6a0f4b1f5", - "typeString": "literal_string \"Can't send transaction\"" - }, - "value": "Can't send transaction" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_7c82b7a7ee1fe54aa2b67c53cc281be9ad31a3b2b59193f0526153c6a0f4b1f5", - "typeString": "literal_string \"Can't send transaction\"" - } - ], - "id": 473, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3537, - 3538 - ], - "referencedDeclaration": 3538, - "src": "2973:7:3", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 480, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2973:68:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 481, - "nodeType": "ExpressionStatement", - "src": "2973:68:3" - } - ] - }, - "documentation": null, - "id": 483, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sendSignedTransaction", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 418, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 405, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 483, - "src": "2431:17:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 404, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2431:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 407, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 483, - "src": "2454:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 406, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2454:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 409, - "name": "v", - "nodeType": "VariableDeclaration", - "scope": 483, - "src": "2470:7:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 408, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "2470:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 411, - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 483, - "src": "2483:9:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 410, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2483:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 413, - "name": "s", - "nodeType": "VariableDeclaration", - "scope": 483, - "src": "2498:9:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 412, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2498:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 415, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 483, - "src": "2513:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 414, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2513:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 417, - "name": "nonce", - "nodeType": "VariableDeclaration", - "scope": 483, - "src": "2532:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 416, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2532:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2425:124:3" - }, - "returnParameters": { - "id": 419, - "nodeType": "ParameterList", - "parameters": [], - "src": "2565:0:3" - }, - "scope": 839, - "src": "2395:651:3", - "stateMutability": "payable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 494, - "nodeType": "Block", - "src": "3105:33:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 491, - "name": "delegate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 485, - "src": "3124:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 490, - "name": "_addDelegate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 681, - "src": "3111:12:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", - "typeString": "function (address)" - } - }, - "id": 492, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3111:22:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 493, - "nodeType": "ExpressionStatement", - "src": "3111:22:3" - } - ] - }, - "documentation": null, - "id": 495, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [], - "id": 488, - "modifierName": { - "argumentTypes": null, - "id": 487, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 354, - "src": "3096:6:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3096:8:3" - } - ], - "name": "addDelegate", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 486, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 485, - "name": "delegate", - "nodeType": "VariableDeclaration", - "scope": 495, - "src": "3071:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 484, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3071:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3070:18:3" - }, - "returnParameters": { - "id": 489, - "nodeType": "ParameterList", - "parameters": [], - "src": "3105:0:3" - }, - "scope": 839, - "src": "3050:88:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 513, - "nodeType": "Block", - "src": "3200:79:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 507, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3574, - "src": "3247:4:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - ], - "id": 506, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "3239:7:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 508, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3239:13:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "hexValue": "73696741757468", - "id": 509, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3254:9:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e4ca3c59c7ff0162c35b0197dbc171846ff35d18a9f84431b59187ac80ada47f", - "typeString": "literal_string \"sigAuth\"" - }, - "value": "sigAuth" - }, - { - "argumentTypes": null, - "id": 510, - "name": "delegate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 497, - "src": "3265:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_stringliteral_e4ca3c59c7ff0162c35b0197dbc171846ff35d18a9f84431b59187ac80ada47f", - "typeString": "literal_string \"sigAuth\"" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 503, - "name": "erc1056", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 231, - "src": "3215:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 502, - "name": "IERC1056", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 216, - "src": "3206:8:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC1056_$216_$", - "typeString": "type(contract IERC1056)" - } - }, - "id": 504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3206:17:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC1056_$216", - "typeString": "contract IERC1056" - } - }, - "id": 505, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "revokeDelegate", - "nodeType": "MemberAccess", - "referencedDeclaration": 215, - "src": "3206:32:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_address_$returns$__$", - "typeString": "function (address,bytes32,address) external" - } - }, - "id": 511, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3206:68:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 512, - "nodeType": "ExpressionStatement", - "src": "3206:68:3" - } - ] - }, - "documentation": null, - "id": 514, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [], - "id": 500, - "modifierName": { - "argumentTypes": null, - "id": 499, - "name": "_owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 354, - "src": "3191:6:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3191:8:3" - } - ], - "name": "revokeDelegate", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 498, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 497, - "name": "delegate", - "nodeType": "VariableDeclaration", - "scope": 514, - "src": "3166:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 496, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3166:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3165:18:3" - }, - "returnParameters": { - "id": 501, - "nodeType": "ParameterList", - "parameters": [], - "src": "3200:0:3" - }, - "scope": 839, - "src": "3142:137:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 525, - "nodeType": "Block", - "src": "3347:27:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 523, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 521, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 224, - "src": "3353:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 522, - "name": "newOwner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 516, - "src": "3361:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "3353:16:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 524, - "nodeType": "ExpressionStatement", - "src": "3353:16:3" - } - ] - }, - "documentation": null, - "id": 526, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 519, - "modifierName": { - "argumentTypes": null, - "id": 518, - "name": "isOwnerOrApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 371, - "src": "3329:17:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3329:17:3" - } - ], - "name": "changeOwner", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 517, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 516, - "name": "newOwner", - "nodeType": "VariableDeclaration", - "scope": 526, - "src": "3304:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 515, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3304:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3303:18:3" - }, - "returnParameters": { - "id": 520, - "nodeType": "ParameterList", - "parameters": [], - "src": "3347:0:3" - }, - "scope": 839, - "src": "3283:91:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 547, - "nodeType": "Block", - "src": "3444:98:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 537, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 533, - "name": "isApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 262, - "src": "3450:10:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 535, - "indexExpression": { - "argumentTypes": null, - "id": 534, - "name": "agent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 528, - "src": "3461:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3450:17:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 536, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3470:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "3450:24:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 538, - "nodeType": "ExpressionStatement", - "src": "3450:24:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 543, - "name": "agent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 528, - "src": "3525:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "hexValue": "74727565", - "id": 544, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3532:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 540, - "name": "erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 233, - "src": "3498:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 539, - "name": "ERC1155Multiproxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1183, - "src": "3480:17:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC1155Multiproxy_$1183_$", - "typeString": "type(contract ERC1155Multiproxy)" - } - }, - "id": 541, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3480:26:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1155Multiproxy_$1183", - "typeString": "contract ERC1155Multiproxy" - } - }, - "id": 542, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setApprovalForAll", - "nodeType": "MemberAccess", - "referencedDeclaration": 2823, - "src": "3480:44:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bool_$returns$__$", - "typeString": "function (address,bool) external" - } - }, - "id": 545, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3480:57:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 546, - "nodeType": "ExpressionStatement", - "src": "3480:57:3" - } - ] - }, - "documentation": null, - "id": 548, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 531, - "modifierName": { - "argumentTypes": null, - "id": 530, - "name": "isOwnerOrApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 371, - "src": "3426:17:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3426:17:3" - } - ], - "name": "addApprovedAgent", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 529, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 528, - "name": "agent", - "nodeType": "VariableDeclaration", - "scope": 548, - "src": "3404:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 527, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3404:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3403:15:3" - }, - "returnParameters": { - "id": 532, - "nodeType": "ParameterList", - "parameters": [], - "src": "3444:0:3" - }, - "scope": 839, - "src": "3378:164:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 569, - "nodeType": "Block", - "src": "3615:100:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 555, - "name": "isApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 262, - "src": "3621:10:3", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 557, - "indexExpression": { - "argumentTypes": null, - "id": 556, - "name": "agent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 550, - "src": "3632:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3621:17:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 558, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3641:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "3621:25:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 560, - "nodeType": "ExpressionStatement", - "src": "3621:25:3" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 565, - "name": "agent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 550, - "src": "3697:5:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 566, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3704:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 562, - "name": "erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 233, - "src": "3670:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 561, - "name": "ERC1155Multiproxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1183, - "src": "3652:17:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC1155Multiproxy_$1183_$", - "typeString": "type(contract ERC1155Multiproxy)" - } - }, - "id": 563, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3652:26:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1155Multiproxy_$1183", - "typeString": "contract ERC1155Multiproxy" - } - }, - "id": 564, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "setApprovalForAll", - "nodeType": "MemberAccess", - "referencedDeclaration": 2823, - "src": "3652:44:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bool_$returns$__$", - "typeString": "function (address,bool) external" - } - }, - "id": 567, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3652:58:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 568, - "nodeType": "ExpressionStatement", - "src": "3652:58:3" - } - ] - }, - "documentation": null, - "id": 570, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 553, - "modifierName": { - "argumentTypes": null, - "id": 552, - "name": "isOwnerOrApproved", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 371, - "src": "3597:17:3", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "3597:17:3" - } - ], - "name": "removeApprovedAgent", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 551, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 550, - "name": "agent", - "nodeType": "VariableDeclaration", - "scope": 570, - "src": "3575:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 549, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3575:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3574:15:3" - }, - "returnParameters": { - "id": 554, - "nodeType": "ParameterList", - "parameters": [], - "src": "3615:0:3" - }, - "scope": 839, - "src": "3546:169:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 582, - "nodeType": "Block", - "src": "3770:52:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 579, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 258, - "src": "3814:2:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 576, - "name": "erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 233, - "src": "3801:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 575, - "name": "ERC1155Multiproxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1183, - "src": "3783:17:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC1155Multiproxy_$1183_$", - "typeString": "type(contract ERC1155Multiproxy)" - } - }, - "id": 577, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3783:26:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1155Multiproxy_$1183", - "typeString": "contract ERC1155Multiproxy" - } - }, - "id": 578, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "uri", - "nodeType": "MemberAccess", - "referencedDeclaration": 1118, - "src": "3783:30:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_string_memory_ptr_$", - "typeString": "function (uint256) view external returns (string memory)" - } - }, - "id": 580, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3783:34:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "functionReturnParameters": 574, - "id": 581, - "nodeType": "Return", - "src": "3776:41:3" - } - ] - }, - "documentation": null, - "id": 583, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "uri", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 571, - "nodeType": "ParameterList", - "parameters": [], - "src": "3731:2:3" - }, - "returnParameters": { - "id": 574, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 573, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 583, - "src": "3755:13:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 572, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3755:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3754:15:3" - }, - "scope": 839, - "src": "3719:103:3", - "stateMutability": "view", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 596, - "nodeType": "Block", - "src": "3872:57:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 592, - "name": "id", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 258, - "src": "3915:2:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 593, - "name": "_uri", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 585, - "src": "3919:4:3", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 589, - "name": "erc1155", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 233, - "src": "3896:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 588, - "name": "ERC1155Multiproxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1183, - "src": "3878:17:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC1155Multiproxy_$1183_$", - "typeString": "type(contract ERC1155Multiproxy)" - } - }, - "id": 590, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3878:26:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC1155Multiproxy_$1183", - "typeString": "contract ERC1155Multiproxy" - } - }, - "id": 591, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "updateUri", - "nodeType": "MemberAccess", - "referencedDeclaration": 1142, - "src": "3878:36:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (uint256,string memory) external" - } - }, - "id": 594, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3878:46:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 595, - "nodeType": "ExpressionStatement", - "src": "3878:46:3" - } - ] - }, - "documentation": null, - "id": 597, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "updateUri", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 586, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 585, - "name": "_uri", - "nodeType": "VariableDeclaration", - "scope": 597, - "src": "3845:18:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 584, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3845:6:3", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3844:20:3" - }, - "returnParameters": { - "id": 587, - "nodeType": "ParameterList", - "parameters": [], - "src": "3872:0:3" - }, - "scope": 839, - "src": "3826:103:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 614, - "nodeType": "Block", - "src": "4095:34:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 612, - "name": "ERC1155_ACCEPTED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 247, - "src": "4108:16:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "functionReturnParameters": 611, - "id": 613, - "nodeType": "Return", - "src": "4101:23:3" - } - ] - }, - "documentation": null, - "id": 615, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "onERC1155Received", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 608, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 599, - "name": "_operator", - "nodeType": "VariableDeclaration", - "scope": 615, - "src": "3965:17:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 598, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3965:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 601, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 615, - "src": "3988:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 600, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3988:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 603, - "name": "_id", - "nodeType": "VariableDeclaration", - "scope": 615, - "src": "4007:11:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 602, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4007:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 605, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 615, - "src": "4024:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 604, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4024:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 607, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 615, - "src": "4044:20:3", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 606, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4044:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3959:109:3" - }, - "returnParameters": { - "id": 611, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 610, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 615, - "src": "4087:6:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 609, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "4087:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4086:8:3" - }, - "scope": 839, - "src": "3933:196:3", - "stateMutability": "nonpayable", - "superFunction": 2383, - "visibility": "external" - }, - { - "body": { - "id": 634, - "nodeType": "Block", - "src": "4324:40:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 632, - "name": "ERC1155_BATCH_ACCEPTED", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 250, - "src": "4337:22:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "functionReturnParameters": 631, - "id": 633, - "nodeType": "Return", - "src": "4330:29:3" - } - ] - }, - "documentation": null, - "id": 635, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "onERC1155BatchReceived", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 628, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 617, - "name": "_operator", - "nodeType": "VariableDeclaration", - "scope": 635, - "src": "4170:17:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 616, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4170:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 619, - "name": "_from", - "nodeType": "VariableDeclaration", - "scope": 635, - "src": "4193:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 618, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4193:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 622, - "name": "_ids", - "nodeType": "VariableDeclaration", - "scope": 635, - "src": "4212:23:3", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 620, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4212:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 621, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4212:9:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 625, - "name": "_values", - "nodeType": "VariableDeclaration", - "scope": 635, - "src": "4241:26:3", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 623, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4241:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 624, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4241:9:3", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 627, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 635, - "src": "4273:20:3", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 626, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4273:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4164:133:3" - }, - "returnParameters": { - "id": 631, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 630, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 635, - "src": "4316:6:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 629, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "4316:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4315:8:3" - }, - "scope": 839, - "src": "4133:231:3", - "stateMutability": "nonpayable", - "superFunction": 2400, - "visibility": "external" - }, - { - "body": { - "id": 662, - "nodeType": "Block", - "src": "4489:258:3", - "statements": [ - { - "assignments": [ - 647 - ], - "declarations": [ - { - "constant": false, - "id": 647, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 662, - "src": "4495:17:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 646, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4495:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 649, - "initialValue": { - "argumentTypes": null, - "id": 648, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 637, - "src": "4515:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4495:25:3" - }, - { - "assignments": [ - 651 - ], - "declarations": [ - { - "constant": false, - "id": 651, - "name": "len", - "nodeType": "VariableDeclaration", - "scope": 662, - "src": "4526:11:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 650, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4526:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 654, - "initialValue": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 652, - "name": "data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 647, - "src": "4540:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 653, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4540:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "4526:25:3" - }, - { - "externalReferences": [ - { - "success": { - "declaration": 644, - "isOffset": false, - "isSlot": false, - "src": "4634:7:3", - "valueSize": 1 - } - }, - { - "data": { - "declaration": 647, - "isOffset": false, - "isSlot": false, - "src": "4670:4:3", - "valueSize": 1 - } - }, - { - "to": { - "declaration": 639, - "isOffset": false, - "isSlot": false, - "src": "4655:2:3", - "valueSize": 1 - } - }, - { - "value": { - "declaration": 641, - "isOffset": false, - "isSlot": false, - "src": "4659:5:3", - "valueSize": 1 - } - }, - { - "len": { - "declaration": 651, - "isOffset": false, - "isSlot": false, - "src": "4683:3:3", - "valueSize": 1 - } - } - ], - "id": 655, - "nodeType": "InlineAssembly", - "operations": "{\n success := call(gas(), to, value, add(data, 0x20), len, 0, 0)\n}", - "src": "4617:82:3" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 657, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 637, - "src": "4725:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 658, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 639, - "src": "4732:2:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 659, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 641, - "src": "4736:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 656, - "name": "TransactionSent", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 283, - "src": "4709:15:3", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes_memory_ptr_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (bytes memory,address,uint256)" - } - }, - "id": 660, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4709:33:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 661, - "nodeType": "EmitStatement", - "src": "4704:38:3" - } - ] - }, - "documentation": null, - "id": 663, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_sendTransaction", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 642, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 637, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 663, - "src": "4399:18:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 636, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4399:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 639, - "name": "to", - "nodeType": "VariableDeclaration", - "scope": 663, - "src": "4423:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 638, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4423:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 641, - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 663, - "src": "4439:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 640, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4439:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4393:63:3" - }, - "returnParameters": { - "id": 645, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 644, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 663, - "src": "4475:12:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 643, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "4475:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4474:14:3" - }, - "scope": 839, - "src": "4368:379:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 680, - "nodeType": "Block", - "src": "4800:123:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 673, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3574, - "src": "4851:4:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - ], - "id": 672, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4843:7:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 674, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4843:13:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "hexValue": "73696741757468", - "id": 675, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4864:9:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_e4ca3c59c7ff0162c35b0197dbc171846ff35d18a9f84431b59187ac80ada47f", - "typeString": "literal_string \"sigAuth\"" - }, - "value": "sigAuth" - }, - { - "argumentTypes": null, - "id": 676, - "name": "delegate", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 665, - "src": "4881:8:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 677, - "name": "defaultValidity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 240, - "src": "4897:15:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_stringliteral_e4ca3c59c7ff0162c35b0197dbc171846ff35d18a9f84431b59187ac80ada47f", - "typeString": "literal_string \"sigAuth\"" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 669, - "name": "erc1056", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 231, - "src": "4815:7:3", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 668, - "name": "IERC1056", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 216, - "src": "4806:8:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC1056_$216_$", - "typeString": "type(contract IERC1056)" - } - }, - "id": 670, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4806:17:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC1056_$216", - "typeString": "contract IERC1056" - } - }, - "id": 671, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "addDelegate", - "nodeType": "MemberAccess", - "referencedDeclaration": 206, - "src": "4806:29:3", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,bytes32,address,uint256) external" - } - }, - "id": 678, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4806:112:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 679, - "nodeType": "ExpressionStatement", - "src": "4806:112:3" - } - ] - }, - "documentation": null, - "id": 681, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_addDelegate", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 666, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 665, - "name": "delegate", - "nodeType": "VariableDeclaration", - "scope": 681, - "src": "4773:16:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 664, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4773:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4772:18:3" - }, - "returnParameters": { - "id": 667, - "nodeType": "ParameterList", - "parameters": [], - "src": "4800:0:3" - }, - "scope": 839, - "src": "4751:172:3", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "constant": true, - "id": 684, - "name": "INTERFACE_SIGNATURE_ERC165", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "5021:63:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 682, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "5021:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783031666663396137", - "id": 683, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5074:10:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_33540519_by_1", - "typeString": "int_const 33540519" - }, - "value": "0x01ffc9a7" - }, - "visibility": "private" - }, - { - "constant": true, - "id": 687, - "name": "INTERFACE_SIGNATURE_ERC1155TOKENRECEIVER", - "nodeType": "VariableDeclaration", - "scope": 839, - "src": "5271:77:3", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 685, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "5271:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "30783465323331326530", - "id": 686, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5338:10:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1310921440_by_1", - "typeString": "int_const 1310921440" - }, - "value": "0x4e2312e0" - }, - "visibility": "private" - }, - { - "body": { - "id": 707, - "nodeType": "Block", - "src": "5641:180:3", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "id": 700, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 696, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 694, - "name": "_interfaceID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 689, - "src": "5658:12:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 695, - "name": "INTERFACE_SIGNATURE_ERC165", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 684, - "src": "5674:26:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "5658:42:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "BinaryOperation", - "operator": "||", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 699, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 697, - "name": "_interfaceID", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 689, - "src": "5710:12:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 698, - "name": "INTERFACE_SIGNATURE_ERC1155TOKENRECEIVER", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 687, - "src": "5726:40:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "5710:56:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "5658:108:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 704, - "nodeType": "IfStatement", - "src": "5647:152:3", - "trueBody": { - "id": 703, - "nodeType": "Block", - "src": "5773:26:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 701, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5788:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 693, - "id": 702, - "nodeType": "Return", - "src": "5781:11:3" - } - ] - } - }, - { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 705, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "5811:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 693, - "id": 706, - "nodeType": "Return", - "src": "5804:12:3" - } - ] - }, - "documentation": "@notice Query if a contract implements an interface\n@param _interfaceID The interface identifier, as specified in ERC-165\n@return `true` if the contract implements `_interfaceID` and", - "id": 708, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "supportsInterface", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 690, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 689, - "name": "_interfaceID", - "nodeType": "VariableDeclaration", - "scope": 708, - "src": "5591:19:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 688, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "5591:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5590:21:3" - }, - "returnParameters": { - "id": 693, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 692, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 708, - "src": "5635:4:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 691, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5635:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5634:6:3" - }, - "scope": 839, - "src": "5564:257:3", - "stateMutability": "view", - "superFunction": 2417, - "visibility": "external" - }, - { - "anonymous": false, - "documentation": null, - "id": 716, - "name": "CallbackOnTransfer", - "nodeType": "EventDefinition", - "parameters": { - "id": 715, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 710, - "indexed": false, - "name": "data", - "nodeType": "VariableDeclaration", - "scope": 716, - "src": "5850:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 709, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5850:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 712, - "indexed": false, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 716, - "src": "5862:12:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 711, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "5862:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 714, - "indexed": false, - "name": "sender", - "nodeType": "VariableDeclaration", - "scope": 716, - "src": "5876:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 713, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5876:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5849:42:3" - }, - "src": "5825:67:3" - }, - { - "body": { - "id": 763, - "nodeType": "Block", - "src": "6031:311:3", - "statements": [ - { - "condition": { - "argumentTypes": null, - "id": 733, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "6041:26:3", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 730, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "6056:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 731, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6056:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 729, - "name": "supportsToken", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 834, - "src": "6042:13:3", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_address_$returns$_t_bool_$", - "typeString": "function (address) pure returns (bool)" - } - }, - "id": 732, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6042:25:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 736, - "nodeType": "IfStatement", - "src": "6037:44:3", - "trueBody": { - "expression": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 734, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6076:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "functionReturnParameters": 728, - "id": 735, - "nodeType": "Return", - "src": "6069:12:3" - } - }, - { - "expression": { - "argumentTypes": null, - "id": 739, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 737, - "name": "__isTokenFallback", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 254, - "src": "6087:17:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 738, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6107:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "6087:24:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 740, - "nodeType": "ExpressionStatement", - "src": "6087:24:3" - }, - { - "assignments": [ - 742, - null - ], - "declarations": [ - { - "constant": false, - "id": 742, - "name": "success", - "nodeType": "VariableDeclaration", - "scope": 763, - "src": "6178:12:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 741, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6178:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - null - ], - "id": 749, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 747, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 724, - "src": "6223:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 744, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3574, - "src": "6204:4:3", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ProxyIdentity_$839", - "typeString": "contract ProxyIdentity" - } - ], - "id": 743, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6196:7:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 745, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6196:13:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 746, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "delegatecall", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6196:26:3", - "typeDescriptions": { - "typeIdentifier": "t_function_baredelegatecall_nonpayable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes memory) returns (bool,bytes memory)" - } - }, - "id": 748, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6196:33:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6177:52:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 752, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 750, - "name": "__isTokenFallback", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 254, - "src": "6235:17:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 751, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6255:5:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "6235:25:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 753, - "nodeType": "ExpressionStatement", - "src": "6235:25:3" - }, - { - "eventCall": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 755, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 724, - "src": "6290:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "id": 756, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 742, - "src": "6297:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 757, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3534, - "src": "6306:3:3", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 758, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6306:10:3", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 754, - "name": "CallbackOnTransfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 716, - "src": "6271:18:3", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_bytes_memory_ptr_$_t_bool_$_t_address_$returns$__$", - "typeString": "function (bytes memory,bool,address)" - } - }, - "id": 759, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6271:46:3", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 760, - "nodeType": "EmitStatement", - "src": "6266:51:3" - }, - { - "expression": { - "argumentTypes": null, - "id": 761, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 742, - "src": "6330:7:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 728, - "id": 762, - "nodeType": "Return", - "src": "6323:14:3" - } - ] - }, - "documentation": null, - "id": 764, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "tokenFallback", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 725, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 718, - "name": "_sender", - "nodeType": "VariableDeclaration", - "scope": 764, - "src": "5924:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 717, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5924:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 720, - "name": "_origin", - "nodeType": "VariableDeclaration", - "scope": 764, - "src": "5945:15:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 719, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "5945:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 722, - "name": "_value", - "nodeType": "VariableDeclaration", - "scope": 764, - "src": "5966:14:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 721, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "5966:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 724, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 764, - "src": "5986:18:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 723, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "5986:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "5918:90:3" - }, - "returnParameters": { - "id": 728, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 727, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 764, - "src": "6025:4:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 726, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6025:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6024:6:3" - }, - "scope": 839, - "src": "5896:446:3", - "stateMutability": "nonpayable", - "superFunction": 42, - "visibility": "public" - }, - { - "body": { - "id": 823, - "nodeType": "Block", - "src": "6416:202:3", - "statements": [ - { - "assignments": [ - 772 - ], - "declarations": [ - { - "constant": false, - "id": 772, - "name": "l", - "nodeType": "VariableDeclaration", - "scope": 823, - "src": "6422:9:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 771, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6422:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 781, - "initialValue": { - "argumentTypes": null, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 776, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 773, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 766, - "src": "6434:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 774, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6434:12:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "hexValue": "34", - "id": 775, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6449:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "src": "6434:16:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "argumentTypes": null, - "hexValue": "34", - "id": 779, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6468:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_4_by_1", - "typeString": "int_const 4" - }, - "value": "4" - }, - "id": 780, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "Conditional", - "src": "6434:35:3", - "trueExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 777, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 766, - "src": "6453:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 778, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "6453:12:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "6422:47:3" - }, - { - "body": { - "id": 821, - "nodeType": "Block", - "src": "6507:107:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 819, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 792, - "name": "sig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 769, - "src": "6515:3:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 816, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 796, - "name": "sig", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 769, - "src": "6551:3:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - ], - "id": 795, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6544:6:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint32_$", - "typeString": "type(uint32)" - }, - "typeName": "uint32" - }, - "id": 797, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6544:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 815, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 799, - "name": "_data", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 766, - "src": "6564:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "id": 801, - "indexExpression": { - "argumentTypes": null, - "id": 800, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 783, - "src": "6570:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "6564:8:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes1", - "typeString": "bytes1" - } - ], - "id": 798, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6558:5:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint8_$", - "typeString": "type(uint8)" - }, - "typeName": "uint8" - }, - "id": 802, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6558:15:3", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 813, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "32", - "id": 803, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6577:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_2_by_1", - "typeString": "int_const 2" - }, - "value": "2" - }, - "nodeType": "BinaryOperation", - "operator": "**", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 811, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "hexValue": "38", - "id": 804, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6581:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 809, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 807, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 805, - "name": "l", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 772, - "src": "6586:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "hexValue": "31", - "id": 806, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6590:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" - }, - "src": "6586:5:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 808, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 783, - "src": "6594:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6586:9:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 810, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "6585:11:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6581:15:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 812, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "6580:17:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6577:20:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "id": 814, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "6576:22:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6558:40:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6544:54:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 794, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6537:6:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint32_$", - "typeString": "type(uint32)" - }, - "typeName": "uint32" - }, - "id": 817, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6537:62:3", - "typeDescriptions": { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint32", - "typeString": "uint32" - } - ], - "id": 793, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "6521:6:3", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes4_$", - "typeString": "type(bytes4)" - }, - "typeName": "bytes4" - }, - "id": 818, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "6521:86:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "6515:92:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "id": 820, - "nodeType": "ExpressionStatement", - "src": "6515:92:3" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 788, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 786, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 783, - "src": "6495:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "id": 787, - "name": "l", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 772, - "src": "6499:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "6495:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 822, - "initializationExpression": { - "assignments": [ - 783 - ], - "declarations": [ - { - "constant": false, - "id": 783, - "name": "i", - "nodeType": "VariableDeclaration", - "scope": 822, - "src": "6480:9:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 782, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "6480:7:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 785, - "initialValue": { - "argumentTypes": null, - "hexValue": "30", - "id": 784, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6492:1:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "nodeType": "VariableDeclarationStatement", - "src": "6480:13:3" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 790, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "6502:3:3", - "subExpression": { - "argumentTypes": null, - "id": 789, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 783, - "src": "6502:1:3", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 791, - "nodeType": "ExpressionStatement", - "src": "6502:3:3" - }, - "nodeType": "ForStatement", - "src": "6475:139:3" - } - ] - }, - "documentation": null, - "id": 824, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getSig", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 767, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 766, - "name": "_data", - "nodeType": "VariableDeclaration", - "scope": 824, - "src": "6362:18:3", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 765, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "6362:5:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6361:20:3" - }, - "returnParameters": { - "id": 770, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 769, - "name": "sig", - "nodeType": "VariableDeclaration", - "scope": 824, - "src": "6404:10:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 768, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "6404:6:3", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6403:12:3" - }, - "scope": 839, - "src": "6346:272:3", - "stateMutability": "pure", - "superFunction": null, - "visibility": "private" - }, - { - "body": { - "id": 833, - "nodeType": "Block", - "src": "6687:22:3", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 831, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "6700:4:3", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "functionReturnParameters": 830, - "id": 832, - "nodeType": "Return", - "src": "6693:11:3" - } - ] - }, - "documentation": null, - "id": 834, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "supportsToken", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 827, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 826, - "name": "token", - "nodeType": "VariableDeclaration", - "scope": 834, - "src": "6645:13:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 825, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "6645:7:3", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6644:15:3" - }, - "returnParameters": { - "id": 830, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 829, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 834, - "src": "6681:4:3", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 828, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "6681:4:3", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "6680:6:3" - }, - "scope": 839, - "src": "6622:87:3", - "stateMutability": "pure", - "superFunction": null, - "visibility": "public" - }, - { - "body": { - "id": 837, - "nodeType": "Block", - "src": "6741:2:3", - "statements": [] - }, - "documentation": null, - "id": 838, - "implemented": true, - "kind": "fallback", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 835, - "nodeType": "ParameterList", - "parameters": [], - "src": "6721:2:3" - }, - "returnParameters": { - "id": 836, - "nodeType": "ParameterList", - "parameters": [], - "src": "6741:0:3" - }, - "scope": 839, - "src": "6713:30:3", - "stateMutability": "payable", - "superFunction": null, - "visibility": "external" - } - ], - "scope": 840, - "src": "616:6129:3" - } - ], - "src": "0:6746:3" - }, - "compiler": { - "name": "solc", - "version": "0.5.17+commit.d19bba13.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.16", - "updatedAt": "2020-10-25T11:29:13.823Z", - "devdoc": { - "methods": { - "supportsInterface(bytes4)": { - "params": { - "_interfaceID": "The interface identifier, as specified in ERC-165" - }, - "return": "`true` if the contract implements `_interfaceID` and" - } - } - }, - "userdoc": { - "methods": { - "supportsInterface(bytes4)": { - "notice": "Query if a contract implements an interface" - } - } - } -} \ No newline at end of file diff --git a/packages/proxyIdentity/build/contracts/Roles.json b/packages/proxyIdentity/build/contracts/Roles.json deleted file mode 100644 index 44d1e2712..000000000 --- a/packages/proxyIdentity/build/contracts/Roles.json +++ /dev/null @@ -1,2176 +0,0 @@ -{ - "contractName": "Roles", - "abi": [], - "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Library for managing addresses assigned to a Role.\",\"methods\":{},\"title\":\"Roles\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/access/Roles.sol\":\"Roles\"},\"evmVersion\":\"constantinople\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Roles.sol\":{\"keccak256\":\"0xb002c378d7b82a101bd659c341518953ca0919d342c0a400196982c0e7e7bcdb\",\"urls\":[\"bzz-raw://00a788c4631466c220b385bdd100c571d24b2deccd657615cfbcef6cadf669a4\",\"dweb:/ipfs/QmTEwDbjJNxmMNCDMqtuou3dyM8Wtp8Q9NFvn7SAVM7Jf3\"]}},\"version\":1}", - "bytecode": "0x60556023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a7231582039084d75dacca7db7f67685c6cc9c024b978166fb9d97b0faddc3cefcf3d811364736f6c63430005110032", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a7231582039084d75dacca7db7f67685c6cc9c024b978166fb9d97b0faddc3cefcf3d811364736f6c63430005110032", - "sourceMap": "108:873:9:-;;132:2:-1;166:7;155:9;146:7;137:37;255:7;249:14;246:1;241:23;235:4;232:33;222:2;;269:9;222:2;293:9;290:1;283:20;323:4;314:7;306:22;347:7;338;331:24", - "deployedSourceMap": "108:873:9:-;;;;;;;;", - "source": "pragma solidity ^0.5.0;\n\n/**\n * @title Roles\n * @dev Library for managing addresses assigned to a Role.\n */\nlibrary Roles {\n struct Role {\n mapping (address => bool) bearer;\n }\n\n /**\n * @dev Give an account access to this role.\n */\n function add(Role storage role, address account) internal {\n require(!has(role, account), \"Roles: account already has role\");\n role.bearer[account] = true;\n }\n\n /**\n * @dev Remove an account's access to this role.\n */\n function remove(Role storage role, address account) internal {\n require(has(role, account), \"Roles: account does not have role\");\n role.bearer[account] = false;\n }\n\n /**\n * @dev Check if an account has this role.\n * @return bool\n */\n function has(Role storage role, address account) internal view returns (bool) {\n require(account != address(0), \"Roles: account is the zero address\");\n return role.bearer[account];\n }\n}\n", - "sourcePath": "@openzeppelin/contracts/access/Roles.sol", - "ast": { - "absolutePath": "@openzeppelin/contracts/access/Roles.sol", - "exportedSymbols": { - "Roles": [ - 2019 - ] - }, - "id": 2020, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1940, - "literals": [ - "solidity", - "^", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:23:9" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": "@title Roles\n@dev Library for managing addresses assigned to a Role.", - "fullyImplemented": true, - "id": 2019, - "linearizedBaseContracts": [ - 2019 - ], - "name": "Roles", - "nodeType": "ContractDefinition", - "nodes": [ - { - "canonicalName": "Roles.Role", - "id": 1945, - "members": [ - { - "constant": false, - "id": 1944, - "name": "bearer", - "nodeType": "VariableDeclaration", - "scope": 1945, - "src": "150:32:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "typeName": { - "id": 1943, - "keyType": { - "id": 1941, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "159:7:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "150:25:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueType": { - "id": 1942, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "170:4:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Role", - "nodeType": "StructDefinition", - "scope": 2019, - "src": "128:61:9", - "visibility": "public" - }, - { - "body": { - "id": 1969, - "nodeType": "Block", - "src": "318:117:9", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "336:19:9", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1954, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1947, - "src": "341:4:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1945_storage_ptr", - "typeString": "struct Roles.Role storage pointer" - } - }, - { - "argumentTypes": null, - "id": 1955, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1949, - "src": "347:7:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Role_$1945_storage_ptr", - "typeString": "struct Roles.Role storage pointer" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1953, - "name": "has", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2018, - "src": "337:3:9", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$1945_storage_ptr_$_t_address_$returns$_t_bool_$", - "typeString": "function (struct Roles.Role storage pointer,address) view returns (bool)" - } - }, - "id": 1956, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "337:18:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "526f6c65733a206163636f756e7420616c72656164792068617320726f6c65", - "id": 1958, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "357:33:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0f76c3a3e97a37fcdff532c2741c10933ebf2b769d5475388e30ae4f7155f13a", - "typeString": "literal_string \"Roles: account already has role\"" - }, - "value": "Roles: account already has role" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_0f76c3a3e97a37fcdff532c2741c10933ebf2b769d5475388e30ae4f7155f13a", - "typeString": "literal_string \"Roles: account already has role\"" - } - ], - "id": 1952, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "328:7:9", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "328:63:9", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1960, - "nodeType": "ExpressionStatement", - "src": "328:63:9" - }, - { - "expression": { - "argumentTypes": null, - "id": 1967, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1961, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1947, - "src": "401:4:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1945_storage_ptr", - "typeString": "struct Roles.Role storage pointer" - } - }, - "id": 1964, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "bearer", - "nodeType": "MemberAccess", - "referencedDeclaration": 1944, - "src": "401:11:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 1965, - "indexExpression": { - "argumentTypes": null, - "id": 1963, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1949, - "src": "413:7:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "401:20:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1966, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "424:4:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "401:27:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1968, - "nodeType": "ExpressionStatement", - "src": "401:27:9" - } - ] - }, - "documentation": "@dev Give an account access to this role.", - "id": 1970, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "add", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1950, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1947, - "name": "role", - "nodeType": "VariableDeclaration", - "scope": 1970, - "src": "273:17:9", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1945_storage_ptr", - "typeString": "struct Roles.Role" - }, - "typeName": { - "contractScope": null, - "id": 1946, - "name": "Role", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1945, - "src": "273:4:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1945_storage_ptr", - "typeString": "struct Roles.Role" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1949, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 1970, - "src": "292:15:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1948, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "292:7:9", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "272:36:9" - }, - "returnParameters": { - "id": 1951, - "nodeType": "ParameterList", - "parameters": [], - "src": "318:0:9" - }, - "scope": 2019, - "src": "260:175:9", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 1993, - "nodeType": "Block", - "src": "571:119:9", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1979, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1972, - "src": "593:4:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1945_storage_ptr", - "typeString": "struct Roles.Role storage pointer" - } - }, - { - "argumentTypes": null, - "id": 1980, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1974, - "src": "599:7:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Role_$1945_storage_ptr", - "typeString": "struct Roles.Role storage pointer" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1978, - "name": "has", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2018, - "src": "589:3:9", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$1945_storage_ptr_$_t_address_$returns$_t_bool_$", - "typeString": "function (struct Roles.Role storage pointer,address) view returns (bool)" - } - }, - "id": 1981, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "589:18:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c65", - "id": 1982, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "609:35:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7bd893145ac435f339bb7c288622d270324b7033b011f693aca172f5cbc3c257", - "typeString": "literal_string \"Roles: account does not have role\"" - }, - "value": "Roles: account does not have role" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_7bd893145ac435f339bb7c288622d270324b7033b011f693aca172f5cbc3c257", - "typeString": "literal_string \"Roles: account does not have role\"" - } - ], - "id": 1977, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "581:7:9", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1983, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "581:64:9", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1984, - "nodeType": "ExpressionStatement", - "src": "581:64:9" - }, - { - "expression": { - "argumentTypes": null, - "id": 1991, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1985, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1972, - "src": "655:4:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1945_storage_ptr", - "typeString": "struct Roles.Role storage pointer" - } - }, - "id": 1988, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "bearer", - "nodeType": "MemberAccess", - "referencedDeclaration": 1944, - "src": "655:11:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 1989, - "indexExpression": { - "argumentTypes": null, - "id": 1987, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1974, - "src": "667:7:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "655:20:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 1990, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "678:5:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "655:28:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1992, - "nodeType": "ExpressionStatement", - "src": "655:28:9" - } - ] - }, - "documentation": "@dev Remove an account's access to this role.", - "id": 1994, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "remove", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1975, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1972, - "name": "role", - "nodeType": "VariableDeclaration", - "scope": 1994, - "src": "526:17:9", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1945_storage_ptr", - "typeString": "struct Roles.Role" - }, - "typeName": { - "contractScope": null, - "id": 1971, - "name": "Role", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1945, - "src": "526:4:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1945_storage_ptr", - "typeString": "struct Roles.Role" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1974, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 1994, - "src": "545:15:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1973, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "545:7:9", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "525:36:9" - }, - "returnParameters": { - "id": 1976, - "nodeType": "ParameterList", - "parameters": [], - "src": "571:0:9" - }, - "scope": 2019, - "src": "510:180:9", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 2017, - "nodeType": "Block", - "src": "857:122:9", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2008, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2004, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1998, - "src": "875:7:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2006, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "894:1:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 2005, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "886:7:9", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2007, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "886:10:9", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "875:21:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "526f6c65733a206163636f756e7420697320746865207a65726f2061646472657373", - "id": 2009, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "898:36:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9d214fa89563f4e6456a3929327e54500ea1cde2c0ba9fb2035ec106190d682f", - "typeString": "literal_string \"Roles: account is the zero address\"" - }, - "value": "Roles: account is the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_9d214fa89563f4e6456a3929327e54500ea1cde2c0ba9fb2035ec106190d682f", - "typeString": "literal_string \"Roles: account is the zero address\"" - } - ], - "id": 2003, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "867:7:9", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2010, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "867:68:9", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2011, - "nodeType": "ExpressionStatement", - "src": "867:68:9" - }, - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2012, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1996, - "src": "952:4:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1945_storage_ptr", - "typeString": "struct Roles.Role storage pointer" - } - }, - "id": 2013, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "bearer", - "nodeType": "MemberAccess", - "referencedDeclaration": 1944, - "src": "952:11:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 2015, - "indexExpression": { - "argumentTypes": null, - "id": 2014, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1998, - "src": "964:7:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "952:20:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 2002, - "id": 2016, - "nodeType": "Return", - "src": "945:27:9" - } - ] - }, - "documentation": "@dev Check if an account has this role.\n@return bool", - "id": 2018, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "has", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1999, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1996, - "name": "role", - "nodeType": "VariableDeclaration", - "scope": 2018, - "src": "792:17:9", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1945_storage_ptr", - "typeString": "struct Roles.Role" - }, - "typeName": { - "contractScope": null, - "id": 1995, - "name": "Role", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1945, - "src": "792:4:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1945_storage_ptr", - "typeString": "struct Roles.Role" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1998, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 2018, - "src": "811:15:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1997, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "811:7:9", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "791:36:9" - }, - "returnParameters": { - "id": 2002, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2001, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2018, - "src": "851:4:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2000, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "851:4:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "850:6:9" - }, - "scope": 2019, - "src": "779:200:9", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 2020, - "src": "108:873:9" - } - ], - "src": "0:982:9" - }, - "legacyAST": { - "absolutePath": "@openzeppelin/contracts/access/Roles.sol", - "exportedSymbols": { - "Roles": [ - 2019 - ] - }, - "id": 2020, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 1940, - "literals": [ - "solidity", - "^", - "0.5", - ".0" - ], - "nodeType": "PragmaDirective", - "src": "0:23:9" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": "@title Roles\n@dev Library for managing addresses assigned to a Role.", - "fullyImplemented": true, - "id": 2019, - "linearizedBaseContracts": [ - 2019 - ], - "name": "Roles", - "nodeType": "ContractDefinition", - "nodes": [ - { - "canonicalName": "Roles.Role", - "id": 1945, - "members": [ - { - "constant": false, - "id": 1944, - "name": "bearer", - "nodeType": "VariableDeclaration", - "scope": 1945, - "src": "150:32:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "typeName": { - "id": 1943, - "keyType": { - "id": 1941, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "159:7:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "Mapping", - "src": "150:25:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - }, - "valueType": { - "id": 1942, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "170:4:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - } - }, - "value": null, - "visibility": "internal" - } - ], - "name": "Role", - "nodeType": "StructDefinition", - "scope": 2019, - "src": "128:61:9", - "visibility": "public" - }, - { - "body": { - "id": 1969, - "nodeType": "Block", - "src": "318:117:9", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1957, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "!", - "prefix": true, - "src": "336:19:9", - "subExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1954, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1947, - "src": "341:4:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1945_storage_ptr", - "typeString": "struct Roles.Role storage pointer" - } - }, - { - "argumentTypes": null, - "id": 1955, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1949, - "src": "347:7:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Role_$1945_storage_ptr", - "typeString": "struct Roles.Role storage pointer" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1953, - "name": "has", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2018, - "src": "337:3:9", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$1945_storage_ptr_$_t_address_$returns$_t_bool_$", - "typeString": "function (struct Roles.Role storage pointer,address) view returns (bool)" - } - }, - "id": 1956, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "337:18:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "526f6c65733a206163636f756e7420616c72656164792068617320726f6c65", - "id": 1958, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "357:33:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0f76c3a3e97a37fcdff532c2741c10933ebf2b769d5475388e30ae4f7155f13a", - "typeString": "literal_string \"Roles: account already has role\"" - }, - "value": "Roles: account already has role" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_0f76c3a3e97a37fcdff532c2741c10933ebf2b769d5475388e30ae4f7155f13a", - "typeString": "literal_string \"Roles: account already has role\"" - } - ], - "id": 1952, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "328:7:9", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1959, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "328:63:9", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1960, - "nodeType": "ExpressionStatement", - "src": "328:63:9" - }, - { - "expression": { - "argumentTypes": null, - "id": 1967, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1961, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1947, - "src": "401:4:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1945_storage_ptr", - "typeString": "struct Roles.Role storage pointer" - } - }, - "id": 1964, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "bearer", - "nodeType": "MemberAccess", - "referencedDeclaration": 1944, - "src": "401:11:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 1965, - "indexExpression": { - "argumentTypes": null, - "id": 1963, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1949, - "src": "413:7:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "401:20:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "74727565", - "id": 1966, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "424:4:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "401:27:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1968, - "nodeType": "ExpressionStatement", - "src": "401:27:9" - } - ] - }, - "documentation": "@dev Give an account access to this role.", - "id": 1970, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "add", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1950, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1947, - "name": "role", - "nodeType": "VariableDeclaration", - "scope": 1970, - "src": "273:17:9", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1945_storage_ptr", - "typeString": "struct Roles.Role" - }, - "typeName": { - "contractScope": null, - "id": 1946, - "name": "Role", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1945, - "src": "273:4:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1945_storage_ptr", - "typeString": "struct Roles.Role" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1949, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 1970, - "src": "292:15:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1948, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "292:7:9", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "272:36:9" - }, - "returnParameters": { - "id": 1951, - "nodeType": "ParameterList", - "parameters": [], - "src": "318:0:9" - }, - "scope": 2019, - "src": "260:175:9", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 1993, - "nodeType": "Block", - "src": "571:119:9", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 1979, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1972, - "src": "593:4:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1945_storage_ptr", - "typeString": "struct Roles.Role storage pointer" - } - }, - { - "argumentTypes": null, - "id": 1980, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1974, - "src": "599:7:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_struct$_Role_$1945_storage_ptr", - "typeString": "struct Roles.Role storage pointer" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 1978, - "name": "has", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2018, - "src": "589:3:9", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Role_$1945_storage_ptr_$_t_address_$returns$_t_bool_$", - "typeString": "function (struct Roles.Role storage pointer,address) view returns (bool)" - } - }, - "id": 1981, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "589:18:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c65", - "id": 1982, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "609:35:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_7bd893145ac435f339bb7c288622d270324b7033b011f693aca172f5cbc3c257", - "typeString": "literal_string \"Roles: account does not have role\"" - }, - "value": "Roles: account does not have role" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_7bd893145ac435f339bb7c288622d270324b7033b011f693aca172f5cbc3c257", - "typeString": "literal_string \"Roles: account does not have role\"" - } - ], - "id": 1977, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "581:7:9", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 1983, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "581:64:9", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 1984, - "nodeType": "ExpressionStatement", - "src": "581:64:9" - }, - { - "expression": { - "argumentTypes": null, - "id": 1991, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 1985, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1972, - "src": "655:4:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1945_storage_ptr", - "typeString": "struct Roles.Role storage pointer" - } - }, - "id": 1988, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "bearer", - "nodeType": "MemberAccess", - "referencedDeclaration": 1944, - "src": "655:11:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 1989, - "indexExpression": { - "argumentTypes": null, - "id": 1987, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1974, - "src": "667:7:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "655:20:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "66616c7365", - "id": 1990, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "678:5:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "655:28:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 1992, - "nodeType": "ExpressionStatement", - "src": "655:28:9" - } - ] - }, - "documentation": "@dev Remove an account's access to this role.", - "id": 1994, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "remove", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1975, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1972, - "name": "role", - "nodeType": "VariableDeclaration", - "scope": 1994, - "src": "526:17:9", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1945_storage_ptr", - "typeString": "struct Roles.Role" - }, - "typeName": { - "contractScope": null, - "id": 1971, - "name": "Role", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1945, - "src": "526:4:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1945_storage_ptr", - "typeString": "struct Roles.Role" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1974, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 1994, - "src": "545:15:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1973, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "545:7:9", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "525:36:9" - }, - "returnParameters": { - "id": 1976, - "nodeType": "ParameterList", - "parameters": [], - "src": "571:0:9" - }, - "scope": 2019, - "src": "510:180:9", - "stateMutability": "nonpayable", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 2017, - "nodeType": "Block", - "src": "857:122:9", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 2008, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 2004, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1998, - "src": "875:7:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 2006, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "894:1:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 2005, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "886:7:9", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": "address" - }, - "id": 2007, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "886:10:9", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "875:21:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "526f6c65733a206163636f756e7420697320746865207a65726f2061646472657373", - "id": 2009, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "898:36:9", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_9d214fa89563f4e6456a3929327e54500ea1cde2c0ba9fb2035ec106190d682f", - "typeString": "literal_string \"Roles: account is the zero address\"" - }, - "value": "Roles: account is the zero address" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_9d214fa89563f4e6456a3929327e54500ea1cde2c0ba9fb2035ec106190d682f", - "typeString": "literal_string \"Roles: account is the zero address\"" - } - ], - "id": 2003, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "867:7:9", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 2010, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "867:68:9", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2011, - "nodeType": "ExpressionStatement", - "src": "867:68:9" - }, - { - "expression": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 2012, - "name": "role", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1996, - "src": "952:4:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1945_storage_ptr", - "typeString": "struct Roles.Role storage pointer" - } - }, - "id": 2013, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "memberName": "bearer", - "nodeType": "MemberAccess", - "referencedDeclaration": 1944, - "src": "952:11:9", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", - "typeString": "mapping(address => bool)" - } - }, - "id": 2015, - "indexExpression": { - "argumentTypes": null, - "id": 2014, - "name": "account", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1998, - "src": "964:7:9", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "952:20:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 2002, - "id": 2016, - "nodeType": "Return", - "src": "945:27:9" - } - ] - }, - "documentation": "@dev Check if an account has this role.\n@return bool", - "id": 2018, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "has", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 1999, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 1996, - "name": "role", - "nodeType": "VariableDeclaration", - "scope": 2018, - "src": "792:17:9", - "stateVariable": false, - "storageLocation": "storage", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1945_storage_ptr", - "typeString": "struct Roles.Role" - }, - "typeName": { - "contractScope": null, - "id": 1995, - "name": "Role", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1945, - "src": "792:4:9", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Role_$1945_storage_ptr", - "typeString": "struct Roles.Role" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 1998, - "name": "account", - "nodeType": "VariableDeclaration", - "scope": 2018, - "src": "811:15:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1997, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "811:7:9", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "791:36:9" - }, - "returnParameters": { - "id": 2002, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2001, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 2018, - "src": "851:4:9", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2000, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "851:4:9", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "850:6:9" - }, - "scope": 2019, - "src": "779:200:9", - "stateMutability": "view", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 2020, - "src": "108:873:9" - } - ], - "src": "0:982:9" - }, - "compiler": { - "name": "solc", - "version": "0.5.17+commit.d19bba13.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.16", - "updatedAt": "2020-11-17T15:15:49.603Z", - "devdoc": { - "details": "Library for managing addresses assigned to a Role.", - "methods": {}, - "title": "Roles" - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/packages/proxyIdentity/build/contracts/SafeMath.json b/packages/proxyIdentity/build/contracts/SafeMath.json deleted file mode 100644 index 7568fe623..000000000 --- a/packages/proxyIdentity/build/contracts/SafeMath.json +++ /dev/null @@ -1,3508 +0,0 @@ -{ - "contractName": "SafeMath", - "abi": [], - "metadata": "{\"compiler\":{\"version\":\"0.5.17+commit.d19bba13\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Unsigned math operations with safety checks that revert on error\",\"methods\":{},\"title\":\"SafeMath\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"multi-token-standard/contracts/utils/SafeMath.sol\":\"SafeMath\"},\"evmVersion\":\"constantinople\",\"libraries\":{},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"multi-token-standard/contracts/utils/SafeMath.sol\":{\"keccak256\":\"0x0a904266aa9620d2f126588f1a964ec47bd8e777f3b2281a6e8f6897bc1d9fbd\",\"urls\":[\"bzz-raw://c4fcd436cda8c33574b2146bb9098f560095e4b2d63084563c176c2d402a9554\",\"dweb:/ipfs/QmW3Jo5Lt6LUf8pp6r7vE5kfpMpknJNoFEqTH9FbK7eFiU\"]}},\"version\":1}", - "bytecode": "0x60556023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a723158202eb9987cfd995b785a05d446b3e0c95a37dcf42440cb600872b937fe0a714eb364736f6c63430005110032", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a723158202eb9987cfd995b785a05d446b3e0c95a37dcf42440cb600872b937fe0a714eb364736f6c63430005110032", - "sourceMap": "127:1744:21:-;;132:2:-1;166:7;155:9;146:7;137:37;255:7;249:14;246:1;241:23;235:4;232:33;222:2;;269:9;222:2;293:9;290:1;283:20;323:4;314:7;306:22;347:7;338;331:24", - "deployedSourceMap": "127:1744:21:-;;;;;;;;", - "source": "pragma solidity ^0.5.16;\n\n\n/**\n * @title SafeMath\n * @dev Unsigned math operations with safety checks that revert on error\n */\nlibrary SafeMath {\n\n /**\n * @dev Multiplies two unsigned integers, reverts on overflow.\n */\n function mul(uint256 a, uint256 b) internal pure returns (uint256) {\n // Gas optimization: this is cheaper than requiring 'a' not being zero, but the\n // benefit is lost if 'b' is also tested.\n // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522\n if (a == 0) {\n return 0;\n }\n\n uint256 c = a * b;\n require(c / a == b, \"SafeMath#mul: OVERFLOW\");\n\n return c;\n }\n\n /**\n * @dev Integer division of two unsigned integers truncating the quotient, reverts on division by zero.\n */\n function div(uint256 a, uint256 b) internal pure returns (uint256) {\n // Solidity only automatically asserts when dividing by 0\n require(b > 0, \"SafeMath#div: DIVISION_BY_ZERO\");\n uint256 c = a / b;\n // assert(a == b * c + a % b); // There is no case in which this doesn't hold\n\n return c;\n }\n\n /**\n * @dev Subtracts two unsigned integers, reverts on overflow (i.e. if subtrahend is greater than minuend).\n */\n function sub(uint256 a, uint256 b) internal pure returns (uint256) {\n require(b <= a, \"SafeMath#sub: UNDERFLOW\");\n uint256 c = a - b;\n\n return c;\n }\n\n /**\n * @dev Adds two unsigned integers, reverts on overflow.\n */\n function add(uint256 a, uint256 b) internal pure returns (uint256) {\n uint256 c = a + b;\n require(c >= a, \"SafeMath#add: OVERFLOW\");\n\n return c; \n }\n\n /**\n * @dev Divides two unsigned integers and returns the remainder (unsigned integer modulo),\n * reverts when dividing by zero.\n */\n function mod(uint256 a, uint256 b) internal pure returns (uint256) {\n require(b != 0, \"SafeMath#mod: DIVISION_BY_ZERO\");\n return a % b;\n }\n}", - "sourcePath": "multi-token-standard/contracts/utils/SafeMath.sol", - "ast": { - "absolutePath": "multi-token-standard/contracts/utils/SafeMath.sol", - "exportedSymbols": { - "SafeMath": [ - 3831 - ] - }, - "id": 3832, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 3700, - "literals": [ - "solidity", - "^", - "0.5", - ".16" - ], - "nodeType": "PragmaDirective", - "src": "0:24:21" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": "@title SafeMath\n@dev Unsigned math operations with safety checks that revert on error", - "fullyImplemented": true, - "id": 3831, - "linearizedBaseContracts": [ - 3831 - ], - "name": "SafeMath", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 3733, - "nodeType": "Block", - "src": "293:340:21", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3711, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3709, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3702, - "src": "508:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3710, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "513:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "508:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 3715, - "nodeType": "IfStatement", - "src": "504:35:21", - "trueBody": { - "id": 3714, - "nodeType": "Block", - "src": "516:23:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3712, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "531:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 3708, - "id": 3713, - "nodeType": "Return", - "src": "524:8:21" - } - ] - } - }, - { - "assignments": [ - 3717 - ], - "declarations": [ - { - "constant": false, - "id": 3717, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 3733, - "src": "545:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3716, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "545:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3721, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3720, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3718, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3702, - "src": "557:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 3719, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3704, - "src": "561:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "557:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "545:17:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3727, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3725, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3723, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3717, - "src": "576:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 3724, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3702, - "src": "580:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "576:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 3726, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3704, - "src": "585:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "576:10:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "536166654d617468236d756c3a204f564552464c4f57", - "id": 3728, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "588:24:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6631eab3c1c1ec7659f8ce75290ab9f7fbbc49ae8d385122e795162bad662acd", - "typeString": "literal_string \"SafeMath#mul: OVERFLOW\"" - }, - "value": "SafeMath#mul: OVERFLOW" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_6631eab3c1c1ec7659f8ce75290ab9f7fbbc49ae8d385122e795162bad662acd", - "typeString": "literal_string \"SafeMath#mul: OVERFLOW\"" - } - ], - "id": 3722, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "568:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3729, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "568:45:21", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3730, - "nodeType": "ExpressionStatement", - "src": "568:45:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 3731, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3717, - "src": "627:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3708, - "id": 3732, - "nodeType": "Return", - "src": "620:8:21" - } - ] - }, - "documentation": "@dev Multiplies two unsigned integers, reverts on overflow.", - "id": 3734, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mul", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3705, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3702, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 3734, - "src": "239:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3701, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "239:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3704, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 3734, - "src": "250:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3703, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "250:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "238:22:21" - }, - "returnParameters": { - "id": 3708, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3707, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3734, - "src": "284:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3706, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "284:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "283:9:21" - }, - "scope": 3831, - "src": "226:407:21", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 3758, - "nodeType": "Block", - "src": "822:241:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3746, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3744, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3738, - "src": "898:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3745, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "902:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "898:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "536166654d617468236469763a204449564953494f4e5f42595f5a45524f", - "id": 3747, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "905:32:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c36d9d3e0c4d13d4cdfb7baf0371eec71c6596edd2785d23eb0b323335405a7a", - "typeString": "literal_string \"SafeMath#div: DIVISION_BY_ZERO\"" - }, - "value": "SafeMath#div: DIVISION_BY_ZERO" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c36d9d3e0c4d13d4cdfb7baf0371eec71c6596edd2785d23eb0b323335405a7a", - "typeString": "literal_string \"SafeMath#div: DIVISION_BY_ZERO\"" - } - ], - "id": 3743, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "890:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3748, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "890:48:21", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3749, - "nodeType": "ExpressionStatement", - "src": "890:48:21" - }, - { - "assignments": [ - 3751 - ], - "declarations": [ - { - "constant": false, - "id": 3751, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 3758, - "src": "944:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3750, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "944:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3755, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3754, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3752, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3736, - "src": "956:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 3753, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3738, - "src": "960:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "956:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "944:17:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 3756, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3751, - "src": "1057:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3742, - "id": 3757, - "nodeType": "Return", - "src": "1050:8:21" - } - ] - }, - "documentation": "@dev Integer division of two unsigned integers truncating the quotient, reverts on division by zero.", - "id": 3759, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "div", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3739, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3736, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 3759, - "src": "768:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3735, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "768:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3738, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 3759, - "src": "779:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3737, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "779:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "767:22:21" - }, - "returnParameters": { - "id": 3742, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3741, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3759, - "src": "813:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3740, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "813:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "812:9:21" - }, - "scope": 3831, - "src": "755:308:21", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 3783, - "nodeType": "Block", - "src": "1255:91:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3771, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3769, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3763, - "src": "1269:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 3770, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3761, - "src": "1274:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1269:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "536166654d617468237375623a20554e444552464c4f57", - "id": 3772, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1277:25:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4c9bc0c7d77a5da304a056b5a05f28805364acf05afb77358700a2ddca1b6a79", - "typeString": "literal_string \"SafeMath#sub: UNDERFLOW\"" - }, - "value": "SafeMath#sub: UNDERFLOW" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_4c9bc0c7d77a5da304a056b5a05f28805364acf05afb77358700a2ddca1b6a79", - "typeString": "literal_string \"SafeMath#sub: UNDERFLOW\"" - } - ], - "id": 3768, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "1261:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3773, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1261:42:21", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3774, - "nodeType": "ExpressionStatement", - "src": "1261:42:21" - }, - { - "assignments": [ - 3776 - ], - "declarations": [ - { - "constant": false, - "id": 3776, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 3783, - "src": "1309:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3775, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1309:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3780, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3779, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3777, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3761, - "src": "1321:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 3778, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3763, - "src": "1325:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1321:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1309:17:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 3781, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3776, - "src": "1340:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3767, - "id": 3782, - "nodeType": "Return", - "src": "1333:8:21" - } - ] - }, - "documentation": "@dev Subtracts two unsigned integers, reverts on overflow (i.e. if subtrahend is greater than minuend).", - "id": 3784, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sub", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3764, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3761, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 3784, - "src": "1201:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3760, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1201:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3763, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 3784, - "src": "1212:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3762, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1212:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1200:22:21" - }, - "returnParameters": { - "id": 3767, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3766, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3784, - "src": "1246:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3765, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1246:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1245:9:21" - }, - "scope": 3831, - "src": "1188:158:21", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 3808, - "nodeType": "Block", - "src": "1488:91:21", - "statements": [ - { - "assignments": [ - 3794 - ], - "declarations": [ - { - "constant": false, - "id": 3794, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 3808, - "src": "1494:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3793, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1494:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3798, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3797, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3795, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3786, - "src": "1506:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 3796, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3788, - "src": "1510:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1506:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1494:17:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3802, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3800, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3794, - "src": "1525:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 3801, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3786, - "src": "1530:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1525:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "536166654d617468236164643a204f564552464c4f57", - "id": 3803, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1533:24:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_dfa65337becd76e1bb13ca279a5adb7e6d420bd3575b95dc9a0cf7916fd026a9", - "typeString": "literal_string \"SafeMath#add: OVERFLOW\"" - }, - "value": "SafeMath#add: OVERFLOW" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_dfa65337becd76e1bb13ca279a5adb7e6d420bd3575b95dc9a0cf7916fd026a9", - "typeString": "literal_string \"SafeMath#add: OVERFLOW\"" - } - ], - "id": 3799, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "1517:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3804, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1517:41:21", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3805, - "nodeType": "ExpressionStatement", - "src": "1517:41:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 3806, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3794, - "src": "1572:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3792, - "id": 3807, - "nodeType": "Return", - "src": "1565:8:21" - } - ] - }, - "documentation": "@dev Adds two unsigned integers, reverts on overflow.", - "id": 3809, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "add", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3789, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3786, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 3809, - "src": "1434:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3785, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1434:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3788, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 3809, - "src": "1445:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3787, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1445:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1433:22:21" - }, - "returnParameters": { - "id": 3792, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3791, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3809, - "src": "1479:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3790, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1479:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1478:9:21" - }, - "scope": 3831, - "src": "1421:158:21", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 3829, - "nodeType": "Block", - "src": "1791:78:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3821, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3819, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3813, - "src": "1805:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3820, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1810:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1805:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "536166654d617468236d6f643a204449564953494f4e5f42595f5a45524f", - "id": 3822, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1813:32:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a256b7344a652b5cff3e03273f3d555fff1b779178b16912d34a22114f40f78b", - "typeString": "literal_string \"SafeMath#mod: DIVISION_BY_ZERO\"" - }, - "value": "SafeMath#mod: DIVISION_BY_ZERO" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_a256b7344a652b5cff3e03273f3d555fff1b779178b16912d34a22114f40f78b", - "typeString": "literal_string \"SafeMath#mod: DIVISION_BY_ZERO\"" - } - ], - "id": 3818, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "1797:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3823, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1797:49:21", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3824, - "nodeType": "ExpressionStatement", - "src": "1797:49:21" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3827, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3825, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3811, - "src": "1859:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "argumentTypes": null, - "id": 3826, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3813, - "src": "1863:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1859:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3817, - "id": 3828, - "nodeType": "Return", - "src": "1852:12:21" - } - ] - }, - "documentation": "@dev Divides two unsigned integers and returns the remainder (unsigned integer modulo),\nreverts when dividing by zero.", - "id": 3830, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mod", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3814, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3811, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 3830, - "src": "1737:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3810, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1737:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3813, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 3830, - "src": "1748:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3812, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1748:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1736:22:21" - }, - "returnParameters": { - "id": 3817, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3816, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3830, - "src": "1782:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3815, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1782:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1781:9:21" - }, - "scope": 3831, - "src": "1724:145:21", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 3832, - "src": "127:1744:21" - } - ], - "src": "0:1871:21" - }, - "legacyAST": { - "absolutePath": "multi-token-standard/contracts/utils/SafeMath.sol", - "exportedSymbols": { - "SafeMath": [ - 3831 - ] - }, - "id": 3832, - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 3700, - "literals": [ - "solidity", - "^", - "0.5", - ".16" - ], - "nodeType": "PragmaDirective", - "src": "0:24:21" - }, - { - "baseContracts": [], - "contractDependencies": [], - "contractKind": "library", - "documentation": "@title SafeMath\n@dev Unsigned math operations with safety checks that revert on error", - "fullyImplemented": true, - "id": 3831, - "linearizedBaseContracts": [ - 3831 - ], - "name": "SafeMath", - "nodeType": "ContractDefinition", - "nodes": [ - { - "body": { - "id": 3733, - "nodeType": "Block", - "src": "293:340:21", - "statements": [ - { - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3711, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3709, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3702, - "src": "508:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3710, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "513:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "508:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseBody": null, - "id": 3715, - "nodeType": "IfStatement", - "src": "504:35:21", - "trueBody": { - "id": 3714, - "nodeType": "Block", - "src": "516:23:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3712, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "531:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "functionReturnParameters": 3708, - "id": 3713, - "nodeType": "Return", - "src": "524:8:21" - } - ] - } - }, - { - "assignments": [ - 3717 - ], - "declarations": [ - { - "constant": false, - "id": 3717, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 3733, - "src": "545:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3716, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "545:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3721, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3720, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3718, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3702, - "src": "557:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "*", - "rightExpression": { - "argumentTypes": null, - "id": 3719, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3704, - "src": "561:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "557:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "545:17:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3727, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3725, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3723, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3717, - "src": "576:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 3724, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3702, - "src": "580:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "576:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 3726, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3704, - "src": "585:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "576:10:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "536166654d617468236d756c3a204f564552464c4f57", - "id": 3728, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "588:24:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_6631eab3c1c1ec7659f8ce75290ab9f7fbbc49ae8d385122e795162bad662acd", - "typeString": "literal_string \"SafeMath#mul: OVERFLOW\"" - }, - "value": "SafeMath#mul: OVERFLOW" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_6631eab3c1c1ec7659f8ce75290ab9f7fbbc49ae8d385122e795162bad662acd", - "typeString": "literal_string \"SafeMath#mul: OVERFLOW\"" - } - ], - "id": 3722, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "568:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3729, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "568:45:21", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3730, - "nodeType": "ExpressionStatement", - "src": "568:45:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 3731, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3717, - "src": "627:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3708, - "id": 3732, - "nodeType": "Return", - "src": "620:8:21" - } - ] - }, - "documentation": "@dev Multiplies two unsigned integers, reverts on overflow.", - "id": 3734, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mul", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3705, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3702, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 3734, - "src": "239:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3701, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "239:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3704, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 3734, - "src": "250:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3703, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "250:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "238:22:21" - }, - "returnParameters": { - "id": 3708, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3707, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3734, - "src": "284:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3706, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "284:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "283:9:21" - }, - "scope": 3831, - "src": "226:407:21", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 3758, - "nodeType": "Block", - "src": "822:241:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3746, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3744, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3738, - "src": "898:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3745, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "902:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "898:5:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "536166654d617468236469763a204449564953494f4e5f42595f5a45524f", - "id": 3747, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "905:32:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c36d9d3e0c4d13d4cdfb7baf0371eec71c6596edd2785d23eb0b323335405a7a", - "typeString": "literal_string \"SafeMath#div: DIVISION_BY_ZERO\"" - }, - "value": "SafeMath#div: DIVISION_BY_ZERO" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_c36d9d3e0c4d13d4cdfb7baf0371eec71c6596edd2785d23eb0b323335405a7a", - "typeString": "literal_string \"SafeMath#div: DIVISION_BY_ZERO\"" - } - ], - "id": 3743, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "890:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3748, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "890:48:21", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3749, - "nodeType": "ExpressionStatement", - "src": "890:48:21" - }, - { - "assignments": [ - 3751 - ], - "declarations": [ - { - "constant": false, - "id": 3751, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 3758, - "src": "944:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3750, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "944:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3755, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3754, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3752, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3736, - "src": "956:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "/", - "rightExpression": { - "argumentTypes": null, - "id": 3753, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3738, - "src": "960:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "956:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "944:17:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 3756, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3751, - "src": "1057:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3742, - "id": 3757, - "nodeType": "Return", - "src": "1050:8:21" - } - ] - }, - "documentation": "@dev Integer division of two unsigned integers truncating the quotient, reverts on division by zero.", - "id": 3759, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "div", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3739, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3736, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 3759, - "src": "768:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3735, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "768:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3738, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 3759, - "src": "779:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3737, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "779:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "767:22:21" - }, - "returnParameters": { - "id": 3742, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3741, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3759, - "src": "813:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3740, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "813:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "812:9:21" - }, - "scope": 3831, - "src": "755:308:21", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 3783, - "nodeType": "Block", - "src": "1255:91:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3771, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3769, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3763, - "src": "1269:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<=", - "rightExpression": { - "argumentTypes": null, - "id": 3770, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3761, - "src": "1274:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1269:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "536166654d617468237375623a20554e444552464c4f57", - "id": 3772, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1277:25:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_4c9bc0c7d77a5da304a056b5a05f28805364acf05afb77358700a2ddca1b6a79", - "typeString": "literal_string \"SafeMath#sub: UNDERFLOW\"" - }, - "value": "SafeMath#sub: UNDERFLOW" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_4c9bc0c7d77a5da304a056b5a05f28805364acf05afb77358700a2ddca1b6a79", - "typeString": "literal_string \"SafeMath#sub: UNDERFLOW\"" - } - ], - "id": 3768, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "1261:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3773, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1261:42:21", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3774, - "nodeType": "ExpressionStatement", - "src": "1261:42:21" - }, - { - "assignments": [ - 3776 - ], - "declarations": [ - { - "constant": false, - "id": 3776, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 3783, - "src": "1309:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3775, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1309:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3780, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3779, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3777, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3761, - "src": "1321:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "-", - "rightExpression": { - "argumentTypes": null, - "id": 3778, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3763, - "src": "1325:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1321:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1309:17:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 3781, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3776, - "src": "1340:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3767, - "id": 3782, - "nodeType": "Return", - "src": "1333:8:21" - } - ] - }, - "documentation": "@dev Subtracts two unsigned integers, reverts on overflow (i.e. if subtrahend is greater than minuend).", - "id": 3784, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "sub", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3764, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3761, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 3784, - "src": "1201:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3760, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1201:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3763, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 3784, - "src": "1212:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3762, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1212:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1200:22:21" - }, - "returnParameters": { - "id": 3767, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3766, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3784, - "src": "1246:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3765, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1246:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1245:9:21" - }, - "scope": 3831, - "src": "1188:158:21", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 3808, - "nodeType": "Block", - "src": "1488:91:21", - "statements": [ - { - "assignments": [ - 3794 - ], - "declarations": [ - { - "constant": false, - "id": 3794, - "name": "c", - "nodeType": "VariableDeclaration", - "scope": 3808, - "src": "1494:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3793, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1494:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 3798, - "initialValue": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3797, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3795, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3786, - "src": "1506:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "+", - "rightExpression": { - "argumentTypes": null, - "id": 3796, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3788, - "src": "1510:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1506:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1494:17:21" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3802, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3800, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3794, - "src": "1525:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "argumentTypes": null, - "id": 3801, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3786, - "src": "1530:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1525:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "536166654d617468236164643a204f564552464c4f57", - "id": 3803, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1533:24:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_dfa65337becd76e1bb13ca279a5adb7e6d420bd3575b95dc9a0cf7916fd026a9", - "typeString": "literal_string \"SafeMath#add: OVERFLOW\"" - }, - "value": "SafeMath#add: OVERFLOW" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_dfa65337becd76e1bb13ca279a5adb7e6d420bd3575b95dc9a0cf7916fd026a9", - "typeString": "literal_string \"SafeMath#add: OVERFLOW\"" - } - ], - "id": 3799, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "1517:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3804, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1517:41:21", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3805, - "nodeType": "ExpressionStatement", - "src": "1517:41:21" - }, - { - "expression": { - "argumentTypes": null, - "id": 3806, - "name": "c", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3794, - "src": "1572:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3792, - "id": 3807, - "nodeType": "Return", - "src": "1565:8:21" - } - ] - }, - "documentation": "@dev Adds two unsigned integers, reverts on overflow.", - "id": 3809, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "add", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3789, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3786, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 3809, - "src": "1434:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3785, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1434:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3788, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 3809, - "src": "1445:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3787, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1445:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1433:22:21" - }, - "returnParameters": { - "id": 3792, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3791, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3809, - "src": "1479:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3790, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1479:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1478:9:21" - }, - "scope": 3831, - "src": "1421:158:21", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - }, - { - "body": { - "id": 3829, - "nodeType": "Block", - "src": "1791:78:21", - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3821, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3819, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3813, - "src": "1805:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "30", - "id": 3820, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1810:1:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "1805:6:21", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "536166654d617468236d6f643a204449564953494f4e5f42595f5a45524f", - "id": 3822, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1813:32:21", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a256b7344a652b5cff3e03273f3d555fff1b779178b16912d34a22114f40f78b", - "typeString": "literal_string \"SafeMath#mod: DIVISION_BY_ZERO\"" - }, - "value": "SafeMath#mod: DIVISION_BY_ZERO" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_a256b7344a652b5cff3e03273f3d555fff1b779178b16912d34a22114f40f78b", - "typeString": "literal_string \"SafeMath#mod: DIVISION_BY_ZERO\"" - } - ], - "id": 3818, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 3849, - 3850 - ], - "referencedDeclaration": 3850, - "src": "1797:7:21", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 3823, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1797:49:21", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 3824, - "nodeType": "ExpressionStatement", - "src": "1797:49:21" - }, - { - "expression": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 3827, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 3825, - "name": "a", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3811, - "src": "1859:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "%", - "rightExpression": { - "argumentTypes": null, - "id": 3826, - "name": "b", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 3813, - "src": "1863:1:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1859:5:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 3817, - "id": 3828, - "nodeType": "Return", - "src": "1852:12:21" - } - ] - }, - "documentation": "@dev Divides two unsigned integers and returns the remainder (unsigned integer modulo),\nreverts when dividing by zero.", - "id": 3830, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "mod", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 3814, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3811, - "name": "a", - "nodeType": "VariableDeclaration", - "scope": 3830, - "src": "1737:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3810, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1737:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 3813, - "name": "b", - "nodeType": "VariableDeclaration", - "scope": 3830, - "src": "1748:9:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3812, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1748:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1736:22:21" - }, - "returnParameters": { - "id": 3817, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 3816, - "name": "", - "nodeType": "VariableDeclaration", - "scope": 3830, - "src": "1782:7:21", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 3815, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1782:7:21", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1781:9:21" - }, - "scope": 3831, - "src": "1724:145:21", - "stateMutability": "pure", - "superFunction": null, - "visibility": "internal" - } - ], - "scope": 3832, - "src": "127:1744:21" - } - ], - "src": "0:1871:21" - }, - "compiler": { - "name": "solc", - "version": "0.5.17+commit.d19bba13.Emscripten.clang" - }, - "networks": {}, - "schemaVersion": "3.0.16", - "updatedAt": "2020-11-17T15:15:49.607Z", - "devdoc": { - "details": "Unsigned math operations with safety checks that revert on error", - "methods": {}, - "title": "SafeMath" - }, - "userdoc": { - "methods": {} - } -} \ No newline at end of file diff --git a/packages/proxyIdentity/build/contracts/ERC1056.json b/packages/proxyIdentity/constants/ERC1056.json similarity index 100% rename from packages/proxyIdentity/build/contracts/ERC1056.json rename to packages/proxyIdentity/constants/ERC1056.json diff --git a/packages/proxyIdentity/constants/EthereumDIDRegistry.ts b/packages/proxyIdentity/constants/EthereumDIDRegistry.ts deleted file mode 100644 index 1e4100319..000000000 --- a/packages/proxyIdentity/constants/EthereumDIDRegistry.ts +++ /dev/null @@ -1,516 +0,0 @@ -export const ethrReg = { - contractName: 'EthereumDIDRegistry', - abi: [ - { - constant: true, - inputs: [ - { - name: '', - type: 'address', - }, - ], - name: 'owners', - outputs: [ - { - name: '', - type: 'address', - }, - ], - payable: false, - stateMutability: 'view', - type: 'function', - }, - { - constant: true, - inputs: [ - { - name: '', - type: 'address', - }, - { - name: '', - type: 'bytes32', - }, - { - name: '', - type: 'address', - }, - ], - name: 'delegates', - outputs: [ - { - name: '', - type: 'uint256', - }, - ], - payable: false, - stateMutability: 'view', - type: 'function', - }, - { - constant: true, - inputs: [ - { - name: '', - type: 'address', - }, - ], - name: 'nonce', - outputs: [ - { - name: '', - type: 'uint256', - }, - ], - payable: false, - stateMutability: 'view', - type: 'function', - }, - { - constant: true, - inputs: [ - { - name: '', - type: 'address', - }, - ], - name: 'changed', - outputs: [ - { - name: '', - type: 'uint256', - }, - ], - payable: false, - stateMutability: 'view', - type: 'function', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - name: 'identity', - type: 'address', - }, - { - indexed: false, - name: 'owner', - type: 'address', - }, - { - indexed: false, - name: 'previousChange', - type: 'uint256', - }, - ], - name: 'DIDOwnerChanged', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - name: 'identity', - type: 'address', - }, - { - indexed: false, - name: 'delegateType', - type: 'bytes32', - }, - { - indexed: false, - name: 'delegate', - type: 'address', - }, - { - indexed: false, - name: 'validTo', - type: 'uint256', - }, - { - indexed: false, - name: 'previousChange', - type: 'uint256', - }, - ], - name: 'DIDDelegateChanged', - type: 'event', - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - name: 'identity', - type: 'address', - }, - { - indexed: false, - name: 'name', - type: 'bytes32', - }, - { - indexed: false, - name: 'value', - type: 'bytes', - }, - { - indexed: false, - name: 'validTo', - type: 'uint256', - }, - { - indexed: false, - name: 'previousChange', - type: 'uint256', - }, - ], - name: 'DIDAttributeChanged', - type: 'event', - }, - { - constant: true, - inputs: [ - { - name: 'identity', - type: 'address', - }, - ], - name: 'identityOwner', - outputs: [ - { - name: '', - type: 'address', - }, - ], - payable: false, - stateMutability: 'view', - type: 'function', - }, - { - constant: true, - inputs: [ - { - name: 'identity', - type: 'address', - }, - { - name: 'delegateType', - type: 'bytes32', - }, - { - name: 'delegate', - type: 'address', - }, - ], - name: 'validDelegate', - outputs: [ - { - name: '', - type: 'bool', - }, - ], - payable: false, - stateMutability: 'view', - type: 'function', - }, - { - constant: false, - inputs: [ - { - name: 'identity', - type: 'address', - }, - { - name: 'newOwner', - type: 'address', - }, - ], - name: 'changeOwner', - outputs: [], - payable: false, - stateMutability: 'nonpayable', - type: 'function', - }, - { - constant: false, - inputs: [ - { - name: 'identity', - type: 'address', - }, - { - name: 'sigV', - type: 'uint8', - }, - { - name: 'sigR', - type: 'bytes32', - }, - { - name: 'sigS', - type: 'bytes32', - }, - { - name: 'newOwner', - type: 'address', - }, - ], - name: 'changeOwnerSigned', - outputs: [], - payable: false, - stateMutability: 'nonpayable', - type: 'function', - }, - { - constant: false, - inputs: [ - { - name: 'identity', - type: 'address', - }, - { - name: 'delegateType', - type: 'bytes32', - }, - { - name: 'delegate', - type: 'address', - }, - { - name: 'validity', - type: 'uint256', - }, - ], - name: 'addDelegate', - outputs: [], - payable: false, - stateMutability: 'nonpayable', - type: 'function', - }, - { - constant: false, - inputs: [ - { - name: 'identity', - type: 'address', - }, - { - name: 'sigV', - type: 'uint8', - }, - { - name: 'sigR', - type: 'bytes32', - }, - { - name: 'sigS', - type: 'bytes32', - }, - { - name: 'delegateType', - type: 'bytes32', - }, - { - name: 'delegate', - type: 'address', - }, - { - name: 'validity', - type: 'uint256', - }, - ], - name: 'addDelegateSigned', - outputs: [], - payable: false, - stateMutability: 'nonpayable', - type: 'function', - }, - { - constant: false, - inputs: [ - { - name: 'identity', - type: 'address', - }, - { - name: 'delegateType', - type: 'bytes32', - }, - { - name: 'delegate', - type: 'address', - }, - ], - name: 'revokeDelegate', - outputs: [], - payable: false, - stateMutability: 'nonpayable', - type: 'function', - }, - { - constant: false, - inputs: [ - { - name: 'identity', - type: 'address', - }, - { - name: 'sigV', - type: 'uint8', - }, - { - name: 'sigR', - type: 'bytes32', - }, - { - name: 'sigS', - type: 'bytes32', - }, - { - name: 'delegateType', - type: 'bytes32', - }, - { - name: 'delegate', - type: 'address', - }, - ], - name: 'revokeDelegateSigned', - outputs: [], - payable: false, - stateMutability: 'nonpayable', - type: 'function', - }, - { - constant: false, - inputs: [ - { - name: 'identity', - type: 'address', - }, - { - name: 'name', - type: 'bytes32', - }, - { - name: 'value', - type: 'bytes', - }, - { - name: 'validity', - type: 'uint256', - }, - ], - name: 'setAttribute', - outputs: [], - payable: false, - stateMutability: 'nonpayable', - type: 'function', - }, - { - constant: false, - inputs: [ - { - name: 'identity', - type: 'address', - }, - { - name: 'sigV', - type: 'uint8', - }, - { - name: 'sigR', - type: 'bytes32', - }, - { - name: 'sigS', - type: 'bytes32', - }, - { - name: 'name', - type: 'bytes32', - }, - { - name: 'value', - type: 'bytes', - }, - { - name: 'validity', - type: 'uint256', - }, - ], - name: 'setAttributeSigned', - outputs: [], - payable: false, - stateMutability: 'nonpayable', - type: 'function', - }, - { - constant: false, - inputs: [ - { - name: 'identity', - type: 'address', - }, - { - name: 'name', - type: 'bytes32', - }, - { - name: 'value', - type: 'bytes', - }, - ], - name: 'revokeAttribute', - outputs: [], - payable: false, - stateMutability: 'nonpayable', - type: 'function', - }, - { - constant: false, - inputs: [ - { - name: 'identity', - type: 'address', - }, - { - name: 'sigV', - type: 'uint8', - }, - { - name: 'sigR', - type: 'bytes32', - }, - { - name: 'sigS', - type: 'bytes32', - }, - { - name: 'name', - type: 'bytes32', - }, - { - name: 'value', - type: 'bytes', - }, - ], - name: 'revokeAttributeSigned', - outputs: [], - payable: false, - stateMutability: 'nonpayable', - type: 'function', - }, - ], - bytecode: '0x608060405234801561001057600080fd5b50612273806100206000396000f3006080604052600436106100e5576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168062c023da146100ea578063022914a7146101815780630d44625b14610204578063123b5e9814610289578063240cf1fa14610353578063622b2a3c146103df57806370ae92d2146104685780637ad4b0a4146104bf57806380b29f7c146105605780638733d4e8146105d157806393072684146106545780639c2c1b2b146106ee578063a7068d6614610792578063e476af5c1461080d578063f00d4b5d146108cd578063f96d0f9f14610930575b600080fd5b3480156100f657600080fd5b5061017f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035600019169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610987565b005b34801561018d57600080fd5b506101c2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610998565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561021057600080fd5b50610273600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109cb565b6040518082815260200191505060405180910390f35b34801561029557600080fd5b50610351600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803560001916906020019092919080356000191690602001909291908035600019169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001909291905050506109fd565b005b34801561035f57600080fd5b506103dd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff16906020019092919080356000191690602001909291908035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c72565b005b3480156103eb57600080fd5b5061044e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ec1565b604051808215151515815260200191505060405180910390f35b34801561047457600080fd5b506104a9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f86565b6040518082815260200191505060405180910390f35b3480156104cb57600080fd5b5061055e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035600019169060200190929190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929080359060200190929190505050610f9e565b005b34801561056c57600080fd5b506105cf600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fb1565b005b3480156105dd57600080fd5b50610612600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fc2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561066057600080fd5b506106ec600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803560001916906020019092919080356000191690602001909291908035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611058565b005b3480156106fa57600080fd5b50610790600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803560001916906020019092919080356000191690602001909291908035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506112b9565b005b34801561079e57600080fd5b5061080b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035600019169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611524565b005b34801561081957600080fd5b506108cb600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803560001916906020019092919080356000191690602001909291908035600019169060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611537565b005b3480156108d957600080fd5b5061092e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117a2565b005b34801561093c57600080fd5b50610971600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117b1565b6040518082815260200191505060405180910390f35b610993833384846117c9565b505050565b60006020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160205282600052604060002060205281600052604060002060205280600052604060002060009250925050505481565b600060197f01000000000000000000000000000000000000000000000000000000000000000260007f01000000000000000000000000000000000000000000000000000000000000000230600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548b88888860405180897effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101887effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401807f7365744174747269627574650000000000000000000000000000000000000000815250600c01846000191660001916815260200183805190602001908083835b602083101515610c135780518252602082019150602081019050602083039250610bee565b6001836020036101000a0380198251168184511680821785525050505050509050018281526020019850505050505050505060405180910390209050610c6888610c608a8a8a8a8761196c565b868686611a90565b5050505050505050565b600060197f01000000000000000000000000000000000000000000000000000000000000000260007f0100000000000000000000000000000000000000000000000000000000000000023060036000610cca8b610fc2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054898660405180877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101867effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401807f6368616e67654f776e6572000000000000000000000000000000000000000000815250600b018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401965050505050505060405180910390209050610eb986610eb3888888888761196c565b84611c35565b505050505050565b600080600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008560405180826000191660001916815260200191505060405180910390206000191660001916815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490504281119150509392505050565b60036020528060005260406000206000915090505481565b610fab8433858585611a90565b50505050565b610fbd83338484611e02565b505050565b6000806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060008173ffffffffffffffffffffffffffffffffffffffff1614151561104e57809150611052565b8291505b50919050565b600060197f01000000000000000000000000000000000000000000000000000000000000000260007f01000000000000000000000000000000000000000000000000000000000000000230600360006110b08c610fc2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548a878760405180887effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401807f7265766f6b6544656c6567617465000000000000000000000000000000000000815250600e0183600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401975050505050505050604051809103902090506112b0876112a9898989898761196c565b8585611e02565b50505050505050565b600060197f01000000000000000000000000000000000000000000000000000000000000000260007f01000000000000000000000000000000000000000000000000000000000000000230600360006113118d610fc2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548b88888860405180897effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101887effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401807f61646444656c6567617465000000000000000000000000000000000000000000815250600b0184600019166000191681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401828152602001985050505050505050506040518091039020905061151a886115128a8a8a8a8761196c565b868686612022565b5050505050505050565b6115318433858585612022565b50505050565b600060197f01000000000000000000000000000000000000000000000000000000000000000260007f01000000000000000000000000000000000000000000000000000000000000000230600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548a878760405180887effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101877effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000000281526014018581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401807f7265766f6b654174747269627574650000000000000000000000000000000000815250600f01836000191660001916815260200182805190602001908083835b60208310151561174c5780518252602082019150602081019050602083039250611727565b6001836020036101000a0380198251168184511680821785525050505050509050019750505050505050506040518091039020905061179987611792898989898761196c565b85856117c9565b50505050505050565b6117ad823383611c35565b5050565b60026020528060005260406000206000915090505481565b83836117d482610fc2565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151561180d57600080fd5b8573ffffffffffffffffffffffffffffffffffffffff167f18ab6b2ae3d64306c00ce663125f2bd680e441a098de1635bd7ad8b0d44965e485856000600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460405180856000191660001916815260200180602001848152602001838152602001828103825285818151815260200191508051906020019080838360005b838110156118e35780820151818401526020810190506118c8565b50505050905090810190601f1680156119105780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a243600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050505050565b600080600183878787604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af11580156119e6573d6000803e3d6000fd5b5050506020604051035190506119fb87610fc2565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515611a3457600080fd5b600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081548092919060010191905055508091505095945050505050565b8484611a9b82610fc2565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515611ad457600080fd5b8673ffffffffffffffffffffffffffffffffffffffff167f18ab6b2ae3d64306c00ce663125f2bd680e441a098de1635bd7ad8b0d44965e48686864201600260008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460405180856000191660001916815260200180602001848152602001838152602001828103825285818151815260200191508051906020019080838360005b83811015611bab578082015181840152602081019050611b90565b50505050905090810190601f168015611bd85780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a243600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050505050505050565b8282611c4082610fc2565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515611c7957600080fd5b826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508473ffffffffffffffffffffffffffffffffffffffff167f38a5a6e68f30ed1ab45860a4afb34bcb2fc00f22ca462d249b8a8d40cda6f7a384600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a243600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050505050565b8383611e0d82610fc2565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515611e4657600080fd5b42600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008660405180826000191660001916815260200191505060405180910390206000191660001916815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff167f5a5084339536bcab65f20799fcc58724588145ca054bd2be626174b27ba156f7858542600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518085600019166000191681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182815260200194505050505060405180910390a243600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050505050565b848461202d82610fc2565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151561206657600080fd5b824201600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008760405180826000191660001916815260200191505060405180910390206000191660001916815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508673ffffffffffffffffffffffffffffffffffffffff167f5a5084339536bcab65f20799fcc58724588145ca054bd2be626174b27ba156f78686864201600260008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518085600019166000191681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182815260200194505050505060405180910390a243600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050505050505600a165627a7a72305820ce15794c08edea0fae7ce9c85210f71a312b60c8d5cb2e5fd716c2adcd7403c70029', - compiler: { - name: 'solc', - version: '0.4.24+commit.e67f0147.Emscripten.clang', - }, - schemaVersion: '2.0.0', - updatedAt: '2019-06-00T00:00:00.000Z', -}; diff --git a/packages/proxyIdentity/contracts/interfaces/IERC223.sol b/packages/proxyIdentity/contracts/interfaces/IERC223.sol deleted file mode 100644 index ce2bb9ade..000000000 --- a/packages/proxyIdentity/contracts/interfaces/IERC223.sol +++ /dev/null @@ -1,19 +0,0 @@ -pragma solidity ^0.5.0; - -import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; - - -interface IERC223 { - function transfer( - address to, - uint256 value, - bytes calldata data - ) external returns (bool); - - function transferFrom( - address from, - address to, - uint256 value, - bytes calldata data - ) external returns (bool); -} diff --git a/packages/proxyIdentity/contracts/interfaces/IERC223Receiver.sol b/packages/proxyIdentity/contracts/interfaces/IERC223Receiver.sol deleted file mode 100644 index bb8671e77..000000000 --- a/packages/proxyIdentity/contracts/interfaces/IERC223Receiver.sol +++ /dev/null @@ -1,11 +0,0 @@ -pragma solidity ^0.5.0; - - -interface IERC223Receiver { - function tokenFallback( - address _sender, - address _origin, - uint256 _value, - bytes calldata _data - ) external returns (bool); -} diff --git a/packages/proxyIdentity/contracts/offerableIdentity.sol b/packages/proxyIdentity/contracts/offerableIdentity.sol new file mode 100644 index 000000000..7d409b1a4 --- /dev/null +++ b/packages/proxyIdentity/contracts/offerableIdentity.sol @@ -0,0 +1,52 @@ +pragma solidity 0.4.24; + + +contract OfferableIdentity { + address public owner; + string public id; + + address public offeredTo; + + event OfferableIdentityCreated(address identity, address owner); + event IdentityOffered(address identity, address offeredTo); + event IdentityTransferred(address identity, address owner); + event OfferRejected(address identity, address offeredTo); + + constructor(string memory _id, address _owner) public { + id = _id; + owner = _owner; + emit OfferableIdentityCreated(address(this), owner); + } + + modifier isOwner() { + require(msg.sender == owner, "Only owner allowed"); + _; + } + + modifier isOfferedTo() { + require(offeredTo != address(0), "Proxy is not offered"); + require(msg.sender == offeredTo, "Proxy offered to other account"); + _; + } + + function offer(address _offeredTo) external isOwner { + offeredTo = _offeredTo; + + emit IdentityOffered(address(this), offeredTo); + } + + function accept() external isOfferedTo { + owner = offeredTo; + emit IdentityTransferred(address(this), offeredTo); + closeOffer(); + } + + function reject() external isOfferedTo { + emit OfferRejected(address(this), offeredTo); + closeOffer(); + } + + function closeOffer() internal { + offeredTo = address(0); + } +} diff --git a/packages/proxyIdentity/contracts/proxyFactory.sol b/packages/proxyIdentity/contracts/proxyFactory.sol deleted file mode 100644 index ada513a08..000000000 --- a/packages/proxyIdentity/contracts/proxyFactory.sol +++ /dev/null @@ -1,36 +0,0 @@ -pragma solidity ^0.5.0; -pragma experimental ABIEncoderV2; - -import {ProxyIdentity} from "./proxyIdentity.sol"; - -contract ProxyFactory { - address erc1056; - address erc1155; - ProxyIdentity[] proxies; - mapping(address => bool) identities; - event ProxyCreated(address proxy); - event BatchProxyCreated(address[] newProxies); - - constructor(address _erc1056, address _erc1155) public { - erc1056 = _erc1056; - erc1155 = _erc1155; - } - - function create(string memory serial) public returns (address) { - ProxyIdentity proxy = new ProxyIdentity(erc1056, erc1155, serial, msg.sender); - proxies.push(proxy); - emit ProxyCreated(address(proxy)); - return address(proxy); - } - - function createBatch(string[] memory serials) public returns (address[] memory) { - address[] memory newProxies = new address[](serials.length); - for (uint256 i = 0; i < serials.length; i++) { - ProxyIdentity proxy = new ProxyIdentity(erc1056, erc1155, serials[i], msg.sender); - proxies.push(proxy); - newProxies[i] = address(proxy); - } - emit BatchProxyCreated(newProxies); - return newProxies; - } -} diff --git a/packages/proxyIdentity/contracts/proxyIdentity.sol b/packages/proxyIdentity/contracts/proxyIdentity.sol deleted file mode 100644 index b039c8413..000000000 --- a/packages/proxyIdentity/contracts/proxyIdentity.sol +++ /dev/null @@ -1,249 +0,0 @@ -pragma solidity ^0.5.0; - -import "multi-token-standard/contracts/interfaces/IERC165.sol"; -import "multi-token-standard/contracts/interfaces/IERC1155.sol"; -import "multi-token-standard/contracts/interfaces/IERC1155TokenReceiver.sol"; -import "./interfaces/IERC223Receiver.sol"; -import "./interfaces/IERC223.sol"; -import "./tokens/ERC1155Multiproxy.sol"; - -interface IERC1056 { - function addDelegate( - address identity, - bytes32 delegateType, - address delegate, - uint256 validity - ) external; - - function revokeDelegate( - address identity, - bytes32 delegateType, - address delegate - ) external; -} - -contract ProxyIdentity is IERC1155TokenReceiver, IERC165, IERC223Receiver { - address public owner; - address public creator; - address[] public agents; - address public erc1056; - address public erc1155; - uint256 defaultValidity = 2**256 - 1; - mapping(bytes32 => bool) digests; - bytes4 internal constant ERC1155_ACCEPTED = 0xf23a6e61; - bytes4 internal constant ERC1155_BATCH_ACCEPTED = 0xbc197c81; - Tkn tkn; - bool __isTokenFallback; - string public serial; - uint256 public id; - mapping(address => bool) public isApproved; - - struct Tkn { - address addr; - address sender; - address origin; - uint256 value; - bytes data; - bytes4 sig; - } - - event TransactionSent(bytes data, address to, uint256 value); - event ApprovedAgentAdded(address agent); - event ApprovedAgentRemoved(address agent); - - constructor( - address _erc1056, - address _erc1155, - string memory _serial, - address _creator - ) public { - erc1056 = _erc1056; - erc1155 = _erc1155; - serial = _serial; - creator = _creator; - owner = _creator; - id = ERC1155Multiproxy(_erc1155).tokenCount(); - ERC1155Multiproxy(_erc1155).mint(id); - _addDelegate(_creator); - } - - modifier _owner() { - require(msg.sender == owner, "Only owner allowed"); - _; - } - - modifier isOwnerOrApproved() { - require( - msg.sender == owner || isApproved[msg.sender], - "ProxyIdentity: Only owner or approved agent allowed" - ); - _; - } - - modifier tokenPayable { - if (!__isTokenFallback) - revert("Method can be invoked only as part of ERC223 transfer"); - _; - } - - function sendTransaction( - bytes memory _data, - address to, - uint256 value - ) public payable _owner() { - require(_sendTransaction(_data, to, value), "Can't send transaction"); - } - - function sendSignedTransaction( - bytes memory data, - address to, - uint8 v, - bytes32 r, - bytes32 s, - uint256 value, - uint256 nonce - ) public payable { - bytes32 digest = keccak256(abi.encode(data, to, value, nonce)); - require(digests[digest] == false, "This transaction has already been sent"); - digests[digest] = true; - bytes32 hash = keccak256( - abi.encodePacked("\x19Ethereum Signed Message:\n32", digest) - ); - address signer = ecrecover(hash, v, r, s); - require( - signer == owner, - "Signature is not valid" - ); - require(_sendTransaction(data, to, value), "Can't send transaction"); - } - - function addDelegate(address delegate) public _owner() { - _addDelegate(delegate); - } - - function revokeDelegate(address delegate) public _owner() { - IERC1056(erc1056).revokeDelegate(address(this), "sigAuth", delegate); - } - - function changeOwner(address newOwner) public isOwnerOrApproved { - owner = newOwner; - } - - function addApprovedAgent(address agent) public isOwnerOrApproved { - isApproved[agent] = true; - ERC1155Multiproxy(erc1155).setApprovalForAll(agent, true); - } - - function removeApprovedAgent(address agent) public isOwnerOrApproved { - isApproved[agent] = false; - ERC1155Multiproxy(erc1155).setApprovalForAll(agent, false); - } - - function uri() public view returns (string memory) { - return ERC1155Multiproxy(erc1155).uri(id); - } - - function updateUri(string memory _uri) public { - ERC1155Multiproxy(erc1155).updateUri(id, _uri); - } - - function onERC1155Received( - address _operator, - address _from, - uint256 _id, - uint256 _value, - bytes calldata _data - ) external returns (bytes4) { - return ERC1155_ACCEPTED; - } - - function onERC1155BatchReceived( - address _operator, - address _from, - uint256[] calldata _ids, - uint256[] calldata _values, - bytes calldata _data - ) external returns (bytes4) { - return ERC1155_BATCH_ACCEPTED; - } - - function _sendTransaction( - bytes memory _data, - address to, - uint256 value - ) internal returns (bool success) { - bytes memory data = _data; - uint256 len = data.length; - // solium-disable-next-line security/no-inline-assembly - assembly { - success := call(gas, to, value, add(data, 0x20), len, 0, 0) - } - emit TransactionSent(_data, to, value); - } - - function _addDelegate(address delegate) internal { - IERC1056(erc1056).addDelegate( - address(this), - "sigAuth", - delegate, - defaultValidity - ); - } - - /** - * INTERFACE_SIGNATURE_ERC165 = bytes4(keccak256("supportsInterface(bytes4)")); - */ - bytes4 private constant INTERFACE_SIGNATURE_ERC165 = 0x01ffc9a7; - - /** - * bytes4(keccak256("onERC1155Received(address,address,uint256,uint256,bytes)"))^bytes4(keccak256("onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)")) - */ - bytes4 private constant INTERFACE_SIGNATURE_ERC1155TOKENRECEIVER = 0x4e2312e0; - - /** - * @notice Query if a contract implements an interface - * @param _interfaceID The interface identifier, as specified in ERC-165 - * @return `true` if the contract implements `_interfaceID` and - */ - function supportsInterface(bytes4 _interfaceID) external view returns (bool) { - if ( - _interfaceID == INTERFACE_SIGNATURE_ERC165 || - _interfaceID == INTERFACE_SIGNATURE_ERC1155TOKENRECEIVER - ) { - return true; - } - return false; - } - - event CallbackOnTransfer(bytes data, bool success, address sender); - - function tokenFallback( - address _sender, - address _origin, - uint256 _value, - bytes memory _data - ) public returns (bool) { - if (!supportsToken(msg.sender)) return false; - __isTokenFallback = true; - // solium-disable-next-line security/no-low-level-calls - (bool success, ) = address(this).delegatecall(_data); - __isTokenFallback = false; - emit CallbackOnTransfer(_data, success, msg.sender); - return success; - } - - function getSig(bytes memory _data) private pure returns (bytes4 sig) { - uint256 l = _data.length < 4 ? _data.length : 4; - for (uint256 i = 0; i < l; i++) { - sig = bytes4( - uint32(uint32(sig) + uint8(_data[i]) * (2**(8 * (l - 1 - i)))) - ); - } - } - - function supportsToken(address token) public pure returns (bool) { - return true; - } - - function() external payable {} -} diff --git a/packages/proxyIdentity/contracts/tokens/ERC1155Mintable.sol b/packages/proxyIdentity/contracts/tokens/ERC1155Mintable.sol deleted file mode 100644 index ecaa5a9db..000000000 --- a/packages/proxyIdentity/contracts/tokens/ERC1155Mintable.sol +++ /dev/null @@ -1,68 +0,0 @@ -pragma solidity ^0.5.0; - -import "multi-token-standard/contracts/tokens/ERC1155/ERC1155.sol"; - - -contract ERC1155MintBurn is ERC1155 { - function mint( - address _to, - uint256 _id, - uint256 _amount, - bytes memory _data - ) public { - balances[_to][_id] = balances[_to][_id].add(_amount); - emit TransferSingle(msg.sender, address(0x0), _to, _id, _amount); - _callonERC1155Received(address(0x0), _to, _id, _amount, gasleft(), _data); - } - - function batchMint( - address _to, - uint256[] memory _ids, - uint256[] memory _amounts, - bytes memory _data - ) public { - require( - _ids.length == _amounts.length, - "ERC1155MintBurn#batchMint: INVALID_ARRAYS_LENGTH" - ); - uint256 nMint = _ids.length; - for (uint256 i = 0; i < nMint; i++) { - balances[_to][_ids[i]] = balances[_to][_ids[i]].add(_amounts[i]); - } - emit TransferBatch(msg.sender, address(0x0), _to, _ids, _amounts); - _callonERC1155BatchReceived( - address(0x0), - _to, - _ids, - _amounts, - gasleft(), - _data - ); - } - - function burn( - address _from, - uint256 _id, - uint256 _amount - ) public { - balances[_from][_id] = balances[_from][_id].sub(_amount); - - emit TransferSingle(msg.sender, _from, address(0x0), _id, _amount); - } - - function batchBurn( - address _from, - uint256[] memory _ids, - uint256[] memory _amounts - ) public { - uint256 nBurn = _ids.length; - require( - nBurn == _amounts.length, - "ERC1155MintBurn#batchBurn: INVALID_ARRAYS_LENGTH" - ); - for (uint256 i = 0; i < nBurn; i++) { - balances[_from][_ids[i]] = balances[_from][_ids[i]].sub(_amounts[i]); - } - emit TransferBatch(msg.sender, _from, address(0x0), _ids, _amounts); - } -} diff --git a/packages/proxyIdentity/contracts/tokens/ERC1155Multiproxy.sol b/packages/proxyIdentity/contracts/tokens/ERC1155Multiproxy.sol deleted file mode 100644 index 4a862e06c..000000000 --- a/packages/proxyIdentity/contracts/tokens/ERC1155Multiproxy.sol +++ /dev/null @@ -1,35 +0,0 @@ -pragma solidity ^0.5.0; - -import "multi-token-standard/contracts/tokens/ERC1155/ERC1155MintBurn.sol"; -import "multi-token-standard/contracts/tokens/ERC1155/ERC1155Metadata.sol"; -import "../proxyIdentity.sol"; - -/** -* Is there smth should happen in proxy on token burn? - */ -contract ERC1155Multiproxy is ERC1155MintBurn, ERC1155Metadata { - mapping(uint256 => string) uris; - mapping(uint256 => address) owners; - uint256 public tokenCount; - address[] _proxies; - - function uri(uint256 id) public view returns(string memory) { - return uris[id]; - } - - function updateUri(uint256 id, string memory _uri) public { - require(owners[id] == msg.sender, "Only owner can update uri"); - uris[id] = _uri; - } - - function mint(uint256 id) public { - _mint(msg.sender, id, 1, "0x0"); - owners[id] = msg.sender; - _proxies.push(msg.sender); - tokenCount++; - } - - function proxies() public view returns (address[] memory) { - return _proxies; - } -} diff --git a/packages/proxyIdentity/contracts/tokens/ERC223Mintable.sol b/packages/proxyIdentity/contracts/tokens/ERC223Mintable.sol deleted file mode 100644 index bc3c2bbf4..000000000 --- a/packages/proxyIdentity/contracts/tokens/ERC223Mintable.sol +++ /dev/null @@ -1,62 +0,0 @@ -pragma solidity ^0.5.0; - -import "@openzeppelin/contracts/token/ERC20/ERC20Mintable.sol"; -import "../interfaces/IERC223.sol"; -import "../interfaces/IERC223Receiver.sol"; - - -contract ERC223Mintable is IERC223, ERC20Mintable { - function transfer( - address _to, - uint256 _value, - bytes memory _data - ) public returns (bool) { - super.transfer(_to, _value); - if (isContract(_to)) { - return contractFallback(msg.sender, _to, _value, _data); - } - return true; - } - - function transferFrom( - address _from, - address _to, - uint256 _value, - bytes memory _data - ) public returns (bool) { - super.transferFrom(_from, _to, _value); - if (isContract(_to)) return contractFallback(_from, _to, _value, _data); - return true; - } - - function transfer(address _to, uint256 _value) public returns (bool) { - return transfer(_to, _value, new bytes(0)); - } - - function transferFrom( - address _from, - address _to, - uint256 _value - ) public returns (bool) { - return transferFrom(_from, _to, _value, new bytes(0)); - } - - function contractFallback( - address _origin, - address _to, - uint256 _value, - bytes memory _data - ) private returns (bool success) { - IERC223Receiver reciever = IERC223Receiver(_to); - return reciever.tokenFallback(msg.sender, _origin, _value, _data); - } - - function isContract(address _addr) private view returns (bool is_contract) { - uint256 length; - // solium-disable-next-line security/no-inline-assembly - assembly { - length := extcodesize(_addr) - } - return length > 0; - } -} diff --git a/packages/proxyIdentity/contracts/tokens/ERC223Receiver.sol b/packages/proxyIdentity/contracts/tokens/ERC223Receiver.sol deleted file mode 100644 index 743c9f39e..000000000 --- a/packages/proxyIdentity/contracts/tokens/ERC223Receiver.sol +++ /dev/null @@ -1,6 +0,0 @@ -pragma solidity ^0.5.0; - -import "../interfaces/IERC223Receiver.sol"; - - -contract ERC223Receiver is IERC223Receiver {} diff --git a/packages/proxyIdentity/package.json b/packages/proxyIdentity/package.json index 941a1e579..ea4513f05 100644 --- a/packages/proxyIdentity/package.json +++ b/packages/proxyIdentity/package.json @@ -7,9 +7,9 @@ "description": "Implementation of contract representing ERC1056 identity", "main": "dist/src/index.js", "scripts": { - "compile": "../../node_modules/.bin/tsc", - "test": "../../node_modules/.bin/mocha -r ts-node/register test/**/*.test.ts", - "test-rpc": "run-with-testrpc -m \"candy maple cake sugar pudding cream honey rich smooth crumble sweet treat\" --port 8544 --accounts 20 --networkId=9 --gasLimit=10000000 \"npm run test \" " + "compile": "tsc", + "test-rpc": "run-with-testrpc -m \"candy maple cake sugar pudding cream honey rich smooth crumble sweet treat\" --port 8544 --accounts 20 --networkId=9 --gasLimit=10000000 \"npm run test-ganache\" ", + "test-ganache": "mocha -r ts-node/register test/offerableidentity.ganache-test.ts" }, "author": { "name": "EnergyWeb", @@ -22,6 +22,8 @@ "devDependencies": { "@openzeppelin/contracts": "^2.5.0", "multi-token-standard": "^0.8.13", - "run-with-testrpc": "0.3.1" + "run-with-testrpc": "0.3.1", + "mocha": "7.1.0", + "typescript": "3.9.7" } } diff --git a/packages/proxyIdentity/src/ProxyManager.ts b/packages/proxyIdentity/src/ProxyManager.ts deleted file mode 100644 index 032fc1b4d..000000000 --- a/packages/proxyIdentity/src/ProxyManager.ts +++ /dev/null @@ -1,101 +0,0 @@ -/* eslint-disable no-restricted-syntax */ -/* eslint-disable @typescript-eslint/explicit-function-return-type */ -/* eslint-disable no-useless-constructor */ -import { - Signer, Contract, ContractFactory, providers, -} from 'ethers'; -import { abi as proxyAbi, bytecode as proxyBytecode } from '../build/contracts/ProxyIdentity.json'; -import { abi as erc1155Abi } from '../build/contracts/ERC1155Multiproxy.json'; - -export class ProxyManager { - private proxyFactory: ContractFactory; - - private provider: providers.Provider; - - constructor(private erc1056: string, private erc1155: string, private owner: Signer) { - this.proxyFactory = new ContractFactory(proxyAbi, proxyBytecode, this.owner); - this.provider = owner.provider; - } - - async createProxy(serial: string): Promise { - const address = await this.proxyFactory.signer.getAddress(); - return this.proxyFactory.deploy( - this.erc1056, this.erc1155, serial, await this.owner.getAddress(), - { nonce: await this.provider.getTransactionCount(address) }, - ); - } - - async createProxyBatch(serials: string[]): Promise { - const proxies = []; - for await (const serial of serials) { - proxies.push(await this.createProxy(serial)); - } - return proxies; - } - - async changeOwner(serial: string, newOwner: string) { - const proxies = await this._allProxies(); - for await (const proxy of proxies) { - if (await proxy.serial() === serial) { - await proxy.changeOwner(newOwner); - return; - } - } - } - - async changeOwnerBatch(serials: string[], newOwner: string) { - for await (const serial of serials) { - await this.changeOwner(serial, newOwner); - } - } - - connect(newowner: Signer): ProxyManager { - return new ProxyManager(this.erc1056, this.erc1155, newowner); - } - - async allProxies(): Promise { - return this._allProxies(); - } - - async proxiesOwnedBy(address: string): Promise { - const proxies = []; - for await (const proxy of await this._allProxies()) { - if (await proxy.owner() === address) { - proxies.push(proxy); - } - } - return proxies; - } - - async proxiesCreatedBy(address: string): Promise { - const proxies = []; - for await (const proxy of await this._allProxies()) { - if (await proxy.creator() === address) { - proxies.push(proxy); - } - } - return proxies; - } - - async proxyById(serial: string): Promise { - for await (const proxy of await this._allProxies()) { - if (await proxy.serial() === serial) { - return proxy; - } - } - return null; - } - - static async mapProxiesBy(proxies: Contract[], fn: (proxy: Contract) => Promise) { - const mapped = []; - for await (const proxy of proxies) { - mapped.push(await fn(proxy)); - } - return mapped; - } - - private async _allProxies(): Promise { - const addresses: string[] = await new Contract(this.erc1155, erc1155Abi, this.owner).proxies(); - return addresses.map((a) => new Contract(a, proxyAbi, this.owner)); - } -} diff --git a/packages/proxyIdentity/src/index.ts b/packages/proxyIdentity/src/index.ts index d946f7860..a61bd429e 100644 --- a/packages/proxyIdentity/src/index.ts +++ b/packages/proxyIdentity/src/index.ts @@ -1,8 +1,4 @@ -import * as proxyBuild from '../build/contracts/ProxyIdentity.json'; -import * as proxyFactoryBuild from '../build/contracts/ProxyFactory.json'; -import * as multiproxyBuild from '../build/contracts/ERC1155Multiproxy.json'; +import * as proxyBuild from '../build/contracts/OfferableIdentity.json'; +import * as erc1056Build from '../constants/ERC1056.json'; -export * as erc1056Build from '../constants/EthereumDIDRegistry'; -export { proxyBuild, proxyFactoryBuild, multiproxyBuild }; -export * from './proxyFacade'; -export * from './ProxyManager'; +export { proxyBuild, erc1056Build }; diff --git a/packages/proxyIdentity/src/proxyFacade.ts b/packages/proxyIdentity/src/proxyFacade.ts deleted file mode 100644 index aaac2c459..000000000 --- a/packages/proxyIdentity/src/proxyFacade.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { Contract } from 'ethers'; -import { abi as proxyAbi } from '../build/contracts/ProxyIdentity.json'; - -/** - * Creates proxy identity as smart contract, - * sets proxy factory as creator and invoker as owner of created proxy. - * Owner is also recovery agent and delegate - * - * @param proxyFactory {Contract} - * - * @returns {string} address of created proxy identity smart contract - */ -export const createProxy = async (proxyFactory: Contract, serial: string): Promise => { - const tx = await proxyFactory.create(serial); - await tx.wait(); - return new Promise(((resolve) => { - proxyFactory.on('ProxyCreated', (address) => { - proxyFactory.removeAllListeners('ProxyCreated'); - resolve(new Contract(address, proxyAbi, proxyFactory.signer)); - }); - })); -}; diff --git a/packages/proxyIdentity/test/offerableidentity.ganache-test.ts b/packages/proxyIdentity/test/offerableidentity.ganache-test.ts new file mode 100644 index 000000000..4127d4215 --- /dev/null +++ b/packages/proxyIdentity/test/offerableidentity.ganache-test.ts @@ -0,0 +1,73 @@ +import { + Contract, providers, ContractFactory, utils, +} from 'ethers'; +import chai, { expect } from 'chai'; +import chaiAsPromised from 'chai-as-promised'; +import { abi as proxyAbi, bytecode as proxyBytecode } from '../build/contracts/OfferableIdentity.json'; + +const { parseEther } = utils; + +chai.use(chaiAsPromised); +chai.should(); + +const { JsonRpcProvider } = providers; + +describe('[PROXY IDENTITY PACKAGE/GANACHE TESTS]', function () { + this.timeout(0); + let identity: Contract; + const provider = new JsonRpcProvider('http://localhost:8544'); + const deployer = provider.getSigner(0); + const owner = provider.getSigner(1); + const factory = new ContractFactory(proxyAbi, proxyBytecode, deployer); + const id = '123'; + let ownerAddr: string; + + beforeEach(async () => { + ownerAddr = await owner.getAddress(); + + identity = await factory.deploy(id, ownerAddr); + await deployer.sendTransaction({ + to: ownerAddr, + value: parseEther('1'), + }); + }); + + it('identity creator should be identity owner', async () => { + expect(await identity.owner()).equal(ownerAddr); + }); + + describe('[Identity Transfer]', async () => { + const receiver = provider.getSigner(2); + let receiverAddr: string; + + beforeEach(async () => { + receiverAddr = await receiver.getAddress(); + + await identity.connect(owner).functions.offer(receiverAddr); + }); + + it('Accepting offer should change identity owner', async () => { + await identity.connect(receiver).accept(); + + expect(await identity.owner()).equal(receiverAddr); + }); + + it('Rejecting offer should remain identity owner', async () => { + await identity.connect(receiver).reject(); + + expect(await identity.owner()).equal(ownerAddr); + }); + + it('Can\'t accept identity offered to other', async () => { + const nonReceiver = provider.getSigner(3); + + return (identity.connect(nonReceiver).accept()).should.be.rejected; + }); + + it('Can\'t reject identity offered to other', async () => { + const nonReceiver = provider.getSigner(3); + + return (identity.connect(nonReceiver).reject()).should.be.rejected; + }); + }); +}); diff --git a/packages/proxyIdentity/test/proxy.manager.test.ts b/packages/proxyIdentity/test/proxy.manager.test.ts deleted file mode 100644 index 66b15a6ca..000000000 --- a/packages/proxyIdentity/test/proxy.manager.test.ts +++ /dev/null @@ -1,136 +0,0 @@ -import chai, { expect } from 'chai'; -import assetArray from 'chai-arrays'; -import chaiAsPromised from 'chai-as-promised'; -import { ContractFactory, Contract, providers } from 'ethers'; -import { ethrReg } from '../constants/EthereumDIDRegistry'; -import { abi as abi1155, bytecode as bytecode1155 } from '../build/contracts/ERC1155Multiproxy.json'; -import { ProxyManager } from '../src/ProxyManager'; - -const { JsonRpcProvider } = providers; - -const { abi: abi1056, bytecode: bytecode1056 } = ethrReg; -const { mapProxiesBy } = ProxyManager; - -chai.use(chaiAsPromised); -chai.use(assetArray); -chai.should(); - -describe('[PROXY IDENTITY PACKAGE / PROXY MANAGER]', function () { - this.timeout(0); - const provider = new JsonRpcProvider('http://localhost:8544'); - const oem = provider.getSigner(0); - const installer = provider.getSigner(1); - let erc1155: Contract; - let device1: Contract; - let device2: Contract; - let pm: ProxyManager; - - const id1 = '1'; - const id2 = '2'; - const id3 = '3'; - const id4 = '4'; - - beforeEach(async () => { - const erc1056Factory = new ContractFactory(abi1056, bytecode1056, oem); - const erc1056 = await (await erc1056Factory.deploy()).deployed(); - const erc1155Factory = new ContractFactory(abi1155, bytecode1155, oem); - erc1155 = await (await erc1155Factory.deploy()).deployed(); - pm = new ProxyManager(erc1056.address, erc1155.address, oem); - }); - - it('created proxies should be owned by oem', async () => { - device1 = await pm.createProxy('1'); - expect(await device1.owner()).equal(await oem.getAddress()); - device2 = await pm.createProxy('2'); - expect(await device2.owner()).equal(await oem.getAddress()); - }); - - it('createProxyBatch() should set sender as owner of created proxies', async () => { - const serials = ['1', '2']; - const proxies = await pm.createProxyBatch(serials); - - const owners = await Promise.all(proxies.map((p) => p.owner())); - - const oemAddr = await oem.getAddress(); - expect(owners.every((o) => o === oemAddr)).true; - }); - - it('createProxyBatch should create 10 proxies', async () => { - const serials = new Array(10).fill(0).map((v, i) => i.toString()); - const proxies = await pm.createProxyBatch(serials); - - const createdSerials = await mapProxiesBy( - proxies, - (p) => p.serial(), - ); - expect(createdSerials).to.be.equalTo(serials); - }); - - it('should return list of all proxies', async () => { - await pm.connect(oem).createProxyBatch(['1', '2']); - await pm.connect(installer).createProxyBatch(['3', '4']); - - expect( - await mapProxiesBy(await pm.allProxies(), async (p) => p.serial()), - ) - .to.be.equalTo(['1', '2', '3', '4']); - }); - - it('should list created tokens', async () => { - await pm.connect(oem).createProxyBatch([id1, id2]); - await pm.connect(installer).createProxyBatch([id3, id4]); - - expect(await mapProxiesBy( - await pm.proxiesOwnedBy(await oem.getAddress()), - (p) => p.serial(), - )) - .to.be.equalTo([id1, id2]); - expect(await mapProxiesBy( - await pm.proxiesOwnedBy(await installer.getAddress()), - (p) => p.serial(), - )) - .to.be.equalTo([id3, id4]); - }); - - it('owner can be changed', async () => { - await pm.connect(oem).createProxyBatch([id1, id2]); - await pm.connect(installer).createProxyBatch([id3, id4]); - - await pm.connect(oem).changeOwner(id1, await installer.getAddress()); - - expect(await mapProxiesBy( - await pm.proxiesOwnedBy(await installer.getAddress()), - (p) => p.serial(), - )) - .to.be.equalTo([id1, id3, id4]); - expect(await (await pm.proxyById(id2)).owner()).equal(await oem.getAddress()); - }); - - it('owner can be changed batched', async () => { - await pm.connect(oem).createProxyBatch([id1, id2]); - await pm.connect(installer).createProxyBatch([id3, id4]); - - await pm.connect(oem).changeOwnerBatch([id1, id2], await installer.getAddress()); - expect(await mapProxiesBy( - await pm.proxiesOwnedBy(await installer.getAddress()), - (p) => p.serial(), - )) - .to.be.equalTo([id1, id2, id3, id4]); - expect(await mapProxiesBy( - await pm.proxiesCreatedBy(await oem.getAddress()), - (p) => p.serial(), - )) - .to.be.equalTo([id1, id2]); - }); - - it('should update metadata uri', async () => { - const device = await pm.createProxy('1'); - const exampleUri = 'https://example.com'; - - expect(await device.uri()).equal(''); - - await device.updateUri(exampleUri); - - expect(await device.uri()).equal(exampleUri); - }); -}); diff --git a/packages/proxyIdentity/test/proxy.test.ts b/packages/proxyIdentity/test/proxy.test.ts deleted file mode 100644 index 87bf9a506..000000000 --- a/packages/proxyIdentity/test/proxy.test.ts +++ /dev/null @@ -1,310 +0,0 @@ -import { - Contract, providers, ContractFactory, utils, -} from 'ethers'; -import chai, { expect } from 'chai'; -import chaiAsPromised from 'chai-as-promised'; -import { Keys } from '../../keys'; -import { abi as abi1056, bytecode as bytecode1056 } from '../build/contracts/ERC1056.json'; -import { abi as proxyAbi, bytecode as proxyBytecode } from '../build/contracts/ProxyIdentity.json'; -import { abi as tokenERC1155Abi, bytecode as tokenERC1155Bytecode } from '../build/contracts/ERC1155MintBurn.json'; -import { abi as abi1155, bytecode as bytecode1155 } from '../build/contracts/ERC1155Multiproxy.json'; -import { abi as tokenERC223Abi, bytecode as tokenERC223Bytecode } from '../build/contracts/ERC223Mintable.json'; - -const { - BigNumber, bigNumberify, Interface, arrayify, keccak256, defaultAbiCoder, - splitSignature, formatBytes32String, -} = utils; - -chai.use(chaiAsPromised); -chai.should(); - -const { JsonRpcProvider } = providers; -const encoder = utils.defaultAbiCoder; - -describe('[PROXY IDENTITY PACKAGE/PROXY CONTRACT]', function () { - this.timeout(0); - let proxy: Contract; - let erc1056: Contract; - let erc1155: Contract; - const provider = new JsonRpcProvider('http://localhost:8544'); - const creator: providers.JsonRpcSigner = provider.getSigner(0); - let creatorAddr: string; - const proxyFactory = new ContractFactory(proxyAbi, proxyBytecode, creator); - const erc1056Factory = new ContractFactory(abi1056, bytecode1056, creator); - const erc1155Factory = new ContractFactory(abi1155, bytecode1155, creator); - const tokenERC1155Factory = new ContractFactory(tokenERC1155Abi, tokenERC1155Bytecode, creator); - let identity: string; - const serial = '123'; - - beforeEach(async () => { - creatorAddr = await creator.getAddress(); - erc1056 = await (await erc1056Factory.deploy()).deployed(); - erc1155 = await (await erc1155Factory.deploy()).deployed(); - proxy = await proxyFactory.deploy(erc1056.address, erc1155.address, serial, creatorAddr); - identity = proxy.address; - }); - - it('proxy creator should be identity owner and delegate', (done) => { - erc1056.on('DIDDelegateChanged', (id, type, delegate) => { - erc1056.removeAllListeners('DIDDelegateChanged'); - expect(delegate).equal(creatorAddr); - done(); - }); - erc1056.identityOwner(identity) - .then((owner: string) => { - expect(owner === creatorAddr); - }); - }); - - it('sendTransaction with changeOwner() calldata should emit DIDOwnerChanged on ERC1056', (done) => { - erc1056.on('DIDOwnerChanged', () => { - erc1056.removeAllListeners('DIDOwnerChanged'); - done(); - }); - const newOwner = new Keys().getAddress(); - erc1056.identityOwner(identity) - .then((owner: string) => { - const data = new Interface(abi1056).functions.changeOwner.encode([owner, newOwner]); - return proxy.sendTransaction(data, erc1056.address, 0); - }) - .then((tx: any) => tx.wait()) - .then(() => erc1056.identityOwner(identity)) - .then((owner: string) => { - expect(owner).equal(newOwner); - }); - }); - - it('sendTransaction with setAttribute() calldata from identity owner should emit DIDAttributeChanged on ERC1056', (done) => { - erc1056.on('DIDAttributeChanged', () => { - erc1056.removeAllListeners('DIDAttributeChanged'); - done(); - }); - const attribute = utils.formatBytes32String('name'); - const value = encoder.encode(['bytes'], [`0x${Buffer.from('John').toString('hex')}`]); - const data = new Interface(abi1056).functions.setAttribute.encode([proxy.address, attribute, value, '1000']); - proxy.sendTransaction(data, erc1056.address, 0).then((tx: any) => tx.wait()); - }); - - it('sendTransaction with setAttribute() calldata from non-owner should revert', () => { - const attribute = utils.formatBytes32String('name'); - const value = encoder.encode(['bytes'], [`0x${Buffer.from('John').toString('hex')}`]); - const data = new Interface(abi1056).functions.setAttribute.encode([proxy.address, attribute, value, '1000']); - const nonOwned = proxy.connect(provider.getSigner(1)); - return nonOwned.sendTransaction(data, erc1056.address, 0).should.be.rejectedWith('Only owner allowed'); - }); - - it('sendSignedTransaction with signed by the owner setAttribute() calldata send from non-owner should emit DIDAttributeChanged on ERC1056', (done) => { - erc1056.on('DIDAttributeChanged', () => { - erc1056.removeAllListeners('DIDAttributeChanged'); - done(); - }); - const attribute = utils.formatBytes32String('name'); - const value = encoder.encode(['bytes'], [`0x${Buffer.from('John').toString('hex')}`]); - const data = new Interface(abi1056).functions.setAttribute.encode([proxy.address, attribute, value, '1000']); - const nonOwner = provider.getSigner(2); - nonOwner.getTransactionCount() - .then(async (nonce) => { - const digest = keccak256(defaultAbiCoder.encode( - ['bytes', 'address', 'uint256', 'uint256'], - [data, erc1056.address, 0, nonce + 1], - )); - const flatSignature = await creator.signMessage(arrayify(digest)); - const expSignature: utils.Signature = splitSignature(flatSignature); - const { r, s, v } = expSignature; - const tx = await proxy.connect(nonOwner).sendSignedTransaction( - data, erc1056.address, v, r, s, 0, nonce + 1, - ); - await tx.wait(); - }); - }); - - it('sendSignedTransaction with signed by the non-owner setAttribute() calldata should revert', () => { - const attribute = formatBytes32String('name'); - const value = encoder.encode(['bytes'], [`0x${Buffer.from('John').toString('hex')}`]); - const data = new Interface(abi1056).functions.setAttribute.encode([identity, attribute, value, '1000']); - const digest = keccak256(data); - const nonOwner = provider.getSigner(1); - return nonOwner.signMessage(arrayify(digest)) - .then(async (flatSignature) => { - const expSignature: utils.Signature = splitSignature(flatSignature); - const { r, s, v } = expSignature; - return proxy.sendSignedTransaction( - data, erc1056.address, v, r, s, 0, await creator.getTransactionCount(), - ); - }) - .should.be.rejectedWith('VM Exception while processing transaction: revert Signature is not valid'); - }); - - it('sendSignedTransaction twice should revert', async () => { - const attribute = utils.formatBytes32String('name'); - const value = encoder.encode(['bytes'], [`0x${Buffer.from('John').toString('hex')}`]); - const data = new Interface(abi1056).functions.setAttribute.encode([identity, attribute, value, '1000']); - const nonOwner = provider.getSigner(2); - const nonce = await nonOwner.getTransactionCount(); - const digest = keccak256( - encoder.encode( - ['bytes', 'address', 'uint256', 'uint256'], - [data, erc1056.address, 0, nonce], - ), - ); - const flatSignature = await creator.signMessage(arrayify(digest)); - const expSignature: utils.Signature = splitSignature(flatSignature); - const { r, s, v } = expSignature; - const asNonOwner: Contract = proxy.connect(nonOwner); - const tx = await asNonOwner.sendSignedTransaction( - data, erc1056.address, v, r, s, 0, nonce, - ); - await tx.wait(); - return asNonOwner.sendSignedTransaction( - data, erc1056.address, v, r, s, 0, nonce, - ) - .should.be.rejectedWith('This transaction has already been sent'); - }); - - it('along with transaction a value can be send', async () => { - const payee = await provider.getSigner(4).getAddress(); - const balance0 = new BigNumber(await provider.getBalance(payee)); - const pay = '10000000000000000000'; - await (await proxy.sendTransaction('0x0', payee, pay, { value: (new BigNumber(pay)).toHexString() })).wait(); - const balance1 = (await provider.getBalance(payee)).toString(); - expect(balance1.toString()).equal(balance0.add(pay).toString()); - }); - - it('along with signed transaction value can be send from proxy', async () => { - const payee = await provider.getSigner(4).getAddress(); - const pay = new BigNumber('1000000000000000000'); - const initialBalance = await provider.getBalance(payee); - const data = '0x0'; - const nonOwner = provider.getSigner(2); - const nonce = await nonOwner.getTransactionCount(); - const digest = keccak256( - utils.defaultAbiCoder.encode( - ['bytes', 'address', 'uint256', 'uint256'], - [data, payee, pay, nonce], - ), - ); - const flatSignature = await creator.signMessage(arrayify(digest)); - const expSignature: utils.Signature = splitSignature(flatSignature); - const { r, s, v } = expSignature; - const asNonOwner: Contract = proxy.connect(nonOwner); - const tx = await asNonOwner.sendSignedTransaction( - data, payee, v, r, s, pay, nonce, { value: pay }, - ); - await tx.wait(); - const finalBalance = await provider.getBalance(payee); - expect(initialBalance.add(pay).eq(finalBalance)).true; - }); - - it('pre-existing balance can be sent', async () => { - const dest = await provider.getSigner(2).getAddress(); - const pay = '10000000000000000000'; - const balance0: utils.BigNumber = new BigNumber( - await provider.getBalance(dest), - ); - await provider.getSigner(3).sendTransaction({ - to: proxy.address, - value: bigNumberify(pay), - }); - await proxy.sendTransaction('0x0', dest, pay).then((tx: any) => tx.wait()); - const balance1 = await provider.getBalance(dest); - expect(balance1.toString()).equal(balance0.add(pay).toString()); - expect(balance1.eq(balance0)); - }); - - it('ERC1155 token should be transfered to the proxy contract and returned by it', async () => { - const amount = 100; - let token = await (await tokenERC1155Factory.deploy()).deployed(); - const minter = provider.getSigner(3); - token = token.connect(minter); - const minterAddr = await minter.getAddress(); - await token.mint(minterAddr, 1, 1000, '0x0'); - await token.safeTransferFrom( - minterAddr, - identity, - 1, - amount, - '0x0', - ); - expect((await token.balanceOf(identity, 1)).toNumber()).equal(amount); - expect((await token.balanceOf(minterAddr, 1)).toNumber()).equal(1000 - amount); - const data = new Interface(tokenERC1155Abi).functions.safeTransferFrom.encode([identity, minterAddr, 1, amount, '0x0']); - await proxy.sendTransaction(data, token.address, 0, { gasLimit: 100000 }) - .then((tx: any) => tx.wait()); - expect((await token.balanceOf(identity, 1)).toNumber()).equal(0); - expect((await token.balanceOf(minterAddr, 1)).toNumber()).equal(1000); - }); - - it('ERC1155 tokens should be transfered batched to proxy owner', async () => { - const amount1 = 100; - const amount2 = 200; - let token = await (await tokenERC1155Factory.deploy()).deployed(); - const minter = provider.getSigner(3); - token = token.connect(minter); - const minterAddr = await minter.getAddress(); - await token.batchMint(minterAddr, [1, 2], [1000, 2000], '0x0'); - await token.safeBatchTransferFrom( - minterAddr, - identity, - [1, 2], - [amount1, amount2], - '0x0', - ); - const balances = await token.balanceOfBatch([identity, identity], [1, 2]); - expect(balances.map((b: utils.BigNumber) => b.toNumber())).deep.equal([amount1, amount2]); - }); - - it('when ERC223 tokens transfered to proxy and returned by it', async () => { - const amount = 100; - const sender = provider.getSigner(3); - const tokenERC223Factory = new ContractFactory(tokenERC223Abi, tokenERC223Bytecode, sender); - const token = await (await tokenERC223Factory.deploy()).deployed(); - const senderAddr = await sender.getAddress(); - await (await token.mint(senderAddr, 1000)).wait(); - await token['transfer(address,uint256,bytes)']( - identity, - amount, - '0x0', - ); - const balance = await token.balanceOf(identity); - expect(balance.toNumber()).equal(amount); - - const params: Array = [senderAddr, amount, '0x0']; - const data = new Interface(tokenERC223Abi).functions['transfer(address,uint256,bytes)'].encode(params); - await proxy.sendTransaction(data, token.address, 0, { gasLimit: 100000 }) - .then((tx: any) => tx.wait()); - expect((await token.balanceOf(identity)).toNumber()).equal(0); - expect((await token.balanceOf(senderAddr)).toNumber()).equal(1000); - }); - - describe('ERC1155Multiproxy', () => { - it('proxy owner can be changed', async () => { - const receiver = await provider.getSigner(3).getAddress(); - - expect(await proxy.owner()).equal(creatorAddr); - - await proxy.changeOwner(receiver); - - expect(await proxy.owner()).equal(receiver); - }); - - // it('burning should cease ownership of the proxy', async () => { - // await erc1155.burn(creatorAddr, serial); - // expect(parseInt(await erc1155.balanceOf(creatorAddr, serial), 16)).equal(0); - // expect(await proxy.owner()).equal('0x0000000000000000000000000000000000000000'); - // }); - - // it('batch burning should cease ownership of the burnded proxies', async () => { - // const serial2 = '1234'; - // const proxy2 = await (await proxyFactory.deploy(erc1056.address, erc1155.address, serial2, creatorAddr)).deployed(); - - // await erc1155.burn(creatorAddr, serial); - // await erc1155.burn(creatorAddr, serial2); - - // expect(parseInt(await erc1155.balanceOf(creatorAddr, serial), 16)).equal(0); - // expect(await proxy.owner()).equal('0x0000000000000000000000000000000000000000'); - - // expect(parseInt(await erc1155.balanceOf(creatorAddr, serial2), 16)).equal(0); - // expect(await proxy2.owner()).equal('0x0000000000000000000000000000000000000000'); - // }); - }); -}); diff --git a/packages/proxyIdentity/truffle-config.js b/packages/proxyIdentity/truffle-config.js index 5624ec4cb..d52b46d1d 100644 --- a/packages/proxyIdentity/truffle-config.js +++ b/packages/proxyIdentity/truffle-config.js @@ -85,7 +85,7 @@ module.exports = { // Configure your compilers compilers: { solc: { - version: "^0.5.0", // Fetch exact version from solc-bin (default: truffle's version) + version: "0.4.24", // Fetch exact version from solc-bin (default: truffle's version) docker: false, // Use "0.5.1" you've installed locally with docker (default: false) settings: { // See the solidity docs for advice about optimization and evmVersion optimizer: { diff --git a/tests/integration/proxyIdentity.test.ts b/tests/integration/proxyIdentity.test.ts deleted file mode 100644 index 96d5d55ac..000000000 --- a/tests/integration/proxyIdentity.test.ts +++ /dev/null @@ -1,138 +0,0 @@ -import { ContractFactory, Contract, providers } from 'ethers'; -import { expect } from 'chai'; -import { - erc1056Build, createProxy, proxyFactoryBuild, multiproxyBuild, -} from '../../packages/proxyIdentity'; -import { - IClaimsUser, ClaimsUser, -} from '../../packages/claims'; -import { DIDDocumentFull } from '../../packages/did-document'; -import { Methods } from '../../packages/did'; -import { DidStore } from '../../packages/did-ipfs-store'; -import { - Operator, signerFromKeys, walletPubKey, withKey, withProvider, -} from '../../packages/did-ethr-resolver'; - -import { spawnIpfsDaemon, shutDownIpfsDaemon, deployRegistry } from '..'; -import { Keys } from '../../packages/keys/src'; - -const { JsonRpcProvider } = providers; - -const { abi: proxyFactoryAbi, bytecode: proxyFactoryBytecode } = proxyFactoryBuild; -const { ethrReg: { abi: erc1056Abi, bytecode: erc1056Bytecode } } = erc1056Build; -const { abi: multiProxyAbi, bytecode: multiProxyBytecode } = multiproxyBuild; - -describe('Identities shared management with proxies', function () { - this.timeout(0); - - const provider = new JsonRpcProvider('http://localhost:8544'); - - const deployer = withKey(withProvider(signerFromKeys(new Keys()), provider), walletPubKey); - const bebat = withKey(withProvider(signerFromKeys(new Keys()), provider), walletPubKey); - const oem = withKey(withProvider(signerFromKeys(new Keys()), provider), walletPubKey); - const installer = withKey(withProvider(signerFromKeys(new Keys()), provider), walletPubKey); - const customer = withKey(withProvider(signerFromKeys(new Keys()), provider), walletPubKey); - - let oemDid: string; - let installerDid: string; - - let erc1056: Contract; - let erc1155: Contract; - let proxyFactory: Contract; - - const serial = '1'; - let device: Contract; - - let store: DidStore; - - let installerClaims: IClaimsUser; - - let installerDoc: DIDDocumentFull; - let oemDoc: DIDDocumentFull; - - const claimData = { - type: 'lithium', - status: 'installed', - }; - - before(async () => { - const registry = await deployRegistry([ - await deployer.getAddress(), - await bebat.getAddress(), - await oem.getAddress(), - await installer.getAddress(), - await customer.getAddress(), - ]); - - oemDid = `did:${Methods.Erc1056}:${await oem.getAddress()}`; - installerDid = `did:${Methods.Erc1056}:${await installer.getAddress()}`; - - const erc1056Creator = new ContractFactory(erc1056Abi, erc1056Bytecode, deployer); - erc1056 = await erc1056Creator.deploy(); - - const erc1155Creator = new ContractFactory(multiProxyAbi, multiProxyBytecode, deployer); - erc1155 = await erc1155Creator.deploy(); - - const proxyFactoryCreator = new ContractFactory(proxyFactoryAbi, proxyFactoryBytecode, bebat); - proxyFactory = await proxyFactoryCreator.deploy(erc1056.address, erc1155.address); - - store = new DidStore(await spawnIpfsDaemon()); - - oemDoc = new DIDDocumentFull(oemDid, new Operator(oem, { address: registry })); - await oemDoc.create(); - - installerDoc = new DIDDocumentFull(installerDid, new Operator(installer, { address: registry })); - await installerDoc.create(); - - installerClaims = new ClaimsUser(installer, installerDoc, store); - }); - - it('BEBAT creates proxy identity and becomes its owner', async () => { - device = await createProxy(proxyFactory, serial); - expect(await device.owner()).equal(await bebat.getAddress()); - }); - - it('BEBAT transfers ownership to OEM', async () => { - await device.connect(bebat).changeOwner(await oem.getAddress()); - expect(await device.owner()).equal(await oem.getAddress()); - }); - - it('OEM updates Battery metadata', async () => { - const uri = 'ipfs://123abc'; - await device.connect(oem).updateUri(uri); - expect(await device.uri()).equal(uri); - }); - - it('OEM as the owner adds Installer to approved agents', async () => { - await device.connect(oem).addApprovedAgent(await installer.getAddress()); - expect( - await device.isApproved(await installer.getAddress()), - ) - .true; - }); - - it('Installer publishes self-issued claim', async () => { - const claim = await installerClaims.createPublicClaim(claimData); - - const claimUrl = await installerClaims.publishPublicClaim(claim, claimData); - - expect(await store.get(claimUrl)).equal(claim); - }); - - it('Installer adds customer to approved agents', async () => { - await device.connect(installer).addApprovedAgent(await customer.getAddress()); - - expect(await device.isApproved(await customer.getAddress())).true; - }); - - it('Approved customer can update metadata uri', async () => { - const uri = 'ipfs://ipfs/123abc'; - await device.connect(customer).updateUri(uri); - - expect(await device.uri()).equal(uri); - }); - - after(async () => { - await shutDownIpfsDaemon(); - }); -});