aiia-vault-sdk 1.2.4 → 1.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -20,6 +20,7 @@ export interface ReferralPaidEvent {
20
20
  amount: number;
21
21
  level: number;
22
22
  originalAmount: number;
23
+ tokenId: number;
23
24
  }
24
25
  export interface ReferralCodeSetEvent {
25
26
  user: string;
@@ -1 +1 @@
1
- "use strict";var e=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.MultiLevelReferralNFTSDK=void 0;const t=require("ethers"),r=e(require("./abis/NFTTicket.json")),a=e(require("./contracts.json")),s=require("./utils");exports.MultiLevelReferralNFTSDK=class{constructor(e,o){this.name="NFTTicket",this.isBootstrapped=!1,this.formatEventArgs=e=>{const{eventName:r,args:a}=e;switch(r){case"NFTMinted":return{...e,args:{...a,owner:a.owner.toLowerCase(),tokenId:Number(a.tokenId)}};case"ReferrerSet":return{...e,args:{...a,referrer:a.referrer.toLowerCase(),referee:a.referee.toLowerCase()}};case"ReferralPaid":return{...e,args:{...a,receiver:a.receiver.toLowerCase(),buyer:a.buyer.toLowerCase(),amount:Number(t.ethers.formatEther(a.amount)),level:Number(a.level),originalAmount:Number(t.ethers.formatEther(a.originalAmount))}};case"ReferralCodeSet":return{...e,args:{...a,user:a.user.toLowerCase(),referralCode:a.referralCode}};case"Transfer":return{...e,args:{...a,from:a.from.toLowerCase(),to:a.to.toLowerCase(),tokenId:Number(a.tokenId)}};default:return e}};const n=Array.isArray(e)?e:[e];this.providers=n.map((e=>new t.ethers.JsonRpcProvider(e)));const i=(0,s.getRandomProvider)(this.providers);this.contractAddress=(0,s.resolveContractAddress)(n[0],this.name,a.default,o),this.contract=new t.ethers.Contract(this.contractAddress,r.default.abi,i)}getRandomProvider(){return(0,s.getRandomProvider)(this.providers)}getContractWithRandomProvider(){return new t.ethers.Contract(this.contractAddress,r.default.abi,this.getRandomProvider())}async bootstrap(){if(this.isBootstrapped)return;const e=await Promise.all(this.providers.map(((e,t)=>(0,s.checkRpcHealth)(e,t))));if(this.providers=this.providers.filter(((t,r)=>e[r])),0===this.providers.length)throw new Error("No active RPC providers available");this.isBootstrapped=!0}async signAndSendTransaction(e,t,r={}){return(0,s.signAndSendTransaction)(e,t,(()=>this.getRandomProvider()),r,this.contract)}async getPrice(){const e=await this.contract.price();return Number(t.ethers.formatEther(e))}async getSharePercent(){const e=await this.contract.sharePercent();return Number(e)}async getMaxReferralLevels(){const e=await this.contract.maxReferralLevels();return Number(e)}async getReferrer(e){return await this.contract.referrers(e)}async getReferralCodeOwner(e){return await this.contract.referralCodes(e)}async getUserReferralCode(e){return await this.contract.userReferralCodes(e)}async buildGenerateReferralCodeTx(){return await this.contract.generateReferralCode.populateTransaction()}async buildGenerateReferralCodeForUserTx(e){return await this.contract.generateReferralCodeForUser.populateTransaction(e)}async buildSetPriceTx(e){const r=t.ethers.parseEther(e.toString());return await this.contract.setPrice.populateTransaction(r)}async buildBuyNFTTx(e){const r=await this.getPrice(),a=await this.contract.buy.populateTransaction(e);return a.value=t.ethers.parseEther(r.toString()),a}async buildWithdrawTx(e){const r=t.ethers.parseEther(e.toString());return await this.contract.withdraw.populateTransaction(r)}async buildMintToTx(e){return await this.bootstrap(),this.contract.mintTo.populateTransaction(e)}async buildBatchMintTx(e,t){return await this.bootstrap(),this.contract.batchMint.populateTransaction(e,t)}async getOwner(){return await this.contract.owner()}getContractAddress(){return this.contractAddress}async getAllEvents(e,t,r){return await this.bootstrap(),(0,s.getAllEvents)(this.contract,(()=>this.getRandomProvider()),(()=>this.getContractWithRandomProvider()),e,t,r)}async streamEvents(e,t,r,a=1e3,o=5e3){return await this.bootstrap(),(0,s.streamEvents)({getProvider:()=>this.getRandomProvider(),getAllEvents:(e,t)=>this.getAllEvents(e,t),formatEvent:e=>this.formatEventArgs(e),onEvent:t,saveLatestBlock:r,fromBlock:e,batchSize:a,sleepTime:o})}};
1
+ "use strict";var e=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.MultiLevelReferralNFTSDK=void 0;const t=require("ethers"),r=e(require("./abis/NFTTicket.json")),a=e(require("./contracts.json")),s=require("./utils");exports.MultiLevelReferralNFTSDK=class{constructor(e,o){this.name="NFTTicket",this.isBootstrapped=!1,this.formatEventArgs=e=>{const{eventName:r,args:a}=e;switch(r){case"NFTMinted":return{...e,args:{...a,owner:a.owner.toLowerCase(),tokenId:Number(a.tokenId)}};case"ReferrerSet":return{...e,args:{...a,referrer:a.referrer.toLowerCase(),referee:a.referee.toLowerCase()}};case"ReferralPaid":return{...e,args:{...a,receiver:a.receiver.toLowerCase(),buyer:a.buyer.toLowerCase(),amount:Number(t.ethers.formatEther(a.amount)),level:Number(a.level),originalAmount:Number(t.ethers.formatEther(a.originalAmount)),tokenId:Number(a.tokenId)}};case"ReferralCodeSet":return{...e,args:{...a,user:a.user.toLowerCase(),referralCode:a.referralCode}};case"Transfer":return{...e,args:{...a,from:a.from.toLowerCase(),to:a.to.toLowerCase(),tokenId:Number(a.tokenId)}};default:return e}};const n=Array.isArray(e)?e:[e];this.providers=n.map((e=>new t.ethers.JsonRpcProvider(e)));const i=(0,s.getRandomProvider)(this.providers);this.contractAddress=(0,s.resolveContractAddress)(n[0],this.name,a.default,o),this.contract=new t.ethers.Contract(this.contractAddress,r.default.abi,i)}getRandomProvider(){return(0,s.getRandomProvider)(this.providers)}getContractWithRandomProvider(){return new t.ethers.Contract(this.contractAddress,r.default.abi,this.getRandomProvider())}async bootstrap(){if(this.isBootstrapped)return;const e=await Promise.all(this.providers.map(((e,t)=>(0,s.checkRpcHealth)(e,t))));if(this.providers=this.providers.filter(((t,r)=>e[r])),0===this.providers.length)throw new Error("No active RPC providers available");this.isBootstrapped=!0}async signAndSendTransaction(e,t,r={}){return(0,s.signAndSendTransaction)(e,t,(()=>this.getRandomProvider()),r,this.contract)}async getPrice(){const e=await this.contract.price();return Number(t.ethers.formatEther(e))}async getSharePercent(){const e=await this.contract.sharePercent();return Number(e)}async getMaxReferralLevels(){const e=await this.contract.maxReferralLevels();return Number(e)}async getReferrer(e){return await this.contract.referrers(e)}async getReferralCodeOwner(e){return await this.contract.referralCodes(e)}async getUserReferralCode(e){return await this.contract.userReferralCodes(e)}async buildGenerateReferralCodeTx(){return await this.contract.generateReferralCode.populateTransaction()}async buildGenerateReferralCodeForUserTx(e){return await this.contract.generateReferralCodeForUser.populateTransaction(e)}async buildSetPriceTx(e){const r=t.ethers.parseEther(e.toString());return await this.contract.setPrice.populateTransaction(r)}async buildBuyNFTTx(e){const r=await this.getPrice(),a=await this.contract.buy.populateTransaction(e);return a.value=t.ethers.parseEther(r.toString()),a}async buildWithdrawTx(e){const r=t.ethers.parseEther(e.toString());return await this.contract.withdraw.populateTransaction(r)}async buildMintToTx(e){return await this.bootstrap(),this.contract.mintTo.populateTransaction(e)}async buildBatchMintTx(e,t){return await this.bootstrap(),this.contract.batchMint.populateTransaction(e,t)}async getOwner(){return await this.contract.owner()}getContractAddress(){return this.contractAddress}async getAllEvents(e,t,r){return await this.bootstrap(),(0,s.getAllEvents)(this.contract,(()=>this.getRandomProvider()),(()=>this.getContractWithRandomProvider()),e,t,r)}async streamEvents(e,t,r,a=1e3,o=5e3){return await this.bootstrap(),(0,s.streamEvents)({getProvider:()=>this.getRandomProvider(),getAllEvents:(e,t)=>this.getAllEvents(e,t),formatEvent:e=>this.formatEventArgs(e),onEvent:t,saveLatestBlock:r,fromBlock:e,batchSize:a,sleepTime:o})}};
@@ -377,6 +377,12 @@
377
377
  "internalType": "uint256",
378
378
  "name": "originalAmount",
379
379
  "type": "uint256"
380
+ },
381
+ {
382
+ "indexed": false,
383
+ "internalType": "uint256",
384
+ "name": "tokenId",
385
+ "type": "uint256"
380
386
  }
381
387
  ],
382
388
  "name": "ReferralPaid",
@@ -967,8 +973,8 @@
967
973
  "type": "function"
968
974
  }
969
975
  ],
