@aurigami/sdk 1.5.9 → 1.6.0-no-src
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.
- package/dist/SDK.d.ts +23 -16
- package/dist/consts/deployments.d.ts +3 -0
- package/dist/{dummy.d.ts → consts/dummy.d.ts} +3 -3
- package/dist/consts/index.d.ts +4 -0
- package/dist/{MoneyMarket.d.ts → contracts/MoneyMarket.d.ts} +3 -5
- package/dist/{Papermill.d.ts → contracts/Papermill.d.ts} +25 -4
- package/dist/{Staking.d.ts → contracts/Staking.d.ts} +8 -3
- package/dist/{airdrop-lottery.d.ts → contracts/airdrop-lottery.d.ts} +12 -4
- package/dist/contracts/index.d.ts +4 -0
- package/dist/{BlockchainEntity.d.ts → entities/BlockchainEntity.d.ts} +1 -1
- package/dist/entities/index.d.ts +3 -0
- package/dist/{tokenAmount.d.ts → entities/tokenAmount.d.ts} +1 -1
- package/dist/{helpers.d.ts → helpers/helpers.d.ts} +10 -1
- package/dist/helpers/index.d.ts +4 -0
- package/dist/{priceFetcher.d.ts → helpers/priceFetcher.d.ts} +2 -2
- package/dist/{transfer-event-query.d.ts → helpers/transfer-event-query.d.ts} +11 -2
- package/dist/index.d.ts +4 -11
- package/dist/sdk.cjs.development.js +2007 -104379
- package/dist/sdk.cjs.development.js.map +1 -1
- package/dist/sdk.cjs.production.min.js +1 -1
- package/dist/sdk.cjs.production.min.js.map +1 -1
- package/dist/sdk.esm.js +2004 -104383
- package/dist/sdk.esm.js.map +1 -1
- package/dist/{types.d.ts → types/index.d.ts} +15 -1
- package/package.json +12 -13
- package/src/BlockchainEntity.ts +0 -33
- package/src/MoneyMarket.ts +0 -510
- package/src/Papermill.ts +0 -262
- package/src/SDK.ts +0 -366
- package/src/Staking.ts +0 -174
- package/src/abis/Faucet.json +0 -157
- package/src/abis/IUniswapV2Pair.json +0 -663
- package/src/abis/Oracle.json +0 -247
- package/src/abis/dummy.json +0 -3
- package/src/airdrop-lottery.ts +0 -327
- package/src/airdrop_misc/auTokensInfo.json +0 -34
- package/src/airdrop_misc/whitelist.example.txt +0 -4
- package/src/airdrop_misc/whitelist.json +0 -102629
- package/src/aurora-api-helpers.ts +0 -20
- package/src/constants.ts +0 -143
- package/src/decimals.ts +0 -24
- package/src/deployments/aurora_mainnet.json +0 -31
- package/src/deployments/aurora_testnet.json +0 -31
- package/src/dummy.ts +0 -38
- package/src/helpers.ts +0 -91
- package/src/index.ts +0 -20
- package/src/priceFetcher.ts +0 -309
- package/src/token.ts +0 -21
- package/src/tokenAmount.ts +0 -42
- package/src/transfer-event-query.ts +0 -70
- package/src/types.ts +0 -106
- /package/dist/{constants.d.ts → consts/constants.d.ts} +0 -0
- /package/dist/{decimals.d.ts → consts/decimals.d.ts} +0 -0
- /package/dist/{token.d.ts → entities/token.d.ts} +0 -0
- /package/dist/{aurora-api-helpers.d.ts → helpers/aurora-api-helpers.d.ts} +0 -0
package/src/Staking.ts
DELETED
|
@@ -1,174 +0,0 @@
|
|
|
1
|
-
import AuriFairLaunchABI from '@aurigami/contracts/artifacts/contracts/AuriFairLaunch.sol/AuriFairLaunch.json';
|
|
2
|
-
import AuriLensABI from '@aurigami/contracts/artifacts/contracts/AuriLens.sol/AuriLens.json';
|
|
3
|
-
import ComptrollerABI from '@aurigami/contracts/artifacts/contracts/Comptroller.sol/Comptroller.json';
|
|
4
|
-
import EIP20InterfaceABI from '@aurigami/contracts/artifacts/contracts/interfaces/EIP20Interface.sol/EIP20Interface.json';
|
|
5
|
-
import {
|
|
6
|
-
AuriFairLaunch,
|
|
7
|
-
AuriLens,
|
|
8
|
-
Comptroller,
|
|
9
|
-
IERC20,
|
|
10
|
-
} from '@aurigami/contracts/typechain';
|
|
11
|
-
import { TransactionResponse } from '@ethersproject/abstract-provider';
|
|
12
|
-
import BigNumber from 'bignumber.js';
|
|
13
|
-
import { BigNumber as BN, Contract } from 'ethers';
|
|
14
|
-
import { BlockchainEntity, BlockchainEntityRead } from './BlockchainEntity';
|
|
15
|
-
import {
|
|
16
|
-
DECIMAL_PRECISION,
|
|
17
|
-
networkAddresses,
|
|
18
|
-
ONE_DAY,
|
|
19
|
-
PLYWNEAR_POOL_ID,
|
|
20
|
-
PLYWNEAR_REWARD_TOKENS,
|
|
21
|
-
} from './constants';
|
|
22
|
-
import { calcLMRewardApr, getDecimal } from './helpers';
|
|
23
|
-
import { fetchValuation } from './priceFetcher';
|
|
24
|
-
import { PLYWNEARToken, Token } from './token';
|
|
25
|
-
import { TokenAmount } from './tokenAmount';
|
|
26
|
-
import { NetworkConnection, PLYWNEARPoolDetails, TokenAPY } from './types';
|
|
27
|
-
|
|
28
|
-
export class StakingRead extends BlockchainEntityRead {
|
|
29
|
-
protected _comptroller: Comptroller;
|
|
30
|
-
protected _auriFairLaunch: AuriFairLaunch;
|
|
31
|
-
protected _auriLens: AuriLens;
|
|
32
|
-
constructor(networkConnection: NetworkConnection) {
|
|
33
|
-
super(networkConnection);
|
|
34
|
-
this._comptroller = new Contract(
|
|
35
|
-
networkAddresses.misc.COMPTROLLER,
|
|
36
|
-
ComptrollerABI.abi,
|
|
37
|
-
networkConnection.provider
|
|
38
|
-
) as Comptroller;
|
|
39
|
-
this._auriFairLaunch = new Contract(
|
|
40
|
-
networkAddresses.misc.AURIFAIRLAUNCH,
|
|
41
|
-
AuriFairLaunchABI.abi,
|
|
42
|
-
networkConnection.provider
|
|
43
|
-
) as AuriFairLaunch;
|
|
44
|
-
this._auriLens = new Contract(
|
|
45
|
-
networkAddresses.misc.AURILENS,
|
|
46
|
-
AuriLensABI.abi,
|
|
47
|
-
networkConnection.provider
|
|
48
|
-
) as AuriLens;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
public async getPLYWNEARPoolDetails(): Promise<PLYWNEARPoolDetails> {
|
|
52
|
-
var stakedLiquidity: BN, rewardPerSeconds: BN[];
|
|
53
|
-
await this._auriFairLaunch.getPoolInfo(PLYWNEAR_POOL_ID).then((res) => {
|
|
54
|
-
stakedLiquidity = res.totalStake;
|
|
55
|
-
rewardPerSeconds = res.rewardPerSeconds;
|
|
56
|
-
});
|
|
57
|
-
|
|
58
|
-
let stakedLiquidityAmount = new TokenAmount(
|
|
59
|
-
PLYWNEARToken,
|
|
60
|
-
stakedLiquidity!.toString()
|
|
61
|
-
);
|
|
62
|
-
|
|
63
|
-
var totalStakeValuation: BigNumber = await fetchValuation(
|
|
64
|
-
stakedLiquidityAmount,
|
|
65
|
-
this._networkConnection.provider
|
|
66
|
-
);
|
|
67
|
-
|
|
68
|
-
var promises = [];
|
|
69
|
-
|
|
70
|
-
// Calculate the reward per second in USD
|
|
71
|
-
for (let i = 0; i < rewardPerSeconds!.length; i++) {
|
|
72
|
-
let rewardTokenAddress = PLYWNEAR_REWARD_TOKENS[i];
|
|
73
|
-
let rewardToken = new Token(
|
|
74
|
-
rewardTokenAddress,
|
|
75
|
-
getDecimal(rewardTokenAddress)
|
|
76
|
-
);
|
|
77
|
-
let rewardPerSecond = rewardPerSeconds![i];
|
|
78
|
-
promises.push(
|
|
79
|
-
fetchValuation(
|
|
80
|
-
new TokenAmount(rewardToken, rewardPerSecond!.toString()),
|
|
81
|
-
this._networkConnection.provider
|
|
82
|
-
)
|
|
83
|
-
);
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
let APYs: TokenAPY[] = [];
|
|
87
|
-
(await Promise.all(promises)).forEach((rewardPerSecondValuation, i) => {
|
|
88
|
-
let rewardTokenAddress = PLYWNEAR_REWARD_TOKENS[i];
|
|
89
|
-
let apy = calcLMRewardApr(
|
|
90
|
-
rewardPerSecondValuation,
|
|
91
|
-
totalStakeValuation,
|
|
92
|
-
ONE_DAY * 365
|
|
93
|
-
).toFixed(DECIMAL_PRECISION);
|
|
94
|
-
|
|
95
|
-
APYs.push({
|
|
96
|
-
address: rewardTokenAddress,
|
|
97
|
-
apy: apy,
|
|
98
|
-
});
|
|
99
|
-
});
|
|
100
|
-
|
|
101
|
-
return {
|
|
102
|
-
totalStakedLiquidity: stakedLiquidityAmount,
|
|
103
|
-
APYs: APYs,
|
|
104
|
-
};
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
/**
|
|
108
|
-
* Get amount of staked LP tokens
|
|
109
|
-
*/
|
|
110
|
-
public async stakeBalanceOf(user: string): Promise<TokenAmount> {
|
|
111
|
-
const userInfo = await this._auriFairLaunch.getUserInfo(
|
|
112
|
-
PLYWNEAR_POOL_ID,
|
|
113
|
-
user
|
|
114
|
-
);
|
|
115
|
-
return new TokenAmount(PLYWNEARToken, userInfo.amount.toString());
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
/**
|
|
119
|
-
* Get amount of LP token in user wallet
|
|
120
|
-
*/
|
|
121
|
-
public async LpBalanceOf(user: string): Promise<TokenAmount> {
|
|
122
|
-
let lpContract = new Contract(
|
|
123
|
-
networkAddresses.tokens.PLYWNEAR,
|
|
124
|
-
EIP20InterfaceABI.abi,
|
|
125
|
-
this._networkConnection.provider
|
|
126
|
-
) as IERC20;
|
|
127
|
-
let balance = await lpContract.balanceOf(user);
|
|
128
|
-
|
|
129
|
-
return new TokenAmount(PLYWNEARToken, balance.toString());
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
public async unclaimedRewardsOf(user: string): Promise<TokenAmount[]> {
|
|
133
|
-
let userInfo = await this._auriFairLaunch.callStatic.updateAndGetUserInfo(
|
|
134
|
-
PLYWNEAR_POOL_ID,
|
|
135
|
-
user,
|
|
136
|
-
{ from: user }
|
|
137
|
-
);
|
|
138
|
-
|
|
139
|
-
let rewards = userInfo.unclaimedRewards;
|
|
140
|
-
return rewards.map((reward, i) =>
|
|
141
|
-
TokenAmount.fromAddressAndAmount(
|
|
142
|
-
PLYWNEAR_REWARD_TOKENS[i],
|
|
143
|
-
reward.toString()
|
|
144
|
-
)
|
|
145
|
-
);
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
export class StakingReadWrite extends StakingRead {
|
|
150
|
-
public async stake(amount: TokenAmount): Promise<TransactionResponse> {
|
|
151
|
-
return this._auriFairLaunch
|
|
152
|
-
.connect(this._networkConnection.signer!)
|
|
153
|
-
.deposit(PLYWNEAR_POOL_ID, amount.rawAmount());
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
public async unstake(amount: TokenAmount): Promise<TransactionResponse> {
|
|
157
|
-
return this._auriFairLaunch
|
|
158
|
-
.connect(this._networkConnection.signer!)
|
|
159
|
-
.withdraw(PLYWNEAR_POOL_ID, amount.rawAmount());
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
export class Staking extends BlockchainEntity {
|
|
164
|
-
constructor() {
|
|
165
|
-
super();
|
|
166
|
-
}
|
|
167
|
-
public read(networkConnection: NetworkConnection): StakingRead {
|
|
168
|
-
return new StakingRead(networkConnection);
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
public readWrite(networkConnection: NetworkConnection): StakingReadWrite {
|
|
172
|
-
return new StakingReadWrite(networkConnection);
|
|
173
|
-
}
|
|
174
|
-
}
|
package/src/abis/Faucet.json
DELETED
|
@@ -1,157 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"_format": "hh-sol-artifact-1",
|
|
3
|
-
"contractName": "Faucet",
|
|
4
|
-
"sourceName": "contracts/mock/Faucet.sol",
|
|
5
|
-
"abi": [
|
|
6
|
-
{
|
|
7
|
-
"inputs": [
|
|
8
|
-
{
|
|
9
|
-
"components": [
|
|
10
|
-
{
|
|
11
|
-
"internalType": "address",
|
|
12
|
-
"name": "token",
|
|
13
|
-
"type": "address"
|
|
14
|
-
},
|
|
15
|
-
{
|
|
16
|
-
"internalType": "uint256",
|
|
17
|
-
"name": "dripAmount",
|
|
18
|
-
"type": "uint256"
|
|
19
|
-
}
|
|
20
|
-
],
|
|
21
|
-
"internalType": "struct Faucet.TokenConfig[]",
|
|
22
|
-
"name": "_testTokensConfigs",
|
|
23
|
-
"type": "tuple[]"
|
|
24
|
-
}
|
|
25
|
-
],
|
|
26
|
-
"stateMutability": "nonpayable",
|
|
27
|
-
"type": "constructor"
|
|
28
|
-
},
|
|
29
|
-
{
|
|
30
|
-
"anonymous": false,
|
|
31
|
-
"inputs": [
|
|
32
|
-
{
|
|
33
|
-
"indexed": true,
|
|
34
|
-
"internalType": "address",
|
|
35
|
-
"name": "previousOwner",
|
|
36
|
-
"type": "address"
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
"indexed": true,
|
|
40
|
-
"internalType": "address",
|
|
41
|
-
"name": "newOwner",
|
|
42
|
-
"type": "address"
|
|
43
|
-
}
|
|
44
|
-
],
|
|
45
|
-
"name": "OwnershipTransferred",
|
|
46
|
-
"type": "event"
|
|
47
|
-
},
|
|
48
|
-
{
|
|
49
|
-
"inputs": [],
|
|
50
|
-
"name": "drip",
|
|
51
|
-
"outputs": [],
|
|
52
|
-
"stateMutability": "nonpayable",
|
|
53
|
-
"type": "function"
|
|
54
|
-
},
|
|
55
|
-
{
|
|
56
|
-
"inputs": [
|
|
57
|
-
{
|
|
58
|
-
"internalType": "address",
|
|
59
|
-
"name": "",
|
|
60
|
-
"type": "address"
|
|
61
|
-
}
|
|
62
|
-
],
|
|
63
|
-
"name": "dripAmounts",
|
|
64
|
-
"outputs": [
|
|
65
|
-
{
|
|
66
|
-
"internalType": "uint256",
|
|
67
|
-
"name": "",
|
|
68
|
-
"type": "uint256"
|
|
69
|
-
}
|
|
70
|
-
],
|
|
71
|
-
"stateMutability": "view",
|
|
72
|
-
"type": "function"
|
|
73
|
-
},
|
|
74
|
-
{
|
|
75
|
-
"inputs": [],
|
|
76
|
-
"name": "owner",
|
|
77
|
-
"outputs": [
|
|
78
|
-
{
|
|
79
|
-
"internalType": "address",
|
|
80
|
-
"name": "",
|
|
81
|
-
"type": "address"
|
|
82
|
-
}
|
|
83
|
-
],
|
|
84
|
-
"stateMutability": "view",
|
|
85
|
-
"type": "function"
|
|
86
|
-
},
|
|
87
|
-
{
|
|
88
|
-
"inputs": [],
|
|
89
|
-
"name": "renounceOwnership",
|
|
90
|
-
"outputs": [],
|
|
91
|
-
"stateMutability": "nonpayable",
|
|
92
|
-
"type": "function"
|
|
93
|
-
},
|
|
94
|
-
{
|
|
95
|
-
"inputs": [
|
|
96
|
-
{
|
|
97
|
-
"internalType": "uint256",
|
|
98
|
-
"name": "",
|
|
99
|
-
"type": "uint256"
|
|
100
|
-
}
|
|
101
|
-
],
|
|
102
|
-
"name": "testTokens",
|
|
103
|
-
"outputs": [
|
|
104
|
-
{
|
|
105
|
-
"internalType": "address",
|
|
106
|
-
"name": "",
|
|
107
|
-
"type": "address"
|
|
108
|
-
}
|
|
109
|
-
],
|
|
110
|
-
"stateMutability": "view",
|
|
111
|
-
"type": "function"
|
|
112
|
-
},
|
|
113
|
-
{
|
|
114
|
-
"inputs": [
|
|
115
|
-
{
|
|
116
|
-
"internalType": "address",
|
|
117
|
-
"name": "newOwner",
|
|
118
|
-
"type": "address"
|
|
119
|
-
}
|
|
120
|
-
],
|
|
121
|
-
"name": "transferOwnership",
|
|
122
|
-
"outputs": [],
|
|
123
|
-
"stateMutability": "nonpayable",
|
|
124
|
-
"type": "function"
|
|
125
|
-
},
|
|
126
|
-
{
|
|
127
|
-
"inputs": [
|
|
128
|
-
{
|
|
129
|
-
"components": [
|
|
130
|
-
{
|
|
131
|
-
"internalType": "address",
|
|
132
|
-
"name": "token",
|
|
133
|
-
"type": "address"
|
|
134
|
-
},
|
|
135
|
-
{
|
|
136
|
-
"internalType": "uint256",
|
|
137
|
-
"name": "dripAmount",
|
|
138
|
-
"type": "uint256"
|
|
139
|
-
}
|
|
140
|
-
],
|
|
141
|
-
"internalType": "struct Faucet.TokenConfig[]",
|
|
142
|
-
"name": "_testTokensConfigs",
|
|
143
|
-
"type": "tuple[]"
|
|
144
|
-
}
|
|
145
|
-
],
|
|
146
|
-
"name": "updateTokenConfigs",
|
|
147
|
-
"outputs": [],
|
|
148
|
-
"stateMutability": "nonpayable",
|
|
149
|
-
"type": "function"
|
|
150
|
-
}
|
|
151
|
-
],
|
|
152
|
-
"bytecode": "0x60806040523480156200001157600080fd5b5060405162000c4038038062000c40833981016040819052620000349162000272565b6200003f33620000f9565b60005b8151811015620000f1576200007d82828151811062000065576200006562000363565b6020026020010151600001516200014960201b60201c565b81818151811062000092576200009262000363565b60200260200101516020015160026000848481518110620000b757620000b762000363565b602090810291909101810151516001600160a01b031682528101919091526040016000205580620000e88162000379565b91505062000042565b5050620003a3565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60005b600154811015620001ac57816001600160a01b03166001828154811062000177576200017762000363565b6000918252602090912001546001600160a01b0316141562000197575050565b80620001a38162000379565b9150506200014c565b506001805480820182556000919091527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b0319166001600160a01b0392909216919091179055565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b0381118282101715620002395762000239620001fe565b60405290565b604051601f8201601f191681016001600160401b03811182821017156200026a576200026a620001fe565b604052919050565b600060208083850312156200028657600080fd5b82516001600160401b03808211156200029e57600080fd5b818501915085601f830112620002b357600080fd5b815181811115620002c857620002c8620001fe565b620002d8848260051b016200023f565b818152848101925060069190911b830184019087821115620002f957600080fd5b928401925b81841015620003585760408489031215620003195760008081fd5b6200032362000214565b84516001600160a01b03811681146200033c5760008081fd5b81528486015186820152835260409093019291840191620002fe565b979650505050505050565b634e487b7160e01b600052603260045260246000fd5b60006000198214156200039c57634e487b7160e01b600052601160045260246000fd5b5060010190565b61088d80620003b36000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80639f678cca1161005b5780639f678cca146100c9578063b9293286146100d1578063e980416a146100e4578063f2fde38b1461011257600080fd5b8063715018a614610082578063741f83ef1461008c5780638da5cb5b1461009f575b600080fd5b61008a610125565b005b61008a61009a366004610697565b610190565b6000546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b61008a61028b565b6100ac6100df36600461076b565b6103a2565b6101046100f2366004610784565b60026020526000908152604090205481565b6040519081526020016100c0565b61008a610120366004610784565b6103cc565b6000546001600160a01b031633146101845760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b61018e60006104a7565b565b6000546001600160a01b031633146101ea5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161017b565b60005b81518110156102875761021c82828151811061020b5761020b6107a6565b60200260200101516000015161050f565b81818151811061022e5761022e6107a6565b60200260200101516020015160026000848481518110610250576102506107a6565b602090810291909101810151516001600160a01b03168252810191909152604001600020558061027f816107d5565b9150506101ed565b5050565b60005b60015481101561039f57600181815481106102ab576102ab6107a6565b6000918252602082200154600180546001600160a01b039092169263a9059cbb92339260029291879081106102e2576102e26107a6565b6000918252602080832091909101546001600160a01b039081168452908301939093526040918201902054905160e085901b7fffffffff0000000000000000000000000000000000000000000000000000000016815292909116600483015260248201526044016020604051808303816000875af1158015610368573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061038c9190610835565b5080610397816107d5565b91505061028e565b50565b600181815481106103b257600080fd5b6000918252602090912001546001600160a01b0316905081565b6000546001600160a01b031633146104265760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161017b565b6001600160a01b0381166104a25760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161017b565b61039f815b600080546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60005b60015481101561056a57816001600160a01b031660018281548110610539576105396107a6565b6000918252602090912001546001600160a01b03161415610558575050565b80610562816107d5565b915050610512565b506001805480820182556000919091527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715610626576106266105d4565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715610673576106736105d4565b604052919050565b80356001600160a01b038116811461069257600080fd5b919050565b600060208083850312156106aa57600080fd5b823567ffffffffffffffff808211156106c257600080fd5b818501915085601f8301126106d657600080fd5b8135818111156106e8576106e86105d4565b6106f6848260051b0161062c565b818152848101925060069190911b83018401908782111561071657600080fd5b928401925b8184101561076057604084890312156107345760008081fd5b61073c610603565b6107458561067b565b8152848601358682015283526040909301929184019161071b565b979650505050505050565b60006020828403121561077d57600080fd5b5035919050565b60006020828403121561079657600080fd5b61079f8261067b565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561082e577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b60006020828403121561084757600080fd5b8151801515811461079f57600080fdfea26469706673582212200b56248e3867f8c6afaf02091fa7b57d47168960cfdfc133122e492377adaa3264736f6c634300080b0033",
|
|
153
|
-
"deployedBytecode": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c80639f678cca1161005b5780639f678cca146100c9578063b9293286146100d1578063e980416a146100e4578063f2fde38b1461011257600080fd5b8063715018a614610082578063741f83ef1461008c5780638da5cb5b1461009f575b600080fd5b61008a610125565b005b61008a61009a366004610697565b610190565b6000546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b61008a61028b565b6100ac6100df36600461076b565b6103a2565b6101046100f2366004610784565b60026020526000908152604090205481565b6040519081526020016100c0565b61008a610120366004610784565b6103cc565b6000546001600160a01b031633146101845760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b61018e60006104a7565b565b6000546001600160a01b031633146101ea5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161017b565b60005b81518110156102875761021c82828151811061020b5761020b6107a6565b60200260200101516000015161050f565b81818151811061022e5761022e6107a6565b60200260200101516020015160026000848481518110610250576102506107a6565b602090810291909101810151516001600160a01b03168252810191909152604001600020558061027f816107d5565b9150506101ed565b5050565b60005b60015481101561039f57600181815481106102ab576102ab6107a6565b6000918252602082200154600180546001600160a01b039092169263a9059cbb92339260029291879081106102e2576102e26107a6565b6000918252602080832091909101546001600160a01b039081168452908301939093526040918201902054905160e085901b7fffffffff0000000000000000000000000000000000000000000000000000000016815292909116600483015260248201526044016020604051808303816000875af1158015610368573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061038c9190610835565b5080610397816107d5565b91505061028e565b50565b600181815481106103b257600080fd5b6000918252602090912001546001600160a01b0316905081565b6000546001600160a01b031633146104265760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161017b565b6001600160a01b0381166104a25760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161017b565b61039f815b600080546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60005b60015481101561056a57816001600160a01b031660018281548110610539576105396107a6565b6000918252602090912001546001600160a01b03161415610558575050565b80610562816107d5565b915050610512565b506001805480820182556000919091527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715610626576106266105d4565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715610673576106736105d4565b604052919050565b80356001600160a01b038116811461069257600080fd5b919050565b600060208083850312156106aa57600080fd5b823567ffffffffffffffff808211156106c257600080fd5b818501915085601f8301126106d657600080fd5b8135818111156106e8576106e86105d4565b6106f6848260051b0161062c565b818152848101925060069190911b83018401908782111561071657600080fd5b928401925b8184101561076057604084890312156107345760008081fd5b61073c610603565b6107458561067b565b8152848601358682015283526040909301929184019161071b565b979650505050505050565b60006020828403121561077d57600080fd5b5035919050565b60006020828403121561079657600080fd5b61079f8261067b565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561082e577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b60006020828403121561084757600080fd5b8151801515811461079f57600080fdfea26469706673582212200b56248e3867f8c6afaf02091fa7b57d47168960cfdfc133122e492377adaa3264736f6c634300080b0033",
|
|
154
|
-
"linkReferences": {},
|
|
155
|
-
"deployedLinkReferences": {}
|
|
156
|
-
}
|
|
157
|
-
|