@imtbl/sdk 0.1.8-alpha → 0.1.8-alpha.2
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/blockchain-data.js +1 -1
- package/dist/browser/checkout.js +2 -2
- package/dist/erc20.d.ts +126 -2
- package/dist/erc20.js +370 -3
- package/dist/erc721-permissioned-mintable.d.ts +260 -2
- package/dist/erc721-permissioned-mintable.js +1144 -3
- package/dist/immutablex_client.js +1 -1
- package/dist/index.cjs +2522 -457
- package/dist/index.d.ts +255 -6
- package/dist/index.js +2522 -457
- package/dist/orderbook.js +259 -194
- package/dist/passport.d.ts +1 -0
- package/dist/passport.js +511 -14
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -8,7 +8,6 @@ var magicSdk = require('magic-sdk');
|
|
|
8
8
|
var oidc = require('@magic-ext/oidc');
|
|
9
9
|
var BN = require('bn.js');
|
|
10
10
|
var encUtils = require('enc-utils');
|
|
11
|
-
var constants = require('@opensea/seaport-js/lib/constants');
|
|
12
11
|
var FormData = require('form-data');
|
|
13
12
|
var seaportJs = require('@opensea/seaport-js');
|
|
14
13
|
var units = require('@ethersproject/units');
|
|
@@ -66,17 +65,17 @@ class ImmutableConfiguration {
|
|
|
66
65
|
*/
|
|
67
66
|
// Some imports not used depending on template conditions
|
|
68
67
|
// @ts-ignore
|
|
69
|
-
const BASE_PATH = "https://indexer-mr.dev.imtbl.com".replace(/\/+$/, "");
|
|
68
|
+
const BASE_PATH$1 = "https://indexer-mr.dev.imtbl.com".replace(/\/+$/, "");
|
|
70
69
|
/**
|
|
71
70
|
*
|
|
72
71
|
* @export
|
|
73
72
|
* @class BaseAPI
|
|
74
73
|
*/
|
|
75
|
-
class BaseAPI {
|
|
74
|
+
let BaseAPI$1 = class BaseAPI {
|
|
76
75
|
basePath;
|
|
77
76
|
axios;
|
|
78
77
|
configuration;
|
|
79
|
-
constructor(configuration, basePath = BASE_PATH, axios = globalAxios) {
|
|
78
|
+
constructor(configuration, basePath = BASE_PATH$1, axios = globalAxios) {
|
|
80
79
|
this.basePath = basePath;
|
|
81
80
|
this.axios = axios;
|
|
82
81
|
if (configuration) {
|
|
@@ -84,21 +83,21 @@ class BaseAPI {
|
|
|
84
83
|
this.basePath = configuration.basePath || this.basePath;
|
|
85
84
|
}
|
|
86
85
|
}
|
|
87
|
-
}
|
|
86
|
+
};
|
|
88
87
|
/**
|
|
89
88
|
*
|
|
90
89
|
* @export
|
|
91
90
|
* @class RequiredError
|
|
92
91
|
* @extends {Error}
|
|
93
92
|
*/
|
|
94
|
-
class RequiredError extends Error {
|
|
93
|
+
let RequiredError$1 = class RequiredError extends Error {
|
|
95
94
|
field;
|
|
96
95
|
name = "RequiredError";
|
|
97
96
|
constructor(field, msg) {
|
|
98
97
|
super(msg);
|
|
99
98
|
this.field = field;
|
|
100
99
|
}
|
|
101
|
-
}
|
|
100
|
+
};
|
|
102
101
|
|
|
103
102
|
/* tslint:disable */
|
|
104
103
|
/* eslint-disable */
|
|
@@ -117,24 +116,24 @@ class RequiredError extends Error {
|
|
|
117
116
|
*
|
|
118
117
|
* @export
|
|
119
118
|
*/
|
|
120
|
-
const DUMMY_BASE_URL = 'https://example.com';
|
|
119
|
+
const DUMMY_BASE_URL$1 = 'https://example.com';
|
|
121
120
|
/**
|
|
122
121
|
*
|
|
123
122
|
* @throws {RequiredError}
|
|
124
123
|
* @export
|
|
125
124
|
*/
|
|
126
|
-
const assertParamExists = function (functionName, paramName, paramValue) {
|
|
125
|
+
const assertParamExists$1 = function (functionName, paramName, paramValue) {
|
|
127
126
|
if (paramValue === null || paramValue === undefined) {
|
|
128
|
-
throw new RequiredError(paramName, `Required parameter ${paramName} was null or undefined when calling ${functionName}.`);
|
|
127
|
+
throw new RequiredError$1(paramName, `Required parameter ${paramName} was null or undefined when calling ${functionName}.`);
|
|
129
128
|
}
|
|
130
129
|
};
|
|
131
|
-
function setFlattenedQueryParams(urlSearchParams, parameter, key = "") {
|
|
130
|
+
function setFlattenedQueryParams$1(urlSearchParams, parameter, key = "") {
|
|
132
131
|
if (typeof parameter === "object") {
|
|
133
132
|
if (Array.isArray(parameter)) {
|
|
134
|
-
parameter.forEach(item => setFlattenedQueryParams(urlSearchParams, item, key));
|
|
133
|
+
parameter.forEach(item => setFlattenedQueryParams$1(urlSearchParams, item, key));
|
|
135
134
|
}
|
|
136
135
|
else {
|
|
137
|
-
Object.keys(parameter).forEach(currentKey => setFlattenedQueryParams(urlSearchParams, parameter[currentKey], `${key}${key !== '' ? '.' : ''}${currentKey}`));
|
|
136
|
+
Object.keys(parameter).forEach(currentKey => setFlattenedQueryParams$1(urlSearchParams, parameter[currentKey], `${key}${key !== '' ? '.' : ''}${currentKey}`));
|
|
138
137
|
}
|
|
139
138
|
}
|
|
140
139
|
else {
|
|
@@ -150,23 +149,23 @@ function setFlattenedQueryParams(urlSearchParams, parameter, key = "") {
|
|
|
150
149
|
*
|
|
151
150
|
* @export
|
|
152
151
|
*/
|
|
153
|
-
const setSearchParams = function (url, ...objects) {
|
|
152
|
+
const setSearchParams$1 = function (url, ...objects) {
|
|
154
153
|
const searchParams = new URLSearchParams(url.search);
|
|
155
|
-
setFlattenedQueryParams(searchParams, objects);
|
|
154
|
+
setFlattenedQueryParams$1(searchParams, objects);
|
|
156
155
|
url.search = searchParams.toString();
|
|
157
156
|
};
|
|
158
157
|
/**
|
|
159
158
|
*
|
|
160
159
|
* @export
|
|
161
160
|
*/
|
|
162
|
-
const toPathString = function (url) {
|
|
161
|
+
const toPathString$1 = function (url) {
|
|
163
162
|
return url.pathname + url.search + url.hash;
|
|
164
163
|
};
|
|
165
164
|
/**
|
|
166
165
|
*
|
|
167
166
|
* @export
|
|
168
167
|
*/
|
|
169
|
-
const createRequestFunction = function (axiosArgs, globalAxios, BASE_PATH, configuration) {
|
|
168
|
+
const createRequestFunction$1 = function (axiosArgs, globalAxios, BASE_PATH, configuration) {
|
|
170
169
|
return (axios = globalAxios, basePath = BASE_PATH) => {
|
|
171
170
|
const axiosRequestArgs = { ...axiosArgs.options, url: (configuration?.basePath || basePath) + axiosArgs.url };
|
|
172
171
|
return axios.request(axiosRequestArgs);
|
|
@@ -202,14 +201,14 @@ const ActivitiesApiAxiosParamCreator = function (configuration) {
|
|
|
202
201
|
*/
|
|
203
202
|
getActivity: async (chainName, activityId, options = {}) => {
|
|
204
203
|
// verify required parameter 'chainName' is not null or undefined
|
|
205
|
-
assertParamExists('getActivity', 'chainName', chainName);
|
|
204
|
+
assertParamExists$1('getActivity', 'chainName', chainName);
|
|
206
205
|
// verify required parameter 'activityId' is not null or undefined
|
|
207
|
-
assertParamExists('getActivity', 'activityId', activityId);
|
|
206
|
+
assertParamExists$1('getActivity', 'activityId', activityId);
|
|
208
207
|
const localVarPath = `/v1/chains/{chain_name}/activities/{activity_id}`
|
|
209
208
|
.replace(`{${"chain_name"}}`, encodeURIComponent(String(chainName)))
|
|
210
209
|
.replace(`{${"activity_id"}}`, encodeURIComponent(String(activityId)));
|
|
211
210
|
// use dummy base URL string because the URL constructor only accepts absolute URLs.
|
|
212
|
-
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
|
|
211
|
+
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL$1);
|
|
213
212
|
let baseOptions;
|
|
214
213
|
if (configuration) {
|
|
215
214
|
baseOptions = configuration.baseOptions;
|
|
@@ -217,11 +216,11 @@ const ActivitiesApiAxiosParamCreator = function (configuration) {
|
|
|
217
216
|
const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options };
|
|
218
217
|
const localVarHeaderParameter = {};
|
|
219
218
|
const localVarQueryParameter = {};
|
|
220
|
-
setSearchParams(localVarUrlObj, localVarQueryParameter);
|
|
219
|
+
setSearchParams$1(localVarUrlObj, localVarQueryParameter);
|
|
221
220
|
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
|
|
222
221
|
localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
|
|
223
222
|
return {
|
|
224
|
-
url: toPathString(localVarUrlObj),
|
|
223
|
+
url: toPathString$1(localVarUrlObj),
|
|
225
224
|
options: localVarRequestOptions,
|
|
226
225
|
};
|
|
227
226
|
},
|
|
@@ -243,11 +242,11 @@ const ActivitiesApiAxiosParamCreator = function (configuration) {
|
|
|
243
242
|
*/
|
|
244
243
|
listActivities: async (chainName, contractAddress, tokenId, accountAddress, activityType, fromIndexedAt, toIndexedAt, transactionHash, pageCursor, pageSize, options = {}) => {
|
|
245
244
|
// verify required parameter 'chainName' is not null or undefined
|
|
246
|
-
assertParamExists('listActivities', 'chainName', chainName);
|
|
245
|
+
assertParamExists$1('listActivities', 'chainName', chainName);
|
|
247
246
|
const localVarPath = `/v1/chains/{chain_name}/activities`
|
|
248
247
|
.replace(`{${"chain_name"}}`, encodeURIComponent(String(chainName)));
|
|
249
248
|
// use dummy base URL string because the URL constructor only accepts absolute URLs.
|
|
250
|
-
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
|
|
249
|
+
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL$1);
|
|
251
250
|
let baseOptions;
|
|
252
251
|
if (configuration) {
|
|
253
252
|
baseOptions = configuration.baseOptions;
|
|
@@ -286,11 +285,11 @@ const ActivitiesApiAxiosParamCreator = function (configuration) {
|
|
|
286
285
|
if (pageSize !== undefined) {
|
|
287
286
|
localVarQueryParameter['page_size'] = pageSize;
|
|
288
287
|
}
|
|
289
|
-
setSearchParams(localVarUrlObj, localVarQueryParameter);
|
|
288
|
+
setSearchParams$1(localVarUrlObj, localVarQueryParameter);
|
|
290
289
|
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
|
|
291
290
|
localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
|
|
292
291
|
return {
|
|
293
|
-
url: toPathString(localVarUrlObj),
|
|
292
|
+
url: toPathString$1(localVarUrlObj),
|
|
294
293
|
options: localVarRequestOptions,
|
|
295
294
|
};
|
|
296
295
|
},
|
|
@@ -313,7 +312,7 @@ const ActivitiesApiFp = function (configuration) {
|
|
|
313
312
|
*/
|
|
314
313
|
async getActivity(chainName, activityId, options) {
|
|
315
314
|
const localVarAxiosArgs = await localVarAxiosParamCreator.getActivity(chainName, activityId, options);
|
|
316
|
-
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
|
|
315
|
+
return createRequestFunction$1(localVarAxiosArgs, globalAxios, BASE_PATH$1, configuration);
|
|
317
316
|
},
|
|
318
317
|
/**
|
|
319
318
|
* List all activities
|
|
@@ -333,7 +332,7 @@ const ActivitiesApiFp = function (configuration) {
|
|
|
333
332
|
*/
|
|
334
333
|
async listActivities(chainName, contractAddress, tokenId, accountAddress, activityType, fromIndexedAt, toIndexedAt, transactionHash, pageCursor, pageSize, options) {
|
|
335
334
|
const localVarAxiosArgs = await localVarAxiosParamCreator.listActivities(chainName, contractAddress, tokenId, accountAddress, activityType, fromIndexedAt, toIndexedAt, transactionHash, pageCursor, pageSize, options);
|
|
336
|
-
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
|
|
335
|
+
return createRequestFunction$1(localVarAxiosArgs, globalAxios, BASE_PATH$1, configuration);
|
|
337
336
|
},
|
|
338
337
|
};
|
|
339
338
|
};
|
|
@@ -343,7 +342,7 @@ const ActivitiesApiFp = function (configuration) {
|
|
|
343
342
|
* @class ActivitiesApi
|
|
344
343
|
* @extends {BaseAPI}
|
|
345
344
|
*/
|
|
346
|
-
class ActivitiesApi extends BaseAPI {
|
|
345
|
+
class ActivitiesApi extends BaseAPI$1 {
|
|
347
346
|
/**
|
|
348
347
|
* Get a single activity by ID
|
|
349
348
|
* @summary Get a single activity by ID
|
|
@@ -398,7 +397,7 @@ const ChainsApiAxiosParamCreator = function (configuration) {
|
|
|
398
397
|
listChains: async (pageCursor, pageSize, options = {}) => {
|
|
399
398
|
const localVarPath = `/v1/chains`;
|
|
400
399
|
// use dummy base URL string because the URL constructor only accepts absolute URLs.
|
|
401
|
-
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
|
|
400
|
+
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL$1);
|
|
402
401
|
let baseOptions;
|
|
403
402
|
if (configuration) {
|
|
404
403
|
baseOptions = configuration.baseOptions;
|
|
@@ -412,11 +411,11 @@ const ChainsApiAxiosParamCreator = function (configuration) {
|
|
|
412
411
|
if (pageSize !== undefined) {
|
|
413
412
|
localVarQueryParameter['page_size'] = pageSize;
|
|
414
413
|
}
|
|
415
|
-
setSearchParams(localVarUrlObj, localVarQueryParameter);
|
|
414
|
+
setSearchParams$1(localVarUrlObj, localVarQueryParameter);
|
|
416
415
|
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
|
|
417
416
|
localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
|
|
418
417
|
return {
|
|
419
|
-
url: toPathString(localVarUrlObj),
|
|
418
|
+
url: toPathString$1(localVarUrlObj),
|
|
420
419
|
options: localVarRequestOptions,
|
|
421
420
|
};
|
|
422
421
|
},
|
|
@@ -439,7 +438,7 @@ const ChainsApiFp = function (configuration) {
|
|
|
439
438
|
*/
|
|
440
439
|
async listChains(pageCursor, pageSize, options) {
|
|
441
440
|
const localVarAxiosArgs = await localVarAxiosParamCreator.listChains(pageCursor, pageSize, options);
|
|
442
|
-
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
|
|
441
|
+
return createRequestFunction$1(localVarAxiosArgs, globalAxios, BASE_PATH$1, configuration);
|
|
443
442
|
},
|
|
444
443
|
};
|
|
445
444
|
};
|
|
@@ -449,7 +448,7 @@ const ChainsApiFp = function (configuration) {
|
|
|
449
448
|
* @class ChainsApi
|
|
450
449
|
* @extends {BaseAPI}
|
|
451
450
|
*/
|
|
452
|
-
class ChainsApi extends BaseAPI {
|
|
451
|
+
class ChainsApi extends BaseAPI$1 {
|
|
453
452
|
/**
|
|
454
453
|
* List supported chains
|
|
455
454
|
* @summary List supported chains
|
|
@@ -492,14 +491,14 @@ const CollectionsApiAxiosParamCreator = function (configuration) {
|
|
|
492
491
|
*/
|
|
493
492
|
getCollection: async (contractAddress, chainName, options = {}) => {
|
|
494
493
|
// verify required parameter 'contractAddress' is not null or undefined
|
|
495
|
-
assertParamExists('getCollection', 'contractAddress', contractAddress);
|
|
494
|
+
assertParamExists$1('getCollection', 'contractAddress', contractAddress);
|
|
496
495
|
// verify required parameter 'chainName' is not null or undefined
|
|
497
|
-
assertParamExists('getCollection', 'chainName', chainName);
|
|
496
|
+
assertParamExists$1('getCollection', 'chainName', chainName);
|
|
498
497
|
const localVarPath = `/v1/chains/{chain_name}/collections/{contract_address}`
|
|
499
498
|
.replace(`{${"contract_address"}}`, encodeURIComponent(String(contractAddress)))
|
|
500
499
|
.replace(`{${"chain_name"}}`, encodeURIComponent(String(chainName)));
|
|
501
500
|
// use dummy base URL string because the URL constructor only accepts absolute URLs.
|
|
502
|
-
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
|
|
501
|
+
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL$1);
|
|
503
502
|
let baseOptions;
|
|
504
503
|
if (configuration) {
|
|
505
504
|
baseOptions = configuration.baseOptions;
|
|
@@ -507,11 +506,11 @@ const CollectionsApiAxiosParamCreator = function (configuration) {
|
|
|
507
506
|
const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options };
|
|
508
507
|
const localVarHeaderParameter = {};
|
|
509
508
|
const localVarQueryParameter = {};
|
|
510
|
-
setSearchParams(localVarUrlObj, localVarQueryParameter);
|
|
509
|
+
setSearchParams$1(localVarUrlObj, localVarQueryParameter);
|
|
511
510
|
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
|
|
512
511
|
localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
|
|
513
512
|
return {
|
|
514
|
-
url: toPathString(localVarUrlObj),
|
|
513
|
+
url: toPathString$1(localVarUrlObj),
|
|
515
514
|
options: localVarRequestOptions,
|
|
516
515
|
};
|
|
517
516
|
},
|
|
@@ -526,11 +525,11 @@ const CollectionsApiAxiosParamCreator = function (configuration) {
|
|
|
526
525
|
*/
|
|
527
526
|
listCollections: async (chainName, pageCursor, pageSize, options = {}) => {
|
|
528
527
|
// verify required parameter 'chainName' is not null or undefined
|
|
529
|
-
assertParamExists('listCollections', 'chainName', chainName);
|
|
528
|
+
assertParamExists$1('listCollections', 'chainName', chainName);
|
|
530
529
|
const localVarPath = `/v1/chains/{chain_name}/collections`
|
|
531
530
|
.replace(`{${"chain_name"}}`, encodeURIComponent(String(chainName)));
|
|
532
531
|
// use dummy base URL string because the URL constructor only accepts absolute URLs.
|
|
533
|
-
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
|
|
532
|
+
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL$1);
|
|
534
533
|
let baseOptions;
|
|
535
534
|
if (configuration) {
|
|
536
535
|
baseOptions = configuration.baseOptions;
|
|
@@ -544,11 +543,11 @@ const CollectionsApiAxiosParamCreator = function (configuration) {
|
|
|
544
543
|
if (pageSize !== undefined) {
|
|
545
544
|
localVarQueryParameter['page_size'] = pageSize;
|
|
546
545
|
}
|
|
547
|
-
setSearchParams(localVarUrlObj, localVarQueryParameter);
|
|
546
|
+
setSearchParams$1(localVarUrlObj, localVarQueryParameter);
|
|
548
547
|
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
|
|
549
548
|
localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
|
|
550
549
|
return {
|
|
551
|
-
url: toPathString(localVarUrlObj),
|
|
550
|
+
url: toPathString$1(localVarUrlObj),
|
|
552
551
|
options: localVarRequestOptions,
|
|
553
552
|
};
|
|
554
553
|
},
|
|
@@ -571,7 +570,7 @@ const CollectionsApiFp = function (configuration) {
|
|
|
571
570
|
*/
|
|
572
571
|
async getCollection(contractAddress, chainName, options) {
|
|
573
572
|
const localVarAxiosArgs = await localVarAxiosParamCreator.getCollection(contractAddress, chainName, options);
|
|
574
|
-
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
|
|
573
|
+
return createRequestFunction$1(localVarAxiosArgs, globalAxios, BASE_PATH$1, configuration);
|
|
575
574
|
},
|
|
576
575
|
/**
|
|
577
576
|
* List all collections
|
|
@@ -584,7 +583,7 @@ const CollectionsApiFp = function (configuration) {
|
|
|
584
583
|
*/
|
|
585
584
|
async listCollections(chainName, pageCursor, pageSize, options) {
|
|
586
585
|
const localVarAxiosArgs = await localVarAxiosParamCreator.listCollections(chainName, pageCursor, pageSize, options);
|
|
587
|
-
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
|
|
586
|
+
return createRequestFunction$1(localVarAxiosArgs, globalAxios, BASE_PATH$1, configuration);
|
|
588
587
|
},
|
|
589
588
|
};
|
|
590
589
|
};
|
|
@@ -594,7 +593,7 @@ const CollectionsApiFp = function (configuration) {
|
|
|
594
593
|
* @class CollectionsApi
|
|
595
594
|
* @extends {BaseAPI}
|
|
596
595
|
*/
|
|
597
|
-
class CollectionsApi extends BaseAPI {
|
|
596
|
+
class CollectionsApi extends BaseAPI$1 {
|
|
598
597
|
/**
|
|
599
598
|
* Get collection by contract address
|
|
600
599
|
* @summary Get collection by contract address
|
|
@@ -651,17 +650,17 @@ const NftOwnersApiAxiosParamCreator = function (configuration) {
|
|
|
651
650
|
*/
|
|
652
651
|
listNFTOwners: async (contractAddress, tokenId, chainName, pageCursor, pageSize, options = {}) => {
|
|
653
652
|
// verify required parameter 'contractAddress' is not null or undefined
|
|
654
|
-
assertParamExists('listNFTOwners', 'contractAddress', contractAddress);
|
|
653
|
+
assertParamExists$1('listNFTOwners', 'contractAddress', contractAddress);
|
|
655
654
|
// verify required parameter 'tokenId' is not null or undefined
|
|
656
|
-
assertParamExists('listNFTOwners', 'tokenId', tokenId);
|
|
655
|
+
assertParamExists$1('listNFTOwners', 'tokenId', tokenId);
|
|
657
656
|
// verify required parameter 'chainName' is not null or undefined
|
|
658
|
-
assertParamExists('listNFTOwners', 'chainName', chainName);
|
|
657
|
+
assertParamExists$1('listNFTOwners', 'chainName', chainName);
|
|
659
658
|
const localVarPath = `/v1/chains/{chain_name}/collections/{contract_address}/nfts/{token_id}/owners`
|
|
660
659
|
.replace(`{${"contract_address"}}`, encodeURIComponent(String(contractAddress)))
|
|
661
660
|
.replace(`{${"token_id"}}`, encodeURIComponent(String(tokenId)))
|
|
662
661
|
.replace(`{${"chain_name"}}`, encodeURIComponent(String(chainName)));
|
|
663
662
|
// use dummy base URL string because the URL constructor only accepts absolute URLs.
|
|
664
|
-
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
|
|
663
|
+
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL$1);
|
|
665
664
|
let baseOptions;
|
|
666
665
|
if (configuration) {
|
|
667
666
|
baseOptions = configuration.baseOptions;
|
|
@@ -675,11 +674,11 @@ const NftOwnersApiAxiosParamCreator = function (configuration) {
|
|
|
675
674
|
if (pageSize !== undefined) {
|
|
676
675
|
localVarQueryParameter['page_size'] = pageSize;
|
|
677
676
|
}
|
|
678
|
-
setSearchParams(localVarUrlObj, localVarQueryParameter);
|
|
677
|
+
setSearchParams$1(localVarUrlObj, localVarQueryParameter);
|
|
679
678
|
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
|
|
680
679
|
localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
|
|
681
680
|
return {
|
|
682
|
-
url: toPathString(localVarUrlObj),
|
|
681
|
+
url: toPathString$1(localVarUrlObj),
|
|
683
682
|
options: localVarRequestOptions,
|
|
684
683
|
};
|
|
685
684
|
},
|
|
@@ -705,7 +704,7 @@ const NftOwnersApiFp = function (configuration) {
|
|
|
705
704
|
*/
|
|
706
705
|
async listNFTOwners(contractAddress, tokenId, chainName, pageCursor, pageSize, options) {
|
|
707
706
|
const localVarAxiosArgs = await localVarAxiosParamCreator.listNFTOwners(contractAddress, tokenId, chainName, pageCursor, pageSize, options);
|
|
708
|
-
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
|
|
707
|
+
return createRequestFunction$1(localVarAxiosArgs, globalAxios, BASE_PATH$1, configuration);
|
|
709
708
|
},
|
|
710
709
|
};
|
|
711
710
|
};
|
|
@@ -715,7 +714,7 @@ const NftOwnersApiFp = function (configuration) {
|
|
|
715
714
|
* @class NftOwnersApi
|
|
716
715
|
* @extends {BaseAPI}
|
|
717
716
|
*/
|
|
718
|
-
class NftOwnersApi extends BaseAPI {
|
|
717
|
+
class NftOwnersApi extends BaseAPI$1 {
|
|
719
718
|
/**
|
|
720
719
|
* List NFT owners by token ID
|
|
721
720
|
* @summary List NFT owners by token ID
|
|
@@ -759,17 +758,17 @@ const NftsApiAxiosParamCreator = function (configuration) {
|
|
|
759
758
|
*/
|
|
760
759
|
getNFT: async (contractAddress, tokenId, chainName, options = {}) => {
|
|
761
760
|
// verify required parameter 'contractAddress' is not null or undefined
|
|
762
|
-
assertParamExists('getNFT', 'contractAddress', contractAddress);
|
|
761
|
+
assertParamExists$1('getNFT', 'contractAddress', contractAddress);
|
|
763
762
|
// verify required parameter 'tokenId' is not null or undefined
|
|
764
|
-
assertParamExists('getNFT', 'tokenId', tokenId);
|
|
763
|
+
assertParamExists$1('getNFT', 'tokenId', tokenId);
|
|
765
764
|
// verify required parameter 'chainName' is not null or undefined
|
|
766
|
-
assertParamExists('getNFT', 'chainName', chainName);
|
|
765
|
+
assertParamExists$1('getNFT', 'chainName', chainName);
|
|
767
766
|
const localVarPath = `/v1/chains/{chain_name}/collections/{contract_address}/nfts/{token_id}`
|
|
768
767
|
.replace(`{${"contract_address"}}`, encodeURIComponent(String(contractAddress)))
|
|
769
768
|
.replace(`{${"token_id"}}`, encodeURIComponent(String(tokenId)))
|
|
770
769
|
.replace(`{${"chain_name"}}`, encodeURIComponent(String(chainName)));
|
|
771
770
|
// use dummy base URL string because the URL constructor only accepts absolute URLs.
|
|
772
|
-
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
|
|
771
|
+
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL$1);
|
|
773
772
|
let baseOptions;
|
|
774
773
|
if (configuration) {
|
|
775
774
|
baseOptions = configuration.baseOptions;
|
|
@@ -777,11 +776,11 @@ const NftsApiAxiosParamCreator = function (configuration) {
|
|
|
777
776
|
const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options };
|
|
778
777
|
const localVarHeaderParameter = {};
|
|
779
778
|
const localVarQueryParameter = {};
|
|
780
|
-
setSearchParams(localVarUrlObj, localVarQueryParameter);
|
|
779
|
+
setSearchParams$1(localVarUrlObj, localVarQueryParameter);
|
|
781
780
|
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
|
|
782
781
|
localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
|
|
783
782
|
return {
|
|
784
|
-
url: toPathString(localVarUrlObj),
|
|
783
|
+
url: toPathString$1(localVarUrlObj),
|
|
785
784
|
options: localVarRequestOptions,
|
|
786
785
|
};
|
|
787
786
|
},
|
|
@@ -797,14 +796,14 @@ const NftsApiAxiosParamCreator = function (configuration) {
|
|
|
797
796
|
*/
|
|
798
797
|
listNFTs: async (contractAddress, chainName, pageCursor, pageSize, options = {}) => {
|
|
799
798
|
// verify required parameter 'contractAddress' is not null or undefined
|
|
800
|
-
assertParamExists('listNFTs', 'contractAddress', contractAddress);
|
|
799
|
+
assertParamExists$1('listNFTs', 'contractAddress', contractAddress);
|
|
801
800
|
// verify required parameter 'chainName' is not null or undefined
|
|
802
|
-
assertParamExists('listNFTs', 'chainName', chainName);
|
|
801
|
+
assertParamExists$1('listNFTs', 'chainName', chainName);
|
|
803
802
|
const localVarPath = `/v1/chains/{chain_name}/collections/{contract_address}/nfts`
|
|
804
803
|
.replace(`{${"contract_address"}}`, encodeURIComponent(String(contractAddress)))
|
|
805
804
|
.replace(`{${"chain_name"}}`, encodeURIComponent(String(chainName)));
|
|
806
805
|
// use dummy base URL string because the URL constructor only accepts absolute URLs.
|
|
807
|
-
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
|
|
806
|
+
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL$1);
|
|
808
807
|
let baseOptions;
|
|
809
808
|
if (configuration) {
|
|
810
809
|
baseOptions = configuration.baseOptions;
|
|
@@ -818,11 +817,11 @@ const NftsApiAxiosParamCreator = function (configuration) {
|
|
|
818
817
|
if (pageSize !== undefined) {
|
|
819
818
|
localVarQueryParameter['page_size'] = pageSize;
|
|
820
819
|
}
|
|
821
|
-
setSearchParams(localVarUrlObj, localVarQueryParameter);
|
|
820
|
+
setSearchParams$1(localVarUrlObj, localVarQueryParameter);
|
|
822
821
|
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
|
|
823
822
|
localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
|
|
824
823
|
return {
|
|
825
|
-
url: toPathString(localVarUrlObj),
|
|
824
|
+
url: toPathString$1(localVarUrlObj),
|
|
826
825
|
options: localVarRequestOptions,
|
|
827
826
|
};
|
|
828
827
|
},
|
|
@@ -839,14 +838,14 @@ const NftsApiAxiosParamCreator = function (configuration) {
|
|
|
839
838
|
*/
|
|
840
839
|
listNFTsByAccountAddress: async (accountAddress, chainName, contractAddress, pageCursor, pageSize, options = {}) => {
|
|
841
840
|
// verify required parameter 'accountAddress' is not null or undefined
|
|
842
|
-
assertParamExists('listNFTsByAccountAddress', 'accountAddress', accountAddress);
|
|
841
|
+
assertParamExists$1('listNFTsByAccountAddress', 'accountAddress', accountAddress);
|
|
843
842
|
// verify required parameter 'chainName' is not null or undefined
|
|
844
|
-
assertParamExists('listNFTsByAccountAddress', 'chainName', chainName);
|
|
843
|
+
assertParamExists$1('listNFTsByAccountAddress', 'chainName', chainName);
|
|
845
844
|
const localVarPath = `/v1/chains/{chain_name}/accounts/{account_address}/nfts`
|
|
846
845
|
.replace(`{${"account_address"}}`, encodeURIComponent(String(accountAddress)))
|
|
847
846
|
.replace(`{${"chain_name"}}`, encodeURIComponent(String(chainName)));
|
|
848
847
|
// use dummy base URL string because the URL constructor only accepts absolute URLs.
|
|
849
|
-
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
|
|
848
|
+
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL$1);
|
|
850
849
|
let baseOptions;
|
|
851
850
|
if (configuration) {
|
|
852
851
|
baseOptions = configuration.baseOptions;
|
|
@@ -863,11 +862,11 @@ const NftsApiAxiosParamCreator = function (configuration) {
|
|
|
863
862
|
if (pageSize !== undefined) {
|
|
864
863
|
localVarQueryParameter['page_size'] = pageSize;
|
|
865
864
|
}
|
|
866
|
-
setSearchParams(localVarUrlObj, localVarQueryParameter);
|
|
865
|
+
setSearchParams$1(localVarUrlObj, localVarQueryParameter);
|
|
867
866
|
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
|
|
868
867
|
localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
|
|
869
868
|
return {
|
|
870
|
-
url: toPathString(localVarUrlObj),
|
|
869
|
+
url: toPathString$1(localVarUrlObj),
|
|
871
870
|
options: localVarRequestOptions,
|
|
872
871
|
};
|
|
873
872
|
},
|
|
@@ -891,7 +890,7 @@ const NftsApiFp = function (configuration) {
|
|
|
891
890
|
*/
|
|
892
891
|
async getNFT(contractAddress, tokenId, chainName, options) {
|
|
893
892
|
const localVarAxiosArgs = await localVarAxiosParamCreator.getNFT(contractAddress, tokenId, chainName, options);
|
|
894
|
-
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
|
|
893
|
+
return createRequestFunction$1(localVarAxiosArgs, globalAxios, BASE_PATH$1, configuration);
|
|
895
894
|
},
|
|
896
895
|
/**
|
|
897
896
|
* List NFTs by contract address
|
|
@@ -905,7 +904,7 @@ const NftsApiFp = function (configuration) {
|
|
|
905
904
|
*/
|
|
906
905
|
async listNFTs(contractAddress, chainName, pageCursor, pageSize, options) {
|
|
907
906
|
const localVarAxiosArgs = await localVarAxiosParamCreator.listNFTs(contractAddress, chainName, pageCursor, pageSize, options);
|
|
908
|
-
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
|
|
907
|
+
return createRequestFunction$1(localVarAxiosArgs, globalAxios, BASE_PATH$1, configuration);
|
|
909
908
|
},
|
|
910
909
|
/**
|
|
911
910
|
* List NFTs by account address
|
|
@@ -920,7 +919,7 @@ const NftsApiFp = function (configuration) {
|
|
|
920
919
|
*/
|
|
921
920
|
async listNFTsByAccountAddress(accountAddress, chainName, contractAddress, pageCursor, pageSize, options) {
|
|
922
921
|
const localVarAxiosArgs = await localVarAxiosParamCreator.listNFTsByAccountAddress(accountAddress, chainName, contractAddress, pageCursor, pageSize, options);
|
|
923
|
-
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
|
|
922
|
+
return createRequestFunction$1(localVarAxiosArgs, globalAxios, BASE_PATH$1, configuration);
|
|
924
923
|
},
|
|
925
924
|
};
|
|
926
925
|
};
|
|
@@ -930,7 +929,7 @@ const NftsApiFp = function (configuration) {
|
|
|
930
929
|
* @class NftsApi
|
|
931
930
|
* @extends {BaseAPI}
|
|
932
931
|
*/
|
|
933
|
-
class NftsApi extends BaseAPI {
|
|
932
|
+
class NftsApi extends BaseAPI$1 {
|
|
934
933
|
/**
|
|
935
934
|
* Get NFT by token ID
|
|
936
935
|
* @summary Get NFT by token ID
|
|
@@ -979,7 +978,7 @@ class NftsApi extends BaseAPI {
|
|
|
979
978
|
* https://openapi-generator.tech
|
|
980
979
|
* Do not edit the class manually.
|
|
981
980
|
*/
|
|
982
|
-
class Configuration {
|
|
981
|
+
let Configuration$1 = class Configuration {
|
|
983
982
|
/**
|
|
984
983
|
* parameter for apiKey security
|
|
985
984
|
* @param name security name
|
|
@@ -1052,7 +1051,7 @@ class Configuration {
|
|
|
1052
1051
|
const jsonMime = new RegExp('^(application\/json|[^;/ \t]+\/[^;/ \t]+[+]json)[ \t]*(;.*)?$', 'i');
|
|
1053
1052
|
return mime !== null && (jsonMime.test(mime) || mime.toLowerCase() === 'application/json-patch+json');
|
|
1054
1053
|
}
|
|
1055
|
-
}
|
|
1054
|
+
};
|
|
1056
1055
|
|
|
1057
1056
|
/**
|
|
1058
1057
|
* Custom Error class that is returned from the API when a request fails
|
|
@@ -1088,7 +1087,7 @@ const createAPIConfiguration = ({ basePath, headers: baseHeaders, }) => {
|
|
|
1088
1087
|
basePath,
|
|
1089
1088
|
baseOptions: { headers },
|
|
1090
1089
|
};
|
|
1091
|
-
return new Configuration(configParams);
|
|
1090
|
+
return new Configuration$1(configParams);
|
|
1092
1091
|
};
|
|
1093
1092
|
const production$1 = () => createAPIConfiguration({
|
|
1094
1093
|
basePath: 'https://indexer-mr.dev.imtbl.com/v1', // TODO update before mainnet release
|
|
@@ -1884,186 +1883,606 @@ function convertToSignableToken(token) {
|
|
|
1884
1883
|
}
|
|
1885
1884
|
}
|
|
1886
1885
|
|
|
1887
|
-
|
|
1888
|
-
|
|
1889
|
-
|
|
1890
|
-
|
|
1891
|
-
|
|
1892
|
-
|
|
1893
|
-
|
|
1894
|
-
|
|
1895
|
-
|
|
1896
|
-
|
|
1897
|
-
|
|
1898
|
-
|
|
1899
|
-
|
|
1900
|
-
|
|
1901
|
-
|
|
1902
|
-
|
|
1903
|
-
|
|
1904
|
-
|
|
1905
|
-
|
|
1906
|
-
|
|
1907
|
-
|
|
1908
|
-
|
|
1886
|
+
/* tslint:disable */
|
|
1887
|
+
/* eslint-disable */
|
|
1888
|
+
/**
|
|
1889
|
+
* Swagger Guardian
|
|
1890
|
+
* Guardian API
|
|
1891
|
+
*
|
|
1892
|
+
* The version of the OpenAPI document: 1.0.0
|
|
1893
|
+
* Contact: support@immutable.com
|
|
1894
|
+
*
|
|
1895
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
1896
|
+
* https://openapi-generator.tech
|
|
1897
|
+
* Do not edit the class manually.
|
|
1898
|
+
*/
|
|
1899
|
+
const BASE_PATH = "http://guardian.sandbox.imtbl.com".replace(/\/+$/, "");
|
|
1900
|
+
/**
|
|
1901
|
+
*
|
|
1902
|
+
* @export
|
|
1903
|
+
* @class BaseAPI
|
|
1904
|
+
*/
|
|
1905
|
+
class BaseAPI {
|
|
1906
|
+
basePath;
|
|
1907
|
+
axios;
|
|
1908
|
+
configuration;
|
|
1909
|
+
constructor(configuration, basePath = BASE_PATH, axios = globalAxios) {
|
|
1910
|
+
this.basePath = basePath;
|
|
1911
|
+
this.axios = axios;
|
|
1912
|
+
if (configuration) {
|
|
1913
|
+
this.configuration = configuration;
|
|
1914
|
+
this.basePath = configuration.basePath || this.basePath;
|
|
1915
|
+
}
|
|
1909
1916
|
}
|
|
1910
1917
|
}
|
|
1911
|
-
|
|
1912
|
-
|
|
1913
|
-
|
|
1918
|
+
/**
|
|
1919
|
+
*
|
|
1920
|
+
* @export
|
|
1921
|
+
* @class RequiredError
|
|
1922
|
+
* @extends {Error}
|
|
1923
|
+
*/
|
|
1924
|
+
class RequiredError extends Error {
|
|
1925
|
+
field;
|
|
1926
|
+
constructor(field, msg) {
|
|
1927
|
+
super(msg);
|
|
1928
|
+
this.field = field;
|
|
1929
|
+
this.name = "RequiredError";
|
|
1914
1930
|
}
|
|
1915
|
-
|
|
1916
|
-
|
|
1917
|
-
|
|
1931
|
+
}
|
|
1932
|
+
|
|
1933
|
+
/* tslint:disable */
|
|
1934
|
+
/* eslint-disable */
|
|
1935
|
+
/**
|
|
1936
|
+
* Swagger Guardian
|
|
1937
|
+
* Guardian API
|
|
1938
|
+
*
|
|
1939
|
+
* The version of the OpenAPI document: 1.0.0
|
|
1940
|
+
* Contact: support@immutable.com
|
|
1941
|
+
*
|
|
1942
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
1943
|
+
* https://openapi-generator.tech
|
|
1944
|
+
* Do not edit the class manually.
|
|
1945
|
+
*/
|
|
1946
|
+
/**
|
|
1947
|
+
*
|
|
1948
|
+
* @export
|
|
1949
|
+
*/
|
|
1950
|
+
const DUMMY_BASE_URL = 'https://example.com';
|
|
1951
|
+
/**
|
|
1952
|
+
*
|
|
1953
|
+
* @throws {RequiredError}
|
|
1954
|
+
* @export
|
|
1955
|
+
*/
|
|
1956
|
+
const assertParamExists = function (functionName, paramName, paramValue) {
|
|
1957
|
+
if (paramValue === null || paramValue === undefined) {
|
|
1958
|
+
throw new RequiredError(paramName, `Required parameter ${paramName} was null or undefined when calling ${functionName}.`);
|
|
1918
1959
|
}
|
|
1919
1960
|
};
|
|
1920
|
-
|
|
1921
|
-
|
|
1922
|
-
|
|
1923
|
-
|
|
1924
|
-
|
|
1925
|
-
|
|
1926
|
-
const
|
|
1927
|
-
|
|
1928
|
-
|
|
1929
|
-
|
|
1961
|
+
/**
|
|
1962
|
+
*
|
|
1963
|
+
* @export
|
|
1964
|
+
*/
|
|
1965
|
+
const setBearerAuthToObject = async function (object, configuration) {
|
|
1966
|
+
if (configuration && configuration.accessToken) {
|
|
1967
|
+
const accessToken = typeof configuration.accessToken === 'function'
|
|
1968
|
+
? await configuration.accessToken()
|
|
1969
|
+
: await configuration.accessToken;
|
|
1970
|
+
object["Authorization"] = "Bearer " + accessToken;
|
|
1930
1971
|
}
|
|
1931
|
-
|
|
1932
|
-
|
|
1933
|
-
|
|
1972
|
+
};
|
|
1973
|
+
function setFlattenedQueryParams(urlSearchParams, parameter, key = "") {
|
|
1974
|
+
if (parameter == null)
|
|
1975
|
+
return;
|
|
1976
|
+
if (typeof parameter === "object") {
|
|
1977
|
+
if (Array.isArray(parameter)) {
|
|
1978
|
+
parameter.forEach(item => setFlattenedQueryParams(urlSearchParams, item, key));
|
|
1979
|
+
}
|
|
1980
|
+
else {
|
|
1981
|
+
Object.keys(parameter).forEach(currentKey => setFlattenedQueryParams(urlSearchParams, parameter[currentKey], `${key}${key !== '' ? '.' : ''}${currentKey}`));
|
|
1934
1982
|
}
|
|
1935
|
-
await wait(interval);
|
|
1936
|
-
return retryWithDelay(fn, { retries: retries - 1, finalErr });
|
|
1937
1983
|
}
|
|
1938
|
-
|
|
1939
|
-
|
|
1940
|
-
|
|
1941
|
-
|
|
1942
|
-
|
|
1943
|
-
|
|
1944
|
-
|
|
1945
|
-
client_id: oidcConfiguration.clientId,
|
|
1946
|
-
metadata: {
|
|
1947
|
-
authorization_endpoint: `${authenticationDomain}/authorize`,
|
|
1948
|
-
token_endpoint: `${authenticationDomain}/oauth/token`,
|
|
1949
|
-
userinfo_endpoint: `${authenticationDomain}/userinfo`,
|
|
1950
|
-
end_session_endpoint: `${authenticationDomain}/v2/logout`
|
|
1951
|
-
+ `?returnTo=${encodeURIComponent(oidcConfiguration.logoutRedirectUri)}`
|
|
1952
|
-
+ `&client_id=${oidcConfiguration.clientId}`,
|
|
1953
|
-
},
|
|
1954
|
-
mergeClaims: true,
|
|
1955
|
-
loadUserInfo: true,
|
|
1956
|
-
scope: oidcConfiguration.scope,
|
|
1957
|
-
};
|
|
1958
|
-
if (oidcConfiguration.audience) {
|
|
1959
|
-
baseConfiguration.extraQueryParams = {
|
|
1960
|
-
audience: oidcConfiguration.audience,
|
|
1961
|
-
};
|
|
1984
|
+
else {
|
|
1985
|
+
if (urlSearchParams.has(key)) {
|
|
1986
|
+
urlSearchParams.append(key, parameter);
|
|
1987
|
+
}
|
|
1988
|
+
else {
|
|
1989
|
+
urlSearchParams.set(key, parameter);
|
|
1990
|
+
}
|
|
1962
1991
|
}
|
|
1963
|
-
|
|
1992
|
+
}
|
|
1993
|
+
/**
|
|
1994
|
+
*
|
|
1995
|
+
* @export
|
|
1996
|
+
*/
|
|
1997
|
+
const setSearchParams = function (url, ...objects) {
|
|
1998
|
+
const searchParams = new URLSearchParams(url.search);
|
|
1999
|
+
setFlattenedQueryParams(searchParams, objects);
|
|
2000
|
+
url.search = searchParams.toString();
|
|
1964
2001
|
};
|
|
1965
|
-
|
|
1966
|
-
|
|
1967
|
-
|
|
1968
|
-
|
|
1969
|
-
|
|
1970
|
-
|
|
1971
|
-
|
|
1972
|
-
|
|
1973
|
-
|
|
1974
|
-
|
|
1975
|
-
|
|
1976
|
-
|
|
1977
|
-
|
|
1978
|
-
|
|
1979
|
-
|
|
1980
|
-
sub: oidcUser.profile.sub,
|
|
1981
|
-
email: oidcUser.profile.email,
|
|
1982
|
-
nickname: oidcUser.profile.nickname,
|
|
1983
|
-
},
|
|
1984
|
-
etherKey: passport?.ether_key || '',
|
|
1985
|
-
};
|
|
2002
|
+
/**
|
|
2003
|
+
*
|
|
2004
|
+
* @export
|
|
2005
|
+
*/
|
|
2006
|
+
const toPathString = function (url) {
|
|
2007
|
+
return url.pathname + url.search + url.hash;
|
|
2008
|
+
};
|
|
2009
|
+
/**
|
|
2010
|
+
*
|
|
2011
|
+
* @export
|
|
2012
|
+
*/
|
|
2013
|
+
const createRequestFunction = function (axiosArgs, globalAxios, BASE_PATH, configuration) {
|
|
2014
|
+
return (axios = globalAxios, basePath = BASE_PATH) => {
|
|
2015
|
+
const axiosRequestArgs = { ...axiosArgs.options, url: (configuration?.basePath || basePath) + axiosArgs.url };
|
|
2016
|
+
return axios.request(axiosRequestArgs);
|
|
1986
2017
|
};
|
|
1987
|
-
|
|
1988
|
-
|
|
1989
|
-
|
|
1990
|
-
|
|
1991
|
-
|
|
1992
|
-
|
|
1993
|
-
|
|
1994
|
-
|
|
1995
|
-
|
|
1996
|
-
|
|
1997
|
-
|
|
1998
|
-
|
|
1999
|
-
|
|
2000
|
-
|
|
2001
|
-
|
|
2002
|
-
|
|
2003
|
-
|
|
2004
|
-
|
|
2005
|
-
|
|
2006
|
-
|
|
2007
|
-
|
|
2008
|
-
|
|
2009
|
-
|
|
2010
|
-
|
|
2018
|
+
};
|
|
2019
|
+
|
|
2020
|
+
/* tslint:disable */
|
|
2021
|
+
/* eslint-disable */
|
|
2022
|
+
/**
|
|
2023
|
+
* Swagger Guardian
|
|
2024
|
+
* Guardian API
|
|
2025
|
+
*
|
|
2026
|
+
* The version of the OpenAPI document: 1.0.0
|
|
2027
|
+
* Contact: support@immutable.com
|
|
2028
|
+
*
|
|
2029
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
2030
|
+
* https://openapi-generator.tech
|
|
2031
|
+
* Do not edit the class manually.
|
|
2032
|
+
*/
|
|
2033
|
+
/**
|
|
2034
|
+
* StarkexTransactionsApi - axios parameter creator
|
|
2035
|
+
* @export
|
|
2036
|
+
*/
|
|
2037
|
+
const StarkexTransactionsApiAxiosParamCreator = function (configuration) {
|
|
2038
|
+
return {
|
|
2039
|
+
/**
|
|
2040
|
+
* Check if it is a valid transaction by payload hash
|
|
2041
|
+
* @summary Evaluate if it is an valid transaction
|
|
2042
|
+
* @param {string} payloadHash Hash for the payload
|
|
2043
|
+
* @param {*} [options] Override http request option.
|
|
2044
|
+
* @throws {RequiredError}
|
|
2045
|
+
*/
|
|
2046
|
+
evaluateStarkexTransaction: async (payloadHash, options = {}) => {
|
|
2047
|
+
// verify required parameter 'payloadHash' is not null or undefined
|
|
2048
|
+
assertParamExists('evaluateStarkexTransaction', 'payloadHash', payloadHash);
|
|
2049
|
+
const localVarPath = `/guardian/v1/starkex/evaluate/{payloadHash}`
|
|
2050
|
+
.replace(`{${"payloadHash"}}`, encodeURIComponent(String(payloadHash)));
|
|
2051
|
+
// use dummy base URL string because the URL constructor only accepts absolute URLs.
|
|
2052
|
+
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
|
|
2053
|
+
let baseOptions;
|
|
2054
|
+
if (configuration) {
|
|
2055
|
+
baseOptions = configuration.baseOptions;
|
|
2011
2056
|
}
|
|
2012
|
-
|
|
2013
|
-
|
|
2057
|
+
const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options };
|
|
2058
|
+
const localVarHeaderParameter = {};
|
|
2059
|
+
const localVarQueryParameter = {};
|
|
2060
|
+
// authentication BearerAuth required
|
|
2061
|
+
// http bearer authentication required
|
|
2062
|
+
await setBearerAuthToObject(localVarHeaderParameter, configuration);
|
|
2063
|
+
setSearchParams(localVarUrlObj, localVarQueryParameter);
|
|
2064
|
+
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
|
|
2065
|
+
localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
|
|
2066
|
+
return {
|
|
2067
|
+
url: toPathString(localVarUrlObj),
|
|
2068
|
+
options: localVarRequestOptions,
|
|
2069
|
+
};
|
|
2070
|
+
},
|
|
2071
|
+
};
|
|
2072
|
+
};
|
|
2073
|
+
/**
|
|
2074
|
+
* StarkexTransactionsApi - functional programming interface
|
|
2075
|
+
* @export
|
|
2076
|
+
*/
|
|
2077
|
+
const StarkexTransactionsApiFp = function (configuration) {
|
|
2078
|
+
const localVarAxiosParamCreator = StarkexTransactionsApiAxiosParamCreator(configuration);
|
|
2079
|
+
return {
|
|
2080
|
+
/**
|
|
2081
|
+
* Check if it is a valid transaction by payload hash
|
|
2082
|
+
* @summary Evaluate if it is an valid transaction
|
|
2083
|
+
* @param {string} payloadHash Hash for the payload
|
|
2084
|
+
* @param {*} [options] Override http request option.
|
|
2085
|
+
* @throws {RequiredError}
|
|
2086
|
+
*/
|
|
2087
|
+
async evaluateStarkexTransaction(payloadHash, options) {
|
|
2088
|
+
const localVarAxiosArgs = await localVarAxiosParamCreator.evaluateStarkexTransaction(payloadHash, options);
|
|
2089
|
+
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
|
|
2090
|
+
},
|
|
2091
|
+
};
|
|
2092
|
+
};
|
|
2093
|
+
/**
|
|
2094
|
+
* StarkexTransactionsApi - object-oriented interface
|
|
2095
|
+
* @export
|
|
2096
|
+
* @class StarkexTransactionsApi
|
|
2097
|
+
* @extends {BaseAPI}
|
|
2098
|
+
*/
|
|
2099
|
+
class StarkexTransactionsApi extends BaseAPI {
|
|
2100
|
+
/**
|
|
2101
|
+
* Check if it is a valid transaction by payload hash
|
|
2102
|
+
* @summary Evaluate if it is an valid transaction
|
|
2103
|
+
* @param {StarkexTransactionsApiEvaluateStarkexTransactionRequest} requestParameters Request parameters.
|
|
2104
|
+
* @param {*} [options] Override http request option.
|
|
2105
|
+
* @throws {RequiredError}
|
|
2106
|
+
* @memberof StarkexTransactionsApi
|
|
2107
|
+
*/
|
|
2108
|
+
evaluateStarkexTransaction(requestParameters, options) {
|
|
2109
|
+
return StarkexTransactionsApiFp(this.configuration).evaluateStarkexTransaction(requestParameters.payloadHash, options).then((request) => request(this.axios, this.basePath));
|
|
2014
2110
|
}
|
|
2015
|
-
|
|
2016
|
-
|
|
2017
|
-
|
|
2018
|
-
|
|
2019
|
-
|
|
2111
|
+
}
|
|
2112
|
+
|
|
2113
|
+
/* tslint:disable */
|
|
2114
|
+
/* eslint-disable */
|
|
2115
|
+
/**
|
|
2116
|
+
* Swagger Guardian
|
|
2117
|
+
* Guardian API
|
|
2118
|
+
*
|
|
2119
|
+
* The version of the OpenAPI document: 1.0.0
|
|
2120
|
+
* Contact: support@immutable.com
|
|
2121
|
+
*
|
|
2122
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
2123
|
+
* https://openapi-generator.tech
|
|
2124
|
+
* Do not edit the class manually.
|
|
2125
|
+
*/
|
|
2126
|
+
/**
|
|
2127
|
+
* TransactionsApi - axios parameter creator
|
|
2128
|
+
* @export
|
|
2129
|
+
*/
|
|
2130
|
+
const TransactionsApiAxiosParamCreator = function (configuration) {
|
|
2131
|
+
return {
|
|
2132
|
+
/**
|
|
2133
|
+
* Get a transaction by payload hash
|
|
2134
|
+
* @summary Info for a specific transaction
|
|
2135
|
+
* @param {string} transactionID The id of the starkex transaction to retrieve
|
|
2136
|
+
* @param {string} chainType roll up type
|
|
2137
|
+
* @param {number} [chainID] ID of evm chain
|
|
2138
|
+
* @param {*} [options] Override http request option.
|
|
2139
|
+
* @throws {RequiredError}
|
|
2140
|
+
*/
|
|
2141
|
+
getTransactionByID: async (transactionID, chainType, chainID, options = {}) => {
|
|
2142
|
+
// verify required parameter 'transactionID' is not null or undefined
|
|
2143
|
+
assertParamExists('getTransactionByID', 'transactionID', transactionID);
|
|
2144
|
+
// verify required parameter 'chainType' is not null or undefined
|
|
2145
|
+
assertParamExists('getTransactionByID', 'chainType', chainType);
|
|
2146
|
+
const localVarPath = `/guardian/v1/transactions/{transactionID}`
|
|
2147
|
+
.replace(`{${"transactionID"}}`, encodeURIComponent(String(transactionID)));
|
|
2148
|
+
// use dummy base URL string because the URL constructor only accepts absolute URLs.
|
|
2149
|
+
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
|
|
2150
|
+
let baseOptions;
|
|
2151
|
+
if (configuration) {
|
|
2152
|
+
baseOptions = configuration.baseOptions;
|
|
2020
2153
|
}
|
|
2021
|
-
|
|
2022
|
-
|
|
2023
|
-
|
|
2024
|
-
|
|
2025
|
-
|
|
2026
|
-
|
|
2027
|
-
|
|
2028
|
-
|
|
2029
|
-
const metadataExists = !!passportMetadata?.ether_key
|
|
2030
|
-
&& !!passportMetadata?.stark_key
|
|
2031
|
-
&& !!passportMetadata?.user_admin_key;
|
|
2032
|
-
if (metadataExists) {
|
|
2033
|
-
return user;
|
|
2034
|
-
}
|
|
2035
|
-
return Promise.reject(new Error('user wallet addresses not exist'));
|
|
2036
|
-
});
|
|
2037
|
-
if (!updatedUser) {
|
|
2038
|
-
return null;
|
|
2154
|
+
const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options };
|
|
2155
|
+
const localVarHeaderParameter = {};
|
|
2156
|
+
const localVarQueryParameter = {};
|
|
2157
|
+
// authentication BearerAuth required
|
|
2158
|
+
// http bearer authentication required
|
|
2159
|
+
await setBearerAuthToObject(localVarHeaderParameter, configuration);
|
|
2160
|
+
if (chainType !== undefined) {
|
|
2161
|
+
localVarQueryParameter['chainType'] = chainType;
|
|
2039
2162
|
}
|
|
2040
|
-
|
|
2041
|
-
|
|
2163
|
+
if (chainID !== undefined) {
|
|
2164
|
+
localVarQueryParameter['chainID'] = chainID;
|
|
2165
|
+
}
|
|
2166
|
+
setSearchParams(localVarUrlObj, localVarQueryParameter);
|
|
2167
|
+
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
|
|
2168
|
+
localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers };
|
|
2169
|
+
return {
|
|
2170
|
+
url: toPathString(localVarUrlObj),
|
|
2171
|
+
options: localVarRequestOptions,
|
|
2172
|
+
};
|
|
2173
|
+
},
|
|
2174
|
+
};
|
|
2175
|
+
};
|
|
2176
|
+
/**
|
|
2177
|
+
* TransactionsApi - functional programming interface
|
|
2178
|
+
* @export
|
|
2179
|
+
*/
|
|
2180
|
+
const TransactionsApiFp = function (configuration) {
|
|
2181
|
+
const localVarAxiosParamCreator = TransactionsApiAxiosParamCreator(configuration);
|
|
2182
|
+
return {
|
|
2183
|
+
/**
|
|
2184
|
+
* Get a transaction by payload hash
|
|
2185
|
+
* @summary Info for a specific transaction
|
|
2186
|
+
* @param {string} transactionID The id of the starkex transaction to retrieve
|
|
2187
|
+
* @param {string} chainType roll up type
|
|
2188
|
+
* @param {number} [chainID] ID of evm chain
|
|
2189
|
+
* @param {*} [options] Override http request option.
|
|
2190
|
+
* @throws {RequiredError}
|
|
2191
|
+
*/
|
|
2192
|
+
async getTransactionByID(transactionID, chainType, chainID, options) {
|
|
2193
|
+
const localVarAxiosArgs = await localVarAxiosParamCreator.getTransactionByID(transactionID, chainType, chainID, options);
|
|
2194
|
+
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
|
|
2195
|
+
},
|
|
2196
|
+
};
|
|
2197
|
+
};
|
|
2198
|
+
/**
|
|
2199
|
+
* TransactionsApi - object-oriented interface
|
|
2200
|
+
* @export
|
|
2201
|
+
* @class TransactionsApi
|
|
2202
|
+
* @extends {BaseAPI}
|
|
2203
|
+
*/
|
|
2204
|
+
class TransactionsApi extends BaseAPI {
|
|
2205
|
+
/**
|
|
2206
|
+
* Get a transaction by payload hash
|
|
2207
|
+
* @summary Info for a specific transaction
|
|
2208
|
+
* @param {TransactionsApiGetTransactionByIDRequest} requestParameters Request parameters.
|
|
2209
|
+
* @param {*} [options] Override http request option.
|
|
2210
|
+
* @throws {RequiredError}
|
|
2211
|
+
* @memberof TransactionsApi
|
|
2212
|
+
*/
|
|
2213
|
+
getTransactionByID(requestParameters, options) {
|
|
2214
|
+
return TransactionsApiFp(this.configuration).getTransactionByID(requestParameters.transactionID, requestParameters.chainType, requestParameters.chainID, options).then((request) => request(this.axios, this.basePath));
|
|
2042
2215
|
}
|
|
2043
2216
|
}
|
|
2044
2217
|
|
|
2045
|
-
|
|
2046
|
-
|
|
2047
|
-
|
|
2048
|
-
|
|
2049
|
-
|
|
2050
|
-
|
|
2051
|
-
|
|
2052
|
-
|
|
2053
|
-
|
|
2054
|
-
|
|
2055
|
-
|
|
2056
|
-
|
|
2057
|
-
|
|
2058
|
-
|
|
2059
|
-
|
|
2060
|
-
|
|
2061
|
-
|
|
2062
|
-
|
|
2063
|
-
|
|
2218
|
+
/* tslint:disable */
|
|
2219
|
+
/* eslint-disable */
|
|
2220
|
+
/**
|
|
2221
|
+
* Swagger Guardian
|
|
2222
|
+
* Guardian API
|
|
2223
|
+
*
|
|
2224
|
+
* The version of the OpenAPI document: 1.0.0
|
|
2225
|
+
* Contact: support@immutable.com
|
|
2226
|
+
*
|
|
2227
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
2228
|
+
* https://openapi-generator.tech
|
|
2229
|
+
* Do not edit the class manually.
|
|
2230
|
+
*/
|
|
2231
|
+
class Configuration {
|
|
2232
|
+
/**
|
|
2233
|
+
* parameter for apiKey security
|
|
2234
|
+
* @param name security name
|
|
2235
|
+
* @memberof Configuration
|
|
2236
|
+
*/
|
|
2237
|
+
apiKey;
|
|
2238
|
+
/**
|
|
2239
|
+
* parameter for basic security
|
|
2240
|
+
*
|
|
2241
|
+
* @type {string}
|
|
2242
|
+
* @memberof Configuration
|
|
2243
|
+
*/
|
|
2244
|
+
username;
|
|
2245
|
+
/**
|
|
2246
|
+
* parameter for basic security
|
|
2247
|
+
*
|
|
2248
|
+
* @type {string}
|
|
2249
|
+
* @memberof Configuration
|
|
2250
|
+
*/
|
|
2251
|
+
password;
|
|
2252
|
+
/**
|
|
2253
|
+
* parameter for oauth2 security
|
|
2254
|
+
* @param name security name
|
|
2255
|
+
* @param scopes oauth2 scope
|
|
2256
|
+
* @memberof Configuration
|
|
2257
|
+
*/
|
|
2258
|
+
accessToken;
|
|
2259
|
+
/**
|
|
2260
|
+
* override base path
|
|
2261
|
+
*
|
|
2262
|
+
* @type {string}
|
|
2263
|
+
* @memberof Configuration
|
|
2264
|
+
*/
|
|
2265
|
+
basePath;
|
|
2266
|
+
/**
|
|
2267
|
+
* base options for axios calls
|
|
2268
|
+
*
|
|
2269
|
+
* @type {any}
|
|
2270
|
+
* @memberof Configuration
|
|
2271
|
+
*/
|
|
2272
|
+
baseOptions;
|
|
2273
|
+
/**
|
|
2274
|
+
* The FormData constructor that will be used to create multipart form data
|
|
2275
|
+
* requests. You can inject this here so that execution environments that
|
|
2276
|
+
* do not support the FormData class can still run the generated client.
|
|
2277
|
+
*
|
|
2278
|
+
* @type {new () => FormData}
|
|
2279
|
+
*/
|
|
2280
|
+
formDataCtor;
|
|
2281
|
+
constructor(param = {}) {
|
|
2282
|
+
this.apiKey = param.apiKey;
|
|
2283
|
+
this.username = param.username;
|
|
2284
|
+
this.password = param.password;
|
|
2285
|
+
this.accessToken = param.accessToken;
|
|
2286
|
+
this.basePath = param.basePath;
|
|
2287
|
+
this.baseOptions = param.baseOptions;
|
|
2288
|
+
this.formDataCtor = param.formDataCtor;
|
|
2064
2289
|
}
|
|
2065
|
-
|
|
2066
|
-
|
|
2290
|
+
/**
|
|
2291
|
+
* Check if the given MIME is a JSON MIME.
|
|
2292
|
+
* JSON MIME examples:
|
|
2293
|
+
* application/json
|
|
2294
|
+
* application/json; charset=UTF8
|
|
2295
|
+
* APPLICATION/JSON
|
|
2296
|
+
* application/vnd.company+json
|
|
2297
|
+
* @param mime - MIME (Multipurpose Internet Mail Extensions)
|
|
2298
|
+
* @return True if the given MIME is JSON, false otherwise.
|
|
2299
|
+
*/
|
|
2300
|
+
isJsonMime(mime) {
|
|
2301
|
+
const jsonMime = new RegExp('^(application\/json|[^;/ \t]+\/[^;/ \t]+[+]json)[ \t]*(;.*)?$', 'i');
|
|
2302
|
+
return mime !== null && (jsonMime.test(mime) || mime.toLowerCase() === 'application/json-patch+json');
|
|
2303
|
+
}
|
|
2304
|
+
}
|
|
2305
|
+
|
|
2306
|
+
var PassportErrorType;
|
|
2307
|
+
(function (PassportErrorType) {
|
|
2308
|
+
PassportErrorType["AUTHENTICATION_ERROR"] = "AUTHENTICATION_ERROR";
|
|
2309
|
+
PassportErrorType["INVALID_CONFIGURATION"] = "INVALID_CONFIGURATION";
|
|
2310
|
+
PassportErrorType["WALLET_CONNECTION_ERROR"] = "WALLET_CONNECTION_ERROR";
|
|
2311
|
+
PassportErrorType["NOT_LOGGED_IN_ERROR"] = "NOT_LOGGED_IN_ERROR";
|
|
2312
|
+
PassportErrorType["SILENT_LOGIN_ERROR"] = "SILENT_LOGIN_ERROR";
|
|
2313
|
+
PassportErrorType["REFRESH_TOKEN_ERROR"] = "REFRESH_TOKEN_ERROR";
|
|
2314
|
+
PassportErrorType["USER_REGISTRATION_ERROR"] = "USER_REGISTRATION_ERROR";
|
|
2315
|
+
PassportErrorType["LOGOUT_ERROR"] = "LOGOUT_ERROR";
|
|
2316
|
+
PassportErrorType["TRANSFER_ERROR"] = "TRANSFER_ERROR";
|
|
2317
|
+
PassportErrorType["CREATE_ORDER_ERROR"] = "CREATE_ORDER_ERROR";
|
|
2318
|
+
PassportErrorType["CANCEL_ORDER_ERROR"] = "CANCEL_ORDER_ERROR";
|
|
2319
|
+
PassportErrorType["EXCHANGE_TRANSFER_ERROR"] = "EXCHANGE_TRANSFER_ERROR";
|
|
2320
|
+
PassportErrorType["CREATE_TRADE_ERROR"] = "CREATE_TRADE_ERROR";
|
|
2321
|
+
PassportErrorType["OPERATION_NOT_SUPPORTED_ERROR"] = "OPERATION_NOT_SUPPORTED_ERROR";
|
|
2322
|
+
})(PassportErrorType || (PassportErrorType = {}));
|
|
2323
|
+
class PassportError extends Error {
|
|
2324
|
+
type;
|
|
2325
|
+
constructor(message, type) {
|
|
2326
|
+
super(message);
|
|
2327
|
+
this.type = type;
|
|
2328
|
+
}
|
|
2329
|
+
}
|
|
2330
|
+
const withPassportError = async (fn, customErrorType) => {
|
|
2331
|
+
try {
|
|
2332
|
+
return await fn();
|
|
2333
|
+
}
|
|
2334
|
+
catch (error) {
|
|
2335
|
+
const errorMessage = `${customErrorType}: ${error.message}` || 'UnknownError';
|
|
2336
|
+
throw new PassportError(errorMessage, customErrorType);
|
|
2337
|
+
}
|
|
2338
|
+
};
|
|
2339
|
+
|
|
2340
|
+
const POLL_INTERVAL = 1 * 1000; // every 1 second
|
|
2341
|
+
const MAX_RETRIES = 3;
|
|
2342
|
+
const wait = (ms) => new Promise((resolve) => {
|
|
2343
|
+
setTimeout(() => resolve(), ms);
|
|
2344
|
+
});
|
|
2345
|
+
const retryWithDelay = async (fn, options) => {
|
|
2346
|
+
const { retries = MAX_RETRIES, interval = POLL_INTERVAL, finalErr = Error('Retry failed'), } = options || {};
|
|
2347
|
+
try {
|
|
2348
|
+
return await fn();
|
|
2349
|
+
}
|
|
2350
|
+
catch (err) {
|
|
2351
|
+
if (retries <= 0) {
|
|
2352
|
+
return Promise.reject(finalErr);
|
|
2353
|
+
}
|
|
2354
|
+
await wait(interval);
|
|
2355
|
+
return retryWithDelay(fn, { retries: retries - 1, finalErr });
|
|
2356
|
+
}
|
|
2357
|
+
};
|
|
2358
|
+
|
|
2359
|
+
const getAuthConfiguration = ({ oidcConfiguration, authenticationDomain, }) => {
|
|
2360
|
+
const baseConfiguration = {
|
|
2361
|
+
authority: authenticationDomain,
|
|
2362
|
+
redirect_uri: oidcConfiguration.redirectUri,
|
|
2363
|
+
popup_redirect_uri: oidcConfiguration.redirectUri,
|
|
2364
|
+
client_id: oidcConfiguration.clientId,
|
|
2365
|
+
metadata: {
|
|
2366
|
+
authorization_endpoint: `${authenticationDomain}/authorize`,
|
|
2367
|
+
token_endpoint: `${authenticationDomain}/oauth/token`,
|
|
2368
|
+
userinfo_endpoint: `${authenticationDomain}/userinfo`,
|
|
2369
|
+
end_session_endpoint: `${authenticationDomain}/v2/logout`
|
|
2370
|
+
+ `?returnTo=${encodeURIComponent(oidcConfiguration.logoutRedirectUri)}`
|
|
2371
|
+
+ `&client_id=${oidcConfiguration.clientId}`,
|
|
2372
|
+
},
|
|
2373
|
+
mergeClaims: true,
|
|
2374
|
+
loadUserInfo: true,
|
|
2375
|
+
scope: oidcConfiguration.scope,
|
|
2376
|
+
};
|
|
2377
|
+
if (oidcConfiguration.audience) {
|
|
2378
|
+
baseConfiguration.extraQueryParams = {
|
|
2379
|
+
audience: oidcConfiguration.audience,
|
|
2380
|
+
};
|
|
2381
|
+
}
|
|
2382
|
+
return baseConfiguration;
|
|
2383
|
+
};
|
|
2384
|
+
class AuthManager {
|
|
2385
|
+
userManager;
|
|
2386
|
+
config;
|
|
2387
|
+
constructor(config) {
|
|
2388
|
+
this.config = config;
|
|
2389
|
+
this.userManager = new oidcClientTs.UserManager(getAuthConfiguration(config));
|
|
2390
|
+
}
|
|
2391
|
+
static mapOidcUserToDomainModel = (oidcUser) => {
|
|
2392
|
+
const passport = oidcUser.profile?.passport;
|
|
2393
|
+
return {
|
|
2394
|
+
expired: oidcUser.expired,
|
|
2395
|
+
idToken: oidcUser.id_token,
|
|
2396
|
+
accessToken: oidcUser.access_token,
|
|
2397
|
+
refreshToken: oidcUser.refresh_token,
|
|
2398
|
+
profile: {
|
|
2399
|
+
sub: oidcUser.profile.sub,
|
|
2400
|
+
email: oidcUser.profile.email,
|
|
2401
|
+
nickname: oidcUser.profile.nickname,
|
|
2402
|
+
},
|
|
2403
|
+
etherKey: passport?.ether_key || '',
|
|
2404
|
+
};
|
|
2405
|
+
};
|
|
2406
|
+
async login() {
|
|
2407
|
+
return withPassportError(async () => {
|
|
2408
|
+
const popupWindowFeatures = { width: 410, height: 450 };
|
|
2409
|
+
const oidcUser = await this.userManager.signinPopup({
|
|
2410
|
+
popupWindowFeatures,
|
|
2411
|
+
});
|
|
2412
|
+
return AuthManager.mapOidcUserToDomainModel(oidcUser);
|
|
2413
|
+
}, PassportErrorType.AUTHENTICATION_ERROR);
|
|
2414
|
+
}
|
|
2415
|
+
async loginCallback() {
|
|
2416
|
+
return withPassportError(async () => this.userManager.signinPopupCallback(), PassportErrorType.AUTHENTICATION_ERROR);
|
|
2417
|
+
}
|
|
2418
|
+
async logout() {
|
|
2419
|
+
return withPassportError(async () => this.userManager.signoutRedirect(), PassportErrorType.LOGOUT_ERROR);
|
|
2420
|
+
}
|
|
2421
|
+
async loginSilent() {
|
|
2422
|
+
return withPassportError(async () => {
|
|
2423
|
+
const existedUser = await this.getUser();
|
|
2424
|
+
if (!existedUser) {
|
|
2425
|
+
return null;
|
|
2426
|
+
}
|
|
2427
|
+
const oidcUser = await this.userManager.signinSilent();
|
|
2428
|
+
if (!oidcUser) {
|
|
2429
|
+
return null;
|
|
2430
|
+
}
|
|
2431
|
+
return AuthManager.mapOidcUserToDomainModel(oidcUser);
|
|
2432
|
+
}, PassportErrorType.SILENT_LOGIN_ERROR);
|
|
2433
|
+
}
|
|
2434
|
+
async getUser() {
|
|
2435
|
+
return withPassportError(async () => {
|
|
2436
|
+
const oidcUser = await this.userManager.getUser();
|
|
2437
|
+
if (!oidcUser) {
|
|
2438
|
+
return null;
|
|
2439
|
+
}
|
|
2440
|
+
return AuthManager.mapOidcUserToDomainModel(oidcUser);
|
|
2441
|
+
}, PassportErrorType.NOT_LOGGED_IN_ERROR);
|
|
2442
|
+
}
|
|
2443
|
+
async requestRefreshTokenAfterRegistration() {
|
|
2444
|
+
return withPassportError(async () => {
|
|
2445
|
+
const updatedUser = await retryWithDelay(async () => {
|
|
2446
|
+
const user = await this.userManager.signinSilent();
|
|
2447
|
+
const passportMetadata = user?.profile?.passport;
|
|
2448
|
+
const metadataExists = !!passportMetadata?.ether_key
|
|
2449
|
+
&& !!passportMetadata?.stark_key
|
|
2450
|
+
&& !!passportMetadata?.user_admin_key;
|
|
2451
|
+
if (metadataExists) {
|
|
2452
|
+
return user;
|
|
2453
|
+
}
|
|
2454
|
+
return Promise.reject(new Error('user wallet addresses not exist'));
|
|
2455
|
+
});
|
|
2456
|
+
if (!updatedUser) {
|
|
2457
|
+
return null;
|
|
2458
|
+
}
|
|
2459
|
+
return AuthManager.mapOidcUserToDomainModel(updatedUser);
|
|
2460
|
+
}, PassportErrorType.REFRESH_TOKEN_ERROR);
|
|
2461
|
+
}
|
|
2462
|
+
}
|
|
2463
|
+
|
|
2464
|
+
class MagicAdapter {
|
|
2465
|
+
magicClient;
|
|
2466
|
+
config;
|
|
2467
|
+
constructor(config) {
|
|
2468
|
+
this.config = config;
|
|
2469
|
+
this.magicClient = new magicSdk.Magic(config.magicPublishableApiKey, {
|
|
2470
|
+
network: config.network,
|
|
2471
|
+
extensions: [new oidc.OpenIdExtension()],
|
|
2472
|
+
});
|
|
2473
|
+
}
|
|
2474
|
+
async login(idToken) {
|
|
2475
|
+
return withPassportError(async () => {
|
|
2476
|
+
await this.magicClient.openid.loginWithOIDC({
|
|
2477
|
+
jwt: idToken,
|
|
2478
|
+
providerId: this.config.magicProviderId,
|
|
2479
|
+
});
|
|
2480
|
+
return new ethers.ethers.providers.Web3Provider(this.magicClient
|
|
2481
|
+
.rpcProvider);
|
|
2482
|
+
}, PassportErrorType.WALLET_CONNECTION_ERROR);
|
|
2483
|
+
}
|
|
2484
|
+
}
|
|
2485
|
+
|
|
2067
2486
|
var ReceiveMessage;
|
|
2068
2487
|
(function (ReceiveMessage) {
|
|
2069
2488
|
ReceiveMessage["CONFIRMATION_WINDOW_READY"] = "confirmation_window_ready";
|
|
@@ -2163,10 +2582,78 @@ class ConfirmationScreen {
|
|
|
2163
2582
|
}, CONFIRMATION_WINDOW_CLOSED_POLLING_DURATION);
|
|
2164
2583
|
});
|
|
2165
2584
|
}
|
|
2585
|
+
startGuardianTransaction(transactionId, popupOptions) {
|
|
2586
|
+
return new Promise((resolve, reject) => {
|
|
2587
|
+
const messageHandler = ({ data, origin }) => {
|
|
2588
|
+
if (origin !== this.config.passportDomain
|
|
2589
|
+
|| data.eventType !== PASSPORT_EVENT_TYPE) {
|
|
2590
|
+
return;
|
|
2591
|
+
}
|
|
2592
|
+
switch (data.messageType) {
|
|
2593
|
+
case ReceiveMessage.CONFIRMATION_WINDOW_READY: {
|
|
2594
|
+
break;
|
|
2595
|
+
}
|
|
2596
|
+
case ReceiveMessage.TRANSACTION_CONFIRMED: {
|
|
2597
|
+
resolve({ confirmed: true });
|
|
2598
|
+
break;
|
|
2599
|
+
}
|
|
2600
|
+
case ReceiveMessage.TRANSACTION_ERROR: {
|
|
2601
|
+
reject(new Error('Transaction error'));
|
|
2602
|
+
break;
|
|
2603
|
+
}
|
|
2604
|
+
default:
|
|
2605
|
+
reject(new Error('Unsupported message type'));
|
|
2606
|
+
}
|
|
2607
|
+
};
|
|
2608
|
+
window.addEventListener('message', messageHandler);
|
|
2609
|
+
const confirmationWindow = openPopupCenter({
|
|
2610
|
+
// eslint-disable-next-line max-len
|
|
2611
|
+
url: `${this.config.passportDomain}/transaction-confirmation/transaction.html?transactionId=${transactionId}&chainType=starkex`,
|
|
2612
|
+
title: CONFIRMATION_WINDOW_TITLE,
|
|
2613
|
+
width: popupOptions?.width || CONFIRMATION_WINDOW_WIDTH,
|
|
2614
|
+
height: popupOptions?.height || CONFIRMATION_WINDOW_HEIGHT,
|
|
2615
|
+
});
|
|
2616
|
+
// https://stackoverflow.com/questions/9388380/capture-the-close-event-of-popup-window-in-javascript/48240128#48240128
|
|
2617
|
+
const timer = setInterval(() => {
|
|
2618
|
+
if (confirmationWindow.closed) {
|
|
2619
|
+
clearInterval(timer);
|
|
2620
|
+
window.removeEventListener('message', messageHandler);
|
|
2621
|
+
resolve({ confirmed: false });
|
|
2622
|
+
}
|
|
2623
|
+
}, CONFIRMATION_WINDOW_CLOSED_POLLING_DURATION);
|
|
2624
|
+
});
|
|
2625
|
+
}
|
|
2166
2626
|
}
|
|
2167
2627
|
|
|
2168
2628
|
const ERC721$1 = 'ERC721';
|
|
2169
|
-
async
|
|
2629
|
+
const transferWithGuardian = async ({ accessToken, imxPublicApiDomain, payloadHash, confirmationScreen, }) => {
|
|
2630
|
+
const transactionAPI = new TransactionsApi(new Configuration({
|
|
2631
|
+
accessToken,
|
|
2632
|
+
basePath: imxPublicApiDomain,
|
|
2633
|
+
}));
|
|
2634
|
+
const starkExTransactionApi = new StarkexTransactionsApi(new Configuration({
|
|
2635
|
+
accessToken,
|
|
2636
|
+
basePath: imxPublicApiDomain,
|
|
2637
|
+
}));
|
|
2638
|
+
const transactionRes = await retryWithDelay(async () => transactionAPI.getTransactionByID({
|
|
2639
|
+
transactionID: payloadHash,
|
|
2640
|
+
chainType: 'starkex',
|
|
2641
|
+
}));
|
|
2642
|
+
if (!transactionRes.data.id) {
|
|
2643
|
+
throw new Error("Transaction doesn't exists");
|
|
2644
|
+
}
|
|
2645
|
+
const evaluateStarkexRes = await starkExTransactionApi.evaluateStarkexTransaction({
|
|
2646
|
+
payloadHash,
|
|
2647
|
+
});
|
|
2648
|
+
const { confirmationRequired } = evaluateStarkexRes.data;
|
|
2649
|
+
if (confirmationRequired) {
|
|
2650
|
+
const confirmationResult = await confirmationScreen.startGuardianTransaction(payloadHash);
|
|
2651
|
+
if (!confirmationResult.confirmed) {
|
|
2652
|
+
throw new Error('Transaction rejected by user');
|
|
2653
|
+
}
|
|
2654
|
+
}
|
|
2655
|
+
};
|
|
2656
|
+
async function transfer$1({ request, transfersApi, starkSigner, user, imxPublicApiDomain, confirmationScreen, }) {
|
|
2170
2657
|
return withPassportError(async () => {
|
|
2171
2658
|
const transferAmount = request.type === ERC721$1 ? '1' : request.amount;
|
|
2172
2659
|
const getSignableTransferRequest = {
|
|
@@ -2175,16 +2662,18 @@ async function transfer$1({ request, transfersApi, starkSigner, user, confirmati
|
|
|
2175
2662
|
amount: transferAmount,
|
|
2176
2663
|
receiver: request.receiver,
|
|
2177
2664
|
};
|
|
2665
|
+
const headers = {
|
|
2666
|
+
Authorization: `Bearer ${user.accessToken}`,
|
|
2667
|
+
};
|
|
2178
2668
|
const signableResult = await transfersApi.getSignableTransferV1({
|
|
2179
2669
|
getSignableTransferRequest,
|
|
2670
|
+
}, { headers });
|
|
2671
|
+
await transferWithGuardian({
|
|
2672
|
+
imxPublicApiDomain,
|
|
2673
|
+
accessToken: user.accessToken,
|
|
2674
|
+
payloadHash: signableResult.data.payload_hash,
|
|
2675
|
+
confirmationScreen,
|
|
2180
2676
|
});
|
|
2181
|
-
const confirmationResult = await confirmationScreen.startTransaction(user.accessToken, {
|
|
2182
|
-
transactionType: TransactionTypes.createTransfer,
|
|
2183
|
-
transactionData: getSignableTransferRequest,
|
|
2184
|
-
});
|
|
2185
|
-
if (!confirmationResult.confirmed) {
|
|
2186
|
-
throw new Error('Transaction rejected by user');
|
|
2187
|
-
}
|
|
2188
2677
|
const signableResultData = signableResult.data;
|
|
2189
2678
|
const { payload_hash: payloadHash } = signableResultData;
|
|
2190
2679
|
const starkSignature = await starkSigner.signMessage(payloadHash);
|
|
@@ -2203,10 +2692,6 @@ async function transfer$1({ request, transfersApi, starkSigner, user, confirmati
|
|
|
2203
2692
|
const createTransferRequest = {
|
|
2204
2693
|
createTransferRequest: transferSigningParams,
|
|
2205
2694
|
};
|
|
2206
|
-
const headers = {
|
|
2207
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
2208
|
-
Authorization: `Bearer ${user.accessToken}`,
|
|
2209
|
-
};
|
|
2210
2695
|
const { data: responseData } = await transfersApi.createTransferV1(createTransferRequest, { headers });
|
|
2211
2696
|
return {
|
|
2212
2697
|
sent_signature: responseData.sent_signature,
|
|
@@ -2462,10 +2947,12 @@ class PassportImxProvider {
|
|
|
2462
2947
|
starkSigner;
|
|
2463
2948
|
immutableXClient;
|
|
2464
2949
|
confirmationScreen;
|
|
2465
|
-
|
|
2950
|
+
imxPublicApiDomain;
|
|
2951
|
+
constructor({ user, starkSigner, immutableXClient, imxPublicApiDomain, confirmationScreen, }) {
|
|
2466
2952
|
this.user = user;
|
|
2467
2953
|
this.starkSigner = starkSigner;
|
|
2468
2954
|
this.immutableXClient = immutableXClient;
|
|
2955
|
+
this.imxPublicApiDomain = imxPublicApiDomain;
|
|
2469
2956
|
this.confirmationScreen = confirmationScreen;
|
|
2470
2957
|
}
|
|
2471
2958
|
async transfer(request) {
|
|
@@ -2475,6 +2962,7 @@ class PassportImxProvider {
|
|
|
2475
2962
|
starkSigner: this.starkSigner,
|
|
2476
2963
|
transfersApi: this.immutableXClient.transfersApi,
|
|
2477
2964
|
confirmationScreen: this.confirmationScreen,
|
|
2965
|
+
imxPublicApiDomain: this.imxPublicApiDomain,
|
|
2478
2966
|
});
|
|
2479
2967
|
}
|
|
2480
2968
|
// TODO: Remove once implemented
|
|
@@ -2577,6 +3065,7 @@ class PassportConfiguration {
|
|
|
2577
3065
|
network;
|
|
2578
3066
|
authenticationDomain;
|
|
2579
3067
|
passportDomain;
|
|
3068
|
+
imxPublicApiDomain;
|
|
2580
3069
|
magicPublishableApiKey;
|
|
2581
3070
|
magicProviderId;
|
|
2582
3071
|
oidcConfiguration;
|
|
@@ -2596,10 +3085,12 @@ class PassportConfiguration {
|
|
|
2596
3085
|
'magicPublishableApiKey',
|
|
2597
3086
|
'magicProviderId',
|
|
2598
3087
|
'passportDomain',
|
|
3088
|
+
'imxPublicApiDomain',
|
|
2599
3089
|
], 'overrides');
|
|
2600
3090
|
this.network = overrides.network;
|
|
2601
3091
|
this.authenticationDomain = overrides.authenticationDomain;
|
|
2602
3092
|
this.passportDomain = overrides.passportDomain;
|
|
3093
|
+
this.imxPublicApiDomain = overrides.imxPublicApiDomain;
|
|
2603
3094
|
this.magicPublishableApiKey = overrides.magicPublishableApiKey;
|
|
2604
3095
|
this.magicProviderId = overrides.magicProviderId;
|
|
2605
3096
|
}
|
|
@@ -2611,6 +3102,7 @@ class PassportConfiguration {
|
|
|
2611
3102
|
this.magicPublishableApiKey = 'pk_live_10F423798A540ED7';
|
|
2612
3103
|
this.magicProviderId = 'fSMzaRQ4O7p4fttl7pCyGVtJS_G70P8SNsLXtPPGHo0=';
|
|
2613
3104
|
this.passportDomain = 'https://passport.immutable.com';
|
|
3105
|
+
this.imxPublicApiDomain = 'https://api.immutable.com';
|
|
2614
3106
|
break;
|
|
2615
3107
|
}
|
|
2616
3108
|
case exports.Environment.SANDBOX:
|
|
@@ -2620,6 +3112,7 @@ class PassportConfiguration {
|
|
|
2620
3112
|
this.magicPublishableApiKey = 'pk_live_10F423798A540ED7';
|
|
2621
3113
|
this.magicProviderId = 'fSMzaRQ4O7p4fttl7pCyGVtJS_G70P8SNsLXtPPGHo0=';
|
|
2622
3114
|
this.passportDomain = 'https://passport.sandbox.immutable.com';
|
|
3115
|
+
this.imxPublicApiDomain = 'https://api.sandbox.immutable.com';
|
|
2623
3116
|
break;
|
|
2624
3117
|
}
|
|
2625
3118
|
}
|
|
@@ -2689,6 +3182,7 @@ class Passport {
|
|
|
2689
3182
|
user: updatedUser,
|
|
2690
3183
|
starkSigner,
|
|
2691
3184
|
immutableXClient: this.immutableXClient,
|
|
3185
|
+
imxPublicApiDomain: this.config.imxPublicApiDomain,
|
|
2692
3186
|
confirmationScreen: this.confirmationScreen,
|
|
2693
3187
|
});
|
|
2694
3188
|
}
|
|
@@ -2697,6 +3191,7 @@ class Passport {
|
|
|
2697
3191
|
user: userWithEtherKey,
|
|
2698
3192
|
starkSigner,
|
|
2699
3193
|
immutableXClient: this.immutableXClient,
|
|
3194
|
+
imxPublicApiDomain: this.config.imxPublicApiDomain,
|
|
2700
3195
|
confirmationScreen: this.confirmationScreen,
|
|
2701
3196
|
});
|
|
2702
3197
|
}
|
|
@@ -3282,6 +3777,265 @@ var SellItem;
|
|
|
3282
3777
|
})(SellItem.item_type || (SellItem.item_type = {}));
|
|
3283
3778
|
})(SellItem || (SellItem = {}));
|
|
3284
3779
|
|
|
3780
|
+
/* eslint-disable */
|
|
3781
|
+
// TODO: Resolve these from seaport-js.
|
|
3782
|
+
// There is some bundling issue that is preventing this from working
|
|
3783
|
+
const SEAPORT_CONTRACT_NAME = 'Seaport';
|
|
3784
|
+
const SEAPORT_CONTRACT_VERSION_V1_4 = '1.4';
|
|
3785
|
+
const EIP_712_ORDER_TYPE = {
|
|
3786
|
+
OrderComponents: [
|
|
3787
|
+
{ name: 'offerer', type: 'address' },
|
|
3788
|
+
{ name: 'zone', type: 'address' },
|
|
3789
|
+
{ name: 'offer', type: 'OfferItem[]' },
|
|
3790
|
+
{ name: 'consideration', type: 'ConsiderationItem[]' },
|
|
3791
|
+
{ name: 'orderType', type: 'uint8' },
|
|
3792
|
+
{ name: 'startTime', type: 'uint256' },
|
|
3793
|
+
{ name: 'endTime', type: 'uint256' },
|
|
3794
|
+
{ name: 'zoneHash', type: 'bytes32' },
|
|
3795
|
+
{ name: 'salt', type: 'uint256' },
|
|
3796
|
+
{ name: 'conduitKey', type: 'bytes32' },
|
|
3797
|
+
{ name: 'counter', type: 'uint256' },
|
|
3798
|
+
],
|
|
3799
|
+
OfferItem: [
|
|
3800
|
+
{ name: 'itemType', type: 'uint8' },
|
|
3801
|
+
{ name: 'token', type: 'address' },
|
|
3802
|
+
{ name: 'identifierOrCriteria', type: 'uint256' },
|
|
3803
|
+
{ name: 'startAmount', type: 'uint256' },
|
|
3804
|
+
{ name: 'endAmount', type: 'uint256' },
|
|
3805
|
+
],
|
|
3806
|
+
ConsiderationItem: [
|
|
3807
|
+
{ name: 'itemType', type: 'uint8' },
|
|
3808
|
+
{ name: 'token', type: 'address' },
|
|
3809
|
+
{ name: 'identifierOrCriteria', type: 'uint256' },
|
|
3810
|
+
{ name: 'startAmount', type: 'uint256' },
|
|
3811
|
+
{ name: 'endAmount', type: 'uint256' },
|
|
3812
|
+
{ name: 'recipient', type: 'address' },
|
|
3813
|
+
],
|
|
3814
|
+
};
|
|
3815
|
+
var OrderType;
|
|
3816
|
+
(function (OrderType) {
|
|
3817
|
+
OrderType[OrderType["FULL_OPEN"] = 0] = "FULL_OPEN";
|
|
3818
|
+
OrderType[OrderType["PARTIAL_OPEN"] = 1] = "PARTIAL_OPEN";
|
|
3819
|
+
OrderType[OrderType["FULL_RESTRICTED"] = 2] = "FULL_RESTRICTED";
|
|
3820
|
+
OrderType[OrderType["PARTIAL_RESTRICTED"] = 3] = "PARTIAL_RESTRICTED";
|
|
3821
|
+
})(OrderType || (OrderType = {}));
|
|
3822
|
+
var ItemType;
|
|
3823
|
+
(function (ItemType) {
|
|
3824
|
+
ItemType[ItemType["NATIVE"] = 0] = "NATIVE";
|
|
3825
|
+
ItemType[ItemType["ERC20"] = 1] = "ERC20";
|
|
3826
|
+
ItemType[ItemType["ERC721"] = 2] = "ERC721";
|
|
3827
|
+
ItemType[ItemType["ERC1155"] = 3] = "ERC1155";
|
|
3828
|
+
ItemType[ItemType["ERC721_WITH_CRITERIA"] = 4] = "ERC721_WITH_CRITERIA";
|
|
3829
|
+
ItemType[ItemType["ERC1155_WITH_CRITERIA"] = 5] = "ERC1155_WITH_CRITERIA";
|
|
3830
|
+
})(ItemType || (ItemType = {}));
|
|
3831
|
+
var Side;
|
|
3832
|
+
(function (Side) {
|
|
3833
|
+
Side[Side["OFFER"] = 0] = "OFFER";
|
|
3834
|
+
Side[Side["CONSIDERATION"] = 1] = "CONSIDERATION";
|
|
3835
|
+
})(Side || (Side = {}));
|
|
3836
|
+
var BasicOrderRouteType;
|
|
3837
|
+
(function (BasicOrderRouteType) {
|
|
3838
|
+
BasicOrderRouteType[BasicOrderRouteType["ETH_TO_ERC721"] = 0] = "ETH_TO_ERC721";
|
|
3839
|
+
BasicOrderRouteType[BasicOrderRouteType["ETH_TO_ERC1155"] = 1] = "ETH_TO_ERC1155";
|
|
3840
|
+
BasicOrderRouteType[BasicOrderRouteType["ERC20_TO_ERC721"] = 2] = "ERC20_TO_ERC721";
|
|
3841
|
+
BasicOrderRouteType[BasicOrderRouteType["ERC20_TO_ERC1155"] = 3] = "ERC20_TO_ERC1155";
|
|
3842
|
+
BasicOrderRouteType[BasicOrderRouteType["ERC721_TO_ERC20"] = 4] = "ERC721_TO_ERC20";
|
|
3843
|
+
BasicOrderRouteType[BasicOrderRouteType["ERC1155_TO_ERC20"] = 5] = "ERC1155_TO_ERC20";
|
|
3844
|
+
})(BasicOrderRouteType || (BasicOrderRouteType = {}));
|
|
3845
|
+
|
|
3846
|
+
function getOrderComponentsFromMessage(orderMessage) {
|
|
3847
|
+
const data = JSON.parse(orderMessage);
|
|
3848
|
+
const orderComponents = data.message;
|
|
3849
|
+
orderComponents.salt = ethers.BigNumber.from(orderComponents.salt).toHexString();
|
|
3850
|
+
return orderComponents;
|
|
3851
|
+
}
|
|
3852
|
+
|
|
3853
|
+
// Add 20% more gas than estimate to prevent out of gas errors
|
|
3854
|
+
// This can always be overwritten by the user signing the transaction
|
|
3855
|
+
async function prepareTransaction(transactionMethods) {
|
|
3856
|
+
const transaction = await transactionMethods.buildTransaction();
|
|
3857
|
+
transaction.gasLimit = await transactionMethods.estimateGas();
|
|
3858
|
+
transaction.gasLimit = transaction.gasLimit
|
|
3859
|
+
.add(transaction.gasLimit.div(5));
|
|
3860
|
+
return transaction;
|
|
3861
|
+
}
|
|
3862
|
+
|
|
3863
|
+
function mapImmutableOrderToSeaportOrderComponents(order, counter, zoneAddress) {
|
|
3864
|
+
const considerationItems = order.buy.map((buyItem) => ({
|
|
3865
|
+
startAmount: buyItem.start_amount,
|
|
3866
|
+
endAmount: buyItem.start_amount,
|
|
3867
|
+
itemType: buyItem.item_type === 'ERC20' ? ItemType.ERC20 : ItemType.NATIVE,
|
|
3868
|
+
recipient: order.account_address,
|
|
3869
|
+
token: buyItem.contract_address || ethers.constants.AddressZero,
|
|
3870
|
+
identifierOrCriteria: '0',
|
|
3871
|
+
}));
|
|
3872
|
+
const fees = order.buy_fees.map((fee) => ({
|
|
3873
|
+
startAmount: fee.amount,
|
|
3874
|
+
endAmount: fee.amount,
|
|
3875
|
+
itemType: order.buy[0].item_type === 'ERC20' ? ItemType.ERC20 : ItemType.NATIVE,
|
|
3876
|
+
recipient: fee.recipient,
|
|
3877
|
+
token: order.buy[0].contract_address || ethers.constants.AddressZero,
|
|
3878
|
+
identifierOrCriteria: '0',
|
|
3879
|
+
}));
|
|
3880
|
+
return {
|
|
3881
|
+
conduitKey: ethers.constants.HashZero,
|
|
3882
|
+
consideration: [...considerationItems, ...fees],
|
|
3883
|
+
offer: order.sell.map((sellItem) => ({
|
|
3884
|
+
startAmount: '1',
|
|
3885
|
+
endAmount: '1',
|
|
3886
|
+
itemType: ItemType.ERC721,
|
|
3887
|
+
token: sellItem.contract_address,
|
|
3888
|
+
identifierOrCriteria: sellItem.token_id,
|
|
3889
|
+
})),
|
|
3890
|
+
counter,
|
|
3891
|
+
endTime: Math.round(new Date(order.end_time).getTime() / 1000).toString(),
|
|
3892
|
+
startTime: Math.round(new Date(order.start_time).getTime() / 1000).toString(),
|
|
3893
|
+
salt: order.salt,
|
|
3894
|
+
offerer: order.account_address,
|
|
3895
|
+
zone: zoneAddress,
|
|
3896
|
+
totalOriginalConsiderationItems: 2,
|
|
3897
|
+
orderType: OrderType.FULL_RESTRICTED,
|
|
3898
|
+
zoneHash: ethers.constants.HashZero,
|
|
3899
|
+
};
|
|
3900
|
+
}
|
|
3901
|
+
|
|
3902
|
+
class Seaport {
|
|
3903
|
+
seaport;
|
|
3904
|
+
provider;
|
|
3905
|
+
seaportContractAddress;
|
|
3906
|
+
zoneContractAddress;
|
|
3907
|
+
constructor(seaport, provider, seaportContractAddress, zoneContractAddress) {
|
|
3908
|
+
this.seaport = seaport;
|
|
3909
|
+
this.provider = provider;
|
|
3910
|
+
this.seaportContractAddress = seaportContractAddress;
|
|
3911
|
+
this.zoneContractAddress = zoneContractAddress;
|
|
3912
|
+
}
|
|
3913
|
+
async prepareSeaportOrder(offerer, listingItem, considerationItem, royaltyInfo, orderStart, orderExpiry) {
|
|
3914
|
+
const { actions } = await this.createSeaportOrder(offerer, listingItem, considerationItem, royaltyInfo, orderStart, orderExpiry);
|
|
3915
|
+
let approvalTransaction;
|
|
3916
|
+
const approvalAction = actions
|
|
3917
|
+
.find((action) => action.type === 'approval');
|
|
3918
|
+
if (approvalAction) {
|
|
3919
|
+
approvalTransaction = await prepareTransaction(approvalAction.transactionMethods);
|
|
3920
|
+
}
|
|
3921
|
+
const createAction = actions
|
|
3922
|
+
.find((action) => action.type === 'create');
|
|
3923
|
+
if (!createAction) {
|
|
3924
|
+
throw new Error('No create order action found');
|
|
3925
|
+
}
|
|
3926
|
+
const orderMessageToSign = await createAction.getMessageToSign();
|
|
3927
|
+
const orderComponents = getOrderComponentsFromMessage(orderMessageToSign);
|
|
3928
|
+
return {
|
|
3929
|
+
unsignedApprovalTransaction: approvalTransaction,
|
|
3930
|
+
typedOrderMessageForSigning: await this.getTypedDataFromOrderComponents(orderComponents),
|
|
3931
|
+
orderComponents,
|
|
3932
|
+
orderHash: await this.seaport.getOrderHash(orderComponents),
|
|
3933
|
+
};
|
|
3934
|
+
}
|
|
3935
|
+
async fulfilOrder(order, account) {
|
|
3936
|
+
const orderComponents = await this.mapImmutableOrderToSeaportOrderComponents(order);
|
|
3937
|
+
const { actions } = await this.seaport.fulfillOrders({
|
|
3938
|
+
accountAddress: account,
|
|
3939
|
+
fulfillOrderDetails: [{
|
|
3940
|
+
order: {
|
|
3941
|
+
parameters: orderComponents,
|
|
3942
|
+
signature: order.signature,
|
|
3943
|
+
},
|
|
3944
|
+
extraData: order.protocol_data.operator_signature,
|
|
3945
|
+
}],
|
|
3946
|
+
});
|
|
3947
|
+
let approvalTransaction;
|
|
3948
|
+
const approvalAction = actions
|
|
3949
|
+
.find((action) => action.type === 'approval');
|
|
3950
|
+
if (approvalAction) {
|
|
3951
|
+
approvalTransaction = await prepareTransaction(approvalAction.transactionMethods);
|
|
3952
|
+
}
|
|
3953
|
+
const fulfillmentAction = actions
|
|
3954
|
+
.find((action) => action.type === 'exchange');
|
|
3955
|
+
if (!fulfillmentAction) {
|
|
3956
|
+
throw new Error('No exchange action found');
|
|
3957
|
+
}
|
|
3958
|
+
const fulfillmentTransaction = await prepareTransaction(fulfillmentAction.transactionMethods);
|
|
3959
|
+
return {
|
|
3960
|
+
unsignedApprovalTransaction: approvalTransaction,
|
|
3961
|
+
unsignedFulfillmentTransaction: fulfillmentTransaction,
|
|
3962
|
+
};
|
|
3963
|
+
}
|
|
3964
|
+
async cancelOrder(order, account) {
|
|
3965
|
+
const orderComponents = await this.mapImmutableOrderToSeaportOrderComponents(order);
|
|
3966
|
+
const cancellationTransaction = await this.seaport.cancelOrders([orderComponents], account);
|
|
3967
|
+
return prepareTransaction(cancellationTransaction);
|
|
3968
|
+
}
|
|
3969
|
+
async mapImmutableOrderToSeaportOrderComponents(order) {
|
|
3970
|
+
const counterForOfferer = await this.seaport.getCounter(order.account_address);
|
|
3971
|
+
return mapImmutableOrderToSeaportOrderComponents(order, counterForOfferer.toString(), this.zoneContractAddress);
|
|
3972
|
+
}
|
|
3973
|
+
createSeaportOrder(offerer, listingItem, considerationItem, royaltyInfo, orderStart, orderExpiry) {
|
|
3974
|
+
return this.seaport.createOrder({
|
|
3975
|
+
allowPartialFills: false,
|
|
3976
|
+
offer: [
|
|
3977
|
+
{
|
|
3978
|
+
itemType: ItemType.ERC721,
|
|
3979
|
+
token: listingItem.contractAddress,
|
|
3980
|
+
identifier: listingItem.tokenId,
|
|
3981
|
+
},
|
|
3982
|
+
],
|
|
3983
|
+
consideration: [
|
|
3984
|
+
{
|
|
3985
|
+
token: considerationItem.type === 'ERC20' ? considerationItem.contractAddress : undefined,
|
|
3986
|
+
amount: considerationItem.amount,
|
|
3987
|
+
recipient: offerer,
|
|
3988
|
+
},
|
|
3989
|
+
{
|
|
3990
|
+
token: considerationItem.type === 'ERC20' ? considerationItem.contractAddress : undefined,
|
|
3991
|
+
amount: royaltyInfo.amountRequired,
|
|
3992
|
+
recipient: royaltyInfo.recipient,
|
|
3993
|
+
},
|
|
3994
|
+
],
|
|
3995
|
+
startTime: (orderStart.getTime() / 1000).toFixed(0),
|
|
3996
|
+
endTime: (orderExpiry.getTime() / 1000).toFixed(0),
|
|
3997
|
+
zone: this.zoneContractAddress,
|
|
3998
|
+
restrictedByZone: true,
|
|
3999
|
+
}, offerer);
|
|
4000
|
+
}
|
|
4001
|
+
async getTypedDataFromOrderComponents(orderComponents) {
|
|
4002
|
+
const { chainId } = await this.provider.getNetwork();
|
|
4003
|
+
const domainData = {
|
|
4004
|
+
name: SEAPORT_CONTRACT_NAME,
|
|
4005
|
+
version: SEAPORT_CONTRACT_VERSION_V1_4,
|
|
4006
|
+
chainId,
|
|
4007
|
+
verifyingContract: this.seaportContractAddress,
|
|
4008
|
+
};
|
|
4009
|
+
return {
|
|
4010
|
+
domain: domainData,
|
|
4011
|
+
types: EIP_712_ORDER_TYPE,
|
|
4012
|
+
value: orderComponents,
|
|
4013
|
+
};
|
|
4014
|
+
}
|
|
4015
|
+
}
|
|
4016
|
+
|
|
4017
|
+
class SeaportFactory {
|
|
4018
|
+
seaportContractAddress;
|
|
4019
|
+
zoneContractAddress;
|
|
4020
|
+
provider;
|
|
4021
|
+
seaport;
|
|
4022
|
+
constructor(seaportContractAddress, zoneContractAddress, provider) {
|
|
4023
|
+
this.seaportContractAddress = seaportContractAddress;
|
|
4024
|
+
this.zoneContractAddress = zoneContractAddress;
|
|
4025
|
+
this.provider = provider;
|
|
4026
|
+
this.seaport = new seaportJs.Seaport(provider, {
|
|
4027
|
+
seaportVersion: '1.4',
|
|
4028
|
+
balanceAndApprovalChecksOnOrderCreation: true,
|
|
4029
|
+
overrides: {
|
|
4030
|
+
contractAddress: seaportContractAddress,
|
|
4031
|
+
},
|
|
4032
|
+
});
|
|
4033
|
+
}
|
|
4034
|
+
create() {
|
|
4035
|
+
return new Seaport(this.seaport, this.provider, this.seaportContractAddress, this.zoneContractAddress);
|
|
4036
|
+
}
|
|
4037
|
+
}
|
|
4038
|
+
|
|
3285
4039
|
class ImmutableApiClient {
|
|
3286
4040
|
orderbookService;
|
|
3287
4041
|
chainId;
|
|
@@ -3302,7 +4056,7 @@ class ImmutableApiClient {
|
|
|
3302
4056
|
if (orderComponents.offer.length !== 1) {
|
|
3303
4057
|
throw new Error('Only one item can be listed at a time');
|
|
3304
4058
|
}
|
|
3305
|
-
if (Number(orderComponents.offer[0].itemType) !==
|
|
4059
|
+
if (Number(orderComponents.offer[0].itemType) !== ItemType.ERC721) {
|
|
3306
4060
|
throw new Error('Only ERC721 tokens can be listed');
|
|
3307
4061
|
}
|
|
3308
4062
|
const considerationItemTypeTheSame = new Set([...orderComponents.consideration.map((c) => c.itemType)]).size === 1;
|
|
@@ -3316,7 +4070,7 @@ class ImmutableApiClient {
|
|
|
3316
4070
|
account_address: offerer,
|
|
3317
4071
|
buy: [
|
|
3318
4072
|
{
|
|
3319
|
-
item_type: Number(orderComponents.consideration[0].itemType) ===
|
|
4073
|
+
item_type: Number(orderComponents.consideration[0].itemType) === ItemType.NATIVE
|
|
3320
4074
|
? BuyItem.item_type.NATIVE
|
|
3321
4075
|
: BuyItem.item_type.ERC20,
|
|
3322
4076
|
start_amount: orderComponents.consideration[0].startAmount,
|
|
@@ -3378,7 +4132,7 @@ class ERC721 {
|
|
|
3378
4132
|
/* Autogenerated file. Do not edit manually. */
|
|
3379
4133
|
/* tslint:disable */
|
|
3380
4134
|
/* eslint-disable */
|
|
3381
|
-
const _abi = [
|
|
4135
|
+
const _abi$2 = [
|
|
3382
4136
|
{
|
|
3383
4137
|
inputs: [
|
|
3384
4138
|
{
|
|
@@ -4267,12 +5021,12 @@ const _abi = [
|
|
|
4267
5021
|
},
|
|
4268
5022
|
];
|
|
4269
5023
|
class ImmutableERC721Base__factory {
|
|
4270
|
-
static abi = _abi;
|
|
5024
|
+
static abi = _abi$2;
|
|
4271
5025
|
static createInterface() {
|
|
4272
|
-
return new ethers.utils.Interface(_abi);
|
|
5026
|
+
return new ethers.utils.Interface(_abi$2);
|
|
4273
5027
|
}
|
|
4274
5028
|
static connect(address, signerOrProvider) {
|
|
4275
|
-
return new ethers.Contract(address, _abi, signerOrProvider);
|
|
5029
|
+
return new ethers.Contract(address, _abi$2, signerOrProvider);
|
|
4276
5030
|
}
|
|
4277
5031
|
}
|
|
4278
5032
|
|
|
@@ -4286,199 +5040,6 @@ class ERC721Factory {
|
|
|
4286
5040
|
}
|
|
4287
5041
|
}
|
|
4288
5042
|
|
|
4289
|
-
function getOrderComponentsFromMessage(orderMessage) {
|
|
4290
|
-
const data = JSON.parse(orderMessage);
|
|
4291
|
-
const orderComponents = data.message;
|
|
4292
|
-
orderComponents.salt = ethers.BigNumber.from(orderComponents.salt).toHexString();
|
|
4293
|
-
return orderComponents;
|
|
4294
|
-
}
|
|
4295
|
-
|
|
4296
|
-
// Add 20% more gas than estimate to prevent out of gas errors
|
|
4297
|
-
// This can always be overwritten by the user signing the transaction
|
|
4298
|
-
async function prepareTransaction(transactionMethods) {
|
|
4299
|
-
const transaction = await transactionMethods.buildTransaction();
|
|
4300
|
-
transaction.gasLimit = await transactionMethods.estimateGas();
|
|
4301
|
-
transaction.gasLimit = transaction.gasLimit
|
|
4302
|
-
.add(transaction.gasLimit.div(5));
|
|
4303
|
-
return transaction;
|
|
4304
|
-
}
|
|
4305
|
-
|
|
4306
|
-
function mapImmutableOrderToSeaportOrderComponents(order, counter, zoneAddress) {
|
|
4307
|
-
const considerationItems = order.buy.map((buyItem) => ({
|
|
4308
|
-
startAmount: buyItem.start_amount,
|
|
4309
|
-
endAmount: buyItem.start_amount,
|
|
4310
|
-
itemType: buyItem.item_type === 'ERC20' ? constants.ItemType.ERC20 : constants.ItemType.NATIVE,
|
|
4311
|
-
recipient: order.account_address,
|
|
4312
|
-
token: buyItem.contract_address || ethers.constants.AddressZero,
|
|
4313
|
-
identifierOrCriteria: '0',
|
|
4314
|
-
}));
|
|
4315
|
-
const fees = order.buy_fees.map((fee) => ({
|
|
4316
|
-
startAmount: fee.amount,
|
|
4317
|
-
endAmount: fee.amount,
|
|
4318
|
-
itemType: order.buy[0].item_type === 'ERC20' ? constants.ItemType.ERC20 : constants.ItemType.NATIVE,
|
|
4319
|
-
recipient: fee.recipient,
|
|
4320
|
-
token: order.buy[0].contract_address || ethers.constants.AddressZero,
|
|
4321
|
-
identifierOrCriteria: '0',
|
|
4322
|
-
}));
|
|
4323
|
-
return {
|
|
4324
|
-
conduitKey: ethers.constants.HashZero,
|
|
4325
|
-
consideration: [...considerationItems, ...fees],
|
|
4326
|
-
offer: order.sell.map((sellItem) => ({
|
|
4327
|
-
startAmount: '1',
|
|
4328
|
-
endAmount: '1',
|
|
4329
|
-
itemType: constants.ItemType.ERC721,
|
|
4330
|
-
token: sellItem.contract_address,
|
|
4331
|
-
identifierOrCriteria: sellItem.token_id,
|
|
4332
|
-
})),
|
|
4333
|
-
counter,
|
|
4334
|
-
endTime: Math.round(new Date(order.end_time).getTime() / 1000).toString(),
|
|
4335
|
-
startTime: Math.round(new Date(order.start_time).getTime() / 1000).toString(),
|
|
4336
|
-
salt: order.salt,
|
|
4337
|
-
offerer: order.account_address,
|
|
4338
|
-
zone: zoneAddress,
|
|
4339
|
-
totalOriginalConsiderationItems: 2,
|
|
4340
|
-
orderType: constants.OrderType.FULL_RESTRICTED,
|
|
4341
|
-
zoneHash: ethers.constants.HashZero,
|
|
4342
|
-
};
|
|
4343
|
-
}
|
|
4344
|
-
|
|
4345
|
-
class Seaport {
|
|
4346
|
-
seaport;
|
|
4347
|
-
provider;
|
|
4348
|
-
seaportContractAddress;
|
|
4349
|
-
zoneContractAddress;
|
|
4350
|
-
constructor(seaport, provider, seaportContractAddress, zoneContractAddress) {
|
|
4351
|
-
this.seaport = seaport;
|
|
4352
|
-
this.provider = provider;
|
|
4353
|
-
this.seaportContractAddress = seaportContractAddress;
|
|
4354
|
-
this.zoneContractAddress = zoneContractAddress;
|
|
4355
|
-
}
|
|
4356
|
-
async prepareSeaportOrder(offerer, listingItem, considerationItem, royaltyInfo, orderStart, orderExpiry) {
|
|
4357
|
-
const { actions } = await this.createSeaportOrder(offerer, listingItem, considerationItem, royaltyInfo, orderStart, orderExpiry);
|
|
4358
|
-
let approvalTransaction;
|
|
4359
|
-
const approvalAction = actions
|
|
4360
|
-
.find((action) => action.type === 'approval');
|
|
4361
|
-
if (approvalAction) {
|
|
4362
|
-
approvalTransaction = await prepareTransaction(approvalAction.transactionMethods);
|
|
4363
|
-
}
|
|
4364
|
-
const createAction = actions
|
|
4365
|
-
.find((action) => action.type === 'create');
|
|
4366
|
-
if (!createAction) {
|
|
4367
|
-
throw new Error('No create order action found');
|
|
4368
|
-
}
|
|
4369
|
-
const orderMessageToSign = await createAction.getMessageToSign();
|
|
4370
|
-
const orderComponents = getOrderComponentsFromMessage(orderMessageToSign);
|
|
4371
|
-
return {
|
|
4372
|
-
unsignedApprovalTransaction: approvalTransaction,
|
|
4373
|
-
typedOrderMessageForSigning: await this.getTypedDataFromOrderComponents(orderComponents),
|
|
4374
|
-
orderComponents,
|
|
4375
|
-
orderHash: await this.seaport.getOrderHash(orderComponents),
|
|
4376
|
-
};
|
|
4377
|
-
}
|
|
4378
|
-
async fulfilOrder(order, account) {
|
|
4379
|
-
const orderComponents = await this.mapImmutableOrderToSeaportOrderComponents(order);
|
|
4380
|
-
const { actions } = await this.seaport.fulfillOrders({
|
|
4381
|
-
accountAddress: account,
|
|
4382
|
-
fulfillOrderDetails: [{
|
|
4383
|
-
order: {
|
|
4384
|
-
parameters: orderComponents,
|
|
4385
|
-
signature: order.signature,
|
|
4386
|
-
},
|
|
4387
|
-
extraData: order.protocol_data.operator_signature,
|
|
4388
|
-
}],
|
|
4389
|
-
});
|
|
4390
|
-
let approvalTransaction;
|
|
4391
|
-
const approvalAction = actions
|
|
4392
|
-
.find((action) => action.type === 'approval');
|
|
4393
|
-
if (approvalAction) {
|
|
4394
|
-
approvalTransaction = await prepareTransaction(approvalAction.transactionMethods);
|
|
4395
|
-
}
|
|
4396
|
-
const fulfillmentAction = actions
|
|
4397
|
-
.find((action) => action.type === 'exchange');
|
|
4398
|
-
if (!fulfillmentAction) {
|
|
4399
|
-
throw new Error('No exchange action found');
|
|
4400
|
-
}
|
|
4401
|
-
const fulfillmentTransaction = await prepareTransaction(fulfillmentAction.transactionMethods);
|
|
4402
|
-
return {
|
|
4403
|
-
unsignedApprovalTransaction: approvalTransaction,
|
|
4404
|
-
unsignedFulfillmentTransaction: fulfillmentTransaction,
|
|
4405
|
-
};
|
|
4406
|
-
}
|
|
4407
|
-
async cancelOrder(order, account) {
|
|
4408
|
-
const orderComponents = await this.mapImmutableOrderToSeaportOrderComponents(order);
|
|
4409
|
-
const cancellationTransaction = await this.seaport.cancelOrders([orderComponents], account);
|
|
4410
|
-
return prepareTransaction(cancellationTransaction);
|
|
4411
|
-
}
|
|
4412
|
-
async mapImmutableOrderToSeaportOrderComponents(order) {
|
|
4413
|
-
const counterForOfferer = await this.seaport.getCounter(order.account_address);
|
|
4414
|
-
return mapImmutableOrderToSeaportOrderComponents(order, counterForOfferer.toString(), this.zoneContractAddress);
|
|
4415
|
-
}
|
|
4416
|
-
createSeaportOrder(offerer, listingItem, considerationItem, royaltyInfo, orderStart, orderExpiry) {
|
|
4417
|
-
return this.seaport.createOrder({
|
|
4418
|
-
allowPartialFills: false,
|
|
4419
|
-
offer: [
|
|
4420
|
-
{
|
|
4421
|
-
itemType: constants.ItemType.ERC721,
|
|
4422
|
-
token: listingItem.contractAddress,
|
|
4423
|
-
identifier: listingItem.tokenId,
|
|
4424
|
-
},
|
|
4425
|
-
],
|
|
4426
|
-
consideration: [
|
|
4427
|
-
{
|
|
4428
|
-
token: considerationItem.type === 'ERC20' ? considerationItem.contractAddress : undefined,
|
|
4429
|
-
amount: considerationItem.amount,
|
|
4430
|
-
recipient: offerer,
|
|
4431
|
-
},
|
|
4432
|
-
{
|
|
4433
|
-
token: considerationItem.type === 'ERC20' ? considerationItem.contractAddress : undefined,
|
|
4434
|
-
amount: royaltyInfo.amountRequired,
|
|
4435
|
-
recipient: royaltyInfo.recipient,
|
|
4436
|
-
},
|
|
4437
|
-
],
|
|
4438
|
-
startTime: (orderStart.getTime() / 1000).toFixed(0),
|
|
4439
|
-
endTime: (orderExpiry.getTime() / 1000).toFixed(0),
|
|
4440
|
-
zone: this.zoneContractAddress,
|
|
4441
|
-
restrictedByZone: true,
|
|
4442
|
-
}, offerer);
|
|
4443
|
-
}
|
|
4444
|
-
async getTypedDataFromOrderComponents(orderComponents) {
|
|
4445
|
-
const { chainId } = await this.provider.getNetwork();
|
|
4446
|
-
const domainData = {
|
|
4447
|
-
name: constants.SEAPORT_CONTRACT_NAME,
|
|
4448
|
-
version: constants.SEAPORT_CONTRACT_VERSION_V1_4,
|
|
4449
|
-
chainId,
|
|
4450
|
-
verifyingContract: this.seaportContractAddress,
|
|
4451
|
-
};
|
|
4452
|
-
return {
|
|
4453
|
-
domain: domainData,
|
|
4454
|
-
types: constants.EIP_712_ORDER_TYPE,
|
|
4455
|
-
value: orderComponents,
|
|
4456
|
-
};
|
|
4457
|
-
}
|
|
4458
|
-
}
|
|
4459
|
-
|
|
4460
|
-
class SeaportFactory {
|
|
4461
|
-
seaportContractAddress;
|
|
4462
|
-
zoneContractAddress;
|
|
4463
|
-
provider;
|
|
4464
|
-
seaport;
|
|
4465
|
-
constructor(seaportContractAddress, zoneContractAddress, provider) {
|
|
4466
|
-
this.seaportContractAddress = seaportContractAddress;
|
|
4467
|
-
this.zoneContractAddress = zoneContractAddress;
|
|
4468
|
-
this.provider = provider;
|
|
4469
|
-
this.seaport = new seaportJs.Seaport(provider, {
|
|
4470
|
-
seaportVersion: '1.4',
|
|
4471
|
-
balanceAndApprovalChecksOnOrderCreation: true,
|
|
4472
|
-
overrides: {
|
|
4473
|
-
contractAddress: seaportContractAddress,
|
|
4474
|
-
},
|
|
4475
|
-
});
|
|
4476
|
-
}
|
|
4477
|
-
create() {
|
|
4478
|
-
return new Seaport(this.seaport, this.provider, this.seaportContractAddress, this.zoneContractAddress);
|
|
4479
|
-
}
|
|
4480
|
-
}
|
|
4481
|
-
|
|
4482
5043
|
/**
|
|
4483
5044
|
* zkEVM orderbook SDK
|
|
4484
5045
|
* @constructor
|
|
@@ -6652,11 +7213,1515 @@ function $430e3eda76fa4d5f$export$931068bc678f0d73(tagName, provider) {
|
|
|
6652
7213
|
attemptToSetProvider();
|
|
6653
7214
|
}
|
|
6654
7215
|
|
|
6655
|
-
|
|
6656
|
-
|
|
6657
|
-
|
|
6658
|
-
|
|
6659
|
-
|
|
7216
|
+
/* Autogenerated file. Do not edit manually. */
|
|
7217
|
+
/* tslint:disable */
|
|
7218
|
+
/* eslint-disable */
|
|
7219
|
+
const _abi$1 = [
|
|
7220
|
+
{
|
|
7221
|
+
inputs: [
|
|
7222
|
+
{
|
|
7223
|
+
internalType: "string",
|
|
7224
|
+
name: "name_",
|
|
7225
|
+
type: "string",
|
|
7226
|
+
},
|
|
7227
|
+
{
|
|
7228
|
+
internalType: "string",
|
|
7229
|
+
name: "symbol_",
|
|
7230
|
+
type: "string",
|
|
7231
|
+
},
|
|
7232
|
+
],
|
|
7233
|
+
stateMutability: "nonpayable",
|
|
7234
|
+
type: "constructor",
|
|
7235
|
+
},
|
|
7236
|
+
{
|
|
7237
|
+
anonymous: false,
|
|
7238
|
+
inputs: [
|
|
7239
|
+
{
|
|
7240
|
+
indexed: true,
|
|
7241
|
+
internalType: "address",
|
|
7242
|
+
name: "owner",
|
|
7243
|
+
type: "address",
|
|
7244
|
+
},
|
|
7245
|
+
{
|
|
7246
|
+
indexed: true,
|
|
7247
|
+
internalType: "address",
|
|
7248
|
+
name: "spender",
|
|
7249
|
+
type: "address",
|
|
7250
|
+
},
|
|
7251
|
+
{
|
|
7252
|
+
indexed: false,
|
|
7253
|
+
internalType: "uint256",
|
|
7254
|
+
name: "value",
|
|
7255
|
+
type: "uint256",
|
|
7256
|
+
},
|
|
7257
|
+
],
|
|
7258
|
+
name: "Approval",
|
|
7259
|
+
type: "event",
|
|
7260
|
+
},
|
|
7261
|
+
{
|
|
7262
|
+
anonymous: false,
|
|
7263
|
+
inputs: [
|
|
7264
|
+
{
|
|
7265
|
+
indexed: true,
|
|
7266
|
+
internalType: "address",
|
|
7267
|
+
name: "from",
|
|
7268
|
+
type: "address",
|
|
7269
|
+
},
|
|
7270
|
+
{
|
|
7271
|
+
indexed: true,
|
|
7272
|
+
internalType: "address",
|
|
7273
|
+
name: "to",
|
|
7274
|
+
type: "address",
|
|
7275
|
+
},
|
|
7276
|
+
{
|
|
7277
|
+
indexed: false,
|
|
7278
|
+
internalType: "uint256",
|
|
7279
|
+
name: "value",
|
|
7280
|
+
type: "uint256",
|
|
7281
|
+
},
|
|
7282
|
+
],
|
|
7283
|
+
name: "Transfer",
|
|
7284
|
+
type: "event",
|
|
7285
|
+
},
|
|
7286
|
+
{
|
|
7287
|
+
inputs: [
|
|
7288
|
+
{
|
|
7289
|
+
internalType: "address",
|
|
7290
|
+
name: "owner",
|
|
7291
|
+
type: "address",
|
|
7292
|
+
},
|
|
7293
|
+
{
|
|
7294
|
+
internalType: "address",
|
|
7295
|
+
name: "spender",
|
|
7296
|
+
type: "address",
|
|
7297
|
+
},
|
|
7298
|
+
],
|
|
7299
|
+
name: "allowance",
|
|
7300
|
+
outputs: [
|
|
7301
|
+
{
|
|
7302
|
+
internalType: "uint256",
|
|
7303
|
+
name: "",
|
|
7304
|
+
type: "uint256",
|
|
7305
|
+
},
|
|
7306
|
+
],
|
|
7307
|
+
stateMutability: "view",
|
|
7308
|
+
type: "function",
|
|
7309
|
+
},
|
|
7310
|
+
{
|
|
7311
|
+
inputs: [
|
|
7312
|
+
{
|
|
7313
|
+
internalType: "address",
|
|
7314
|
+
name: "spender",
|
|
7315
|
+
type: "address",
|
|
7316
|
+
},
|
|
7317
|
+
{
|
|
7318
|
+
internalType: "uint256",
|
|
7319
|
+
name: "amount",
|
|
7320
|
+
type: "uint256",
|
|
7321
|
+
},
|
|
7322
|
+
],
|
|
7323
|
+
name: "approve",
|
|
7324
|
+
outputs: [
|
|
7325
|
+
{
|
|
7326
|
+
internalType: "bool",
|
|
7327
|
+
name: "",
|
|
7328
|
+
type: "bool",
|
|
7329
|
+
},
|
|
7330
|
+
],
|
|
7331
|
+
stateMutability: "nonpayable",
|
|
7332
|
+
type: "function",
|
|
7333
|
+
},
|
|
7334
|
+
{
|
|
7335
|
+
inputs: [
|
|
7336
|
+
{
|
|
7337
|
+
internalType: "address",
|
|
7338
|
+
name: "account",
|
|
7339
|
+
type: "address",
|
|
7340
|
+
},
|
|
7341
|
+
],
|
|
7342
|
+
name: "balanceOf",
|
|
7343
|
+
outputs: [
|
|
7344
|
+
{
|
|
7345
|
+
internalType: "uint256",
|
|
7346
|
+
name: "",
|
|
7347
|
+
type: "uint256",
|
|
7348
|
+
},
|
|
7349
|
+
],
|
|
7350
|
+
stateMutability: "view",
|
|
7351
|
+
type: "function",
|
|
7352
|
+
},
|
|
7353
|
+
{
|
|
7354
|
+
inputs: [],
|
|
7355
|
+
name: "decimals",
|
|
7356
|
+
outputs: [
|
|
7357
|
+
{
|
|
7358
|
+
internalType: "uint8",
|
|
7359
|
+
name: "",
|
|
7360
|
+
type: "uint8",
|
|
7361
|
+
},
|
|
7362
|
+
],
|
|
7363
|
+
stateMutability: "view",
|
|
7364
|
+
type: "function",
|
|
7365
|
+
},
|
|
7366
|
+
{
|
|
7367
|
+
inputs: [
|
|
7368
|
+
{
|
|
7369
|
+
internalType: "address",
|
|
7370
|
+
name: "spender",
|
|
7371
|
+
type: "address",
|
|
7372
|
+
},
|
|
7373
|
+
{
|
|
7374
|
+
internalType: "uint256",
|
|
7375
|
+
name: "subtractedValue",
|
|
7376
|
+
type: "uint256",
|
|
7377
|
+
},
|
|
7378
|
+
],
|
|
7379
|
+
name: "decreaseAllowance",
|
|
7380
|
+
outputs: [
|
|
7381
|
+
{
|
|
7382
|
+
internalType: "bool",
|
|
7383
|
+
name: "",
|
|
7384
|
+
type: "bool",
|
|
7385
|
+
},
|
|
7386
|
+
],
|
|
7387
|
+
stateMutability: "nonpayable",
|
|
7388
|
+
type: "function",
|
|
7389
|
+
},
|
|
7390
|
+
{
|
|
7391
|
+
inputs: [
|
|
7392
|
+
{
|
|
7393
|
+
internalType: "address",
|
|
7394
|
+
name: "spender",
|
|
7395
|
+
type: "address",
|
|
7396
|
+
},
|
|
7397
|
+
{
|
|
7398
|
+
internalType: "uint256",
|
|
7399
|
+
name: "addedValue",
|
|
7400
|
+
type: "uint256",
|
|
7401
|
+
},
|
|
7402
|
+
],
|
|
7403
|
+
name: "increaseAllowance",
|
|
7404
|
+
outputs: [
|
|
7405
|
+
{
|
|
7406
|
+
internalType: "bool",
|
|
7407
|
+
name: "",
|
|
7408
|
+
type: "bool",
|
|
7409
|
+
},
|
|
7410
|
+
],
|
|
7411
|
+
stateMutability: "nonpayable",
|
|
7412
|
+
type: "function",
|
|
7413
|
+
},
|
|
7414
|
+
{
|
|
7415
|
+
inputs: [],
|
|
7416
|
+
name: "name",
|
|
7417
|
+
outputs: [
|
|
7418
|
+
{
|
|
7419
|
+
internalType: "string",
|
|
7420
|
+
name: "",
|
|
7421
|
+
type: "string",
|
|
7422
|
+
},
|
|
7423
|
+
],
|
|
7424
|
+
stateMutability: "view",
|
|
7425
|
+
type: "function",
|
|
7426
|
+
},
|
|
7427
|
+
{
|
|
7428
|
+
inputs: [],
|
|
7429
|
+
name: "symbol",
|
|
7430
|
+
outputs: [
|
|
7431
|
+
{
|
|
7432
|
+
internalType: "string",
|
|
7433
|
+
name: "",
|
|
7434
|
+
type: "string",
|
|
7435
|
+
},
|
|
7436
|
+
],
|
|
7437
|
+
stateMutability: "view",
|
|
7438
|
+
type: "function",
|
|
7439
|
+
},
|
|
7440
|
+
{
|
|
7441
|
+
inputs: [],
|
|
7442
|
+
name: "totalSupply",
|
|
7443
|
+
outputs: [
|
|
7444
|
+
{
|
|
7445
|
+
internalType: "uint256",
|
|
7446
|
+
name: "",
|
|
7447
|
+
type: "uint256",
|
|
7448
|
+
},
|
|
7449
|
+
],
|
|
7450
|
+
stateMutability: "view",
|
|
7451
|
+
type: "function",
|
|
7452
|
+
},
|
|
7453
|
+
{
|
|
7454
|
+
inputs: [
|
|
7455
|
+
{
|
|
7456
|
+
internalType: "address",
|
|
7457
|
+
name: "to",
|
|
7458
|
+
type: "address",
|
|
7459
|
+
},
|
|
7460
|
+
{
|
|
7461
|
+
internalType: "uint256",
|
|
7462
|
+
name: "amount",
|
|
7463
|
+
type: "uint256",
|
|
7464
|
+
},
|
|
7465
|
+
],
|
|
7466
|
+
name: "transfer",
|
|
7467
|
+
outputs: [
|
|
7468
|
+
{
|
|
7469
|
+
internalType: "bool",
|
|
7470
|
+
name: "",
|
|
7471
|
+
type: "bool",
|
|
7472
|
+
},
|
|
7473
|
+
],
|
|
7474
|
+
stateMutability: "nonpayable",
|
|
7475
|
+
type: "function",
|
|
7476
|
+
},
|
|
7477
|
+
{
|
|
7478
|
+
inputs: [
|
|
7479
|
+
{
|
|
7480
|
+
internalType: "address",
|
|
7481
|
+
name: "from",
|
|
7482
|
+
type: "address",
|
|
7483
|
+
},
|
|
7484
|
+
{
|
|
7485
|
+
internalType: "address",
|
|
7486
|
+
name: "to",
|
|
7487
|
+
type: "address",
|
|
7488
|
+
},
|
|
7489
|
+
{
|
|
7490
|
+
internalType: "uint256",
|
|
7491
|
+
name: "amount",
|
|
7492
|
+
type: "uint256",
|
|
7493
|
+
},
|
|
7494
|
+
],
|
|
7495
|
+
name: "transferFrom",
|
|
7496
|
+
outputs: [
|
|
7497
|
+
{
|
|
7498
|
+
internalType: "bool",
|
|
7499
|
+
name: "",
|
|
7500
|
+
type: "bool",
|
|
7501
|
+
},
|
|
7502
|
+
],
|
|
7503
|
+
stateMutability: "nonpayable",
|
|
7504
|
+
type: "function",
|
|
7505
|
+
},
|
|
7506
|
+
];
|
|
7507
|
+
const _bytecode$1 = "0x60806040523480156200001157600080fd5b50604051620017ec380380620017ec8339818101604052810190620000379190620001f6565b8160039081620000489190620004c6565b5080600490816200005a9190620004c6565b505050620005ad565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620000cc8262000081565b810181811067ffffffffffffffff82111715620000ee57620000ed62000092565b5b80604052505050565b60006200010362000063565b9050620001118282620000c1565b919050565b600067ffffffffffffffff82111562000134576200013362000092565b5b6200013f8262000081565b9050602081019050919050565b60005b838110156200016c5780820151818401526020810190506200014f565b60008484015250505050565b60006200018f620001898462000116565b620000f7565b905082815260208101848484011115620001ae57620001ad6200007c565b5b620001bb8482856200014c565b509392505050565b600082601f830112620001db57620001da62000077565b5b8151620001ed84826020860162000178565b91505092915050565b6000806040838503121562000210576200020f6200006d565b5b600083015167ffffffffffffffff81111562000231576200023062000072565b5b6200023f85828601620001c3565b925050602083015167ffffffffffffffff81111562000263576200026262000072565b5b6200027185828601620001c3565b9150509250929050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620002ce57607f821691505b602082108103620002e457620002e362000286565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200034e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200030f565b6200035a86836200030f565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620003a7620003a16200039b8462000372565b6200037c565b62000372565b9050919050565b6000819050919050565b620003c38362000386565b620003db620003d282620003ae565b8484546200031c565b825550505050565b600090565b620003f2620003e3565b620003ff818484620003b8565b505050565b5b8181101562000427576200041b600082620003e8565b60018101905062000405565b5050565b601f82111562000476576200044081620002ea565b6200044b84620002ff565b810160208510156200045b578190505b620004736200046a85620002ff565b83018262000404565b50505b505050565b600082821c905092915050565b60006200049b600019846008026200047b565b1980831691505092915050565b6000620004b6838362000488565b9150826002028217905092915050565b620004d1826200027b565b67ffffffffffffffff811115620004ed57620004ec62000092565b5b620004f98254620002b5565b620005068282856200042b565b600060209050601f8311600181146200053e576000841562000529578287015190505b620005358582620004a8565b865550620005a5565b601f1984166200054e86620002ea565b60005b82811015620005785784890151825560018201915060208501945060208101905062000551565b8683101562000598578489015162000594601f89168262000488565b8355505b6001600288020188555050505b505050505050565b61122f80620005bd6000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461016857806370a082311461019857806395d89b41146101c8578063a457c2d7146101e6578063a9059cbb14610216578063dd62ed3e14610246576100a9565b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100fc57806323b872dd1461011a578063313ce5671461014a575b600080fd5b6100b6610276565b6040516100c39190610b0c565b60405180910390f35b6100e660048036038101906100e19190610bc7565b610308565b6040516100f39190610c22565b60405180910390f35b61010461032b565b6040516101119190610c4c565b60405180910390f35b610134600480360381019061012f9190610c67565b610335565b6040516101419190610c22565b60405180910390f35b610152610364565b60405161015f9190610cd6565b60405180910390f35b610182600480360381019061017d9190610bc7565b61036d565b60405161018f9190610c22565b60405180910390f35b6101b260048036038101906101ad9190610cf1565b6103a4565b6040516101bf9190610c4c565b60405180910390f35b6101d06103ec565b6040516101dd9190610b0c565b60405180910390f35b61020060048036038101906101fb9190610bc7565b61047e565b60405161020d9190610c22565b60405180910390f35b610230600480360381019061022b9190610bc7565b6104f5565b60405161023d9190610c22565b60405180910390f35b610260600480360381019061025b9190610d1e565b610518565b60405161026d9190610c4c565b60405180910390f35b60606003805461028590610d8d565b80601f01602080910402602001604051908101604052809291908181526020018280546102b190610d8d565b80156102fe5780601f106102d3576101008083540402835291602001916102fe565b820191906000526020600020905b8154815290600101906020018083116102e157829003601f168201915b5050505050905090565b60008061031361059f565b90506103208185856105a7565b600191505092915050565b6000600254905090565b60008061034061059f565b905061034d858285610770565b6103588585856107fc565b60019150509392505050565b60006012905090565b60008061037861059f565b905061039981858561038a8589610518565b6103949190610ded565b6105a7565b600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6060600480546103fb90610d8d565b80601f016020809104026020016040519081016040528092919081815260200182805461042790610d8d565b80156104745780601f1061044957610100808354040283529160200191610474565b820191906000526020600020905b81548152906001019060200180831161045757829003601f168201915b5050505050905090565b60008061048961059f565b905060006104978286610518565b9050838110156104dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104d390610e93565b60405180910390fd5b6104e982868684036105a7565b60019250505092915050565b60008061050061059f565b905061050d8185856107fc565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610616576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060d90610f25565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610685576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161067c90610fb7565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516107639190610c4c565b60405180910390a3505050565b600061077c8484610518565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146107f657818110156107e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107df90611023565b60405180910390fd5b6107f584848484036105a7565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361086b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610862906110b5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036108da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d190611147565b60405180910390fd5b6108e5838383610a72565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561096b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610962906111d9565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a599190610c4c565b60405180910390a3610a6c848484610a77565b50505050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610ab6578082015181840152602081019050610a9b565b60008484015250505050565b6000601f19601f8301169050919050565b6000610ade82610a7c565b610ae88185610a87565b9350610af8818560208601610a98565b610b0181610ac2565b840191505092915050565b60006020820190508181036000830152610b268184610ad3565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610b5e82610b33565b9050919050565b610b6e81610b53565b8114610b7957600080fd5b50565b600081359050610b8b81610b65565b92915050565b6000819050919050565b610ba481610b91565b8114610baf57600080fd5b50565b600081359050610bc181610b9b565b92915050565b60008060408385031215610bde57610bdd610b2e565b5b6000610bec85828601610b7c565b9250506020610bfd85828601610bb2565b9150509250929050565b60008115159050919050565b610c1c81610c07565b82525050565b6000602082019050610c376000830184610c13565b92915050565b610c4681610b91565b82525050565b6000602082019050610c616000830184610c3d565b92915050565b600080600060608486031215610c8057610c7f610b2e565b5b6000610c8e86828701610b7c565b9350506020610c9f86828701610b7c565b9250506040610cb086828701610bb2565b9150509250925092565b600060ff82169050919050565b610cd081610cba565b82525050565b6000602082019050610ceb6000830184610cc7565b92915050565b600060208284031215610d0757610d06610b2e565b5b6000610d1584828501610b7c565b91505092915050565b60008060408385031215610d3557610d34610b2e565b5b6000610d4385828601610b7c565b9250506020610d5485828601610b7c565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610da557607f821691505b602082108103610db857610db7610d5e565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610df882610b91565b9150610e0383610b91565b9250828201905080821115610e1b57610e1a610dbe565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000610e7d602583610a87565b9150610e8882610e21565b604082019050919050565b60006020820190508181036000830152610eac81610e70565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000610f0f602483610a87565b9150610f1a82610eb3565b604082019050919050565b60006020820190508181036000830152610f3e81610f02565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000610fa1602283610a87565b9150610fac82610f45565b604082019050919050565b60006020820190508181036000830152610fd081610f94565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b600061100d601d83610a87565b915061101882610fd7565b602082019050919050565b6000602082019050818103600083015261103c81611000565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061109f602583610a87565b91506110aa82611043565b604082019050919050565b600060208201905081810360008301526110ce81611092565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611131602383610a87565b915061113c826110d5565b604082019050919050565b6000602082019050818103600083015261116081611124565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006111c3602683610a87565b91506111ce82611167565b604082019050919050565b600060208201905081810360008301526111f2816111b6565b905091905056fea26469706673582212204188b273199f085e1921ec1a1fa55abdee2e425960bda675a51fac85acd9972064736f6c63430008110033";
|
|
7508
|
+
const isSuperArgs$1 = (xs) => xs.length > 1;
|
|
7509
|
+
class ERC20__factory extends ethers.ContractFactory {
|
|
7510
|
+
constructor(...args) {
|
|
7511
|
+
if (isSuperArgs$1(args)) {
|
|
7512
|
+
super(...args);
|
|
7513
|
+
}
|
|
7514
|
+
else {
|
|
7515
|
+
super(_abi$1, _bytecode$1, args[0]);
|
|
7516
|
+
}
|
|
7517
|
+
}
|
|
7518
|
+
deploy(name_, symbol_, overrides) {
|
|
7519
|
+
return super.deploy(name_, symbol_, overrides || {});
|
|
7520
|
+
}
|
|
7521
|
+
getDeployTransaction(name_, symbol_, overrides) {
|
|
7522
|
+
return super.getDeployTransaction(name_, symbol_, overrides || {});
|
|
7523
|
+
}
|
|
7524
|
+
attach(address) {
|
|
7525
|
+
return super.attach(address);
|
|
7526
|
+
}
|
|
7527
|
+
connect(signer) {
|
|
7528
|
+
return super.connect(signer);
|
|
7529
|
+
}
|
|
7530
|
+
static bytecode = _bytecode$1;
|
|
7531
|
+
static abi = _abi$1;
|
|
7532
|
+
static createInterface() {
|
|
7533
|
+
return new ethers.utils.Interface(_abi$1);
|
|
7534
|
+
}
|
|
7535
|
+
static connect(address, signerOrProvider) {
|
|
7536
|
+
return new ethers.Contract(address, _abi$1, signerOrProvider);
|
|
7537
|
+
}
|
|
7538
|
+
}
|
|
7539
|
+
|
|
7540
|
+
/* Autogenerated file. Do not edit manually. */
|
|
7541
|
+
/* tslint:disable */
|
|
7542
|
+
/* eslint-disable */
|
|
7543
|
+
const _abi = [
|
|
7544
|
+
{
|
|
7545
|
+
inputs: [
|
|
7546
|
+
{
|
|
7547
|
+
internalType: "address",
|
|
7548
|
+
name: "owner_",
|
|
7549
|
+
type: "address",
|
|
7550
|
+
},
|
|
7551
|
+
{
|
|
7552
|
+
internalType: "string",
|
|
7553
|
+
name: "name_",
|
|
7554
|
+
type: "string",
|
|
7555
|
+
},
|
|
7556
|
+
{
|
|
7557
|
+
internalType: "string",
|
|
7558
|
+
name: "symbol_",
|
|
7559
|
+
type: "string",
|
|
7560
|
+
},
|
|
7561
|
+
{
|
|
7562
|
+
internalType: "string",
|
|
7563
|
+
name: "baseURI_",
|
|
7564
|
+
type: "string",
|
|
7565
|
+
},
|
|
7566
|
+
{
|
|
7567
|
+
internalType: "string",
|
|
7568
|
+
name: "contractURI_",
|
|
7569
|
+
type: "string",
|
|
7570
|
+
},
|
|
7571
|
+
{
|
|
7572
|
+
internalType: "address",
|
|
7573
|
+
name: "_receiver",
|
|
7574
|
+
type: "address",
|
|
7575
|
+
},
|
|
7576
|
+
{
|
|
7577
|
+
internalType: "uint96",
|
|
7578
|
+
name: "_feeNumerator",
|
|
7579
|
+
type: "uint96",
|
|
7580
|
+
},
|
|
7581
|
+
],
|
|
7582
|
+
stateMutability: "nonpayable",
|
|
7583
|
+
type: "constructor",
|
|
7584
|
+
},
|
|
7585
|
+
{
|
|
7586
|
+
inputs: [
|
|
7587
|
+
{
|
|
7588
|
+
internalType: "address",
|
|
7589
|
+
name: "target",
|
|
7590
|
+
type: "address",
|
|
7591
|
+
},
|
|
7592
|
+
],
|
|
7593
|
+
name: "ApproveTargetNotInAllowlist",
|
|
7594
|
+
type: "error",
|
|
7595
|
+
},
|
|
7596
|
+
{
|
|
7597
|
+
inputs: [
|
|
7598
|
+
{
|
|
7599
|
+
internalType: "address",
|
|
7600
|
+
name: "caller",
|
|
7601
|
+
type: "address",
|
|
7602
|
+
},
|
|
7603
|
+
],
|
|
7604
|
+
name: "CallerNotInAllowlist",
|
|
7605
|
+
type: "error",
|
|
7606
|
+
},
|
|
7607
|
+
{
|
|
7608
|
+
anonymous: false,
|
|
7609
|
+
inputs: [
|
|
7610
|
+
{
|
|
7611
|
+
indexed: true,
|
|
7612
|
+
internalType: "address",
|
|
7613
|
+
name: "owner",
|
|
7614
|
+
type: "address",
|
|
7615
|
+
},
|
|
7616
|
+
{
|
|
7617
|
+
indexed: true,
|
|
7618
|
+
internalType: "address",
|
|
7619
|
+
name: "approved",
|
|
7620
|
+
type: "address",
|
|
7621
|
+
},
|
|
7622
|
+
{
|
|
7623
|
+
indexed: true,
|
|
7624
|
+
internalType: "uint256",
|
|
7625
|
+
name: "tokenId",
|
|
7626
|
+
type: "uint256",
|
|
7627
|
+
},
|
|
7628
|
+
],
|
|
7629
|
+
name: "Approval",
|
|
7630
|
+
type: "event",
|
|
7631
|
+
},
|
|
7632
|
+
{
|
|
7633
|
+
anonymous: false,
|
|
7634
|
+
inputs: [
|
|
7635
|
+
{
|
|
7636
|
+
indexed: true,
|
|
7637
|
+
internalType: "address",
|
|
7638
|
+
name: "owner",
|
|
7639
|
+
type: "address",
|
|
7640
|
+
},
|
|
7641
|
+
{
|
|
7642
|
+
indexed: true,
|
|
7643
|
+
internalType: "address",
|
|
7644
|
+
name: "operator",
|
|
7645
|
+
type: "address",
|
|
7646
|
+
},
|
|
7647
|
+
{
|
|
7648
|
+
indexed: false,
|
|
7649
|
+
internalType: "bool",
|
|
7650
|
+
name: "approved",
|
|
7651
|
+
type: "bool",
|
|
7652
|
+
},
|
|
7653
|
+
],
|
|
7654
|
+
name: "ApprovalForAll",
|
|
7655
|
+
type: "event",
|
|
7656
|
+
},
|
|
7657
|
+
{
|
|
7658
|
+
anonymous: false,
|
|
7659
|
+
inputs: [
|
|
7660
|
+
{
|
|
7661
|
+
indexed: true,
|
|
7662
|
+
internalType: "bytes32",
|
|
7663
|
+
name: "role",
|
|
7664
|
+
type: "bytes32",
|
|
7665
|
+
},
|
|
7666
|
+
{
|
|
7667
|
+
indexed: true,
|
|
7668
|
+
internalType: "bytes32",
|
|
7669
|
+
name: "previousAdminRole",
|
|
7670
|
+
type: "bytes32",
|
|
7671
|
+
},
|
|
7672
|
+
{
|
|
7673
|
+
indexed: true,
|
|
7674
|
+
internalType: "bytes32",
|
|
7675
|
+
name: "newAdminRole",
|
|
7676
|
+
type: "bytes32",
|
|
7677
|
+
},
|
|
7678
|
+
],
|
|
7679
|
+
name: "RoleAdminChanged",
|
|
7680
|
+
type: "event",
|
|
7681
|
+
},
|
|
7682
|
+
{
|
|
7683
|
+
anonymous: false,
|
|
7684
|
+
inputs: [
|
|
7685
|
+
{
|
|
7686
|
+
indexed: true,
|
|
7687
|
+
internalType: "bytes32",
|
|
7688
|
+
name: "role",
|
|
7689
|
+
type: "bytes32",
|
|
7690
|
+
},
|
|
7691
|
+
{
|
|
7692
|
+
indexed: true,
|
|
7693
|
+
internalType: "address",
|
|
7694
|
+
name: "account",
|
|
7695
|
+
type: "address",
|
|
7696
|
+
},
|
|
7697
|
+
{
|
|
7698
|
+
indexed: true,
|
|
7699
|
+
internalType: "address",
|
|
7700
|
+
name: "sender",
|
|
7701
|
+
type: "address",
|
|
7702
|
+
},
|
|
7703
|
+
],
|
|
7704
|
+
name: "RoleGranted",
|
|
7705
|
+
type: "event",
|
|
7706
|
+
},
|
|
7707
|
+
{
|
|
7708
|
+
anonymous: false,
|
|
7709
|
+
inputs: [
|
|
7710
|
+
{
|
|
7711
|
+
indexed: true,
|
|
7712
|
+
internalType: "bytes32",
|
|
7713
|
+
name: "role",
|
|
7714
|
+
type: "bytes32",
|
|
7715
|
+
},
|
|
7716
|
+
{
|
|
7717
|
+
indexed: true,
|
|
7718
|
+
internalType: "address",
|
|
7719
|
+
name: "account",
|
|
7720
|
+
type: "address",
|
|
7721
|
+
},
|
|
7722
|
+
{
|
|
7723
|
+
indexed: true,
|
|
7724
|
+
internalType: "address",
|
|
7725
|
+
name: "sender",
|
|
7726
|
+
type: "address",
|
|
7727
|
+
},
|
|
7728
|
+
],
|
|
7729
|
+
name: "RoleRevoked",
|
|
7730
|
+
type: "event",
|
|
7731
|
+
},
|
|
7732
|
+
{
|
|
7733
|
+
anonymous: false,
|
|
7734
|
+
inputs: [
|
|
7735
|
+
{
|
|
7736
|
+
indexed: false,
|
|
7737
|
+
internalType: "address",
|
|
7738
|
+
name: "oldRegistry",
|
|
7739
|
+
type: "address",
|
|
7740
|
+
},
|
|
7741
|
+
{
|
|
7742
|
+
indexed: false,
|
|
7743
|
+
internalType: "address",
|
|
7744
|
+
name: "newRegistry",
|
|
7745
|
+
type: "address",
|
|
7746
|
+
},
|
|
7747
|
+
],
|
|
7748
|
+
name: "RoyaltytAllowlistRegistryUpdated",
|
|
7749
|
+
type: "event",
|
|
7750
|
+
},
|
|
7751
|
+
{
|
|
7752
|
+
anonymous: false,
|
|
7753
|
+
inputs: [
|
|
7754
|
+
{
|
|
7755
|
+
indexed: true,
|
|
7756
|
+
internalType: "address",
|
|
7757
|
+
name: "from",
|
|
7758
|
+
type: "address",
|
|
7759
|
+
},
|
|
7760
|
+
{
|
|
7761
|
+
indexed: true,
|
|
7762
|
+
internalType: "address",
|
|
7763
|
+
name: "to",
|
|
7764
|
+
type: "address",
|
|
7765
|
+
},
|
|
7766
|
+
{
|
|
7767
|
+
indexed: true,
|
|
7768
|
+
internalType: "uint256",
|
|
7769
|
+
name: "tokenId",
|
|
7770
|
+
type: "uint256",
|
|
7771
|
+
},
|
|
7772
|
+
],
|
|
7773
|
+
name: "Transfer",
|
|
7774
|
+
type: "event",
|
|
7775
|
+
},
|
|
7776
|
+
{
|
|
7777
|
+
inputs: [],
|
|
7778
|
+
name: "DEFAULT_ADMIN_ROLE",
|
|
7779
|
+
outputs: [
|
|
7780
|
+
{
|
|
7781
|
+
internalType: "bytes32",
|
|
7782
|
+
name: "",
|
|
7783
|
+
type: "bytes32",
|
|
7784
|
+
},
|
|
7785
|
+
],
|
|
7786
|
+
stateMutability: "view",
|
|
7787
|
+
type: "function",
|
|
7788
|
+
},
|
|
7789
|
+
{
|
|
7790
|
+
inputs: [],
|
|
7791
|
+
name: "MINTER_ROLE",
|
|
7792
|
+
outputs: [
|
|
7793
|
+
{
|
|
7794
|
+
internalType: "bytes32",
|
|
7795
|
+
name: "",
|
|
7796
|
+
type: "bytes32",
|
|
7797
|
+
},
|
|
7798
|
+
],
|
|
7799
|
+
stateMutability: "view",
|
|
7800
|
+
type: "function",
|
|
7801
|
+
},
|
|
7802
|
+
{
|
|
7803
|
+
inputs: [
|
|
7804
|
+
{
|
|
7805
|
+
internalType: "address",
|
|
7806
|
+
name: "to",
|
|
7807
|
+
type: "address",
|
|
7808
|
+
},
|
|
7809
|
+
{
|
|
7810
|
+
internalType: "uint256",
|
|
7811
|
+
name: "tokenId",
|
|
7812
|
+
type: "uint256",
|
|
7813
|
+
},
|
|
7814
|
+
],
|
|
7815
|
+
name: "approve",
|
|
7816
|
+
outputs: [],
|
|
7817
|
+
stateMutability: "nonpayable",
|
|
7818
|
+
type: "function",
|
|
7819
|
+
},
|
|
7820
|
+
{
|
|
7821
|
+
inputs: [
|
|
7822
|
+
{
|
|
7823
|
+
internalType: "address",
|
|
7824
|
+
name: "owner",
|
|
7825
|
+
type: "address",
|
|
7826
|
+
},
|
|
7827
|
+
],
|
|
7828
|
+
name: "balanceOf",
|
|
7829
|
+
outputs: [
|
|
7830
|
+
{
|
|
7831
|
+
internalType: "uint256",
|
|
7832
|
+
name: "",
|
|
7833
|
+
type: "uint256",
|
|
7834
|
+
},
|
|
7835
|
+
],
|
|
7836
|
+
stateMutability: "view",
|
|
7837
|
+
type: "function",
|
|
7838
|
+
},
|
|
7839
|
+
{
|
|
7840
|
+
inputs: [],
|
|
7841
|
+
name: "baseURI",
|
|
7842
|
+
outputs: [
|
|
7843
|
+
{
|
|
7844
|
+
internalType: "string",
|
|
7845
|
+
name: "",
|
|
7846
|
+
type: "string",
|
|
7847
|
+
},
|
|
7848
|
+
],
|
|
7849
|
+
stateMutability: "view",
|
|
7850
|
+
type: "function",
|
|
7851
|
+
},
|
|
7852
|
+
{
|
|
7853
|
+
inputs: [
|
|
7854
|
+
{
|
|
7855
|
+
internalType: "uint256",
|
|
7856
|
+
name: "tokenId",
|
|
7857
|
+
type: "uint256",
|
|
7858
|
+
},
|
|
7859
|
+
],
|
|
7860
|
+
name: "burn",
|
|
7861
|
+
outputs: [],
|
|
7862
|
+
stateMutability: "nonpayable",
|
|
7863
|
+
type: "function",
|
|
7864
|
+
},
|
|
7865
|
+
{
|
|
7866
|
+
inputs: [],
|
|
7867
|
+
name: "contractURI",
|
|
7868
|
+
outputs: [
|
|
7869
|
+
{
|
|
7870
|
+
internalType: "string",
|
|
7871
|
+
name: "",
|
|
7872
|
+
type: "string",
|
|
7873
|
+
},
|
|
7874
|
+
],
|
|
7875
|
+
stateMutability: "view",
|
|
7876
|
+
type: "function",
|
|
7877
|
+
},
|
|
7878
|
+
{
|
|
7879
|
+
inputs: [],
|
|
7880
|
+
name: "getAdmins",
|
|
7881
|
+
outputs: [
|
|
7882
|
+
{
|
|
7883
|
+
internalType: "address[]",
|
|
7884
|
+
name: "",
|
|
7885
|
+
type: "address[]",
|
|
7886
|
+
},
|
|
7887
|
+
],
|
|
7888
|
+
stateMutability: "view",
|
|
7889
|
+
type: "function",
|
|
7890
|
+
},
|
|
7891
|
+
{
|
|
7892
|
+
inputs: [
|
|
7893
|
+
{
|
|
7894
|
+
internalType: "uint256",
|
|
7895
|
+
name: "tokenId",
|
|
7896
|
+
type: "uint256",
|
|
7897
|
+
},
|
|
7898
|
+
],
|
|
7899
|
+
name: "getApproved",
|
|
7900
|
+
outputs: [
|
|
7901
|
+
{
|
|
7902
|
+
internalType: "address",
|
|
7903
|
+
name: "",
|
|
7904
|
+
type: "address",
|
|
7905
|
+
},
|
|
7906
|
+
],
|
|
7907
|
+
stateMutability: "view",
|
|
7908
|
+
type: "function",
|
|
7909
|
+
},
|
|
7910
|
+
{
|
|
7911
|
+
inputs: [
|
|
7912
|
+
{
|
|
7913
|
+
internalType: "bytes32",
|
|
7914
|
+
name: "role",
|
|
7915
|
+
type: "bytes32",
|
|
7916
|
+
},
|
|
7917
|
+
],
|
|
7918
|
+
name: "getRoleAdmin",
|
|
7919
|
+
outputs: [
|
|
7920
|
+
{
|
|
7921
|
+
internalType: "bytes32",
|
|
7922
|
+
name: "",
|
|
7923
|
+
type: "bytes32",
|
|
7924
|
+
},
|
|
7925
|
+
],
|
|
7926
|
+
stateMutability: "view",
|
|
7927
|
+
type: "function",
|
|
7928
|
+
},
|
|
7929
|
+
{
|
|
7930
|
+
inputs: [
|
|
7931
|
+
{
|
|
7932
|
+
internalType: "bytes32",
|
|
7933
|
+
name: "role",
|
|
7934
|
+
type: "bytes32",
|
|
7935
|
+
},
|
|
7936
|
+
{
|
|
7937
|
+
internalType: "uint256",
|
|
7938
|
+
name: "index",
|
|
7939
|
+
type: "uint256",
|
|
7940
|
+
},
|
|
7941
|
+
],
|
|
7942
|
+
name: "getRoleMember",
|
|
7943
|
+
outputs: [
|
|
7944
|
+
{
|
|
7945
|
+
internalType: "address",
|
|
7946
|
+
name: "",
|
|
7947
|
+
type: "address",
|
|
7948
|
+
},
|
|
7949
|
+
],
|
|
7950
|
+
stateMutability: "view",
|
|
7951
|
+
type: "function",
|
|
7952
|
+
},
|
|
7953
|
+
{
|
|
7954
|
+
inputs: [
|
|
7955
|
+
{
|
|
7956
|
+
internalType: "bytes32",
|
|
7957
|
+
name: "role",
|
|
7958
|
+
type: "bytes32",
|
|
7959
|
+
},
|
|
7960
|
+
],
|
|
7961
|
+
name: "getRoleMemberCount",
|
|
7962
|
+
outputs: [
|
|
7963
|
+
{
|
|
7964
|
+
internalType: "uint256",
|
|
7965
|
+
name: "",
|
|
7966
|
+
type: "uint256",
|
|
7967
|
+
},
|
|
7968
|
+
],
|
|
7969
|
+
stateMutability: "view",
|
|
7970
|
+
type: "function",
|
|
7971
|
+
},
|
|
7972
|
+
{
|
|
7973
|
+
inputs: [
|
|
7974
|
+
{
|
|
7975
|
+
internalType: "address",
|
|
7976
|
+
name: "user",
|
|
7977
|
+
type: "address",
|
|
7978
|
+
},
|
|
7979
|
+
],
|
|
7980
|
+
name: "grantMinterRole",
|
|
7981
|
+
outputs: [],
|
|
7982
|
+
stateMutability: "nonpayable",
|
|
7983
|
+
type: "function",
|
|
7984
|
+
},
|
|
7985
|
+
{
|
|
7986
|
+
inputs: [
|
|
7987
|
+
{
|
|
7988
|
+
internalType: "bytes32",
|
|
7989
|
+
name: "role",
|
|
7990
|
+
type: "bytes32",
|
|
7991
|
+
},
|
|
7992
|
+
{
|
|
7993
|
+
internalType: "address",
|
|
7994
|
+
name: "account",
|
|
7995
|
+
type: "address",
|
|
7996
|
+
},
|
|
7997
|
+
],
|
|
7998
|
+
name: "grantRole",
|
|
7999
|
+
outputs: [],
|
|
8000
|
+
stateMutability: "nonpayable",
|
|
8001
|
+
type: "function",
|
|
8002
|
+
},
|
|
8003
|
+
{
|
|
8004
|
+
inputs: [
|
|
8005
|
+
{
|
|
8006
|
+
internalType: "bytes32",
|
|
8007
|
+
name: "role",
|
|
8008
|
+
type: "bytes32",
|
|
8009
|
+
},
|
|
8010
|
+
{
|
|
8011
|
+
internalType: "address",
|
|
8012
|
+
name: "account",
|
|
8013
|
+
type: "address",
|
|
8014
|
+
},
|
|
8015
|
+
],
|
|
8016
|
+
name: "hasRole",
|
|
8017
|
+
outputs: [
|
|
8018
|
+
{
|
|
8019
|
+
internalType: "bool",
|
|
8020
|
+
name: "",
|
|
8021
|
+
type: "bool",
|
|
8022
|
+
},
|
|
8023
|
+
],
|
|
8024
|
+
stateMutability: "view",
|
|
8025
|
+
type: "function",
|
|
8026
|
+
},
|
|
8027
|
+
{
|
|
8028
|
+
inputs: [
|
|
8029
|
+
{
|
|
8030
|
+
internalType: "address",
|
|
8031
|
+
name: "owner",
|
|
8032
|
+
type: "address",
|
|
8033
|
+
},
|
|
8034
|
+
{
|
|
8035
|
+
internalType: "address",
|
|
8036
|
+
name: "operator",
|
|
8037
|
+
type: "address",
|
|
8038
|
+
},
|
|
8039
|
+
],
|
|
8040
|
+
name: "isApprovedForAll",
|
|
8041
|
+
outputs: [
|
|
8042
|
+
{
|
|
8043
|
+
internalType: "bool",
|
|
8044
|
+
name: "",
|
|
8045
|
+
type: "bool",
|
|
8046
|
+
},
|
|
8047
|
+
],
|
|
8048
|
+
stateMutability: "view",
|
|
8049
|
+
type: "function",
|
|
8050
|
+
},
|
|
8051
|
+
{
|
|
8052
|
+
inputs: [
|
|
8053
|
+
{
|
|
8054
|
+
internalType: "address",
|
|
8055
|
+
name: "to",
|
|
8056
|
+
type: "address",
|
|
8057
|
+
},
|
|
8058
|
+
{
|
|
8059
|
+
internalType: "uint256",
|
|
8060
|
+
name: "amount",
|
|
8061
|
+
type: "uint256",
|
|
8062
|
+
},
|
|
8063
|
+
],
|
|
8064
|
+
name: "mint",
|
|
8065
|
+
outputs: [],
|
|
8066
|
+
stateMutability: "nonpayable",
|
|
8067
|
+
type: "function",
|
|
8068
|
+
},
|
|
8069
|
+
{
|
|
8070
|
+
inputs: [],
|
|
8071
|
+
name: "name",
|
|
8072
|
+
outputs: [
|
|
8073
|
+
{
|
|
8074
|
+
internalType: "string",
|
|
8075
|
+
name: "",
|
|
8076
|
+
type: "string",
|
|
8077
|
+
},
|
|
8078
|
+
],
|
|
8079
|
+
stateMutability: "view",
|
|
8080
|
+
type: "function",
|
|
8081
|
+
},
|
|
8082
|
+
{
|
|
8083
|
+
inputs: [
|
|
8084
|
+
{
|
|
8085
|
+
internalType: "uint256",
|
|
8086
|
+
name: "tokenId",
|
|
8087
|
+
type: "uint256",
|
|
8088
|
+
},
|
|
8089
|
+
],
|
|
8090
|
+
name: "ownerOf",
|
|
8091
|
+
outputs: [
|
|
8092
|
+
{
|
|
8093
|
+
internalType: "address",
|
|
8094
|
+
name: "",
|
|
8095
|
+
type: "address",
|
|
8096
|
+
},
|
|
8097
|
+
],
|
|
8098
|
+
stateMutability: "view",
|
|
8099
|
+
type: "function",
|
|
8100
|
+
},
|
|
8101
|
+
{
|
|
8102
|
+
inputs: [
|
|
8103
|
+
{
|
|
8104
|
+
internalType: "bytes32",
|
|
8105
|
+
name: "role",
|
|
8106
|
+
type: "bytes32",
|
|
8107
|
+
},
|
|
8108
|
+
{
|
|
8109
|
+
internalType: "address",
|
|
8110
|
+
name: "account",
|
|
8111
|
+
type: "address",
|
|
8112
|
+
},
|
|
8113
|
+
],
|
|
8114
|
+
name: "renounceRole",
|
|
8115
|
+
outputs: [],
|
|
8116
|
+
stateMutability: "nonpayable",
|
|
8117
|
+
type: "function",
|
|
8118
|
+
},
|
|
8119
|
+
{
|
|
8120
|
+
inputs: [
|
|
8121
|
+
{
|
|
8122
|
+
internalType: "address",
|
|
8123
|
+
name: "user",
|
|
8124
|
+
type: "address",
|
|
8125
|
+
},
|
|
8126
|
+
],
|
|
8127
|
+
name: "revokeMinterRole",
|
|
8128
|
+
outputs: [],
|
|
8129
|
+
stateMutability: "nonpayable",
|
|
8130
|
+
type: "function",
|
|
8131
|
+
},
|
|
8132
|
+
{
|
|
8133
|
+
inputs: [
|
|
8134
|
+
{
|
|
8135
|
+
internalType: "bytes32",
|
|
8136
|
+
name: "role",
|
|
8137
|
+
type: "bytes32",
|
|
8138
|
+
},
|
|
8139
|
+
{
|
|
8140
|
+
internalType: "address",
|
|
8141
|
+
name: "account",
|
|
8142
|
+
type: "address",
|
|
8143
|
+
},
|
|
8144
|
+
],
|
|
8145
|
+
name: "revokeRole",
|
|
8146
|
+
outputs: [],
|
|
8147
|
+
stateMutability: "nonpayable",
|
|
8148
|
+
type: "function",
|
|
8149
|
+
},
|
|
8150
|
+
{
|
|
8151
|
+
inputs: [],
|
|
8152
|
+
name: "royaltyAllowlist",
|
|
8153
|
+
outputs: [
|
|
8154
|
+
{
|
|
8155
|
+
internalType: "contract IRoyaltyAllowlist",
|
|
8156
|
+
name: "",
|
|
8157
|
+
type: "address",
|
|
8158
|
+
},
|
|
8159
|
+
],
|
|
8160
|
+
stateMutability: "view",
|
|
8161
|
+
type: "function",
|
|
8162
|
+
},
|
|
8163
|
+
{
|
|
8164
|
+
inputs: [
|
|
8165
|
+
{
|
|
8166
|
+
internalType: "uint256",
|
|
8167
|
+
name: "_tokenId",
|
|
8168
|
+
type: "uint256",
|
|
8169
|
+
},
|
|
8170
|
+
{
|
|
8171
|
+
internalType: "uint256",
|
|
8172
|
+
name: "_salePrice",
|
|
8173
|
+
type: "uint256",
|
|
8174
|
+
},
|
|
8175
|
+
],
|
|
8176
|
+
name: "royaltyInfo",
|
|
8177
|
+
outputs: [
|
|
8178
|
+
{
|
|
8179
|
+
internalType: "address",
|
|
8180
|
+
name: "",
|
|
8181
|
+
type: "address",
|
|
8182
|
+
},
|
|
8183
|
+
{
|
|
8184
|
+
internalType: "uint256",
|
|
8185
|
+
name: "",
|
|
8186
|
+
type: "uint256",
|
|
8187
|
+
},
|
|
8188
|
+
],
|
|
8189
|
+
stateMutability: "view",
|
|
8190
|
+
type: "function",
|
|
8191
|
+
},
|
|
8192
|
+
{
|
|
8193
|
+
inputs: [
|
|
8194
|
+
{
|
|
8195
|
+
internalType: "address",
|
|
8196
|
+
name: "from",
|
|
8197
|
+
type: "address",
|
|
8198
|
+
},
|
|
8199
|
+
{
|
|
8200
|
+
internalType: "address",
|
|
8201
|
+
name: "to",
|
|
8202
|
+
type: "address",
|
|
8203
|
+
},
|
|
8204
|
+
{
|
|
8205
|
+
internalType: "uint256",
|
|
8206
|
+
name: "tokenId",
|
|
8207
|
+
type: "uint256",
|
|
8208
|
+
},
|
|
8209
|
+
],
|
|
8210
|
+
name: "safeTransferFrom",
|
|
8211
|
+
outputs: [],
|
|
8212
|
+
stateMutability: "nonpayable",
|
|
8213
|
+
type: "function",
|
|
8214
|
+
},
|
|
8215
|
+
{
|
|
8216
|
+
inputs: [
|
|
8217
|
+
{
|
|
8218
|
+
internalType: "address",
|
|
8219
|
+
name: "from",
|
|
8220
|
+
type: "address",
|
|
8221
|
+
},
|
|
8222
|
+
{
|
|
8223
|
+
internalType: "address",
|
|
8224
|
+
name: "to",
|
|
8225
|
+
type: "address",
|
|
8226
|
+
},
|
|
8227
|
+
{
|
|
8228
|
+
internalType: "uint256",
|
|
8229
|
+
name: "tokenId",
|
|
8230
|
+
type: "uint256",
|
|
8231
|
+
},
|
|
8232
|
+
{
|
|
8233
|
+
internalType: "bytes",
|
|
8234
|
+
name: "data",
|
|
8235
|
+
type: "bytes",
|
|
8236
|
+
},
|
|
8237
|
+
],
|
|
8238
|
+
name: "safeTransferFrom",
|
|
8239
|
+
outputs: [],
|
|
8240
|
+
stateMutability: "nonpayable",
|
|
8241
|
+
type: "function",
|
|
8242
|
+
},
|
|
8243
|
+
{
|
|
8244
|
+
inputs: [
|
|
8245
|
+
{
|
|
8246
|
+
internalType: "address",
|
|
8247
|
+
name: "operator",
|
|
8248
|
+
type: "address",
|
|
8249
|
+
},
|
|
8250
|
+
{
|
|
8251
|
+
internalType: "bool",
|
|
8252
|
+
name: "approved",
|
|
8253
|
+
type: "bool",
|
|
8254
|
+
},
|
|
8255
|
+
],
|
|
8256
|
+
name: "setApprovalForAll",
|
|
8257
|
+
outputs: [],
|
|
8258
|
+
stateMutability: "nonpayable",
|
|
8259
|
+
type: "function",
|
|
8260
|
+
},
|
|
8261
|
+
{
|
|
8262
|
+
inputs: [
|
|
8263
|
+
{
|
|
8264
|
+
internalType: "string",
|
|
8265
|
+
name: "baseURI_",
|
|
8266
|
+
type: "string",
|
|
8267
|
+
},
|
|
8268
|
+
],
|
|
8269
|
+
name: "setBaseURI",
|
|
8270
|
+
outputs: [],
|
|
8271
|
+
stateMutability: "nonpayable",
|
|
8272
|
+
type: "function",
|
|
8273
|
+
},
|
|
8274
|
+
{
|
|
8275
|
+
inputs: [
|
|
8276
|
+
{
|
|
8277
|
+
internalType: "string",
|
|
8278
|
+
name: "_contractURI",
|
|
8279
|
+
type: "string",
|
|
8280
|
+
},
|
|
8281
|
+
],
|
|
8282
|
+
name: "setContractURI",
|
|
8283
|
+
outputs: [],
|
|
8284
|
+
stateMutability: "nonpayable",
|
|
8285
|
+
type: "function",
|
|
8286
|
+
},
|
|
8287
|
+
{
|
|
8288
|
+
inputs: [
|
|
8289
|
+
{
|
|
8290
|
+
internalType: "address",
|
|
8291
|
+
name: "_royaltyAllowlist",
|
|
8292
|
+
type: "address",
|
|
8293
|
+
},
|
|
8294
|
+
],
|
|
8295
|
+
name: "setRoyaltyAllowlistRegistry",
|
|
8296
|
+
outputs: [],
|
|
8297
|
+
stateMutability: "nonpayable",
|
|
8298
|
+
type: "function",
|
|
8299
|
+
},
|
|
8300
|
+
{
|
|
8301
|
+
inputs: [
|
|
8302
|
+
{
|
|
8303
|
+
internalType: "bytes4",
|
|
8304
|
+
name: "interfaceId",
|
|
8305
|
+
type: "bytes4",
|
|
8306
|
+
},
|
|
8307
|
+
],
|
|
8308
|
+
name: "supportsInterface",
|
|
8309
|
+
outputs: [
|
|
8310
|
+
{
|
|
8311
|
+
internalType: "bool",
|
|
8312
|
+
name: "",
|
|
8313
|
+
type: "bool",
|
|
8314
|
+
},
|
|
8315
|
+
],
|
|
8316
|
+
stateMutability: "view",
|
|
8317
|
+
type: "function",
|
|
8318
|
+
},
|
|
8319
|
+
{
|
|
8320
|
+
inputs: [],
|
|
8321
|
+
name: "symbol",
|
|
8322
|
+
outputs: [
|
|
8323
|
+
{
|
|
8324
|
+
internalType: "string",
|
|
8325
|
+
name: "",
|
|
8326
|
+
type: "string",
|
|
8327
|
+
},
|
|
8328
|
+
],
|
|
8329
|
+
stateMutability: "view",
|
|
8330
|
+
type: "function",
|
|
8331
|
+
},
|
|
8332
|
+
{
|
|
8333
|
+
inputs: [
|
|
8334
|
+
{
|
|
8335
|
+
internalType: "uint256",
|
|
8336
|
+
name: "index",
|
|
8337
|
+
type: "uint256",
|
|
8338
|
+
},
|
|
8339
|
+
],
|
|
8340
|
+
name: "tokenByIndex",
|
|
8341
|
+
outputs: [
|
|
8342
|
+
{
|
|
8343
|
+
internalType: "uint256",
|
|
8344
|
+
name: "",
|
|
8345
|
+
type: "uint256",
|
|
8346
|
+
},
|
|
8347
|
+
],
|
|
8348
|
+
stateMutability: "view",
|
|
8349
|
+
type: "function",
|
|
8350
|
+
},
|
|
8351
|
+
{
|
|
8352
|
+
inputs: [
|
|
8353
|
+
{
|
|
8354
|
+
internalType: "address",
|
|
8355
|
+
name: "owner",
|
|
8356
|
+
type: "address",
|
|
8357
|
+
},
|
|
8358
|
+
{
|
|
8359
|
+
internalType: "uint256",
|
|
8360
|
+
name: "index",
|
|
8361
|
+
type: "uint256",
|
|
8362
|
+
},
|
|
8363
|
+
],
|
|
8364
|
+
name: "tokenOfOwnerByIndex",
|
|
8365
|
+
outputs: [
|
|
8366
|
+
{
|
|
8367
|
+
internalType: "uint256",
|
|
8368
|
+
name: "",
|
|
8369
|
+
type: "uint256",
|
|
8370
|
+
},
|
|
8371
|
+
],
|
|
8372
|
+
stateMutability: "view",
|
|
8373
|
+
type: "function",
|
|
8374
|
+
},
|
|
8375
|
+
{
|
|
8376
|
+
inputs: [
|
|
8377
|
+
{
|
|
8378
|
+
internalType: "uint256",
|
|
8379
|
+
name: "tokenId",
|
|
8380
|
+
type: "uint256",
|
|
8381
|
+
},
|
|
8382
|
+
],
|
|
8383
|
+
name: "tokenURI",
|
|
8384
|
+
outputs: [
|
|
8385
|
+
{
|
|
8386
|
+
internalType: "string",
|
|
8387
|
+
name: "",
|
|
8388
|
+
type: "string",
|
|
8389
|
+
},
|
|
8390
|
+
],
|
|
8391
|
+
stateMutability: "view",
|
|
8392
|
+
type: "function",
|
|
8393
|
+
},
|
|
8394
|
+
{
|
|
8395
|
+
inputs: [],
|
|
8396
|
+
name: "totalSupply",
|
|
8397
|
+
outputs: [
|
|
8398
|
+
{
|
|
8399
|
+
internalType: "uint256",
|
|
8400
|
+
name: "",
|
|
8401
|
+
type: "uint256",
|
|
8402
|
+
},
|
|
8403
|
+
],
|
|
8404
|
+
stateMutability: "view",
|
|
8405
|
+
type: "function",
|
|
8406
|
+
},
|
|
8407
|
+
{
|
|
8408
|
+
inputs: [
|
|
8409
|
+
{
|
|
8410
|
+
internalType: "address",
|
|
8411
|
+
name: "from",
|
|
8412
|
+
type: "address",
|
|
8413
|
+
},
|
|
8414
|
+
{
|
|
8415
|
+
internalType: "address",
|
|
8416
|
+
name: "to",
|
|
8417
|
+
type: "address",
|
|
8418
|
+
},
|
|
8419
|
+
{
|
|
8420
|
+
internalType: "uint256",
|
|
8421
|
+
name: "tokenId",
|
|
8422
|
+
type: "uint256",
|
|
8423
|
+
},
|
|
8424
|
+
],
|
|
8425
|
+
name: "transferFrom",
|
|
8426
|
+
outputs: [],
|
|
8427
|
+
stateMutability: "nonpayable",
|
|
8428
|
+
type: "function",
|
|
8429
|
+
},
|
|
8430
|
+
];
|
|
8431
|
+
const _bytecode = "0x60806040523480156200001157600080fd5b50604051620060d4380380620060d4833981810160405281019062000037919062000762565b868686868686868585816000908162000051919062000adc565b50806001908162000063919062000adc565b505050620000788282620000dc60201b60201c565b6200008d6000801b886200027f60201b60201c565b83601090816200009e919062000adc565b5082600f9081620000b0919062000adc565b50620000c86011620002c760201b620015f11760201c565b505050505050505050505050505062000cde565b620000ec620002dd60201b60201c565b6bffffffffffffffffffffffff16816bffffffffffffffffffffffff1611156200014d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001449062000c4a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620001bf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001b69062000cbc565b60405180910390fd5b60405180604001604052808373ffffffffffffffffffffffffffffffffffffffff168152602001826bffffffffffffffffffffffff16815250600d60008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055509050505050565b620002968282620002e760201b620016071760201c565b620002c28160076000858152602001908152602001600020620003d960201b620016e81790919060201c565b505050565b6001816000016000828254019250508190555050565b6000612710905090565b620002f982826200041160201b60201c565b620003d55760016006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200037a6200047c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b600062000409836000018373ffffffffffffffffffffffffffffffffffffffff1660001b6200048460201b60201c565b905092915050565b60006006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600033905090565b6000620004988383620004fe60201b60201c565b620004f3578260000182908060018154018082558091505060019003906000526020600020016000909190919091505582600001805490508360010160008481526020019081526020016000208190555060019050620004f8565b600090505b92915050565b600080836001016000848152602001908152602001600020541415905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620005628262000535565b9050919050565b620005748162000555565b81146200058057600080fd5b50565b600081519050620005948162000569565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620005ef82620005a4565b810181811067ffffffffffffffff82111715620006115762000610620005b5565b5b80604052505050565b60006200062662000521565b9050620006348282620005e4565b919050565b600067ffffffffffffffff821115620006575762000656620005b5565b5b6200066282620005a4565b9050602081019050919050565b60005b838110156200068f57808201518184015260208101905062000672565b60008484015250505050565b6000620006b2620006ac8462000639565b6200061a565b905082815260208101848484011115620006d157620006d06200059f565b5b620006de8482856200066f565b509392505050565b600082601f830112620006fe57620006fd6200059a565b5b8151620007108482602086016200069b565b91505092915050565b60006bffffffffffffffffffffffff82169050919050565b6200073c8162000719565b81146200074857600080fd5b50565b6000815190506200075c8162000731565b92915050565b600080600080600080600060e0888a0312156200078457620007836200052b565b5b6000620007948a828b0162000583565b975050602088015167ffffffffffffffff811115620007b857620007b762000530565b5b620007c68a828b01620006e6565b965050604088015167ffffffffffffffff811115620007ea57620007e962000530565b5b620007f88a828b01620006e6565b955050606088015167ffffffffffffffff8111156200081c576200081b62000530565b5b6200082a8a828b01620006e6565b945050608088015167ffffffffffffffff8111156200084e576200084d62000530565b5b6200085c8a828b01620006e6565b93505060a06200086f8a828b0162000583565b92505060c0620008828a828b016200074b565b91505092959891949750929550565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620008e457607f821691505b602082108103620008fa57620008f96200089c565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620009647fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000925565b62000970868362000925565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620009bd620009b7620009b18462000988565b62000992565b62000988565b9050919050565b6000819050919050565b620009d9836200099c565b620009f1620009e882620009c4565b84845462000932565b825550505050565b600090565b62000a08620009f9565b62000a15818484620009ce565b505050565b5b8181101562000a3d5762000a31600082620009fe565b60018101905062000a1b565b5050565b601f82111562000a8c5762000a568162000900565b62000a618462000915565b8101602085101562000a71578190505b62000a8962000a808562000915565b83018262000a1a565b50505b505050565b600082821c905092915050565b600062000ab16000198460080262000a91565b1980831691505092915050565b600062000acc838362000a9e565b9150826002028217905092915050565b62000ae78262000891565b67ffffffffffffffff81111562000b035762000b02620005b5565b5b62000b0f8254620008cb565b62000b1c82828562000a41565b600060209050601f83116001811462000b54576000841562000b3f578287015190505b62000b4b858262000abe565b86555062000bbb565b601f19841662000b648662000900565b60005b8281101562000b8e5784890151825560018201915060208501945060208101905062000b67565b8683101562000bae578489015162000baa601f89168262000a9e565b8355505b6001600288020188555050505b505050505050565b600082825260208201905092915050565b7f455243323938313a20726f79616c7479206665652077696c6c2065786365656460008201527f2073616c65507269636500000000000000000000000000000000000000000000602082015250565b600062000c32602a8362000bc3565b915062000c3f8262000bd4565b604082019050919050565b6000602082019050818103600083015262000c658162000c23565b9050919050565b7f455243323938313a20696e76616c696420726563656976657200000000000000600082015250565b600062000ca460198362000bc3565b915062000cb18262000c6c565b602082019050919050565b6000602082019050818103600083015262000cd78162000c95565b9050919050565b6153e68062000cee6000396000f3fe608060405234801561001057600080fd5b50600436106102275760003560e01c80636352211e1161013057806395d89b41116100b8578063ca15c8731161007c578063ca15c87314610697578063d5391393146106c7578063d547741f146106e5578063e8a3d48514610701578063e985e9c51461071f57610227565b806395d89b41146105f3578063a217fddf14610611578063a22cb4651461062f578063b88d4fde1461064b578063c87b56dd1461066757610227565b80636c0360eb116100ff5780636c0360eb1461052957806370a08231146105475780639010d07c1461057757806391d14854146105a7578063938e3d7b146105d757610227565b80636352211e146104a35780636588962a146104d357806369e2f0fb146104ef5780636b3a06321461050b57610227565b80632f745c59116101b357806340c10f191161018257806340c10f191461040357806342842e0e1461041f57806342966c681461043b5780634f6ccce71461045757806355f804b31461048757610227565b80632f745c591461037d57806331ae450b146103ad57806336568abe146103cb5780633dd1eb61146103e757610227565b806318160ddd116101fa57806318160ddd146102c657806323b872dd146102e4578063248a9ca3146103005780632a55205a146103305780632f2ff15d1461036157610227565b806301ffc9a71461022c57806306fdde031461025c578063081812fc1461027a578063095ea7b3146102aa575b600080fd5b61024660048036038101906102419190613a2e565b61074f565b6040516102539190613a76565b60405180910390f35b610264610761565b6040516102719190613b21565b60405180910390f35b610294600480360381019061028f9190613b79565b6107f3565b6040516102a19190613be7565b60405180910390f35b6102c460048036038101906102bf9190613c2e565b610839565b005b6102ce610847565b6040516102db9190613c7d565b60405180910390f35b6102fe60048036038101906102f99190613c98565b610854565b005b61031a60048036038101906103159190613d21565b6108b4565b6040516103279190613d5d565b60405180910390f35b61034a60048036038101906103459190613d78565b6108d4565b604051610358929190613db8565b60405180910390f35b61037b60048036038101906103769190613de1565b610abe565b005b61039760048036038101906103929190613c2e565b610adf565b6040516103a49190613c7d565b60405180910390f35b6103b5610b84565b6040516103c29190613edf565b60405180910390f35b6103e560048036038101906103e09190613de1565b610c64565b005b61040160048036038101906103fc9190613f01565b610ce7565b005b61041d60048036038101906104189190613c2e565b610d22565b005b61043960048036038101906104349190613c98565b610d7a565b005b61045560048036038101906104509190613b79565b610d9a565b005b610471600480360381019061046c9190613b79565b610df6565b60405161047e9190613c7d565b60405180910390f35b6104a1600480360381019061049c9190614063565b610e67565b005b6104bd60048036038101906104b89190613b79565b610e88565b6040516104ca9190613be7565b60405180910390f35b6104ed60048036038101906104e89190613f01565b610f0e565b005b61050960048036038101906105049190613f01565b611094565b005b6105136110cf565b604051610520919061410b565b60405180910390f35b6105316110f5565b60405161053e9190613b21565b60405180910390f35b610561600480360381019061055c9190613f01565b611183565b60405161056e9190613c7d565b60405180910390f35b610591600480360381019061058c9190614126565b61123a565b60405161059e9190613be7565b60405180910390f35b6105c160048036038101906105bc9190613de1565b611269565b6040516105ce9190613a76565b60405180910390f35b6105f160048036038101906105ec9190614063565b6112d4565b005b6105fb6112f5565b6040516106089190613b21565b60405180910390f35b610619611387565b6040516106269190613d5d565b60405180910390f35b61064960048036038101906106449190614192565b61138e565b005b61066560048036038101906106609190614273565b61139c565b005b610681600480360381019061067c9190613b79565b6113fe565b60405161068e9190613b21565b60405180910390f35b6106b160048036038101906106ac9190613d21565b611466565b6040516106be9190613c7d565b60405180910390f35b6106cf61148a565b6040516106dc9190613d5d565b60405180910390f35b6106ff60048036038101906106fa9190613de1565b6114ae565b005b6107096114cf565b6040516107169190613b21565b60405180910390f35b610739600480360381019061073491906142f6565b61155d565b6040516107469190613a76565b60405180910390f35b600061075a82611718565b9050919050565b60606000805461077090614365565b80601f016020809104026020016040519081016040528092919081815260200182805461079c90614365565b80156107e95780601f106107be576101008083540402835291602001916107e9565b820191906000526020600020905b8154815290600101906020018083116107cc57829003601f168201915b5050505050905090565b60006107fe82611792565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b61084382826117dd565b5050565b6000600b80549050905090565b61086561085f6117f4565b826117fc565b6108a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089b90614408565b60405180910390fd5b6108af838383611891565b505050565b600060066000838152602001908152602001600020600101549050919050565b6000806000600e60008681526020019081526020016000206040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff166bffffffffffffffffffffffff16815250509050600073ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1603610a6957600d6040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff166bffffffffffffffffffffffff168152505090505b6000610a736118a1565b6bffffffffffffffffffffffff1682602001516bffffffffffffffffffffffff1686610a9f9190614457565b610aa991906144c8565b90508160000151819350935050509250929050565b610ac7826108b4565b610ad0816118ab565b610ada83836118bf565b505050565b6000610aea83611183565b8210610b2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b229061456b565b60405180910390fd5b600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b60606000610b946000801b611466565b905060008167ffffffffffffffff811115610bb257610bb1613f38565b5b604051908082528060200260200182016040528015610be05781602001602082028036833780820191505090505b50905060005b82811015610c5b57610bfb6000801b8261123a565b828281518110610c0e57610c0d61458b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508080610c53906145ba565b915050610be6565b50809250505090565b610c6c6117f4565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610cd9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd090614674565b60405180910390fd5b610ce382826118f3565b5050565b6000801b610cf4816118ab565b610d1e7f4d494e5445525f524f4c4500000000000000000000000000000000000000000083610abe565b5050565b7f4d494e5445525f524f4c45000000000000000000000000000000000000000000610d4c816118ab565b60005b82811015610d7457610d6084611927565b508080610d6c906145ba565b915050610d4f565b50505050565b610d958383836040518060200160405280600081525061139c565b505050565b610dab610da56117f4565b826117fc565b610dea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610de190614408565b60405180910390fd5b610df381611953565b50565b6000610e00610847565b8210610e41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3890614706565b60405180910390fd5b600b8281548110610e5557610e5461458b565b5b90600052602060002001549050919050565b6000801b610e74816118ab565b8160109081610e8391906148c8565b505050565b600080610e9483611aa1565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610f05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610efc906149e6565b60405180910390fd5b80915050919050565b6000801b610f1b816118ab565b8173ffffffffffffffffffffffffffffffffffffffff166301ffc9a77f05a3b809000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b8152600401610f749190614a15565b602060405180830381865afa158015610f91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb59190614a45565b610ff4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610feb90614ae4565b60405180910390fd5b7f4a1d010d926ae0d4294a4afe61ae81bb378335fbf671e099a7138b5afeefdf84600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683604051611047929190614b04565b60405180910390a181600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b6000801b6110a1816118ab565b6110cb7f4d494e5445525f524f4c45000000000000000000000000000000000000000000836114ae565b5050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6010805461110290614365565b80601f016020809104026020016040519081016040528092919081815260200182805461112e90614365565b801561117b5780601f106111505761010080835404028352916020019161117b565b820191906000526020600020905b81548152906001019060200180831161115e57829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ea90614b9f565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60006112618260076000868152602001908152602001600020611ade90919063ffffffff16565b905092915050565b60006006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000801b6112e1816118ab565b81600f90816112f091906148c8565b505050565b60606001805461130490614365565b80601f016020809104026020016040519081016040528092919081815260200182805461133090614365565b801561137d5780601f106113525761010080835404028352916020019161137d565b820191906000526020600020905b81548152906001019060200180831161136057829003601f168201915b5050505050905090565b6000801b81565b6113988282611af8565b5050565b6113ad6113a76117f4565b836117fc565b6113ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e390614408565b60405180910390fd5b6113f884848484611b0f565b50505050565b606061140982611792565b6000611413611b6b565b90506000815111611433576040518060200160405280600081525061145e565b8061143d84611bfd565b60405160200161144e929190614bfb565b6040516020818303038152906040525b915050919050565b600061148360076000848152602001908152602001600020611ccb565b9050919050565b7f4d494e5445525f524f4c4500000000000000000000000000000000000000000081565b6114b7826108b4565b6114c0816118ab565b6114ca83836118f3565b505050565b600f80546114dc90614365565b80601f016020809104026020016040519081016040528092919081815260200182805461150890614365565b80156115555780601f1061152a57610100808354040283529160200191611555565b820191906000526020600020905b81548152906001019060200180831161153857829003601f168201915b505050505081565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6001816000016000828254019250508190555050565b6116118282611269565b6116e45760016006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506116896117f4565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b6000611710836000018373ffffffffffffffffffffffffffffffffffffffff1660001b611ce0565b905092915050565b60007f2a55205a000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061178b575061178a82611d50565b5b9050919050565b61179b81611dca565b6117da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117d1906149e6565b60405180910390fd5b50565b6117e682611e0b565b6117f08282611f64565b5050565b600033905090565b60008061180883610e88565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061184a5750611849818561155d565b5b8061188857508373ffffffffffffffffffffffffffffffffffffffff16611870846107f3565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b61189c83838361207b565b505050565b6000612710905090565b6118bc816118b76117f4565b612093565b50565b6118c98282611607565b6118ee81600760008581526020019081526020016000206116e890919063ffffffff16565b505050565b6118fd8282612118565b61192281600760008581526020019081526020016000206121fa90919063ffffffff16565b505050565b600080611934601161222a565b90506119408382612238565b61194a60116115f1565b80915050919050565b600061195e82610e88565b905061196e816000846001612455565b61197782610e88565b90506004600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506002600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905581600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611a9d816000846001612467565b5050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000611aed836000018361246d565b60001c905092915050565b611b0182611e0b565b611b0b8282612498565b5050565b611b1a848484611891565b611b26848484846124ae565b611b65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5c90614c91565b60405180910390fd5b50505050565b606060108054611b7a90614365565b80601f0160208091040260200160405190810160405280929190818152602001828054611ba690614365565b8015611bf35780601f10611bc857610100808354040283529160200191611bf3565b820191906000526020600020905b815481529060010190602001808311611bd657829003601f168201915b5050505050905090565b606060006001611c0c84612635565b01905060008167ffffffffffffffff811115611c2b57611c2a613f38565b5b6040519080825280601f01601f191660200182016040528015611c5d5781602001600182028036833780820191505090505b509050600082602001820190505b600115611cc0578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8581611cb457611cb3614499565b5b04945060008503611c6b575b819350505050919050565b6000611cd982600001612788565b9050919050565b6000611cec8383612799565b611d45578260000182908060018154018082558091505060019003906000526020600020016000909190919091505582600001805490508360010160008481526020019081526020016000208190555060019050611d4a565b600090505b92915050565b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611dc35750611dc2826127bc565b5b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff16611dec83611aa1565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600073ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611f605760008173ffffffffffffffffffffffffffffffffffffffff163b1480611f1f5750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166305a3b809826040518263ffffffff1660e01b8152600401611edd9190613be7565b602060405180830381865afa158015611efa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f1e9190614a45565b5b611f6157806040517f8371ab02000000000000000000000000000000000000000000000000000000008152600401611f579190613be7565b60405180910390fd5b5b50565b6000611f6f82610e88565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611fdf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fd690614d23565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16611ffe6117f4565b73ffffffffffffffffffffffffffffffffffffffff16148061202d575061202c816120276117f4565b61155d565b5b61206c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161206390614db5565b60405180910390fd5b61207683836127ce565b505050565b612083612887565b61208e8383836129f3565b505050565b61209d8282611269565b612114576120aa81612cec565b6120b88360001c6020612d19565b6040516020016120c9929190614e6d565b6040516020818303038152906040526040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161210b9190613b21565b60405180910390fd5b5050565b6121228282611269565b156121f65760006006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061219b6117f4565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b6000612222836000018373ffffffffffffffffffffffffffffffffffffffff1660001b612f55565b905092915050565b600081600001549050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036122a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161229e90614ef3565b60405180910390fd5b6122b081611dca565b156122f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122e790614f5f565b60405180910390fd5b6122fe600083836001612455565b61230781611dca565b15612347576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161233e90614f5f565b60405180910390fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4612451600083836001612467565b5050565b61246184848484613069565b50505050565b50505050565b60008260000182815481106124855761248461458b565b5b9060005260206000200154905092915050565b6124aa6124a36117f4565b83836131c7565b5050565b60006124cf8473ffffffffffffffffffffffffffffffffffffffff16613333565b15612628578373ffffffffffffffffffffffffffffffffffffffff1663150b7a026124f86117f4565b8786866040518563ffffffff1660e01b815260040161251a9493929190614fd4565b6020604051808303816000875af192505050801561255657506040513d601f19601f820116820180604052508101906125539190615035565b60015b6125d8573d8060008114612586576040519150601f19603f3d011682016040523d82523d6000602084013e61258b565b606091505b5060008151036125d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125c790614c91565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161491505061262d565b600190505b949350505050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310612693577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000838161268957612688614499565b5b0492506040810190505b6d04ee2d6d415b85acef810000000083106126d0576d04ee2d6d415b85acef810000000083816126c6576126c5614499565b5b0492506020810190505b662386f26fc1000083106126ff57662386f26fc1000083816126f5576126f4614499565b5b0492506010810190505b6305f5e1008310612728576305f5e100838161271e5761271d614499565b5b0492506008810190505b612710831061274d57612710838161274357612742614499565b5b0492506004810190505b60648310612770576064838161276657612765614499565b5b0492506002810190505b600a831061277f576001810190505b80915050919050565b600081600001805490509050919050565b600080836001016000848152602001908152602001600020541415905092915050565b60006127c782613356565b9050919050565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff1661284183610e88565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600073ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146129f0573273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806129af5750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166305a3b809336040518263ffffffff1660e01b815260040161296d9190613be7565b602060405180830381865afa15801561298a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129ae9190614a45565b5b6129f157336040517f937db65f0000000000000000000000000000000000000000000000000000000081526004016129e79190613be7565b60405180910390fd5b5b565b8273ffffffffffffffffffffffffffffffffffffffff16612a1382610e88565b73ffffffffffffffffffffffffffffffffffffffff1614612a69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a60906150d4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612ad8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612acf90615166565b60405180910390fd5b612ae58383836001612455565b8273ffffffffffffffffffffffffffffffffffffffff16612b0582610e88565b73ffffffffffffffffffffffffffffffffffffffff1614612b5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b52906150d4565b60405180910390fd5b6004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4612ce78383836001612467565b505050565b6060612d128273ffffffffffffffffffffffffffffffffffffffff16601460ff16612d19565b9050919050565b606060006002836002612d2c9190614457565b612d369190615186565b67ffffffffffffffff811115612d4f57612d4e613f38565b5b6040519080825280601f01601f191660200182016040528015612d815781602001600182028036833780820191505090505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110612db957612db861458b565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110612e1d57612e1c61458b565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060006001846002612e5d9190614457565b612e679190615186565b90505b6001811115612f07577f3031323334353637383961626364656600000000000000000000000000000000600f861660108110612ea957612ea861458b565b5b1a60f81b828281518110612ec057612ebf61458b565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c945080612f00906151ba565b9050612e6a565b5060008414612f4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f429061522f565b60405180910390fd5b8091505092915050565b6000808360010160008481526020019081526020016000205490506000811461305d576000600182612f87919061524f565b9050600060018660000180549050612f9f919061524f565b905081811461300e576000866000018281548110612fc057612fbf61458b565b5b9060005260206000200154905080876000018481548110612fe457612fe361458b565b5b90600052602060002001819055508387600101600083815260200190815260200160002081905550505b8560000180548061302257613021615283565b5b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050613063565b60009150505b92915050565b613075848484846133d0565b60018111156130b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016130b090615324565b60405180910390fd5b6000829050600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603613100576130fb816134f6565b61313f565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161461313e5761313d858261353f565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036131815761317c816136ac565b6131c0565b8473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146131bf576131be848261377d565b5b5b5050505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603613235576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161322c90615390565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516133269190613a76565b60405180910390a3505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60007f5a05180f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806133c957506133c8826137fc565b5b9050919050565b60018111156134f057600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146134645780600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461345c919061524f565b925050819055505b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146134ef5780600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546134e79190615186565b925050819055505b5b50505050565b600b80549050600c600083815260200190815260200160002081905550600b81908060018154018082558091505060019003906000526020600020016000909190919091505550565b6000600161354c84611183565b613556919061524f565b90506000600a600084815260200190815260200160002054905081811461363b576000600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008481526020019081526020016000208190555081600a600083815260200190815260200160002081905550505b600a600084815260200190815260200160002060009055600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b60006001600b805490506136c0919061524f565b90506000600c60008481526020019081526020016000205490506000600b83815481106136f0576136ef61458b565b5b9060005260206000200154905080600b83815481106137125761371161458b565b5b906000526020600020018190555081600c600083815260200190815260200160002081905550600c600085815260200190815260200160002060009055600b80548061376157613760615283565b5b6001900381819060005260206000200160009055905550505050565b600061378883611183565b905081600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000208190555080600a600084815260200190815260200160002081905550505050565b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061386f575061386e82613876565b5b9050919050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061394157507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80613951575061395082613958565b5b9050919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b613a0b816139d6565b8114613a1657600080fd5b50565b600081359050613a2881613a02565b92915050565b600060208284031215613a4457613a436139cc565b5b6000613a5284828501613a19565b91505092915050565b60008115159050919050565b613a7081613a5b565b82525050565b6000602082019050613a8b6000830184613a67565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613acb578082015181840152602081019050613ab0565b60008484015250505050565b6000601f19601f8301169050919050565b6000613af382613a91565b613afd8185613a9c565b9350613b0d818560208601613aad565b613b1681613ad7565b840191505092915050565b60006020820190508181036000830152613b3b8184613ae8565b905092915050565b6000819050919050565b613b5681613b43565b8114613b6157600080fd5b50565b600081359050613b7381613b4d565b92915050565b600060208284031215613b8f57613b8e6139cc565b5b6000613b9d84828501613b64565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613bd182613ba6565b9050919050565b613be181613bc6565b82525050565b6000602082019050613bfc6000830184613bd8565b92915050565b613c0b81613bc6565b8114613c1657600080fd5b50565b600081359050613c2881613c02565b92915050565b60008060408385031215613c4557613c446139cc565b5b6000613c5385828601613c19565b9250506020613c6485828601613b64565b9150509250929050565b613c7781613b43565b82525050565b6000602082019050613c926000830184613c6e565b92915050565b600080600060608486031215613cb157613cb06139cc565b5b6000613cbf86828701613c19565b9350506020613cd086828701613c19565b9250506040613ce186828701613b64565b9150509250925092565b6000819050919050565b613cfe81613ceb565b8114613d0957600080fd5b50565b600081359050613d1b81613cf5565b92915050565b600060208284031215613d3757613d366139cc565b5b6000613d4584828501613d0c565b91505092915050565b613d5781613ceb565b82525050565b6000602082019050613d726000830184613d4e565b92915050565b60008060408385031215613d8f57613d8e6139cc565b5b6000613d9d85828601613b64565b9250506020613dae85828601613b64565b9150509250929050565b6000604082019050613dcd6000830185613bd8565b613dda6020830184613c6e565b9392505050565b60008060408385031215613df857613df76139cc565b5b6000613e0685828601613d0c565b9250506020613e1785828601613c19565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613e5681613bc6565b82525050565b6000613e688383613e4d565b60208301905092915050565b6000602082019050919050565b6000613e8c82613e21565b613e968185613e2c565b9350613ea183613e3d565b8060005b83811015613ed2578151613eb98882613e5c565b9750613ec483613e74565b925050600181019050613ea5565b5085935050505092915050565b60006020820190508181036000830152613ef98184613e81565b905092915050565b600060208284031215613f1757613f166139cc565b5b6000613f2584828501613c19565b91505092915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b613f7082613ad7565b810181811067ffffffffffffffff82111715613f8f57613f8e613f38565b5b80604052505050565b6000613fa26139c2565b9050613fae8282613f67565b919050565b600067ffffffffffffffff821115613fce57613fcd613f38565b5b613fd782613ad7565b9050602081019050919050565b82818337600083830152505050565b600061400661400184613fb3565b613f98565b90508281526020810184848401111561402257614021613f33565b5b61402d848285613fe4565b509392505050565b600082601f83011261404a57614049613f2e565b5b813561405a848260208601613ff3565b91505092915050565b600060208284031215614079576140786139cc565b5b600082013567ffffffffffffffff811115614097576140966139d1565b5b6140a384828501614035565b91505092915050565b6000819050919050565b60006140d16140cc6140c784613ba6565b6140ac565b613ba6565b9050919050565b60006140e3826140b6565b9050919050565b60006140f5826140d8565b9050919050565b614105816140ea565b82525050565b600060208201905061412060008301846140fc565b92915050565b6000806040838503121561413d5761413c6139cc565b5b600061414b85828601613d0c565b925050602061415c85828601613b64565b9150509250929050565b61416f81613a5b565b811461417a57600080fd5b50565b60008135905061418c81614166565b92915050565b600080604083850312156141a9576141a86139cc565b5b60006141b785828601613c19565b92505060206141c88582860161417d565b9150509250929050565b600067ffffffffffffffff8211156141ed576141ec613f38565b5b6141f682613ad7565b9050602081019050919050565b6000614216614211846141d2565b613f98565b90508281526020810184848401111561423257614231613f33565b5b61423d848285613fe4565b509392505050565b600082601f83011261425a57614259613f2e565b5b813561426a848260208601614203565b91505092915050565b6000806000806080858703121561428d5761428c6139cc565b5b600061429b87828801613c19565b94505060206142ac87828801613c19565b93505060406142bd87828801613b64565b925050606085013567ffffffffffffffff8111156142de576142dd6139d1565b5b6142ea87828801614245565b91505092959194509250565b6000806040838503121561430d5761430c6139cc565b5b600061431b85828601613c19565b925050602061432c85828601613c19565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061437d57607f821691505b6020821081036143905761438f614336565b5b50919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b60006143f2602d83613a9c565b91506143fd82614396565b604082019050919050565b60006020820190508181036000830152614421816143e5565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061446282613b43565b915061446d83613b43565b925082820261447b81613b43565b9150828204841483151761449257614491614428565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006144d382613b43565b91506144de83613b43565b9250826144ee576144ed614499565b5b828204905092915050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b6000614555602b83613a9c565b9150614560826144f9565b604082019050919050565b6000602082019050818103600083015261458481614548565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006145c582613b43565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036145f7576145f6614428565b5b600182019050919050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b600061465e602f83613a9c565b915061466982614602565b604082019050919050565b6000602082019050818103600083015261468d81614651565b9050919050565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b60006146f0602c83613a9c565b91506146fb82614694565b604082019050919050565b6000602082019050818103600083015261471f816146e3565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026147887fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261474b565b614792868361474b565b95508019841693508086168417925050509392505050565b60006147c56147c06147bb84613b43565b6140ac565b613b43565b9050919050565b6000819050919050565b6147df836147aa565b6147f36147eb826147cc565b848454614758565b825550505050565b600090565b6148086147fb565b6148138184846147d6565b505050565b5b818110156148375761482c600082614800565b600181019050614819565b5050565b601f82111561487c5761484d81614726565b6148568461473b565b81016020851015614865578190505b6148796148718561473b565b830182614818565b50505b505050565b600082821c905092915050565b600061489f60001984600802614881565b1980831691505092915050565b60006148b8838361488e565b9150826002028217905092915050565b6148d182613a91565b67ffffffffffffffff8111156148ea576148e9613f38565b5b6148f48254614365565b6148ff82828561483b565b600060209050601f8311600181146149325760008415614920578287015190505b61492a85826148ac565b865550614992565b601f19841661494086614726565b60005b8281101561496857848901518255600182019150602085019450602081019050614943565b868310156149855784890151614981601f89168261488e565b8355505b6001600288020188555050505b505050505050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b60006149d0601883613a9c565b91506149db8261499a565b602082019050919050565b600060208201905081810360008301526149ff816149c3565b9050919050565b614a0f816139d6565b82525050565b6000602082019050614a2a6000830184614a06565b92915050565b600081519050614a3f81614166565b92915050565b600060208284031215614a5b57614a5a6139cc565b5b6000614a6984828501614a30565b91505092915050565b7f636f6e747261637420646f6573206e6f7420696d706c656d656e742049526f7960008201527f616c7479416c6c6f776c69737400000000000000000000000000000000000000602082015250565b6000614ace602d83613a9c565b9150614ad982614a72565b604082019050919050565b60006020820190508181036000830152614afd81614ac1565b9050919050565b6000604082019050614b196000830185613bd8565b614b266020830184613bd8565b9392505050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b6000614b89602983613a9c565b9150614b9482614b2d565b604082019050919050565b60006020820190508181036000830152614bb881614b7c565b9050919050565b600081905092915050565b6000614bd582613a91565b614bdf8185614bbf565b9350614bef818560208601613aad565b80840191505092915050565b6000614c078285614bca565b9150614c138284614bca565b91508190509392505050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b6000614c7b603283613a9c565b9150614c8682614c1f565b604082019050919050565b60006020820190508181036000830152614caa81614c6e565b9050919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000614d0d602183613a9c565b9150614d1882614cb1565b604082019050919050565b60006020820190508181036000830152614d3c81614d00565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b6000614d9f603d83613a9c565b9150614daa82614d43565b604082019050919050565b60006020820190508181036000830152614dce81614d92565b9050919050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b6000614e0b601783614bbf565b9150614e1682614dd5565b601782019050919050565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b6000614e57601183614bbf565b9150614e6282614e21565b601182019050919050565b6000614e7882614dfe565b9150614e848285614bca565b9150614e8f82614e4a565b9150614e9b8284614bca565b91508190509392505050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b6000614edd602083613a9c565b9150614ee882614ea7565b602082019050919050565b60006020820190508181036000830152614f0c81614ed0565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b6000614f49601c83613a9c565b9150614f5482614f13565b602082019050919050565b60006020820190508181036000830152614f7881614f3c565b9050919050565b600081519050919050565b600082825260208201905092915050565b6000614fa682614f7f565b614fb08185614f8a565b9350614fc0818560208601613aad565b614fc981613ad7565b840191505092915050565b6000608082019050614fe96000830187613bd8565b614ff66020830186613bd8565b6150036040830185613c6e565b81810360608301526150158184614f9b565b905095945050505050565b60008151905061502f81613a02565b92915050565b60006020828403121561504b5761504a6139cc565b5b600061505984828501615020565b91505092915050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b60006150be602583613a9c565b91506150c982615062565b604082019050919050565b600060208201905081810360008301526150ed816150b1565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000615150602483613a9c565b915061515b826150f4565b604082019050919050565b6000602082019050818103600083015261517f81615143565b9050919050565b600061519182613b43565b915061519c83613b43565b92508282019050808211156151b4576151b3614428565b5b92915050565b60006151c582613b43565b9150600082036151d8576151d7614428565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b6000615219602083613a9c565b9150615224826151e3565b602082019050919050565b600060208201905081810360008301526152488161520c565b9050919050565b600061525a82613b43565b915061526583613b43565b925082820390508181111561527d5761527c614428565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f455243373231456e756d657261626c653a20636f6e736563757469766520747260008201527f616e7366657273206e6f7420737570706f727465640000000000000000000000602082015250565b600061530e603583613a9c565b9150615319826152b2565b604082019050919050565b6000602082019050818103600083015261533d81615301565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b600061537a601983613a9c565b915061538582615344565b602082019050919050565b600060208201905081810360008301526153a98161536d565b905091905056fea2646970667358221220f2de678fa1f1a3fc28d8056ba46769331f91c7536f9259f07a82f3f97942823964736f6c63430008110033";
|
|
8432
|
+
const isSuperArgs = (xs) => xs.length > 1;
|
|
8433
|
+
class ImmutableERC721PermissionedMintable__factory extends ethers.ContractFactory {
|
|
8434
|
+
constructor(...args) {
|
|
8435
|
+
if (isSuperArgs(args)) {
|
|
8436
|
+
super(...args);
|
|
8437
|
+
}
|
|
8438
|
+
else {
|
|
8439
|
+
super(_abi, _bytecode, args[0]);
|
|
8440
|
+
}
|
|
8441
|
+
}
|
|
8442
|
+
deploy(owner_, name_, symbol_, baseURI_, contractURI_, _receiver, _feeNumerator, overrides) {
|
|
8443
|
+
return super.deploy(owner_, name_, symbol_, baseURI_, contractURI_, _receiver, _feeNumerator, overrides || {});
|
|
8444
|
+
}
|
|
8445
|
+
getDeployTransaction(owner_, name_, symbol_, baseURI_, contractURI_, _receiver, _feeNumerator, overrides) {
|
|
8446
|
+
return super.getDeployTransaction(owner_, name_, symbol_, baseURI_, contractURI_, _receiver, _feeNumerator, overrides || {});
|
|
8447
|
+
}
|
|
8448
|
+
attach(address) {
|
|
8449
|
+
return super.attach(address);
|
|
8450
|
+
}
|
|
8451
|
+
connect(signer) {
|
|
8452
|
+
return super.connect(signer);
|
|
8453
|
+
}
|
|
8454
|
+
static bytecode = _bytecode;
|
|
8455
|
+
static abi = _abi;
|
|
8456
|
+
static createInterface() {
|
|
8457
|
+
return new ethers.utils.Interface(_abi);
|
|
8458
|
+
}
|
|
8459
|
+
static connect(address, signerOrProvider) {
|
|
8460
|
+
return new ethers.Contract(address, _abi, signerOrProvider);
|
|
8461
|
+
}
|
|
8462
|
+
}
|
|
8463
|
+
|
|
8464
|
+
class ERC20 {
|
|
8465
|
+
contract;
|
|
8466
|
+
constructor(contractAddress) {
|
|
8467
|
+
const factory = new ERC20__factory();
|
|
8468
|
+
this.contract = factory.attach(contractAddress);
|
|
8469
|
+
}
|
|
8470
|
+
/**
|
|
8471
|
+
* @returns a promise that resolves with a populated transaction
|
|
8472
|
+
*/
|
|
8473
|
+
async totalSupply(overrides) {
|
|
8474
|
+
return this.contract.populateTransaction.totalSupply(overrides);
|
|
8475
|
+
}
|
|
8476
|
+
/**
|
|
8477
|
+
* @returns a promise that resolves with a populated transaction
|
|
8478
|
+
*/
|
|
8479
|
+
async balanceOf(account, overrides) {
|
|
8480
|
+
return this.contract.populateTransaction.balanceOf(account, overrides);
|
|
8481
|
+
}
|
|
8482
|
+
/**
|
|
8483
|
+
* @returns a promise that resolves with a populated transaction
|
|
8484
|
+
*/
|
|
8485
|
+
async transfer(to, amount, overrides) {
|
|
8486
|
+
return this.contract.populateTransaction.transfer(to, amount, overrides);
|
|
8487
|
+
}
|
|
8488
|
+
/**
|
|
8489
|
+
* @returns a promise that resolves with a populated transaction
|
|
8490
|
+
*/
|
|
8491
|
+
async allowance(owner, spender, overrides) {
|
|
8492
|
+
return this.contract.populateTransaction.allowance(owner, spender, overrides);
|
|
8493
|
+
}
|
|
8494
|
+
/**
|
|
8495
|
+
* @returns a promise that resolves with a populated transaction
|
|
8496
|
+
*/
|
|
8497
|
+
async approve(spender, amount, overrides) {
|
|
8498
|
+
return this.contract.populateTransaction.approve(spender, amount, overrides);
|
|
8499
|
+
}
|
|
8500
|
+
/**
|
|
8501
|
+
* @returns a promise that resolves with a populated transaction
|
|
8502
|
+
*/
|
|
8503
|
+
async transferFrom(from, to, amount, overrides) {
|
|
8504
|
+
return this.contract.populateTransaction.transferFrom(from, to, amount, overrides);
|
|
8505
|
+
}
|
|
8506
|
+
}
|
|
8507
|
+
|
|
8508
|
+
class ERC721PermissionedMintable {
|
|
8509
|
+
contract;
|
|
8510
|
+
constructor(contractAddress) {
|
|
8511
|
+
const factory = new ImmutableERC721PermissionedMintable__factory();
|
|
8512
|
+
this.contract = factory.attach(contractAddress);
|
|
8513
|
+
}
|
|
8514
|
+
/**
|
|
8515
|
+
* @returns a promise that resolves with a populated transaction
|
|
8516
|
+
*/
|
|
8517
|
+
async DEFAULT_ADMIN_ROLE(overrides) {
|
|
8518
|
+
return await this.contract.populateTransaction.DEFAULT_ADMIN_ROLE(overrides);
|
|
8519
|
+
}
|
|
8520
|
+
/**
|
|
8521
|
+
* @returns a promise that resolves with a populated transaction
|
|
8522
|
+
*/
|
|
8523
|
+
async MINTER_ROLE(overrides) {
|
|
8524
|
+
return await this.contract.populateTransaction.MINTER_ROLE(overrides);
|
|
8525
|
+
}
|
|
8526
|
+
/**
|
|
8527
|
+
* @returns a promise that resolves with a populated transaction
|
|
8528
|
+
*/
|
|
8529
|
+
async approve(to, tokenId, overrides) {
|
|
8530
|
+
return await this.contract.populateTransaction.approve(to, tokenId, overrides);
|
|
8531
|
+
}
|
|
8532
|
+
/**
|
|
8533
|
+
* @returns a promise that resolves with a populated transaction
|
|
8534
|
+
*/
|
|
8535
|
+
async balanceOf(owner, overrides) {
|
|
8536
|
+
return await this.contract.populateTransaction.balanceOf(owner, overrides);
|
|
8537
|
+
}
|
|
8538
|
+
/**
|
|
8539
|
+
* @returns a promise that resolves with a populated transaction
|
|
8540
|
+
*/
|
|
8541
|
+
async baseURI(overrides) {
|
|
8542
|
+
return await this.contract.populateTransaction.baseURI(overrides);
|
|
8543
|
+
}
|
|
8544
|
+
/**
|
|
8545
|
+
* @returns a promise that resolves with a populated transaction
|
|
8546
|
+
*/
|
|
8547
|
+
async burn(tokenId, overrides) {
|
|
8548
|
+
return await this.contract.populateTransaction.burn(tokenId, overrides);
|
|
8549
|
+
}
|
|
8550
|
+
/**
|
|
8551
|
+
* @returns a promise that resolves with a populated transaction
|
|
8552
|
+
*/
|
|
8553
|
+
async contractURI(overrides) {
|
|
8554
|
+
return await this.contract.populateTransaction.contractURI(overrides);
|
|
8555
|
+
}
|
|
8556
|
+
/**
|
|
8557
|
+
* @returns a promise that resolves with a populated transaction
|
|
8558
|
+
*/
|
|
8559
|
+
async getAdmins(overrides) {
|
|
8560
|
+
return await this.contract.populateTransaction.getAdmins(overrides);
|
|
8561
|
+
}
|
|
8562
|
+
/**
|
|
8563
|
+
* @returns a promise that resolves with a populated transaction
|
|
8564
|
+
*/
|
|
8565
|
+
async getApproved(tokenId, overrides) {
|
|
8566
|
+
return await this.contract.populateTransaction.getApproved(tokenId, overrides);
|
|
8567
|
+
}
|
|
8568
|
+
/**
|
|
8569
|
+
* @returns a promise that resolves with a populated transaction
|
|
8570
|
+
*/
|
|
8571
|
+
async getRoleAdmin(role, overrides) {
|
|
8572
|
+
return await this.contract.populateTransaction.getRoleAdmin(role, overrides);
|
|
8573
|
+
}
|
|
8574
|
+
/**
|
|
8575
|
+
* @returns a promise that resolves with a populated transaction
|
|
8576
|
+
*/
|
|
8577
|
+
async getRoleMember(role, index, overrides) {
|
|
8578
|
+
return await this.contract.populateTransaction.getRoleMember(role, index, overrides);
|
|
8579
|
+
}
|
|
8580
|
+
/**
|
|
8581
|
+
* @returns a promise that resolves with a populated transaction
|
|
8582
|
+
*/
|
|
8583
|
+
async getRoleMemberCount(role, overrides) {
|
|
8584
|
+
return await this.contract.populateTransaction.getRoleMemberCount(role, overrides);
|
|
8585
|
+
}
|
|
8586
|
+
/**
|
|
8587
|
+
* @returns a promise that resolves with a populated transaction
|
|
8588
|
+
*/
|
|
8589
|
+
async grantMinterRole(user, overrides) {
|
|
8590
|
+
return await this.contract.populateTransaction.grantMinterRole(user, overrides);
|
|
8591
|
+
}
|
|
8592
|
+
/**
|
|
8593
|
+
* @returns a promise that resolves with a populated transaction
|
|
8594
|
+
*/
|
|
8595
|
+
async grantRole(role, account, overrides) {
|
|
8596
|
+
return await this.contract.populateTransaction.grantRole(role, account, overrides);
|
|
8597
|
+
}
|
|
8598
|
+
/**
|
|
8599
|
+
* @returns a promise that resolves with a populated transaction
|
|
8600
|
+
*/
|
|
8601
|
+
async hasRole(role, account, overrides) {
|
|
8602
|
+
return await this.contract.populateTransaction.hasRole(role, account, overrides);
|
|
8603
|
+
}
|
|
8604
|
+
/**
|
|
8605
|
+
* @returns a promise that resolves with a populated transaction
|
|
8606
|
+
*/
|
|
8607
|
+
async isApprovedForAll(owner, operator, overrides) {
|
|
8608
|
+
return await this.contract.populateTransaction.isApprovedForAll(owner, operator, overrides);
|
|
8609
|
+
}
|
|
8610
|
+
/**
|
|
8611
|
+
* @returns a promise that resolves with a populated transaction
|
|
8612
|
+
*/
|
|
8613
|
+
async mint(to, amount, overrides) {
|
|
8614
|
+
return await this.contract.populateTransaction.mint(to, amount, overrides);
|
|
8615
|
+
}
|
|
8616
|
+
/**
|
|
8617
|
+
* @returns a promise that resolves with a populated transaction
|
|
8618
|
+
*/
|
|
8619
|
+
async name(overrides) {
|
|
8620
|
+
return await this.contract.populateTransaction.name(overrides);
|
|
8621
|
+
}
|
|
8622
|
+
/**
|
|
8623
|
+
* @returns a promise that resolves with a populated transaction
|
|
8624
|
+
*/
|
|
8625
|
+
async ownerOf(tokenId, overrides) {
|
|
8626
|
+
return await this.contract.populateTransaction.ownerOf(tokenId, overrides);
|
|
8627
|
+
}
|
|
8628
|
+
/**
|
|
8629
|
+
* @returns a promise that resolves with a populated transaction
|
|
8630
|
+
*/
|
|
8631
|
+
async renounceRole(role, account, overrides) {
|
|
8632
|
+
return await this.contract.populateTransaction.renounceRole(role, account, overrides);
|
|
8633
|
+
}
|
|
8634
|
+
/**
|
|
8635
|
+
* @returns a promise that resolves with a populated transaction
|
|
8636
|
+
*/
|
|
8637
|
+
async revokeMinterRole(user, overrides) {
|
|
8638
|
+
return await this.contract.populateTransaction.revokeMinterRole(user, overrides);
|
|
8639
|
+
}
|
|
8640
|
+
/**
|
|
8641
|
+
* @returns a promise that resolves with a populated transaction
|
|
8642
|
+
*/
|
|
8643
|
+
async revokeRole(role, account, overrides) {
|
|
8644
|
+
return await this.contract.populateTransaction.revokeRole(role, account, overrides);
|
|
8645
|
+
}
|
|
8646
|
+
/**
|
|
8647
|
+
* @returns a promise that resolves with a populated transaction
|
|
8648
|
+
*/
|
|
8649
|
+
async royaltyAllowlist(overrides) {
|
|
8650
|
+
return await this.contract.populateTransaction.royaltyAllowlist(overrides);
|
|
8651
|
+
}
|
|
8652
|
+
/**
|
|
8653
|
+
* @returns a promise that resolves with a populated transaction
|
|
8654
|
+
*/
|
|
8655
|
+
async royaltyInfo(_tokenId, _salePrice, overrides) {
|
|
8656
|
+
return await this.contract.populateTransaction.royaltyInfo(_tokenId, _salePrice, overrides);
|
|
8657
|
+
}
|
|
8658
|
+
/**
|
|
8659
|
+
* @returns a promise that resolves with a populated transaction
|
|
8660
|
+
*/
|
|
8661
|
+
async 'safeTransferFrom(address,address,uint256)'(from, to, tokenId, overrides) {
|
|
8662
|
+
return await this.contract.populateTransaction['safeTransferFrom(address,address,uint256)'](from, to, tokenId, overrides);
|
|
8663
|
+
}
|
|
8664
|
+
/**
|
|
8665
|
+
* @returns a promise that resolves with a populated transaction
|
|
8666
|
+
*/
|
|
8667
|
+
async 'safeTransferFrom(address,address,uint256,bytes)'(from, to, tokenId, data, overrides) {
|
|
8668
|
+
return await this.contract.populateTransaction['safeTransferFrom(address,address,uint256,bytes)'](from, to, tokenId, data, overrides);
|
|
8669
|
+
}
|
|
8670
|
+
/**
|
|
8671
|
+
* @returns a promise that resolves with a populated transaction
|
|
8672
|
+
*/
|
|
8673
|
+
async setApprovalForAll(operator, approved, overrides) {
|
|
8674
|
+
return await this.contract.populateTransaction.setApprovalForAll(operator, approved, overrides);
|
|
8675
|
+
}
|
|
8676
|
+
/**
|
|
8677
|
+
* @returns a promise that resolves with a populated transaction
|
|
8678
|
+
*/
|
|
8679
|
+
async setBaseURI(baseURI_, overrides) {
|
|
8680
|
+
return await this.contract.populateTransaction.setBaseURI(baseURI_, overrides);
|
|
8681
|
+
}
|
|
8682
|
+
/**
|
|
8683
|
+
* @returns a promise that resolves with a populated transaction
|
|
8684
|
+
*/
|
|
8685
|
+
async setContractURI(_contractURI, overrides) {
|
|
8686
|
+
return await this.contract.populateTransaction.setContractURI(_contractURI, overrides);
|
|
8687
|
+
}
|
|
8688
|
+
/**
|
|
8689
|
+
* @returns a promise that resolves with a populated transaction
|
|
8690
|
+
*/
|
|
8691
|
+
async setRoyaltyAllowlistRegistry(_royaltyAllowlist, overrides) {
|
|
8692
|
+
return await this.contract.populateTransaction.setRoyaltyAllowlistRegistry(_royaltyAllowlist, overrides);
|
|
8693
|
+
}
|
|
8694
|
+
/**
|
|
8695
|
+
* @returns a promise that resolves with a populated transaction
|
|
8696
|
+
*/
|
|
8697
|
+
async symbol(overrides) {
|
|
8698
|
+
return await this.contract.populateTransaction.symbol(overrides);
|
|
8699
|
+
}
|
|
8700
|
+
/**
|
|
8701
|
+
* @returns a promise that resolves with a populated transaction
|
|
8702
|
+
*/
|
|
8703
|
+
async tokenByIndex(index, overrides) {
|
|
8704
|
+
return await this.contract.populateTransaction.tokenByIndex(index, overrides);
|
|
8705
|
+
}
|
|
8706
|
+
/**
|
|
8707
|
+
* @returns a promise that resolves with a populated transaction
|
|
8708
|
+
*/
|
|
8709
|
+
async tokenOfOwnerByIndex(owner, index, overrides) {
|
|
8710
|
+
return await this.contract.populateTransaction.tokenOfOwnerByIndex(owner, index, overrides);
|
|
8711
|
+
}
|
|
8712
|
+
/**
|
|
8713
|
+
* @returns a promise that resolves with a populated transaction
|
|
8714
|
+
*/
|
|
8715
|
+
async tokenURI(tokenId, overrides) {
|
|
8716
|
+
return await this.contract.populateTransaction.tokenURI(tokenId, overrides);
|
|
8717
|
+
}
|
|
8718
|
+
/**
|
|
8719
|
+
* @returns a promise that resolves with a populated transaction
|
|
8720
|
+
*/
|
|
8721
|
+
async totalSupply(overrides) {
|
|
8722
|
+
return await this.contract.populateTransaction.totalSupply(overrides);
|
|
8723
|
+
}
|
|
8724
|
+
}
|
|
6660
8725
|
|
|
6661
8726
|
Object.defineProperty(exports, 'imxClientCreateStarkSigner', {
|
|
6662
8727
|
enumerable: true,
|
|
@@ -6673,6 +8738,8 @@ exports.BuyReact = $f22931ca9e2f35b6$export$d13582032b79b401;
|
|
|
6673
8738
|
exports.Checkout = $a8cb37a3fc8eb863$export$1f60ba4ec72508a0;
|
|
6674
8739
|
exports.CheckoutWidgets = $430e3eda76fa4d5f$export$af210a0808087845;
|
|
6675
8740
|
exports.ConnectReact = $f2083cd30e2f5c56$export$49d62957f420a1e2;
|
|
8741
|
+
exports.ERC20 = ERC20;
|
|
8742
|
+
exports.ERC721PermissionedMintable = ERC721PermissionedMintable;
|
|
6676
8743
|
exports.ExampleReact = $d087956fd1002f80$export$fa517eee6594d26c;
|
|
6677
8744
|
exports.GenericIMXProvider = GenericIMXProvider;
|
|
6678
8745
|
exports.ImmutableConfiguration = ImmutableConfiguration;
|
|
@@ -6686,6 +8753,4 @@ exports.SetProvider = $430e3eda76fa4d5f$export$931068bc678f0d73;
|
|
|
6686
8753
|
exports.SwapReact = $a4fbb8e3a6aeff58$export$971e031379577f4;
|
|
6687
8754
|
exports.UpdateConfig = $430e3eda76fa4d5f$export$bf1548ba7e61c17f;
|
|
6688
8755
|
exports.WalletReact = $89d55ace0f8f1c07$export$ceaac94f34dba154;
|
|
6689
|
-
exports.erc20 = erc20;
|
|
6690
|
-
exports.erc721permissionedmintable = erc721permissionedmintable;
|
|
6691
8756
|
exports.module = module$1;
|