970
- "bytecode": "0x60808060405234601557612519908161001b8239f35b600080fdfe608080604052600436101561001357600080fd5b60003560e01c90816301ffc9a7146116cd5750806306fdde031461161d578063081812fc146115d2578063095ea7b3146114e057806323b872dd146114c95780632655e840146114615780632e1a7d4d1461140357806342842e0e146113d357806343508b051461137a578063492cc7691461107b5780634a3b68cc1461103957806355f804b314610e645780635f1e6f6d146108205780636352211e146107f05780636c0360eb146107cc57806370a082311461077a578063715018a614610710578063755edd17146106bc57806384d8ad131461069e5780638da5cb5b1461066857806391b7f5ed1461064757806395d89b41146105605780639b2c76d41461051c5780639df375d714610480578063a035b1fe14610462578063a22cb465146103c6578063b0a2fc1b1461033f578063b88d4fde146102d4578063c15edf5f146102b6578063c87b56dd146101fd578063e985e9c5146101af5763f2fde38b1461017f57600080fd5b346101aa5760203660031901126101aa576101a861019b611780565b6101a3611d0e565b611c67565b005b600080fd5b346101aa5760403660031901126101aa576101c8611780565b6101d96101d3611796565b916118b0565b9060018060a01b0316600052602052602060ff604060002054166040519015158152f35b346101aa5760203660031901126101aa576001600160a01b03610221600435611cdd565b1615610259576102556040516102418161023a81611923565b03826117e6565b60405191829160208352602083019061175b565b0390f35b60405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b6064820152608490fd5b346101aa5760003660031901126101aa576020600154604051908152f35b346101aa5760803660031901126101aa576102ed611780565b6102f5611796565b90604435606435926001600160401b0384116101aa57366023850112156101aa5761032d6101a8943690602481600401359101611822565b92610339838383611a35565b33612273565b346101aa5760003660031901126101aa573360005260066020526103676040600020546118e9565b6103975761037433611fa4565b33600052600660205261025561023a6102416040600020604051928380926119b2565b3360005260066020526103c26040600020604051918291638541228760e01b83523360048401611c45565b0390fd5b346101aa5760403660031901126101aa576103df611780565b602435908115158092036101aa576001600160a01b031690811561044d57610406336118b0565b82600052602052604060002060ff1981541660ff83161790556040519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a3005b50630b61174360e31b60005260045260246000fd5b346101aa5760003660031901126101aa576020600054604051908152f35b346101aa5760203660031901126101aa57610499611780565b6104a1611d0e565b60018060a01b038116908160005260066020526104c26040600020546118e9565b6104f1576104cf90611fa4565b600052600660205261025561023a6102416040600020604051928380926119b2565b9060005260066020526040600020906103c2604051928392638541228760e01b845260048401611c45565b346101aa5760203660031901126101aa576001600160a01b0361053d611780565b16600052600660205261025561023a6102416040600020604051928380926119b2565b346101aa5760003660031901126101aa5760405160006000805160206124a48339815191525461058f816118e9565b808452906001811690811561062357506001146105b7575b61025583610241818503826117e6565b6000805160206124a483398151915260009081527ff4bad0a69248f59680a4f2b3000328cec71a413447c96781cfe5996daa8c456e939250905b808210610609575090915081016020016102416105a7565b9192600181602092548385880101520191019092916105f1565b60ff191660208086019190915291151560051b8401909101915061024190506105a7565b346101aa5760203660031901126101aa57610660611d0e565b600435600055005b346101aa5760003660031901126101aa57600080516020612424833981519152546040516001600160a01b039091168152602090f35b346101aa5760003660031901126101aa576020600454604051908152f35b346101aa5760203660031901126101aa576106d5611780565b6106dd611d0e565b6001600160a01b038116156106ff57806106f96101a892611d53565b50611fa4565b634e46966960e11b60005260046000fd5b346101aa5760003660031901126101aa57610729611d0e565b60008051602061242483398151915280546001600160a01b031981169091556000906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346101aa5760203660031901126101aa57610793611780565b6001600160a01b038116156107b6576107ad602091611877565b54604051908152f35b6322718ad960e21b600052600060045260246000fd5b346101aa5760003660031901126101aa576102556040516102418161023a81611923565b346101aa5760203660031901126101aa57602061080e600435611cdd565b6040516001600160a01b039091168152f35b346101aa5760803660031901126101aa57610839611780565b6024356001600160401b0381116101aa57610858903690600401611859565b6044356001600160401b0381116101aa57610877903690600401611859565b916064356001600160401b0381116101aa57610897903690600401611859565b600080516020612484833981519152549260ff8460401c1615936001600160401b03811680159081610e5c575b6001149081610e52575b159081610e49575b50610e385767ffffffffffffffff1981166001176000805160206124848339815191525584610e0b575b506109096123d5565b6109116123d5565b8051906001600160401b038211610bda57819061093c600080516020612404833981519152546118e9565b601f8111610d87575b50602090601f8311600114610cf957600092610cee575b50508160011b916000199060031b1c191617600080516020612404833981519152555b83516001600160401b038111610bda576109a76000805160206124a4833981519152546118e9565b601f8111610c7c575b50602094601f8211600114610bfb57948192939495600092610bf0575b50508160011b916000199060031b1c1916176000805160206124a4833981519152555b6109f86123d5565b610a006123d5565b610a0982611c67565b610a11611d0e565b610a1a82611c67565b66038d7ea4c680006000556014600155600480558051906001600160401b038211610bda57610a4a6007546118e9565b601f8111610b6d575b50602090601f8311600114610af557610a8b93929160009183610aea575b50508160011b916000199060031b1c191617600755611fa4565b610a9157005b68ff0000000000000000196000805160206124848339815191525416600080516020612484833981519152557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a1005b015190508580610a71565b90601f1983169160076000526000805160206124448339815191529260005b818110610b555750916001939185610a8b97969410610b3c575b505050811b01600755611fa4565b015160001960f88460031b161c19169055858080610b2e565b92936020600181928786015181550195019301610b14565b6007600052601f830160051c600080516020612444833981519152019060208410610bc4575b601f0160051c60008051602061244483398151915201905b818110610bb85750610a53565b60008155600101610bab565b6000805160206124448339815191529150610b93565b634e487b7160e01b600052604160045260246000fd5b0151905085806109cd565b601f198216956000805160206124a4833981519152600052806000209160005b888110610c6457508360019596979810610c4b575b505050811b016000805160206124a4833981519152556109f0565b015160001960f88460031b161c19169055858080610c30565b91926020600181928685015181550194019201610c1b565b6000805160206124a48339815191526000527ff4bad0a69248f59680a4f2b3000328cec71a413447c96781cfe5996daa8c456e601f830160051c81019160208410610ce4575b601f0160051c01905b818110610cd857506109b0565b60008155600101610ccb565b9091508190610cc2565b01519050868061095c565b60008051602061240483398151915260009081526000805160206124c48339815191529350601f198516905b818110610d6f5750908460019594939210610d56575b505050811b016000805160206124048339815191525561097f565b015160001960f88460031b161c19169055868080610d3b565b92936020600181928786015181550195019301610d25565b909150600080516020612404833981519152600052601f830160051c6000805160206124c4833981519152019060208410610df5575b90601f8493920160051c6000805160206124c483398151915201905b818110610de65750610945565b60008155849350600101610dd9565b6000805160206124c48339815191529150610dbd565b68ffffffffffffffffff191668010000000000000001176000805160206124848339815191525585610900565b63f92ee8a960e01b60005260046000fd5b905015876108d6565b303b1591506108ce565b8691506108c4565b346101aa5760203660031901126101aa576004356001600160401b0381116101aa57610e94903690600401611859565b610e9c611d0e565b80516001600160401b038111610bda57610eb76007546118e9565b601f8111610fcc575b506020601f8211600114610f36579181610f26927f5411e8ebf1636d9e83d5fc4900bf80cbac82e8790da2a4c94db4895e889eedf694600091610f2b575b508160011b916000199060031b1c19161760075560405191829160208352602083019061175b565b0390a1005b905082015185610efe565b601f1982169060076000526000805160206124448339815191529160005b818110610fb45750927f5411e8ebf1636d9e83d5fc4900bf80cbac82e8790da2a4c94db4895e889eedf6949260019282610f269610610f9b575b5050811b01600755610241565b84015160001960f88460031b161c191690558580610f8e565b91926020600181928689015181550194019201610f54565b6007600052601f820160051c600080516020612444833981519152019060208310611023575b601f0160051c60008051602061244483398151915201905b8181106110175750610ec0565b6000815560010161100a565b6000805160206124448339815191529150610ff2565b346101aa5760203660031901126101aa576001600160a01b0361105a611780565b166000526003602052602060018060a01b0360406000205416604051908152f35b60203660031901126101aa576004356001600160401b0381116101aa576110a6903690600401611859565b60005480340361136257506110ba33611d53565b506110c433611fa4565b60206110d96040519283815193849201611738565b60059082019081528190036020019020546001600160a01b031680158015611359575b61134557336000908152600360205260409020546001600160a01b0316156112f0575b50606461112e60015434612260565b0433600052600360205260018060a01b0360406000205416906000915b6001600160a01b038116801515806112e5575b156101a8576000818152600360205260409020546001600160a01b031690811580156112ce575b156112105750506001600160a01b031690600080808084865af16111a7611c15565b50156111f8576111f37f02ed85443f0661a84c4e0306728875b8e1dab887acb3f834fc8d74fa8cea63859160405191829133963491846040919493926060820195825260208201520152565b0390a3005b90633da906b960e01b60005260045260245260446000fd5b909150600193929354606403606481116112b85761123060649186612260565b04908185039485116112b857600080808085855af161124d611c15565b50156112a1576040805192835260208301859052349083015261129b92913391907f02ed85443f0661a84c4e0306728875b8e1dab887acb3f834fc8d74fa8cea638590606090a39291611d44565b9161114b565b633da906b960e01b60005260045260245260446000fd5b634e487b7160e01b600052601160045260246000fd5b5060045460001981019081116112b8578514611185565b50600454841061115e565b33600081815260036020526040812080546001600160a01b0319166001600160a01b0385161790559091907f5f7165288eef601591cf549e15ff19ef9060b7f71b9c115be946fa1fe7ebf68a9080a38061111f565b6316fb166f60e01b60005260045260246000fd5b503381146110fc565b63ebbfb3bb60e01b6000523460045260245260446000fd5b346101aa5760403660031901126101aa57611393611780565b60243561139e611d0e565b6001600160a01b038216156106ff5760005b8181106113c0576101a883611fa4565b6001906113cc84611d53565b50016113b0565b346101aa576101a86113e4366117ac565b90604051926113f46020856117e6565b60008452610339838383611a35565b346101aa5760203660031901126101aa5760043561141f611d0e565b47811161145057600080808093335af1611437611c15565b501561143f57005b63351dc55d60e21b60005260046000fd5b631e9acf1760e31b60005260046000fd5b346101aa5760203660031901126101aa576004356001600160401b0381116101aa576114936020913690600401611859565b816114a76040519283815193849201611738565b600590820190815281900382019020546040516001600160a01b039091168152f35b346101aa576101a86114da366117ac565b91611a35565b346101aa5760403660031901126101aa576114f9611780565b60243561150581611cdd565b331515806115bf575b8061159b575b6115865781906001600160a01b0384811691167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600080a460009081526000805160206124648339815191526020526040902080546001600160a01b0319166001600160a01b03909216919091179055005b63a9fbf51f60e01b6000523360045260246000fd5b506115a5816118b0565b336000908152602091909152604090205460ff1615611514565b506001600160a01b03811633141561150e565b346101aa5760203660031901126101aa57602061080e6004356115f481611cdd565b50600090815260008051602061246483398151915260205260409020546001600160a01b031690565b346101aa5760003660031901126101aa5760405160006000805160206124048339815191525461164c816118e9565b808452906001811690811561062357506001146116735761025583610241818503826117e6565b60008051602061240483398151915260009081526000805160206124c4833981519152939250905b8082106116b3575090915081016020016102416105a7565b91926001816020925483858801015201910190929161169b565b346101aa5760203660031901126101aa576004359063ffffffff60e01b82168092036101aa576020916380ac58cd60e01b8114908115611727575b8115611716575b5015158152f35b6301ffc9a760e01b1490508361170f565b635b5e139f60e01b81149150611708565b60005b83811061174b5750506000910152565b818101518382015260200161173b565b9060209161177481518092818552858086019101611738565b601f01601f1916010190565b600435906001600160a01b03821682036101aa57565b602435906001600160a01b03821682036101aa57565b60609060031901126101aa576004356001600160a01b03811681036101aa57906024356001600160a01b03811681036101aa579060443590565b90601f801991011681019081106001600160401b03821117610bda57604052565b6001600160401b038111610bda57601f01601f191660200190565b92919261182e82611807565b9161183c60405193846117e6565b8294818452818301116101aa578281602093846000960137010152565b9080601f830112156101aa5781602061187493359101611822565b90565b6001600160a01b031660009081527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793036020526040902090565b6001600160a01b031660009081527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793056020526040902090565b90600182811c92168015611919575b602083101461190357565b634e487b7160e01b600052602260045260246000fd5b91607f16916118f8565b60075460009291611933826118e9565b8082529160018116908115611996575060011461194e575050565b600760009081529293509091906000805160206124448339815191525b83831061197c575060209250010190565b60018160209294939454838587010152019101919061196b565b9050602093945060ff929192191683830152151560051b010190565b600092918154916119c2836118e9565b8083529260018116908115611a1857506001146119de57505050565b60009081526020812093945091925b8383106119fe575060209250010190565b6001816020929493945483858701015201910191906119ed565b915050602093945060ff929192191683830152151560051b010190565b909291906001600160a01b0384168015611bff57600094611a5584612374565b9533151580611b53575b509184917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611aa097989460018060a01b03861698899384611b1457611877565b805460010190558481527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793026020526040812080546001600160a01b0319168517905580a4506001600160a01b0316808303611afa57505050565b6364283d7b60e01b60005260045260245260445260646000fd5b60008781526000805160206124648339815191526020526040902080546001600160a01b0319169055611b4688611877565b8054600019019055611877565b80611b9c575b15611b645738611a5f565b84906001600160a01b038816611b8657602491637e27328960e01b8252600452fd5b60449163177e802f60e01b825233600452602452fd5b506001600160a01b03871633148015611be2575b80611b595750600085815260008051602061246483398151915260205260409020546001600160a01b03163314611b59565b50611bec876118b0565b338252602052604081205460ff16611bb0565b633250574960e11b600052600060045260246000fd5b3d15611c40573d90611c2682611807565b91611c3460405193846117e6565b82523d6000602084013e565b606090565b6001600160a01b039091168152604060208201819052611874929101906119b2565b6001600160a01b03168015611cc75760008051602061242483398151915280546001600160a01b0319811683179091556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b631e4fbdf760e01b600052600060045260246000fd5b611ce681612374565b906001600160a01b03821615611cfa575090565b637e27328960e01b60005260045260246000fd5b600080516020612424833981519152546001600160a01b03163303611d2f57565b63118cdaa760e01b6000523360045260246000fd5b60001981146112b85760010190565b60025460405160209291611d6784836117e6565b600082526001600160a01b038316928315611bff57611d8582612374565b6001600160a01b03811680151591908490879084611f65575b611da786611877565b8054600101905560008381527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793028b526040812080546001600160a01b031916841790557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9080a450611f4f573b611e56575b50507f4cc0a9c4a99ddc700de1af2c9f916a7cbfdb71f14801ccff94061ad1ef8a804060025492604051848152a2611e5081611d44565b60025590565b611e949184916040969496519384928392630a85bd0160e11b845233600485015260006024850152604484015260806064840152608483019061175b565b03816000885af18091600091611f0a575b5090611ed5575050611eb5611c15565b80519182611ed25783633250574960e11b60005260045260246000fd5b01fd5b9092906001600160e01b03191663757a42ff60e11b01611ef6573880611e19565b633250574960e11b60005260045260246000fd5b8481813d8311611f48575b611f1f81836117e6565b81010312611f445751906001600160e01b031982168203611f41575038611ea5565b80fd5b5080fd5b503d611f15565b6339e3563760e11b600052600060045260246000fd5b60008381526000805160206124648339815191526020526040902080546001600160a01b0319169055611f9784611877565b8054600019019055611d9e565b6001600160a01b0316600081815260066020526040902054611fc5906118e9565b15611fcd5750565b6040516060611fdc81836117e6565b602482527f6162636465666768696a6b6c6d6e6f707172737475767778797a3031323334356020830152633637383960e01b604083015260409081519261202383856117e6565b600684526020840191601f19840136843760005b600681106121f2575050506020612058918351809381928751928391611738565b81016005815203019020836bffffffffffffffffffffffff60a01b8254161790558260005260066020528060002082516001600160401b038111610bda576120a082546118e9565b601f81116121aa575b506020601f821160011461211f57918161210f94927fb9e788fc28e69f876035840c2b162474437d35622a8cfa689a88c04403bf7ee69694600091612114575b508160011b916000199060031b1c19161790555b5191829160208352602083019061175b565b0390a2565b9050840151386120e9565b601f1982169083600052806000209160005b8181106121925750927fb9e788fc28e69f876035840c2b162474437d35622a8cfa689a88c04403bf7ee69694926001928261210f989610612179575b5050811b0190556120fd565b86015160001960f88460031b161c19169055388061216d565b9192602060018192868b015181550194019201612131565b826000526020600020601f830160051c810191602084106121e8575b601f0160051c01905b8181106121dc57506120a9565b600081556001016121cf565b90915081906121c6565b84516020810190428252448782015282848201528381526122146080826117e6565b51902090835191821561224a5761223460019360ff60f81b9206866123ae565b511660001a61224382896123ae565b5301612037565b634e487b7160e01b600052601260045260246000fd5b818102929181159184041417156112b857565b823b612281575b5050505050565b604051630a85bd0160e11b81526001600160a01b0391821660048201529181166024830152604482019390935260806064820152911691602090829081906122cd90608483019061175b565b03816000865af18091600091612331575b509061230f57506122ed611c15565b8051908161230a5782633250574960e11b60005260045260246000fd5b602001fd5b6001600160e01b03191663757a42ff60e11b01611ef65750388080808061227a565b6020813d60201161236c575b8161234a602093836117e6565b81010312611f445751906001600160e01b031982168203611f415750386122de565b3d915061233d565b60009081527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab007930260205260409020546001600160a01b031690565b9081518110156123bf570160200190565b634e487b7160e01b600052603260045260246000fd5b60ff6000805160206124848339815191525460401c16156123f257565b631afcd79f60e31b60005260046000fdfe80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793009016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300a66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68880bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab0079304f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0080bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab007930137c58c799b6609234b945e882912ee9ad34948a1dfaa20a97485e1a7752bbf81a2646970667358221220f211a1389a59a5cb8469777091c866ff5abd158aca61ec9e5fde80d490929aea64736f6c634300081c0033",
971
- "deployedBytecode": "0x608080604052600436101561001357600080fd5b60003560e01c90816301ffc9a7146116cd5750806306fdde031461161d578063081812fc146115d2578063095ea7b3146114e057806323b872dd146114c95780632655e840146114615780632e1a7d4d1461140357806342842e0e146113d357806343508b051461137a578063492cc7691461107b5780634a3b68cc1461103957806355f804b314610e645780635f1e6f6d146108205780636352211e146107f05780636c0360eb146107cc57806370a082311461077a578063715018a614610710578063755edd17146106bc57806384d8ad131461069e5780638da5cb5b1461066857806391b7f5ed1461064757806395d89b41146105605780639b2c76d41461051c5780639df375d714610480578063a035b1fe14610462578063a22cb465146103c6578063b0a2fc1b1461033f578063b88d4fde146102d4578063c15edf5f146102b6578063c87b56dd146101fd578063e985e9c5146101af5763f2fde38b1461017f57600080fd5b346101aa5760203660031901126101aa576101a861019b611780565b6101a3611d0e565b611c67565b005b600080fd5b346101aa5760403660031901126101aa576101c8611780565b6101d96101d3611796565b916118b0565b9060018060a01b0316600052602052602060ff604060002054166040519015158152f35b346101aa5760203660031901126101aa576001600160a01b03610221600435611cdd565b1615610259576102556040516102418161023a81611923565b03826117e6565b60405191829160208352602083019061175b565b0390f35b60405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b6064820152608490fd5b346101aa5760003660031901126101aa576020600154604051908152f35b346101aa5760803660031901126101aa576102ed611780565b6102f5611796565b90604435606435926001600160401b0384116101aa57366023850112156101aa5761032d6101a8943690602481600401359101611822565b92610339838383611a35565b33612273565b346101aa5760003660031901126101aa573360005260066020526103676040600020546118e9565b6103975761037433611fa4565b33600052600660205261025561023a6102416040600020604051928380926119b2565b3360005260066020526103c26040600020604051918291638541228760e01b83523360048401611c45565b0390fd5b346101aa5760403660031901126101aa576103df611780565b602435908115158092036101aa576001600160a01b031690811561044d57610406336118b0565b82600052602052604060002060ff1981541660ff83161790556040519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a3005b50630b61174360e31b60005260045260246000fd5b346101aa5760003660031901126101aa576020600054604051908152f35b346101aa5760203660031901126101aa57610499611780565b6104a1611d0e565b60018060a01b038116908160005260066020526104c26040600020546118e9565b6104f1576104cf90611fa4565b600052600660205261025561023a6102416040600020604051928380926119b2565b9060005260066020526040600020906103c2604051928392638541228760e01b845260048401611c45565b346101aa5760203660031901126101aa576001600160a01b0361053d611780565b16600052600660205261025561023a6102416040600020604051928380926119b2565b346101aa5760003660031901126101aa5760405160006000805160206124a48339815191525461058f816118e9565b808452906001811690811561062357506001146105b7575b61025583610241818503826117e6565b6000805160206124a483398151915260009081527ff4bad0a69248f59680a4f2b3000328cec71a413447c96781cfe5996daa8c456e939250905b808210610609575090915081016020016102416105a7565b9192600181602092548385880101520191019092916105f1565b60ff191660208086019190915291151560051b8401909101915061024190506105a7565b346101aa5760203660031901126101aa57610660611d0e565b600435600055005b346101aa5760003660031901126101aa57600080516020612424833981519152546040516001600160a01b039091168152602090f35b346101aa5760003660031901126101aa576020600454604051908152f35b346101aa5760203660031901126101aa576106d5611780565b6106dd611d0e565b6001600160a01b038116156106ff57806106f96101a892611d53565b50611fa4565b634e46966960e11b60005260046000fd5b346101aa5760003660031901126101aa57610729611d0e565b60008051602061242483398151915280546001600160a01b031981169091556000906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346101aa5760203660031901126101aa57610793611780565b6001600160a01b038116156107b6576107ad602091611877565b54604051908152f35b6322718ad960e21b600052600060045260246000fd5b346101aa5760003660031901126101aa576102556040516102418161023a81611923565b346101aa5760203660031901126101aa57602061080e600435611cdd565b6040516001600160a01b039091168152f35b346101aa5760803660031901126101aa57610839611780565b6024356001600160401b0381116101aa57610858903690600401611859565b6044356001600160401b0381116101aa57610877903690600401611859565b916064356001600160401b0381116101aa57610897903690600401611859565b600080516020612484833981519152549260ff8460401c1615936001600160401b03811680159081610e5c575b6001149081610e52575b159081610e49575b50610e385767ffffffffffffffff1981166001176000805160206124848339815191525584610e0b575b506109096123d5565b6109116123d5565b8051906001600160401b038211610bda57819061093c600080516020612404833981519152546118e9565b601f8111610d87575b50602090601f8311600114610cf957600092610cee575b50508160011b916000199060031b1c191617600080516020612404833981519152555b83516001600160401b038111610bda576109a76000805160206124a4833981519152546118e9565b601f8111610c7c575b50602094601f8211600114610bfb57948192939495600092610bf0575b50508160011b916000199060031b1c1916176000805160206124a4833981519152555b6109f86123d5565b610a006123d5565b610a0982611c67565b610a11611d0e565b610a1a82611c67565b66038d7ea4c680006000556014600155600480558051906001600160401b038211610bda57610a4a6007546118e9565b601f8111610b6d575b50602090601f8311600114610af557610a8b93929160009183610aea575b50508160011b916000199060031b1c191617600755611fa4565b610a9157005b68ff0000000000000000196000805160206124848339815191525416600080516020612484833981519152557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a1005b015190508580610a71565b90601f1983169160076000526000805160206124448339815191529260005b818110610b555750916001939185610a8b97969410610b3c575b505050811b01600755611fa4565b015160001960f88460031b161c19169055858080610b2e565b92936020600181928786015181550195019301610b14565b6007600052601f830160051c600080516020612444833981519152019060208410610bc4575b601f0160051c60008051602061244483398151915201905b818110610bb85750610a53565b60008155600101610bab565b6000805160206124448339815191529150610b93565b634e487b7160e01b600052604160045260246000fd5b0151905085806109cd565b601f198216956000805160206124a4833981519152600052806000209160005b888110610c6457508360019596979810610c4b575b505050811b016000805160206124a4833981519152556109f0565b015160001960f88460031b161c19169055858080610c30565b91926020600181928685015181550194019201610c1b565b6000805160206124a48339815191526000527ff4bad0a69248f59680a4f2b3000328cec71a413447c96781cfe5996daa8c456e601f830160051c81019160208410610ce4575b601f0160051c01905b818110610cd857506109b0565b60008155600101610ccb565b9091508190610cc2565b01519050868061095c565b60008051602061240483398151915260009081526000805160206124c48339815191529350601f198516905b818110610d6f5750908460019594939210610d56575b505050811b016000805160206124048339815191525561097f565b015160001960f88460031b161c19169055868080610d3b565b92936020600181928786015181550195019301610d25565b909150600080516020612404833981519152600052601f830160051c6000805160206124c4833981519152019060208410610df5575b90601f8493920160051c6000805160206124c483398151915201905b818110610de65750610945565b60008155849350600101610dd9565b6000805160206124c48339815191529150610dbd565b68ffffffffffffffffff191668010000000000000001176000805160206124848339815191525585610900565b63f92ee8a960e01b60005260046000fd5b905015876108d6565b303b1591506108ce565b8691506108c4565b346101aa5760203660031901126101aa576004356001600160401b0381116101aa57610e94903690600401611859565b610e9c611d0e565b80516001600160401b038111610bda57610eb76007546118e9565b601f8111610fcc575b506020601f8211600114610f36579181610f26927f5411e8ebf1636d9e83d5fc4900bf80cbac82e8790da2a4c94db4895e889eedf694600091610f2b575b508160011b916000199060031b1c19161760075560405191829160208352602083019061175b565b0390a1005b905082015185610efe565b601f1982169060076000526000805160206124448339815191529160005b818110610fb45750927f5411e8ebf1636d9e83d5fc4900bf80cbac82e8790da2a4c94db4895e889eedf6949260019282610f269610610f9b575b5050811b01600755610241565b84015160001960f88460031b161c191690558580610f8e565b91926020600181928689015181550194019201610f54565b6007600052601f820160051c600080516020612444833981519152019060208310611023575b601f0160051c60008051602061244483398151915201905b8181106110175750610ec0565b6000815560010161100a565b6000805160206124448339815191529150610ff2565b346101aa5760203660031901126101aa576001600160a01b0361105a611780565b166000526003602052602060018060a01b0360406000205416604051908152f35b60203660031901126101aa576004356001600160401b0381116101aa576110a6903690600401611859565b60005480340361136257506110ba33611d53565b506110c433611fa4565b60206110d96040519283815193849201611738565b60059082019081528190036020019020546001600160a01b031680158015611359575b61134557336000908152600360205260409020546001600160a01b0316156112f0575b50606461112e60015434612260565b0433600052600360205260018060a01b0360406000205416906000915b6001600160a01b038116801515806112e5575b156101a8576000818152600360205260409020546001600160a01b031690811580156112ce575b156112105750506001600160a01b031690600080808084865af16111a7611c15565b50156111f8576111f37f02ed85443f0661a84c4e0306728875b8e1dab887acb3f834fc8d74fa8cea63859160405191829133963491846040919493926060820195825260208201520152565b0390a3005b90633da906b960e01b60005260045260245260446000fd5b909150600193929354606403606481116112b85761123060649186612260565b04908185039485116112b857600080808085855af161124d611c15565b50156112a1576040805192835260208301859052349083015261129b92913391907f02ed85443f0661a84c4e0306728875b8e1dab887acb3f834fc8d74fa8cea638590606090a39291611d44565b9161114b565b633da906b960e01b60005260045260245260446000fd5b634e487b7160e01b600052601160045260246000fd5b5060045460001981019081116112b8578514611185565b50600454841061115e565b33600081815260036020526040812080546001600160a01b0319166001600160a01b0385161790559091907f5f7165288eef601591cf549e15ff19ef9060b7f71b9c115be946fa1fe7ebf68a9080a38061111f565b6316fb166f60e01b60005260045260246000fd5b503381146110fc565b63ebbfb3bb60e01b6000523460045260245260446000fd5b346101aa5760403660031901126101aa57611393611780565b60243561139e611d0e565b6001600160a01b038216156106ff5760005b8181106113c0576101a883611fa4565b6001906113cc84611d53565b50016113b0565b346101aa576101a86113e4366117ac565b90604051926113f46020856117e6565b60008452610339838383611a35565b346101aa5760203660031901126101aa5760043561141f611d0e565b47811161145057600080808093335af1611437611c15565b501561143f57005b63351dc55d60e21b60005260046000fd5b631e9acf1760e31b60005260046000fd5b346101aa5760203660031901126101aa576004356001600160401b0381116101aa576114936020913690600401611859565b816114a76040519283815193849201611738565b600590820190815281900382019020546040516001600160a01b039091168152f35b346101aa576101a86114da366117ac565b91611a35565b346101aa5760403660031901126101aa576114f9611780565b60243561150581611cdd565b331515806115bf575b8061159b575b6115865781906001600160a01b0384811691167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600080a460009081526000805160206124648339815191526020526040902080546001600160a01b0319166001600160a01b03909216919091179055005b63a9fbf51f60e01b6000523360045260246000fd5b506115a5816118b0565b336000908152602091909152604090205460ff1615611514565b506001600160a01b03811633141561150e565b346101aa5760203660031901126101aa57602061080e6004356115f481611cdd565b50600090815260008051602061246483398151915260205260409020546001600160a01b031690565b346101aa5760003660031901126101aa5760405160006000805160206124048339815191525461164c816118e9565b808452906001811690811561062357506001146116735761025583610241818503826117e6565b60008051602061240483398151915260009081526000805160206124c4833981519152939250905b8082106116b3575090915081016020016102416105a7565b91926001816020925483858801015201910190929161169b565b346101aa5760203660031901126101aa576004359063ffffffff60e01b82168092036101aa576020916380ac58cd60e01b8114908115611727575b8115611716575b5015158152f35b6301ffc9a760e01b1490508361170f565b635b5e139f60e01b81149150611708565b60005b83811061174b5750506000910152565b818101518382015260200161173b565b9060209161177481518092818552858086019101611738565b601f01601f1916010190565b600435906001600160a01b03821682036101aa57565b602435906001600160a01b03821682036101aa57565b60609060031901126101aa576004356001600160a01b03811681036101aa57906024356001600160a01b03811681036101aa579060443590565b90601f801991011681019081106001600160401b03821117610bda57604052565b6001600160401b038111610bda57601f01601f191660200190565b92919261182e82611807565b9161183c60405193846117e6565b8294818452818301116101aa578281602093846000960137010152565b9080601f830112156101aa5781602061187493359101611822565b90565b6001600160a01b031660009081527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793036020526040902090565b6001600160a01b031660009081527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793056020526040902090565b90600182811c92168015611919575b602083101461190357565b634e487b7160e01b600052602260045260246000fd5b91607f16916118f8565b60075460009291611933826118e9565b8082529160018116908115611996575060011461194e575050565b600760009081529293509091906000805160206124448339815191525b83831061197c575060209250010190565b60018160209294939454838587010152019101919061196b565b9050602093945060ff929192191683830152151560051b010190565b600092918154916119c2836118e9565b8083529260018116908115611a1857506001146119de57505050565b60009081526020812093945091925b8383106119fe575060209250010190565b6001816020929493945483858701015201910191906119ed565b915050602093945060ff929192191683830152151560051b010190565b909291906001600160a01b0384168015611bff57600094611a5584612374565b9533151580611b53575b509184917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611aa097989460018060a01b03861698899384611b1457611877565b805460010190558481527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793026020526040812080546001600160a01b0319168517905580a4506001600160a01b0316808303611afa57505050565b6364283d7b60e01b60005260045260245260445260646000fd5b60008781526000805160206124648339815191526020526040902080546001600160a01b0319169055611b4688611877565b8054600019019055611877565b80611b9c575b15611b645738611a5f565b84906001600160a01b038816611b8657602491637e27328960e01b8252600452fd5b60449163177e802f60e01b825233600452602452fd5b506001600160a01b03871633148015611be2575b80611b595750600085815260008051602061246483398151915260205260409020546001600160a01b03163314611b59565b50611bec876118b0565b338252602052604081205460ff16611bb0565b633250574960e11b600052600060045260246000fd5b3d15611c40573d90611c2682611807565b91611c3460405193846117e6565b82523d6000602084013e565b606090565b6001600160a01b039091168152604060208201819052611874929101906119b2565b6001600160a01b03168015611cc75760008051602061242483398151915280546001600160a01b0319811683179091556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b631e4fbdf760e01b600052600060045260246000fd5b611ce681612374565b906001600160a01b03821615611cfa575090565b637e27328960e01b60005260045260246000fd5b600080516020612424833981519152546001600160a01b03163303611d2f57565b63118cdaa760e01b6000523360045260246000fd5b60001981146112b85760010190565b60025460405160209291611d6784836117e6565b600082526001600160a01b038316928315611bff57611d8582612374565b6001600160a01b03811680151591908490879084611f65575b611da786611877565b8054600101905560008381527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793028b526040812080546001600160a01b031916841790557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9080a450611f4f573b611e56575b50507f4cc0a9c4a99ddc700de1af2c9f916a7cbfdb71f14801ccff94061ad1ef8a804060025492604051848152a2611e5081611d44565b60025590565b611e949184916040969496519384928392630a85bd0160e11b845233600485015260006024850152604484015260806064840152608483019061175b565b03816000885af18091600091611f0a575b5090611ed5575050611eb5611c15565b80519182611ed25783633250574960e11b60005260045260246000fd5b01fd5b9092906001600160e01b03191663757a42ff60e11b01611ef6573880611e19565b633250574960e11b60005260045260246000fd5b8481813d8311611f48575b611f1f81836117e6565b81010312611f445751906001600160e01b031982168203611f41575038611ea5565b80fd5b5080fd5b503d611f15565b6339e3563760e11b600052600060045260246000fd5b60008381526000805160206124648339815191526020526040902080546001600160a01b0319169055611f9784611877565b8054600019019055611d9e565b6001600160a01b0316600081815260066020526040902054611fc5906118e9565b15611fcd5750565b6040516060611fdc81836117e6565b602482527f6162636465666768696a6b6c6d6e6f707172737475767778797a3031323334356020830152633637383960e01b604083015260409081519261202383856117e6565b600684526020840191601f19840136843760005b600681106121f2575050506020612058918351809381928751928391611738565b81016005815203019020836bffffffffffffffffffffffff60a01b8254161790558260005260066020528060002082516001600160401b038111610bda576120a082546118e9565b601f81116121aa575b506020601f821160011461211f57918161210f94927fb9e788fc28e69f876035840c2b162474437d35622a8cfa689a88c04403bf7ee69694600091612114575b508160011b916000199060031b1c19161790555b5191829160208352602083019061175b565b0390a2565b9050840151386120e9565b601f1982169083600052806000209160005b8181106121925750927fb9e788fc28e69f876035840c2b162474437d35622a8cfa689a88c04403bf7ee69694926001928261210f989610612179575b5050811b0190556120fd565b86015160001960f88460031b161c19169055388061216d565b9192602060018192868b015181550194019201612131565b826000526020600020601f830160051c810191602084106121e8575b601f0160051c01905b8181106121dc57506120a9565b600081556001016121cf565b90915081906121c6565b84516020810190428252448782015282848201528381526122146080826117e6565b51902090835191821561224a5761223460019360ff60f81b9206866123ae565b511660001a61224382896123ae565b5301612037565b634e487b7160e01b600052601260045260246000fd5b818102929181159184041417156112b857565b823b612281575b5050505050565b604051630a85bd0160e11b81526001600160a01b0391821660048201529181166024830152604482019390935260806064820152911691602090829081906122cd90608483019061175b565b03816000865af18091600091612331575b509061230f57506122ed611c15565b8051908161230a5782633250574960e11b60005260045260246000fd5b602001fd5b6001600160e01b03191663757a42ff60e11b01611ef65750388080808061227a565b6020813d60201161236c575b8161234a602093836117e6565b81010312611f445751906001600160e01b031982168203611f415750386122de565b3d915061233d565b60009081527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab007930260205260409020546001600160a01b031690565b9081518110156123bf570160200190565b634e487b7160e01b600052603260045260246000fd5b60ff6000805160206124848339815191525460401c16156123f257565b631afcd79f60e31b60005260046000fdfe80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793009016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300a66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68880bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab0079304f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0080bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab007930137c58c799b6609234b945e882912ee9ad34948a1dfaa20a97485e1a7752bbf81a2646970667358221220f211a1389a59a5cb8469777091c866ff5abd158aca61ec9e5fde80d490929aea64736f6c634300081c0033",
976
+ "bytecode": "0x6080806040523460155761251b908161001b8239f35b600080fdfe608080604052600436101561001357600080fd5b60003560e01c90816301ffc9a7146116cf5750806306fdde031461161f578063081812fc146115d4578063095ea7b3146114e257806323b872dd146114cb5780632655e840146114635780632e1a7d4d1461140557806342842e0e146113d557806343508b051461137c578063492cc7691461107b5780634a3b68cc1461103957806355f804b314610e645780635f1e6f6d146108205780636352211e146107f05780636c0360eb146107cc57806370a082311461077a578063715018a614610710578063755edd17146106bc57806384d8ad131461069e5780638da5cb5b1461066857806391b7f5ed1461064757806395d89b41146105605780639b2c76d41461051c5780639df375d714610480578063a035b1fe14610462578063a22cb465146103c6578063b0a2fc1b1461033f578063b88d4fde146102d4578063c15edf5f146102b6578063c87b56dd146101fd578063e985e9c5146101af5763f2fde38b1461017f57600080fd5b346101aa5760203660031901126101aa576101a861019b611782565b6101a3611d10565b611c69565b005b600080fd5b346101aa5760403660031901126101aa576101c8611782565b6101d96101d3611798565b916118b2565b9060018060a01b0316600052602052602060ff604060002054166040519015158152f35b346101aa5760203660031901126101aa576001600160a01b03610221600435611cdf565b1615610259576102556040516102418161023a81611925565b03826117e8565b60405191829160208352602083019061175d565b0390f35b60405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b6064820152608490fd5b346101aa5760003660031901126101aa576020600154604051908152f35b346101aa5760803660031901126101aa576102ed611782565b6102f5611798565b90604435606435926001600160401b0384116101aa57366023850112156101aa5761032d6101a8943690602481600401359101611824565b92610339838383611a37565b33612275565b346101aa5760003660031901126101aa573360005260066020526103676040600020546118eb565b6103975761037433611fa6565b33600052600660205261025561023a6102416040600020604051928380926119b4565b3360005260066020526103c26040600020604051918291638541228760e01b83523360048401611c47565b0390fd5b346101aa5760403660031901126101aa576103df611782565b602435908115158092036101aa576001600160a01b031690811561044d57610406336118b2565b82600052602052604060002060ff1981541660ff83161790556040519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a3005b50630b61174360e31b60005260045260246000fd5b346101aa5760003660031901126101aa576020600054604051908152f35b346101aa5760203660031901126101aa57610499611782565b6104a1611d10565b60018060a01b038116908160005260066020526104c26040600020546118eb565b6104f1576104cf90611fa6565b600052600660205261025561023a6102416040600020604051928380926119b4565b9060005260066020526040600020906103c2604051928392638541228760e01b845260048401611c47565b346101aa5760203660031901126101aa576001600160a01b0361053d611782565b16600052600660205261025561023a6102416040600020604051928380926119b4565b346101aa5760003660031901126101aa5760405160006000805160206124a68339815191525461058f816118eb565b808452906001811690811561062357506001146105b7575b61025583610241818503826117e8565b6000805160206124a683398151915260009081527ff4bad0a69248f59680a4f2b3000328cec71a413447c96781cfe5996daa8c456e939250905b808210610609575090915081016020016102416105a7565b9192600181602092548385880101520191019092916105f1565b60ff191660208086019190915291151560051b8401909101915061024190506105a7565b346101aa5760203660031901126101aa57610660611d10565b600435600055005b346101aa5760003660031901126101aa57600080516020612426833981519152546040516001600160a01b039091168152602090f35b346101aa5760003660031901126101aa576020600454604051908152f35b346101aa5760203660031901126101aa576106d5611782565b6106dd611d10565b6001600160a01b038116156106ff57806106f96101a892611d55565b50611fa6565b634e46966960e11b60005260046000fd5b346101aa5760003660031901126101aa57610729611d10565b60008051602061242683398151915280546001600160a01b031981169091556000906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346101aa5760203660031901126101aa57610793611782565b6001600160a01b038116156107b6576107ad602091611879565b54604051908152f35b6322718ad960e21b600052600060045260246000fd5b346101aa5760003660031901126101aa576102556040516102418161023a81611925565b346101aa5760203660031901126101aa57602061080e600435611cdf565b6040516001600160a01b039091168152f35b346101aa5760803660031901126101aa57610839611782565b6024356001600160401b0381116101aa5761085890369060040161185b565b6044356001600160401b0381116101aa5761087790369060040161185b565b916064356001600160401b0381116101aa5761089790369060040161185b565b600080516020612486833981519152549260ff8460401c1615936001600160401b03811680159081610e5c575b6001149081610e52575b159081610e49575b50610e385767ffffffffffffffff1981166001176000805160206124868339815191525584610e0b575b506109096123d7565b6109116123d7565b8051906001600160401b038211610bda57819061093c600080516020612406833981519152546118eb565b601f8111610d87575b50602090601f8311600114610cf957600092610cee575b50508160011b916000199060031b1c191617600080516020612406833981519152555b83516001600160401b038111610bda576109a76000805160206124a6833981519152546118eb565b601f8111610c7c575b50602094601f8211600114610bfb57948192939495600092610bf0575b50508160011b916000199060031b1c1916176000805160206124a6833981519152555b6109f86123d7565b610a006123d7565b610a0982611c69565b610a11611d10565b610a1a82611c69565b66038d7ea4c680006000556014600155600480558051906001600160401b038211610bda57610a4a6007546118eb565b601f8111610b6d575b50602090601f8311600114610af557610a8b93929160009183610aea575b50508160011b916000199060031b1c191617600755611fa6565b610a9157005b68ff0000000000000000196000805160206124868339815191525416600080516020612486833981519152557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a1005b015190508580610a71565b90601f1983169160076000526000805160206124468339815191529260005b818110610b555750916001939185610a8b97969410610b3c575b505050811b01600755611fa6565b015160001960f88460031b161c19169055858080610b2e565b92936020600181928786015181550195019301610b14565b6007600052601f830160051c600080516020612446833981519152019060208410610bc4575b601f0160051c60008051602061244683398151915201905b818110610bb85750610a53565b60008155600101610bab565b6000805160206124468339815191529150610b93565b634e487b7160e01b600052604160045260246000fd5b0151905085806109cd565b601f198216956000805160206124a6833981519152600052806000209160005b888110610c6457508360019596979810610c4b575b505050811b016000805160206124a6833981519152556109f0565b015160001960f88460031b161c19169055858080610c30565b91926020600181928685015181550194019201610c1b565b6000805160206124a68339815191526000527ff4bad0a69248f59680a4f2b3000328cec71a413447c96781cfe5996daa8c456e601f830160051c81019160208410610ce4575b601f0160051c01905b818110610cd857506109b0565b60008155600101610ccb565b9091508190610cc2565b01519050868061095c565b60008051602061240683398151915260009081526000805160206124c68339815191529350601f198516905b818110610d6f5750908460019594939210610d56575b505050811b016000805160206124068339815191525561097f565b015160001960f88460031b161c19169055868080610d3b565b92936020600181928786015181550195019301610d25565b909150600080516020612406833981519152600052601f830160051c6000805160206124c6833981519152019060208410610df5575b90601f8493920160051c6000805160206124c683398151915201905b818110610de65750610945565b60008155849350600101610dd9565b6000805160206124c68339815191529150610dbd565b68ffffffffffffffffff191668010000000000000001176000805160206124868339815191525585610900565b63f92ee8a960e01b60005260046000fd5b905015876108d6565b303b1591506108ce565b8691506108c4565b346101aa5760203660031901126101aa576004356001600160401b0381116101aa57610e9490369060040161185b565b610e9c611d10565b80516001600160401b038111610bda57610eb76007546118eb565b601f8111610fcc575b506020601f8211600114610f36579181610f26927f5411e8ebf1636d9e83d5fc4900bf80cbac82e8790da2a4c94db4895e889eedf694600091610f2b575b508160011b916000199060031b1c19161760075560405191829160208352602083019061175d565b0390a1005b905082015185610efe565b601f1982169060076000526000805160206124468339815191529160005b818110610fb45750927f5411e8ebf1636d9e83d5fc4900bf80cbac82e8790da2a4c94db4895e889eedf6949260019282610f269610610f9b575b5050811b01600755610241565b84015160001960f88460031b161c191690558580610f8e565b91926020600181928689015181550194019201610f54565b6007600052601f820160051c600080516020612446833981519152019060208310611023575b601f0160051c60008051602061244683398151915201905b8181106110175750610ec0565b6000815560010161100a565b6000805160206124468339815191529150610ff2565b346101aa5760203660031901126101aa576001600160a01b0361105a611782565b166000526003602052602060018060a01b0360406000205416604051908152f35b60203660031901126101aa576004356001600160401b0381116101aa576110a690369060040161185b565b60005480340361136457506110ba33611d55565b906110c433611fa6565b60206110d9604051928381519384920161173a565b60059082019081528190036020019020546001600160a01b03168015801561135b575b61134757336000908152600360205260409020546001600160a01b0316156112f2575b50606461112e60015434612262565b0433600052600360205260018060a01b0360406000205416916000925b6001600160a01b038116801515806112e7575b156101a8576000818152600360205260409020546001600160a01b031690811580156112d0575b1561120b5750506001600160a01b031691600080808084875af16111a7611c17565b50156111f3576040805191825260208201949094523493810193909352606083015233917f0fc36a26617d5b8d843d9224f3b293803d8b0c812dc3a647e2a147563414640d90608090a3005b82633da906b960e01b60005260045260245260446000fd5b909150600194939454606403606481116112ba5761122b60649187612262565b04908186039586116112ba57600080808085855af1611248611c17565b50156112a357604080519283526020830186905234908301526060820184905261129d92913391907f0fc36a26617d5b8d843d9224f3b293803d8b0c812dc3a647e2a147563414640d90608090a39392611d46565b9261114b565b633da906b960e01b60005260045260245260446000fd5b634e487b7160e01b600052601160045260246000fd5b5060045460001981019081116112ba578614611185565b50600454851061115e565b33600081815260036020526040812080546001600160a01b0319166001600160a01b0385161790559091907f5f7165288eef601591cf549e15ff19ef9060b7f71b9c115be946fa1fe7ebf68a9080a38161111f565b6316fb166f60e01b60005260045260246000fd5b503381146110fc565b63ebbfb3bb60e01b6000523460045260245260446000fd5b346101aa5760403660031901126101aa57611395611782565b6024356113a0611d10565b6001600160a01b038216156106ff5760005b8181106113c2576101a883611fa6565b6001906113ce84611d55565b50016113b2565b346101aa576101a86113e6366117ae565b90604051926113f66020856117e8565b60008452610339838383611a37565b346101aa5760203660031901126101aa57600435611421611d10565b47811161145257600080808093335af1611439611c17565b501561144157005b63351dc55d60e21b60005260046000fd5b631e9acf1760e31b60005260046000fd5b346101aa5760203660031901126101aa576004356001600160401b0381116101aa57611495602091369060040161185b565b816114a9604051928381519384920161173a565b600590820190815281900382019020546040516001600160a01b039091168152f35b346101aa576101a86114dc366117ae565b91611a37565b346101aa5760403660031901126101aa576114fb611782565b60243561150781611cdf565b331515806115c1575b8061159d575b6115885781906001600160a01b0384811691167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600080a460009081526000805160206124668339815191526020526040902080546001600160a01b0319166001600160a01b03909216919091179055005b63a9fbf51f60e01b6000523360045260246000fd5b506115a7816118b2565b336000908152602091909152604090205460ff1615611516565b506001600160a01b038116331415611510565b346101aa5760203660031901126101aa57602061080e6004356115f681611cdf565b50600090815260008051602061246683398151915260205260409020546001600160a01b031690565b346101aa5760003660031901126101aa5760405160006000805160206124068339815191525461164e816118eb565b808452906001811690811561062357506001146116755761025583610241818503826117e8565b60008051602061240683398151915260009081526000805160206124c6833981519152939250905b8082106116b5575090915081016020016102416105a7565b91926001816020925483858801015201910190929161169d565b346101aa5760203660031901126101aa576004359063ffffffff60e01b82168092036101aa576020916380ac58cd60e01b8114908115611729575b8115611718575b5015158152f35b6301ffc9a760e01b14905083611711565b635b5e139f60e01b8114915061170a565b60005b83811061174d5750506000910152565b818101518382015260200161173d565b906020916117768151809281855285808601910161173a565b601f01601f1916010190565b600435906001600160a01b03821682036101aa57565b602435906001600160a01b03821682036101aa57565b60609060031901126101aa576004356001600160a01b03811681036101aa57906024356001600160a01b03811681036101aa579060443590565b90601f801991011681019081106001600160401b03821117610bda57604052565b6001600160401b038111610bda57601f01601f191660200190565b92919261183082611809565b9161183e60405193846117e8565b8294818452818301116101aa578281602093846000960137010152565b9080601f830112156101aa5781602061187693359101611824565b90565b6001600160a01b031660009081527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793036020526040902090565b6001600160a01b031660009081527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793056020526040902090565b90600182811c9216801561191b575b602083101461190557565b634e487b7160e01b600052602260045260246000fd5b91607f16916118fa565b60075460009291611935826118eb565b80825291600181169081156119985750600114611950575050565b600760009081529293509091906000805160206124468339815191525b83831061197e575060209250010190565b60018160209294939454838587010152019101919061196d565b9050602093945060ff929192191683830152151560051b010190565b600092918154916119c4836118eb565b8083529260018116908115611a1a57506001146119e057505050565b60009081526020812093945091925b838310611a00575060209250010190565b6001816020929493945483858701015201910191906119ef565b915050602093945060ff929192191683830152151560051b010190565b909291906001600160a01b0384168015611c0157600094611a5784612376565b9533151580611b55575b509184917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611aa297989460018060a01b03861698899384611b1657611879565b805460010190558481527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793026020526040812080546001600160a01b0319168517905580a4506001600160a01b0316808303611afc57505050565b6364283d7b60e01b60005260045260245260445260646000fd5b60008781526000805160206124668339815191526020526040902080546001600160a01b0319169055611b4888611879565b8054600019019055611879565b80611b9e575b15611b665738611a61565b84906001600160a01b038816611b8857602491637e27328960e01b8252600452fd5b60449163177e802f60e01b825233600452602452fd5b506001600160a01b03871633148015611be4575b80611b5b5750600085815260008051602061246683398151915260205260409020546001600160a01b03163314611b5b565b50611bee876118b2565b338252602052604081205460ff16611bb2565b633250574960e11b600052600060045260246000fd5b3d15611c42573d90611c2882611809565b91611c3660405193846117e8565b82523d6000602084013e565b606090565b6001600160a01b039091168152604060208201819052611876929101906119b4565b6001600160a01b03168015611cc95760008051602061242683398151915280546001600160a01b0319811683179091556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b631e4fbdf760e01b600052600060045260246000fd5b611ce881612376565b906001600160a01b03821615611cfc575090565b637e27328960e01b60005260045260246000fd5b600080516020612426833981519152546001600160a01b03163303611d3157565b63118cdaa760e01b6000523360045260246000fd5b60001981146112ba5760010190565b60025460405160209291611d6984836117e8565b600082526001600160a01b038316928315611c0157611d8782612376565b6001600160a01b03811680151591908490879084611f67575b611da986611879565b8054600101905560008381527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793028b526040812080546001600160a01b031916841790557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9080a450611f51573b611e58575b50507f4cc0a9c4a99ddc700de1af2c9f916a7cbfdb71f14801ccff94061ad1ef8a804060025492604051848152a2611e5281611d46565b60025590565b611e969184916040969496519384928392630a85bd0160e11b845233600485015260006024850152604484015260806064840152608483019061175d565b03816000885af18091600091611f0c575b5090611ed7575050611eb7611c17565b80519182611ed45783633250574960e11b60005260045260246000fd5b01fd5b9092906001600160e01b03191663757a42ff60e11b01611ef8573880611e1b565b633250574960e11b60005260045260246000fd5b8481813d8311611f4a575b611f2181836117e8565b81010312611f465751906001600160e01b031982168203611f43575038611ea7565b80fd5b5080fd5b503d611f17565b6339e3563760e11b600052600060045260246000fd5b60008381526000805160206124668339815191526020526040902080546001600160a01b0319169055611f9984611879565b8054600019019055611da0565b6001600160a01b0316600081815260066020526040902054611fc7906118eb565b15611fcf5750565b6040516060611fde81836117e8565b602482527f6162636465666768696a6b6c6d6e6f707172737475767778797a3031323334356020830152633637383960e01b604083015260409081519261202583856117e8565b600684526020840191601f19840136843760005b600681106121f457505050602061205a91835180938192875192839161173a565b81016005815203019020836bffffffffffffffffffffffff60a01b8254161790558260005260066020528060002082516001600160401b038111610bda576120a282546118eb565b601f81116121ac575b506020601f821160011461212157918161211194927fb9e788fc28e69f876035840c2b162474437d35622a8cfa689a88c04403bf7ee69694600091612116575b508160011b916000199060031b1c19161790555b5191829160208352602083019061175d565b0390a2565b9050840151386120eb565b601f1982169083600052806000209160005b8181106121945750927fb9e788fc28e69f876035840c2b162474437d35622a8cfa689a88c04403bf7ee69694926001928261211198961061217b575b5050811b0190556120ff565b86015160001960f88460031b161c19169055388061216f565b9192602060018192868b015181550194019201612133565b826000526020600020601f830160051c810191602084106121ea575b601f0160051c01905b8181106121de57506120ab565b600081556001016121d1565b90915081906121c8565b84516020810190428252448782015282848201528381526122166080826117e8565b51902090835191821561224c5761223660019360ff60f81b9206866123b0565b511660001a61224582896123b0565b5301612039565b634e487b7160e01b600052601260045260246000fd5b818102929181159184041417156112ba57565b823b612283575b5050505050565b604051630a85bd0160e11b81526001600160a01b0391821660048201529181166024830152604482019390935260806064820152911691602090829081906122cf90608483019061175d565b03816000865af18091600091612333575b509061231157506122ef611c17565b8051908161230c5782633250574960e11b60005260045260246000fd5b602001fd5b6001600160e01b03191663757a42ff60e11b01611ef85750388080808061227c565b6020813d60201161236e575b8161234c602093836117e8565b81010312611f465751906001600160e01b031982168203611f435750386122e0565b3d915061233f565b60009081527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab007930260205260409020546001600160a01b031690565b9081518110156123c1570160200190565b634e487b7160e01b600052603260045260246000fd5b60ff6000805160206124868339815191525460401c16156123f457565b631afcd79f60e31b60005260046000fdfe80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793009016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300a66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68880bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab0079304f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0080bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab007930137c58c799b6609234b945e882912ee9ad34948a1dfaa20a97485e1a7752bbf81a2646970667358221220431b73f291457cdaaa91d2d35460c99924b092646ad3f4526ccf4d6d05c6fba364736f6c634300081c0033",
977
+ "deployedBytecode": "0x608080604052600436101561001357600080fd5b60003560e01c90816301ffc9a7146116cf5750806306fdde031461161f578063081812fc146115d4578063095ea7b3146114e257806323b872dd146114cb5780632655e840146114635780632e1a7d4d1461140557806342842e0e146113d557806343508b051461137c578063492cc7691461107b5780634a3b68cc1461103957806355f804b314610e645780635f1e6f6d146108205780636352211e146107f05780636c0360eb146107cc57806370a082311461077a578063715018a614610710578063755edd17146106bc57806384d8ad131461069e5780638da5cb5b1461066857806391b7f5ed1461064757806395d89b41146105605780639b2c76d41461051c5780639df375d714610480578063a035b1fe14610462578063a22cb465146103c6578063b0a2fc1b1461033f578063b88d4fde146102d4578063c15edf5f146102b6578063c87b56dd146101fd578063e985e9c5146101af5763f2fde38b1461017f57600080fd5b346101aa5760203660031901126101aa576101a861019b611782565b6101a3611d10565b611c69565b005b600080fd5b346101aa5760403660031901126101aa576101c8611782565b6101d96101d3611798565b916118b2565b9060018060a01b0316600052602052602060ff604060002054166040519015158152f35b346101aa5760203660031901126101aa576001600160a01b03610221600435611cdf565b1615610259576102556040516102418161023a81611925565b03826117e8565b60405191829160208352602083019061175d565b0390f35b60405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b6064820152608490fd5b346101aa5760003660031901126101aa576020600154604051908152f35b346101aa5760803660031901126101aa576102ed611782565b6102f5611798565b90604435606435926001600160401b0384116101aa57366023850112156101aa5761032d6101a8943690602481600401359101611824565b92610339838383611a37565b33612275565b346101aa5760003660031901126101aa573360005260066020526103676040600020546118eb565b6103975761037433611fa6565b33600052600660205261025561023a6102416040600020604051928380926119b4565b3360005260066020526103c26040600020604051918291638541228760e01b83523360048401611c47565b0390fd5b346101aa5760403660031901126101aa576103df611782565b602435908115158092036101aa576001600160a01b031690811561044d57610406336118b2565b82600052602052604060002060ff1981541660ff83161790556040519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a3005b50630b61174360e31b60005260045260246000fd5b346101aa5760003660031901126101aa576020600054604051908152f35b346101aa5760203660031901126101aa57610499611782565b6104a1611d10565b60018060a01b038116908160005260066020526104c26040600020546118eb565b6104f1576104cf90611fa6565b600052600660205261025561023a6102416040600020604051928380926119b4565b9060005260066020526040600020906103c2604051928392638541228760e01b845260048401611c47565b346101aa5760203660031901126101aa576001600160a01b0361053d611782565b16600052600660205261025561023a6102416040600020604051928380926119b4565b346101aa5760003660031901126101aa5760405160006000805160206124a68339815191525461058f816118eb565b808452906001811690811561062357506001146105b7575b61025583610241818503826117e8565b6000805160206124a683398151915260009081527ff4bad0a69248f59680a4f2b3000328cec71a413447c96781cfe5996daa8c456e939250905b808210610609575090915081016020016102416105a7565b9192600181602092548385880101520191019092916105f1565b60ff191660208086019190915291151560051b8401909101915061024190506105a7565b346101aa5760203660031901126101aa57610660611d10565b600435600055005b346101aa5760003660031901126101aa57600080516020612426833981519152546040516001600160a01b039091168152602090f35b346101aa5760003660031901126101aa576020600454604051908152f35b346101aa5760203660031901126101aa576106d5611782565b6106dd611d10565b6001600160a01b038116156106ff57806106f96101a892611d55565b50611fa6565b634e46966960e11b60005260046000fd5b346101aa5760003660031901126101aa57610729611d10565b60008051602061242683398151915280546001600160a01b031981169091556000906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346101aa5760203660031901126101aa57610793611782565b6001600160a01b038116156107b6576107ad602091611879565b54604051908152f35b6322718ad960e21b600052600060045260246000fd5b346101aa5760003660031901126101aa576102556040516102418161023a81611925565b346101aa5760203660031901126101aa57602061080e600435611cdf565b6040516001600160a01b039091168152f35b346101aa5760803660031901126101aa57610839611782565b6024356001600160401b0381116101aa5761085890369060040161185b565b6044356001600160401b0381116101aa5761087790369060040161185b565b916064356001600160401b0381116101aa5761089790369060040161185b565b600080516020612486833981519152549260ff8460401c1615936001600160401b03811680159081610e5c575b6001149081610e52575b159081610e49575b50610e385767ffffffffffffffff1981166001176000805160206124868339815191525584610e0b575b506109096123d7565b6109116123d7565b8051906001600160401b038211610bda57819061093c600080516020612406833981519152546118eb565b601f8111610d87575b50602090601f8311600114610cf957600092610cee575b50508160011b916000199060031b1c191617600080516020612406833981519152555b83516001600160401b038111610bda576109a76000805160206124a6833981519152546118eb565b601f8111610c7c575b50602094601f8211600114610bfb57948192939495600092610bf0575b50508160011b916000199060031b1c1916176000805160206124a6833981519152555b6109f86123d7565b610a006123d7565b610a0982611c69565b610a11611d10565b610a1a82611c69565b66038d7ea4c680006000556014600155600480558051906001600160401b038211610bda57610a4a6007546118eb565b601f8111610b6d575b50602090601f8311600114610af557610a8b93929160009183610aea575b50508160011b916000199060031b1c191617600755611fa6565b610a9157005b68ff0000000000000000196000805160206124868339815191525416600080516020612486833981519152557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a1005b015190508580610a71565b90601f1983169160076000526000805160206124468339815191529260005b818110610b555750916001939185610a8b97969410610b3c575b505050811b01600755611fa6565b015160001960f88460031b161c19169055858080610b2e565b92936020600181928786015181550195019301610b14565b6007600052601f830160051c600080516020612446833981519152019060208410610bc4575b601f0160051c60008051602061244683398151915201905b818110610bb85750610a53565b60008155600101610bab565b6000805160206124468339815191529150610b93565b634e487b7160e01b600052604160045260246000fd5b0151905085806109cd565b601f198216956000805160206124a6833981519152600052806000209160005b888110610c6457508360019596979810610c4b575b505050811b016000805160206124a6833981519152556109f0565b015160001960f88460031b161c19169055858080610c30565b91926020600181928685015181550194019201610c1b565b6000805160206124a68339815191526000527ff4bad0a69248f59680a4f2b3000328cec71a413447c96781cfe5996daa8c456e601f830160051c81019160208410610ce4575b601f0160051c01905b818110610cd857506109b0565b60008155600101610ccb565b9091508190610cc2565b01519050868061095c565b60008051602061240683398151915260009081526000805160206124c68339815191529350601f198516905b818110610d6f5750908460019594939210610d56575b505050811b016000805160206124068339815191525561097f565b015160001960f88460031b161c19169055868080610d3b565b92936020600181928786015181550195019301610d25565b909150600080516020612406833981519152600052601f830160051c6000805160206124c6833981519152019060208410610df5575b90601f8493920160051c6000805160206124c683398151915201905b818110610de65750610945565b60008155849350600101610dd9565b6000805160206124c68339815191529150610dbd565b68ffffffffffffffffff191668010000000000000001176000805160206124868339815191525585610900565b63f92ee8a960e01b60005260046000fd5b905015876108d6565b303b1591506108ce565b8691506108c4565b346101aa5760203660031901126101aa576004356001600160401b0381116101aa57610e9490369060040161185b565b610e9c611d10565b80516001600160401b038111610bda57610eb76007546118eb565b601f8111610fcc575b506020601f8211600114610f36579181610f26927f5411e8ebf1636d9e83d5fc4900bf80cbac82e8790da2a4c94db4895e889eedf694600091610f2b575b508160011b916000199060031b1c19161760075560405191829160208352602083019061175d565b0390a1005b905082015185610efe565b601f1982169060076000526000805160206124468339815191529160005b818110610fb45750927f5411e8ebf1636d9e83d5fc4900bf80cbac82e8790da2a4c94db4895e889eedf6949260019282610f269610610f9b575b5050811b01600755610241565b84015160001960f88460031b161c191690558580610f8e565b91926020600181928689015181550194019201610f54565b6007600052601f820160051c600080516020612446833981519152019060208310611023575b601f0160051c60008051602061244683398151915201905b8181106110175750610ec0565b6000815560010161100a565b6000805160206124468339815191529150610ff2565b346101aa5760203660031901126101aa576001600160a01b0361105a611782565b166000526003602052602060018060a01b0360406000205416604051908152f35b60203660031901126101aa576004356001600160401b0381116101aa576110a690369060040161185b565b60005480340361136457506110ba33611d55565b906110c433611fa6565b60206110d9604051928381519384920161173a565b60059082019081528190036020019020546001600160a01b03168015801561135b575b61134757336000908152600360205260409020546001600160a01b0316156112f2575b50606461112e60015434612262565b0433600052600360205260018060a01b0360406000205416916000925b6001600160a01b038116801515806112e7575b156101a8576000818152600360205260409020546001600160a01b031690811580156112d0575b1561120b5750506001600160a01b031691600080808084875af16111a7611c17565b50156111f3576040805191825260208201949094523493810193909352606083015233917f0fc36a26617d5b8d843d9224f3b293803d8b0c812dc3a647e2a147563414640d90608090a3005b82633da906b960e01b60005260045260245260446000fd5b909150600194939454606403606481116112ba5761122b60649187612262565b04908186039586116112ba57600080808085855af1611248611c17565b50156112a357604080519283526020830186905234908301526060820184905261129d92913391907f0fc36a26617d5b8d843d9224f3b293803d8b0c812dc3a647e2a147563414640d90608090a39392611d46565b9261114b565b633da906b960e01b60005260045260245260446000fd5b634e487b7160e01b600052601160045260246000fd5b5060045460001981019081116112ba578614611185565b50600454851061115e565b33600081815260036020526040812080546001600160a01b0319166001600160a01b0385161790559091907f5f7165288eef601591cf549e15ff19ef9060b7f71b9c115be946fa1fe7ebf68a9080a38161111f565b6316fb166f60e01b60005260045260246000fd5b503381146110fc565b63ebbfb3bb60e01b6000523460045260245260446000fd5b346101aa5760403660031901126101aa57611395611782565b6024356113a0611d10565b6001600160a01b038216156106ff5760005b8181106113c2576101a883611fa6565b6001906113ce84611d55565b50016113b2565b346101aa576101a86113e6366117ae565b90604051926113f66020856117e8565b60008452610339838383611a37565b346101aa5760203660031901126101aa57600435611421611d10565b47811161145257600080808093335af1611439611c17565b501561144157005b63351dc55d60e21b60005260046000fd5b631e9acf1760e31b60005260046000fd5b346101aa5760203660031901126101aa576004356001600160401b0381116101aa57611495602091369060040161185b565b816114a9604051928381519384920161173a565b600590820190815281900382019020546040516001600160a01b039091168152f35b346101aa576101a86114dc366117ae565b91611a37565b346101aa5760403660031901126101aa576114fb611782565b60243561150781611cdf565b331515806115c1575b8061159d575b6115885781906001600160a01b0384811691167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600080a460009081526000805160206124668339815191526020526040902080546001600160a01b0319166001600160a01b03909216919091179055005b63a9fbf51f60e01b6000523360045260246000fd5b506115a7816118b2565b336000908152602091909152604090205460ff1615611516565b506001600160a01b038116331415611510565b346101aa5760203660031901126101aa57602061080e6004356115f681611cdf565b50600090815260008051602061246683398151915260205260409020546001600160a01b031690565b346101aa5760003660031901126101aa5760405160006000805160206124068339815191525461164e816118eb565b808452906001811690811561062357506001146116755761025583610241818503826117e8565b60008051602061240683398151915260009081526000805160206124c6833981519152939250905b8082106116b5575090915081016020016102416105a7565b91926001816020925483858801015201910190929161169d565b346101aa5760203660031901126101aa576004359063ffffffff60e01b82168092036101aa576020916380ac58cd60e01b8114908115611729575b8115611718575b5015158152f35b6301ffc9a760e01b14905083611711565b635b5e139f60e01b8114915061170a565b60005b83811061174d5750506000910152565b818101518382015260200161173d565b906020916117768151809281855285808601910161173a565b601f01601f1916010190565b600435906001600160a01b03821682036101aa57565b602435906001600160a01b03821682036101aa57565b60609060031901126101aa576004356001600160a01b03811681036101aa57906024356001600160a01b03811681036101aa579060443590565b90601f801991011681019081106001600160401b03821117610bda57604052565b6001600160401b038111610bda57601f01601f191660200190565b92919261183082611809565b9161183e60405193846117e8565b8294818452818301116101aa578281602093846000960137010152565b9080601f830112156101aa5781602061187693359101611824565b90565b6001600160a01b031660009081527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793036020526040902090565b6001600160a01b031660009081527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793056020526040902090565b90600182811c9216801561191b575b602083101461190557565b634e487b7160e01b600052602260045260246000fd5b91607f16916118fa565b60075460009291611935826118eb565b80825291600181169081156119985750600114611950575050565b600760009081529293509091906000805160206124468339815191525b83831061197e575060209250010190565b60018160209294939454838587010152019101919061196d565b9050602093945060ff929192191683830152151560051b010190565b600092918154916119c4836118eb565b8083529260018116908115611a1a57506001146119e057505050565b60009081526020812093945091925b838310611a00575060209250010190565b6001816020929493945483858701015201910191906119ef565b915050602093945060ff929192191683830152151560051b010190565b909291906001600160a01b0384168015611c0157600094611a5784612376565b9533151580611b55575b509184917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611aa297989460018060a01b03861698899384611b1657611879565b805460010190558481527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793026020526040812080546001600160a01b0319168517905580a4506001600160a01b0316808303611afc57505050565b6364283d7b60e01b60005260045260245260445260646000fd5b60008781526000805160206124668339815191526020526040902080546001600160a01b0319169055611b4888611879565b8054600019019055611879565b80611b9e575b15611b665738611a61565b84906001600160a01b038816611b8857602491637e27328960e01b8252600452fd5b60449163177e802f60e01b825233600452602452fd5b506001600160a01b03871633148015611be4575b80611b5b5750600085815260008051602061246683398151915260205260409020546001600160a01b03163314611b5b565b50611bee876118b2565b338252602052604081205460ff16611bb2565b633250574960e11b600052600060045260246000fd5b3d15611c42573d90611c2882611809565b91611c3660405193846117e8565b82523d6000602084013e565b606090565b6001600160a01b039091168152604060208201819052611876929101906119b4565b6001600160a01b03168015611cc95760008051602061242683398151915280546001600160a01b0319811683179091556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b631e4fbdf760e01b600052600060045260246000fd5b611ce881612376565b906001600160a01b03821615611cfc575090565b637e27328960e01b60005260045260246000fd5b600080516020612426833981519152546001600160a01b03163303611d3157565b63118cdaa760e01b6000523360045260246000fd5b60001981146112ba5760010190565b60025460405160209291611d6984836117e8565b600082526001600160a01b038316928315611c0157611d8782612376565b6001600160a01b03811680151591908490879084611f67575b611da986611879565b8054600101905560008381527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793028b526040812080546001600160a01b031916841790557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9080a450611f51573b611e58575b50507f4cc0a9c4a99ddc700de1af2c9f916a7cbfdb71f14801ccff94061ad1ef8a804060025492604051848152a2611e5281611d46565b60025590565b611e969184916040969496519384928392630a85bd0160e11b845233600485015260006024850152604484015260806064840152608483019061175d565b03816000885af18091600091611f0c575b5090611ed7575050611eb7611c17565b80519182611ed45783633250574960e11b60005260045260246000fd5b01fd5b9092906001600160e01b03191663757a42ff60e11b01611ef8573880611e1b565b633250574960e11b60005260045260246000fd5b8481813d8311611f4a575b611f2181836117e8565b81010312611f465751906001600160e01b031982168203611f43575038611ea7565b80fd5b5080fd5b503d611f17565b6339e3563760e11b600052600060045260246000fd5b60008381526000805160206124668339815191526020526040902080546001600160a01b0319169055611f9984611879565b8054600019019055611da0565b6001600160a01b0316600081815260066020526040902054611fc7906118eb565b15611fcf5750565b6040516060611fde81836117e8565b602482527f6162636465666768696a6b6c6d6e6f707172737475767778797a3031323334356020830152633637383960e01b604083015260409081519261202583856117e8565b600684526020840191601f19840136843760005b600681106121f457505050602061205a91835180938192875192839161173a565b81016005815203019020836bffffffffffffffffffffffff60a01b8254161790558260005260066020528060002082516001600160401b038111610bda576120a282546118eb565b601f81116121ac575b506020601f821160011461212157918161211194927fb9e788fc28e69f876035840c2b162474437d35622a8cfa689a88c04403bf7ee69694600091612116575b508160011b916000199060031b1c19161790555b5191829160208352602083019061175d565b0390a2565b9050840151386120eb565b601f1982169083600052806000209160005b8181106121945750927fb9e788fc28e69f876035840c2b162474437d35622a8cfa689a88c04403bf7ee69694926001928261211198961061217b575b5050811b0190556120ff565b86015160001960f88460031b161c19169055388061216f565b9192602060018192868b015181550194019201612133565b826000526020600020601f830160051c810191602084106121ea575b601f0160051c01905b8181106121de57506120ab565b600081556001016121d1565b90915081906121c8565b84516020810190428252448782015282848201528381526122166080826117e8565b51902090835191821561224c5761223660019360ff60f81b9206866123b0565b511660001a61224582896123b0565b5301612039565b634e487b7160e01b600052601260045260246000fd5b818102929181159184041417156112ba57565b823b612283575b5050505050565b604051630a85bd0160e11b81526001600160a01b0391821660048201529181166024830152604482019390935260806064820152911691602090829081906122cf90608483019061175d565b03816000865af18091600091612333575b509061231157506122ef611c17565b8051908161230c5782633250574960e11b60005260045260246000fd5b602001fd5b6001600160e01b03191663757a42ff60e11b01611ef85750388080808061227c565b6020813d60201161236e575b8161234c602093836117e8565b81010312611f465751906001600160e01b031982168203611f435750386122e0565b3d915061233f565b60009081527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab007930260205260409020546001600160a01b031690565b9081518110156123c1570160200190565b634e487b7160e01b600052603260045260246000fd5b60ff6000805160206124868339815191525460401c16156123f457565b631afcd79f60e31b60005260046000fdfe80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793009016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300a66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68880bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab0079304f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0080bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab007930137c58c799b6609234b945e882912ee9ad34948a1dfaa20a97485e1a7752bbf81a2646970667358221220431b73f291457cdaaa91d2d35460c99924b092646ad3f4526ccf4d6d05c6fba364736f6c634300081c0033",
972
978
  "linkReferences": {},
