decentraland-dapps 13.41.0 → 13.42.0

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.
@@ -16,6 +16,22 @@ export declare const fetchAuthorizationsFailure: (authorizations: Authorization[
16
16
  export declare type FetchAuthorizationsRequestAction = ReturnType<typeof fetchAuthorizationsRequest>;
17
17
  export declare type FetchAuthorizationsSuccessAction = ReturnType<typeof fetchAuthorizationsSuccess>;
18
18
  export declare type FetchAuthorizationsFailureAction = ReturnType<typeof fetchAuthorizationsFailure>;
19
+ export declare const FETCH_AUTHORIZATION_REQUEST = "[Request] Fetch Authorization";
20
+ export declare const FETCH_AUTHORIZATION_SUCCESS = "[Success] Fetch Authorization";
21
+ export declare const FETCH_AUTHORIZATION_FAILURE = "[Failure] Fetch Authorization";
22
+ export declare const fetchAuthorizationRequest: (authorization: Authorization) => import("typesafe-actions/dist/types").PayloadAction<"[Request] Fetch Authorization", {
23
+ authorization: Authorization;
24
+ }>;
25
+ export declare const fetchAuthorizationSuccess: (authorization: Authorization | null) => import("typesafe-actions/dist/types").PayloadAction<"[Success] Fetch Authorization", {
26
+ authorization: Authorization | null;
27
+ }>;
28
+ export declare const fetchAuthorizationFailure: (authorization: Authorization, error: string) => import("typesafe-actions/dist/types").PayloadAction<"[Failure] Fetch Authorization", {
29
+ authorization: Authorization;
30
+ error: string;
31
+ }>;
32
+ export declare type FetchAuthorizationRequestAction = ReturnType<typeof fetchAuthorizationRequest>;
33
+ export declare type FetchAuthorizationSuccessAction = ReturnType<typeof fetchAuthorizationSuccess>;
34
+ export declare type FetchAuthorizationFailureAction = ReturnType<typeof fetchAuthorizationFailure>;
19
35
  export declare const GRANT_TOKEN_REQUEST = "[Request] Grant Token";
20
36
  export declare const GRANT_TOKEN_SUCCESS = "[Success] Grant Token";
21
37
  export declare const GRANT_TOKEN_FAILURE = "[Failure] Grant Token";
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.revokeTokenFailure = exports.revokeTokenSuccess = exports.revokeTokenRequest = exports.REVOKE_TOKEN_FAILURE = exports.REVOKE_TOKEN_SUCCESS = exports.REVOKE_TOKEN_REQUEST = exports.grantTokenFailure = exports.grantTokenSuccess = exports.grantTokenRequest = exports.GRANT_TOKEN_FAILURE = exports.GRANT_TOKEN_SUCCESS = exports.GRANT_TOKEN_REQUEST = exports.fetchAuthorizationsFailure = exports.fetchAuthorizationsSuccess = exports.fetchAuthorizationsRequest = exports.FETCH_AUTHORIZATIONS_FAILURE = exports.FETCH_AUTHORIZATIONS_SUCCESS = exports.FETCH_AUTHORIZATIONS_REQUEST = void 0;
3
+ exports.revokeTokenFailure = exports.revokeTokenSuccess = exports.revokeTokenRequest = exports.REVOKE_TOKEN_FAILURE = exports.REVOKE_TOKEN_SUCCESS = exports.REVOKE_TOKEN_REQUEST = exports.grantTokenFailure = exports.grantTokenSuccess = exports.grantTokenRequest = exports.GRANT_TOKEN_FAILURE = exports.GRANT_TOKEN_SUCCESS = exports.GRANT_TOKEN_REQUEST = exports.fetchAuthorizationFailure = exports.fetchAuthorizationSuccess = exports.fetchAuthorizationRequest = exports.FETCH_AUTHORIZATION_FAILURE = exports.FETCH_AUTHORIZATION_SUCCESS = exports.FETCH_AUTHORIZATION_REQUEST = exports.fetchAuthorizationsFailure = exports.fetchAuthorizationsSuccess = exports.fetchAuthorizationsRequest = exports.FETCH_AUTHORIZATIONS_FAILURE = exports.FETCH_AUTHORIZATIONS_SUCCESS = exports.FETCH_AUTHORIZATIONS_REQUEST = void 0;
4
4
  const typesafe_actions_1 = require("typesafe-actions");
5
5
  const utils_1 = require("../transaction/utils");
6
- // Fetch authorization
6
+ // Fetch authorizations
7
7
  exports.FETCH_AUTHORIZATIONS_REQUEST = '[Request] Fetch Authorizations';
8
8
  exports.FETCH_AUTHORIZATIONS_SUCCESS = '[Success] Fetch Authorizations';
9
9
  exports.FETCH_AUTHORIZATIONS_FAILURE = '[Failure] Fetch Authorizations';
@@ -13,6 +13,16 @@ const fetchAuthorizationsSuccess = (authorizations) => (0, typesafe_actions_1.ac
13
13
  exports.fetchAuthorizationsSuccess = fetchAuthorizationsSuccess;
14
14
  const fetchAuthorizationsFailure = (authorizations, error) => (0, typesafe_actions_1.action)(exports.FETCH_AUTHORIZATIONS_FAILURE, { authorizations, error });
15
15
  exports.fetchAuthorizationsFailure = fetchAuthorizationsFailure;
16
+ // Fetch authorization
17
+ exports.FETCH_AUTHORIZATION_REQUEST = '[Request] Fetch Authorization';
18
+ exports.FETCH_AUTHORIZATION_SUCCESS = '[Success] Fetch Authorization';
19
+ exports.FETCH_AUTHORIZATION_FAILURE = '[Failure] Fetch Authorization';
20
+ const fetchAuthorizationRequest = (authorization) => (0, typesafe_actions_1.action)(exports.FETCH_AUTHORIZATION_REQUEST, { authorization });
21
+ exports.fetchAuthorizationRequest = fetchAuthorizationRequest;
22
+ const fetchAuthorizationSuccess = (authorization) => (0, typesafe_actions_1.action)(exports.FETCH_AUTHORIZATION_SUCCESS, { authorization });
23
+ exports.fetchAuthorizationSuccess = fetchAuthorizationSuccess;
24
+ const fetchAuthorizationFailure = (authorization, error) => (0, typesafe_actions_1.action)(exports.FETCH_AUTHORIZATION_FAILURE, { authorization, error });
25
+ exports.fetchAuthorizationFailure = fetchAuthorizationFailure;
16
26
  // Grant Token
17
27
  exports.GRANT_TOKEN_REQUEST = '[Request] Grant Token';
18
28
  exports.GRANT_TOKEN_SUCCESS = '[Success] Grant Token';
@@ -1 +1 @@
1
- {"version":3,"file":"actions.js","sourceRoot":"","sources":["../../../src/modules/authorization/actions.ts"],"names":[],"mappings":";;;AACA,uDAAyC;AACzC,gDAA8D;AAG9D,sBAAsB;AAET,QAAA,4BAA4B,GAAG,gCAAgC,CAAA;AAC/D,QAAA,4BAA4B,GAAG,gCAAgC,CAAA;AAC/D,QAAA,4BAA4B,GAAG,gCAAgC,CAAA;AAErE,MAAM,0BAA0B,GAAG,CAAC,cAA+B,EAAE,EAAE,CAC5E,IAAA,yBAAM,EAAC,oCAA4B,EAAE,EAAE,cAAc,EAAE,CAAC,CAAA;AAD7C,QAAA,0BAA0B,8BACmB;AAEnD,MAAM,0BAA0B,GAAG,CAAC,cAA+B,EAAE,EAAE,CAC5E,IAAA,yBAAM,EAAC,oCAA4B,EAAE,EAAE,cAAc,EAAE,CAAC,CAAA;AAD7C,QAAA,0BAA0B,8BACmB;AAEnD,MAAM,0BAA0B,GAAG,CACxC,cAA+B,EAC/B,KAAa,EACb,EAAE,CAAC,IAAA,yBAAM,EAAC,oCAA4B,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAA;AAHvD,QAAA,0BAA0B,8BAG6B;AAYpE,cAAc;AAED,QAAA,mBAAmB,GAAG,uBAAuB,CAAA;AAC7C,QAAA,mBAAmB,GAAG,uBAAuB,CAAA;AAC7C,QAAA,mBAAmB,GAAG,uBAAuB,CAAA;AAEnD,MAAM,iBAAiB,GAAG,CAAC,aAA4B,EAAE,EAAE,CAChE,IAAA,yBAAM,EAAC,2BAAmB,EAAE;IAC1B,aAAa;CACd,CAAC,CAAA;AAHS,QAAA,iBAAiB,qBAG1B;AAEG,MAAM,iBAAiB,GAAG,CAC/B,aAA4B,EAC5B,OAAgB,EAChB,MAAc,EACd,EAAE,CACF,IAAA,yBAAM,EAAC,2BAAmB,kCACrB,IAAA,+BAAuB,EAAC,OAAO,EAAE,MAAM,EAAE;IAC1C,aAAa;CACd,CAAC,KACF,aAAa,IACb,CAAA;AAVS,QAAA,iBAAiB,qBAU1B;AAEG,MAAM,iBAAiB,GAAG,CAC/B,aAA4B,EAC5B,KAAa,EACb,EAAE,CAAC,IAAA,yBAAM,EAAC,2BAAmB,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAA;AAH7C,QAAA,iBAAiB,qBAG4B;AAM1D,eAAe;AAEF,QAAA,oBAAoB,GAAG,wBAAwB,CAAA;AAC/C,QAAA,oBAAoB,GAAG,wBAAwB,CAAA;AAC/C,QAAA,oBAAoB,GAAG,wBAAwB,CAAA;AAErD,MAAM,kBAAkB,GAAG,CAAC,aAA4B,EAAE,EAAE,CACjE,IAAA,yBAAM,EAAC,4BAAoB,EAAE;IAC3B,aAAa;CACd,CAAC,CAAA;AAHS,QAAA,kBAAkB,sBAG3B;AAEG,MAAM,kBAAkB,GAAG,CAChC,aAA4B,EAC5B,OAAgB,EAChB,MAAc,EACd,EAAE,CACF,IAAA,yBAAM,EAAC,4BAAoB,kCACtB,IAAA,+BAAuB,EAAC,OAAO,EAAE,MAAM,EAAE;IAC1C,aAAa;CACd,CAAC,KACF,aAAa,IACb,CAAA;AAVS,QAAA,kBAAkB,sBAU3B;AAEG,MAAM,kBAAkB,GAAG,CAChC,aAA4B,EAC5B,KAAa,EACb,EAAE,CAAC,IAAA,yBAAM,EAAC,4BAAoB,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAA;AAH9C,QAAA,kBAAkB,sBAG4B"}
1
+ {"version":3,"file":"actions.js","sourceRoot":"","sources":["../../../src/modules/authorization/actions.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,12 @@
1
1
  import { LoadingState } from '../loading/reducer';
2
2
  import { FetchTransactionSuccessAction } from '../transaction/actions';
3
- import { FetchAuthorizationsRequestAction, FetchAuthorizationsSuccessAction, FetchAuthorizationsFailureAction, GrantTokenRequestAction, GrantTokenSuccessAction, GrantTokenFailureAction, RevokeTokenRequestAction, RevokeTokenSuccessAction, RevokeTokenFailureAction } from './actions';
3
+ import { FetchAuthorizationsRequestAction, FetchAuthorizationsSuccessAction, FetchAuthorizationsFailureAction, FetchAuthorizationRequestAction, FetchAuthorizationSuccessAction, FetchAuthorizationFailureAction, GrantTokenRequestAction, GrantTokenSuccessAction, GrantTokenFailureAction, RevokeTokenRequestAction, RevokeTokenSuccessAction, RevokeTokenFailureAction } from './actions';
4
4
  import { Authorization } from './types';
5
5
  export declare type AuthorizationState = {
6
6
  data: Authorization[];
7
7
  loading: LoadingState;
8
8
  error: string | null;
9
9
  };
10
- declare type AuthorizationReducerAction = FetchAuthorizationsRequestAction | FetchAuthorizationsSuccessAction | FetchAuthorizationsFailureAction | GrantTokenRequestAction | GrantTokenSuccessAction | GrantTokenFailureAction | RevokeTokenRequestAction | RevokeTokenSuccessAction | RevokeTokenFailureAction | FetchTransactionSuccessAction;
11
- export declare function authorizationReducer(state: AuthorizationState | undefined, action: AuthorizationReducerAction): {
12
- data: any[];
13
- loading: LoadingState;
14
- error: string | null;
15
- };
10
+ declare type AuthorizationReducerAction = FetchAuthorizationsRequestAction | FetchAuthorizationsSuccessAction | FetchAuthorizationsFailureAction | FetchAuthorizationRequestAction | FetchAuthorizationSuccessAction | FetchAuthorizationFailureAction | GrantTokenRequestAction | GrantTokenSuccessAction | GrantTokenFailureAction | RevokeTokenRequestAction | RevokeTokenSuccessAction | RevokeTokenFailureAction | FetchTransactionSuccessAction;
11
+ export declare function authorizationReducer(state: AuthorizationState | undefined, action: AuthorizationReducerAction): AuthorizationState;
16
12
  export {};
@@ -16,7 +16,8 @@ function authorizationReducer(state = INITIAL_STATE, action) {
16
16
  case actions_2.REVOKE_TOKEN_REQUEST:
17
17
  case actions_2.GRANT_TOKEN_SUCCESS:
18
18
  case actions_2.REVOKE_TOKEN_SUCCESS:
19
- case actions_2.FETCH_AUTHORIZATIONS_REQUEST: {
19
+ case actions_2.FETCH_AUTHORIZATIONS_REQUEST:
20
+ case actions_2.FETCH_AUTHORIZATION_REQUEST: {
20
21
  return Object.assign(Object.assign({}, state), { loading: (0, reducer_1.loadingReducer)(state.loading, action) });
21
22
  }
22
23
  case actions_2.FETCH_AUTHORIZATIONS_SUCCESS: {
@@ -27,9 +28,23 @@ function authorizationReducer(state = INITIAL_STATE, action) {
27
28
  data: [...state.data, ...authorizations]
28
29
  };
29
30
  }
31
+ case actions_2.FETCH_AUTHORIZATION_SUCCESS: {
32
+ const { authorization } = action.payload;
33
+ let data = [...state.data];
34
+ if (authorization) {
35
+ data = data.filter(stateAuthorization => !(0, utils_1.areEqual)(stateAuthorization, authorization));
36
+ data.push(authorization);
37
+ }
38
+ return {
39
+ loading: (0, reducer_1.loadingReducer)(state.loading, action),
40
+ error: null,
41
+ data
42
+ };
43
+ }
30
44
  case actions_2.GRANT_TOKEN_FAILURE:
31
45
  case actions_2.REVOKE_TOKEN_FAILURE:
32
- case actions_2.FETCH_AUTHORIZATIONS_FAILURE: {
46
+ case actions_2.FETCH_AUTHORIZATIONS_FAILURE:
47
+ case actions_2.FETCH_AUTHORIZATION_FAILURE: {
33
48
  return Object.assign(Object.assign({}, state), { loading: (0, reducer_1.loadingReducer)(state.loading, action), error: action.payload.error });
34
49
  }
35
50
  case actions_1.FETCH_TRANSACTION_SUCCESS: {
@@ -37,7 +52,9 @@ function authorizationReducer(state = INITIAL_STATE, action) {
37
52
  switch (transaction.actionType) {
38
53
  case actions_2.GRANT_TOKEN_SUCCESS: {
39
54
  const { authorization } = transaction.payload;
40
- return Object.assign(Object.assign({}, state), { data: [...state.data, Object.assign({}, authorization)] });
55
+ const data = state.data.filter(stateAuthorization => !(0, utils_1.areEqual)(stateAuthorization, authorization));
56
+ data.push(authorization);
57
+ return Object.assign(Object.assign({}, state), { data });
41
58
  }
42
59
  case actions_2.REVOKE_TOKEN_SUCCESS: {
43
60
  const { authorization } = transaction.payload;
@@ -1 +1 @@
1
- {"version":3,"file":"reducer.js","sourceRoot":"","sources":["../../../src/modules/authorization/reducer.ts"],"names":[],"mappings":";;;AAAA,gDAAiE;AACjE,oDAG+B;AAC/B,uCAmBkB;AAElB,mCAAkC;AAQlC,MAAM,aAAa,GAAG;IACpB,IAAI,EAAE,EAAE;IACR,OAAO,EAAE,EAAE;IACX,KAAK,EAAE,IAAI;CACZ,CAAA;AAcD,SAAgB,oBAAoB,CAClC,QAA4B,aAAa,EACzC,MAAkC;IAElC,QAAQ,MAAM,CAAC,IAAI,EAAE;QACnB,KAAK,6BAAmB,CAAC;QACzB,KAAK,8BAAoB,CAAC;QAC1B,KAAK,6BAAmB,CAAC;QACzB,KAAK,8BAAoB,CAAC;QAC1B,KAAK,sCAA4B,CAAC,CAAC;YACjC,uCACK,KAAK,KACR,OAAO,EAAE,IAAA,wBAAc,EAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,IAC/C;SACF;QACD,KAAK,sCAA4B,CAAC,CAAC;YACjC,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,CAAC,OAAO,CAAA;YAEzC,OAAO;gBACL,OAAO,EAAE,IAAA,wBAAc,EAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC;gBAC9C,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,GAAG,cAAc,CAAC;aACzC,CAAA;SACF;QACD,KAAK,6BAAmB,CAAC;QACzB,KAAK,8BAAoB,CAAC;QAC1B,KAAK,sCAA4B,CAAC,CAAC;YACjC,uCACK,KAAK,KACR,OAAO,EAAE,IAAA,wBAAc,EAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,EAC9C,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,IAC5B;SACF;QACD,KAAK,mCAAyB,CAAC,CAAC;YAC9B,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAA;YAE9C,QAAQ,WAAW,CAAC,UAAU,EAAE;gBAC9B,KAAK,6BAAmB,CAAC,CAAC;oBACxB,MAAM,EAAE,aAAa,EAAE,GAAG,WAAW,CAAC,OAAO,CAAA;oBAE7C,uCACK,KAAK,KACR,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,oBAAO,aAAa,EAAG,IAC5C;iBACF;gBACD,KAAK,8BAAoB,CAAC,CAAC;oBACzB,MAAM,EAAE,aAAa,EAAE,GAAG,WAAW,CAAC,OAAO,CAAA;oBAE7C,uCACK,KAAK,KACR,IAAI,EAAE;4BACJ,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAClB,kBAAkB,CAAC,EAAE,CACnB,CAAC,IAAA,gBAAQ,EAAC,kBAAkB,EAAE,aAAa,CAAC,CAC/C;yBACF,IACF;iBACF;gBACD;oBACE,OAAO,KAAK,CAAA;aACf;SACF;QACD;YACE,OAAO,KAAK,CAAA;KACf;AACH,CAAC;AAjED,oDAiEC"}
1
+ {"version":3,"file":"reducer.js","sourceRoot":"","sources":["../../../src/modules/authorization/reducer.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,7 @@ const sendTransaction_1 = require("../wallet/utils/sendTransaction");
22
22
  function createAuthorizationSaga() {
23
23
  return function* authorizationSaga() {
24
24
  yield (0, effects_1.takeEvery)(actions_1.FETCH_AUTHORIZATIONS_REQUEST, handleFetchAuthorizationsRequest);
25
+ yield (0, effects_1.takeEvery)(actions_1.FETCH_AUTHORIZATION_REQUEST, handleFetchAuthorizationRequest);
25
26
  yield (0, effects_1.takeEvery)(actions_1.GRANT_TOKEN_REQUEST, handleGrantTokenRequest);
26
27
  yield (0, effects_1.takeEvery)(actions_1.REVOKE_TOKEN_REQUEST, handleRevokeTokenRequest);
27
28
  };
@@ -45,23 +46,24 @@ function createAuthorizationSaga() {
45
46
  }
46
47
  switch (authorization.type) {
47
48
  case types_1.AuthorizationType.ALLOWANCE:
48
- const erc20 = new ethers_1.ethers.Contract(authorization.contractAddress, [
49
- 'function allowance(address owner, address spender) view returns (uint256)'
50
- ], multicallProviders[chainId]);
49
+ const erc20 = getERC20ContractInstance(authorization, multicallProviders[chainId]);
51
50
  promises.push(
52
51
  // @ts-ignore
53
52
  erc20
54
53
  .allowance(authorization.address, authorization.authorizedAddress)
55
- .then((allowance) => allowance.gt(0) ? authorization : null)
54
+ .then((allowance) => {
55
+ if (allowance.gt(0)) {
56
+ return Object.assign(Object.assign({}, authorization), { allowance: allowance.toString() });
57
+ }
58
+ return null;
59
+ })
56
60
  .catch((error) => {
57
61
  console.warn(`Error fetching allowance`, authorization, error);
58
62
  return null;
59
63
  }));
60
64
  break;
61
65
  case types_1.AuthorizationType.APPROVAL:
62
- const erc721 = new ethers_1.ethers.Contract(authorization.contractAddress, [
63
- 'function isApprovedForAll(address owner, address operator) view returns (bool)'
64
- ], multicallProviders[chainId]);
66
+ const erc721 = getERC721ContractInstance(authorization, multicallProviders[chainId]);
65
67
  promises.push(
66
68
  // @ts-ignore
67
69
  erc721
@@ -84,6 +86,40 @@ function createAuthorizationSaga() {
84
86
  yield (0, effects_1.put)((0, actions_1.fetchAuthorizationsFailure)(authorizations, error.message));
85
87
  }
86
88
  }
89
+ function* handleFetchAuthorizationRequest(action) {
90
+ const { authorization } = action.payload;
91
+ try {
92
+ if (!(0, utils_1.isValidType)(authorization.type)) {
93
+ throw new Error(`Invalid authorization type ${authorization.type}`);
94
+ }
95
+ const { chainId } = authorization;
96
+ const provider = yield (0, effects_1.call)(eth_1.getNetworkProvider, chainId);
97
+ const ethersProvider = new ethers_1.ethers.providers.Web3Provider(provider);
98
+ switch (authorization.type) {
99
+ case types_1.AuthorizationType.ALLOWANCE:
100
+ const erc20 = getERC20ContractInstance(authorization, ethersProvider);
101
+ const allowance = yield (0, effects_1.call)(
102
+ // @ts-ignore
103
+ [erc20, 'allowance'], authorization.address, authorization.authorizedAddress);
104
+ if (allowance.gt(0)) {
105
+ yield (0, effects_1.put)((0, actions_1.fetchAuthorizationSuccess)(Object.assign(Object.assign({}, authorization), { allowance: allowance.toString() })));
106
+ }
107
+ break;
108
+ case types_1.AuthorizationType.APPROVAL:
109
+ const erc721 = getERC721ContractInstance(authorization, ethersProvider);
110
+ const isApproved = yield (0, effects_1.call)(
111
+ // @ts-ignore
112
+ [erc721, 'isApprovedForAll'], authorization.address, authorization.authorizedAddress);
113
+ yield (0, effects_1.put)((0, actions_1.fetchAuthorizationSuccess)(isApproved ? authorization : null));
114
+ break;
115
+ default:
116
+ yield (0, effects_1.put)((0, actions_1.fetchAuthorizationSuccess)(null));
117
+ }
118
+ }
119
+ catch (error) {
120
+ yield (0, effects_1.put)((0, actions_1.fetchAuthorizationFailure)(authorization, error.message));
121
+ }
122
+ }
87
123
  function* handleGrantTokenRequest(action) {
88
124
  const { authorization } = action.payload;
89
125
  try {
@@ -124,5 +160,16 @@ function createAuthorizationSaga() {
124
160
  }
125
161
  }
126
162
  exports.createAuthorizationSaga = createAuthorizationSaga;
163
+ // TODO: Use decentraland-transactions
164
+ function getERC20ContractInstance(authorization, provider) {
165
+ return new ethers_1.ethers.Contract(authorization.contractAddress, [
166
+ 'function allowance(address owner, address spender) view returns (uint256)'
167
+ ], provider);
168
+ }
169
+ function getERC721ContractInstance(authorization, provider) {
170
+ return new ethers_1.ethers.Contract(authorization.contractAddress, [
171
+ 'function isApprovedForAll(address owner, address operator) view returns (bool)'
172
+ ], provider);
173
+ }
127
174
  exports.authorizationSaga = createAuthorizationSaga();
128
175
  //# sourceMappingURL=sagas.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sagas.js","sourceRoot":"","sources":["../../../src/modules/authorization/sagas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sagas.js","sourceRoot":"","sources":["../../../src/modules/authorization/sagas.ts"],"names":[],"mappings":"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"}
@@ -15,4 +15,5 @@ export declare type Authorization = {
15
15
  authorizedAddress: string;
16
16
  contractName: ContractName;
17
17
  chainId: ChainId;
18
+ allowance?: string;
18
19
  };
@@ -2,5 +2,6 @@ import { ethers } from 'ethers';
2
2
  import { Authorization } from './types';
3
3
  export declare function getTokenAmountToApprove(): ethers.BigNumber;
4
4
  export declare function hasAuthorization(authorizations: Authorization[], authorizationToFind: Authorization): boolean;
5
+ export declare function hasAuthorizationAndEnoughAllowance(authorizations: Authorization[], authorizationToFind: Authorization, allowance: string): boolean;
5
6
  export declare function areEqual(left: Authorization, right: Authorization): boolean;
6
7
  export declare function isValidType(type: string): boolean;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isValidType = exports.areEqual = exports.hasAuthorization = exports.getTokenAmountToApprove = void 0;
3
+ exports.isValidType = exports.areEqual = exports.hasAuthorizationAndEnoughAllowance = exports.hasAuthorization = exports.getTokenAmountToApprove = void 0;
4
4
  const ethers_1 = require("ethers");
5
5
  const types_1 = require("./types");
6
6
  function getTokenAmountToApprove() {
@@ -13,6 +13,25 @@ function hasAuthorization(authorizations, authorizationToFind) {
13
13
  return authorizations.some(authorization => areEqual(authorization, authorizationToFind));
14
14
  }
15
15
  exports.hasAuthorization = hasAuthorization;
16
+ function hasAuthorizationAndEnoughAllowance(authorizations, authorizationToFind, allowance) {
17
+ const foundAuth = authorizations.find(authorization => areEqual(authorization, authorizationToFind));
18
+ if (!foundAuth) {
19
+ return false;
20
+ }
21
+ // It should only care in the case of allowance authorizations.
22
+ // The rest don't have allowance so they can be ignored.
23
+ if (authorizationToFind.type !== types_1.AuthorizationType.ALLOWANCE) {
24
+ return true;
25
+ }
26
+ const { allowance: foundAuthAllowance } = foundAuth;
27
+ if (!foundAuthAllowance) {
28
+ return false;
29
+ }
30
+ const a = ethers_1.ethers.utils.parseEther(allowance);
31
+ const b = ethers_1.ethers.utils.parseEther(foundAuthAllowance);
32
+ return a.lte(b);
33
+ }
34
+ exports.hasAuthorizationAndEnoughAllowance = hasAuthorizationAndEnoughAllowance;
16
35
  function areEqual(left, right) {
17
36
  return (left.type === right.type &&
18
37
  left.authorizedAddress.toLowerCase() ===
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/modules/authorization/utils.ts"],"names":[],"mappings":";;;AAAA,mCAA+B;AAC/B,mCAA0D;AAE1D,SAAgB,uBAAuB;IACrC,OAAO,eAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;SAC5B,GAAG,CAAC,GAAG,CAAC;SACR,GAAG,CAAC,CAAC,CAAC,CAAA;AACX,CAAC;AAJD,0DAIC;AAED,SAAgB,gBAAgB,CAC9B,cAA+B,EAC/B,mBAAkC;IAElC,OAAO,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CACzC,QAAQ,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAC7C,CAAA;AACH,CAAC;AAPD,4CAOC;AAED,SAAgB,QAAQ,CAAC,IAAmB,EAAE,KAAoB;IAChE,OAAO,CACL,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI;QACxB,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE;YAClC,KAAK,CAAC,iBAAiB,CAAC,WAAW,EAAE;QACvC,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE;YAChC,KAAK,CAAC,eAAe,CAAC,WAAW,EAAE;QACrC,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO;QAC9B,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAC3D,CAAA;AACH,CAAC;AAVD,4BAUC;AAED,SAAgB,WAAW,CAAC,IAAY;IACtC,OAAO,MAAM,CAAC,MAAM,CAAS,yBAAiB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;AAChE,CAAC;AAFD,kCAEC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/modules/authorization/utils.ts"],"names":[],"mappings":";;;AAAA,mCAA+B;AAC/B,mCAA0D;AAE1D,SAAgB,uBAAuB;IACrC,OAAO,eAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;SAC5B,GAAG,CAAC,GAAG,CAAC;SACR,GAAG,CAAC,CAAC,CAAC,CAAA;AACX,CAAC;AAJD,0DAIC;AAED,SAAgB,gBAAgB,CAC9B,cAA+B,EAC/B,mBAAkC;IAElC,OAAO,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CACzC,QAAQ,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAC7C,CAAA;AACH,CAAC;AAPD,4CAOC;AAED,SAAgB,kCAAkC,CAChD,cAA+B,EAC/B,mBAAkC,EAClC,SAAiB;IAEjB,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CACpD,QAAQ,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAC7C,CAAA;IAED,IAAI,CAAC,SAAS,EAAE;QACd,OAAO,KAAK,CAAA;KACb;IAED,+DAA+D;IAC/D,wDAAwD;IACxD,IAAI,mBAAmB,CAAC,IAAI,KAAK,yBAAiB,CAAC,SAAS,EAAE;QAC5D,OAAO,IAAI,CAAA;KACZ;IAED,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,GAAG,SAAS,CAAA;IAEnD,IAAI,CAAC,kBAAkB,EAAE;QACvB,OAAO,KAAK,CAAA;KACb;IAED,MAAM,CAAC,GAAG,eAAM,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;IAC5C,MAAM,CAAC,GAAG,eAAM,CAAC,KAAK,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAA;IAErD,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC;AA7BD,gFA6BC;AAED,SAAgB,QAAQ,CAAC,IAAmB,EAAE,KAAoB;IAChE,OAAO,CACL,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI;QACxB,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE;YAClC,KAAK,CAAC,iBAAiB,CAAC,WAAW,EAAE;QACvC,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE;YAChC,KAAK,CAAC,eAAe,CAAC,WAAW,EAAE;QACrC,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO;QAC9B,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAC3D,CAAA;AACH,CAAC;AAVD,4BAUC;AAED,SAAgB,WAAW,CAAC,IAAY;IACtC,OAAO,MAAM,CAAC,MAAM,CAAS,yBAAiB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;AAChE,CAAC;AAFD,kCAEC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "decentraland-dapps",
3
- "version": "13.41.0",
3
+ "version": "13.42.0",
4
4
  "dependencies": {
5
5
  "@0xsequence/multicall": "^0.25.1",
6
6
  "@0xsequence/relayer": "^0.25.1",