973
979
  "deployedLinkReferences": {}
974
980
  }
@@ -170,14 +170,16 @@ export declare namespace ReferralPaidEvent {
170
170
  buyer: AddressLike,
171
171
  amount: BigNumberish,
172
172
  level: BigNumberish,
173
- originalAmount: BigNumberish
173
+ originalAmount: BigNumberish,
174
+ tokenId: BigNumberish
174
175
  ];
175
176
  type OutputTuple = [
176
177
  receiver: string,
177
178
  buyer: string,
178
179
  amount: bigint,
179
180
  level: bigint,
180
- originalAmount: bigint
181
+ originalAmount: bigint,
182
+ tokenId: bigint
181
183
  ];
182
184
  interface OutputObject {
183
185
  receiver: string;
@@ -185,6 +187,7 @@ export declare namespace ReferralPaidEvent {
185
187
  amount: bigint;
186
188
  level: bigint;
187
189
  originalAmount: bigint;
190
+ tokenId: bigint;
188
191
  }
189
192
  type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
190
193
  type Filter = TypedDeferredTopicFilter<Event>;
@@ -427,7 +430,7 @@ export interface NFTTicket extends BaseContract {
427
430
  OwnershipTransferred: TypedContractEvent<OwnershipTransferredEvent.InputTuple, OwnershipTransferredEvent.OutputTuple, OwnershipTransferredEvent.OutputObject>;
428
431
  "ReferralCodeSet(address,string)": TypedContractEvent<ReferralCodeSetEvent.InputTuple, ReferralCodeSetEvent.OutputTuple, ReferralCodeSetEvent.OutputObject>;
429
432
  ReferralCodeSet: TypedContractEvent<ReferralCodeSetEvent.InputTuple, ReferralCodeSetEvent.OutputTuple, ReferralCodeSetEvent.OutputObject>;
430
- "ReferralPaid(address,address,uint256,uint256,uint256)": TypedContractEvent<ReferralPaidEvent.InputTuple, ReferralPaidEvent.OutputTuple, ReferralPaidEvent.OutputObject>;
433
+ "ReferralPaid(address,address,uint256,uint256,uint256,uint256)": TypedContractEvent<ReferralPaidEvent.InputTuple, ReferralPaidEvent.OutputTuple, ReferralPaidEvent.OutputObject>;
431
434
  ReferralPaid: TypedContractEvent<ReferralPaidEvent.InputTuple, ReferralPaidEvent.OutputTuple, ReferralPaidEvent.OutputObject>;
432
435
  "ReferrerSet(address,address)": TypedContractEvent<ReferrerSetEvent.InputTuple, ReferrerSetEvent.OutputTuple, ReferrerSetEvent.OutputObject>;
433
436
  ReferrerSet: TypedContractEvent<ReferrerSetEvent.InputTuple, ReferrerSetEvent.OutputTuple, ReferrerSetEvent.OutputObject>;
package/dist/types.d.ts CHANGED
@@ -378,6 +378,7 @@ export interface RawMultiLevelReferralNFTEventTypes {
378
378
  amount: bigint;
379
379
  level: bigint;
380
380
  originalAmount: bigint;
381
+ tokenId: bigint;
381
382
  };
382
383
  ReferralCodeSet: {
383
384
  user: string;
@@ -404,6 +405,7 @@ export interface MultiLevelReferralNFTEventTypes {
404
405
  amount: number;
405
406
  level: number;
406
407
  originalAmount: number;
408
+ tokenId: number;
407
409
  };
408
410
  ReferralCodeSet: {
409
411
  user: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aiia-vault-sdk",
3
- "version": "1.2.4",
3
+ "version": "1.2.5",
4
4
  "description": "SDK for AIIA Vault Contract",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",