@depay/widgets 6.27.2 → 6.28.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/README.md CHANGED
@@ -1222,6 +1222,26 @@ DePayWidgets.Donation({
1222
1222
  });
1223
1223
  ```
1224
1224
 
1225
+ #### fee (DePay Donations)
1226
+
1227
+ You can configure a fee which will be applied to every payment with it's own dedicated fee receiver address.
1228
+
1229
+ The fee will be taken from the target token and target amount (after swap, depending on your `accept` configuration).
1230
+
1231
+ `amount`: Either percentage (e.g. `5%`, or absolute amount as BigNumber string ('100000000000000000') or pure number (2.5)
1232
+
1233
+ `receiver`: The address that is supposed to receive the fee.
1234
+
1235
+ ```javascript
1236
+ DePayWidgets.Donation({
1237
+ accept: [...],
1238
+ fee: {
1239
+ amount: '3%',
1240
+ receiver: '0x4e260bB2b25EC6F3A59B478fCDe5eD5B8D783B02'
1241
+ }
1242
+ });
1243
+ ```
1244
+
1225
1245
  #### closed (DePay Donations)
1226
1246
 
1227
1247
  `closed`
@@ -62159,6 +62159,10 @@ var ChangableAmountProvider = (function (props) {
62159
62159
  }));
62160
62160
  } else {
62161
62161
  Promise.all(props.accept.map(function (configuration) {
62162
+ if (CONSTANTS$2[configuration.blockchain].USD.toLowerCase() == configuration.token.toLowerCase()) {
62163
+ return 1.00 / conversionRate;
62164
+ }
62165
+
62162
62166
  return route$8({
62163
62167
  blockchain: configuration.blockchain,
62164
62168
  tokenIn: CONSTANTS$2[configuration.blockchain].USD,
@@ -62167,17 +62171,19 @@ var ChangableAmountProvider = (function (props) {
62167
62171
  fromAddress: account,
62168
62172
  toAddress: account
62169
62173
  });
62170
- })).then(function (routes) {
62171
- Promise.all(routes.map(function (routes, index) {
62172
- if (routes[0] == undefined) {
62174
+ })).then(function (results) {
62175
+ Promise.all(results.map(function (result, index) {
62176
+ if (typeof result == 'number') {
62177
+ return result;
62178
+ } else if (result[0] == undefined) {
62173
62179
  return;
62180
+ } else {
62181
+ return Token.readable({
62182
+ blockchain: props.accept[index].blockchain,
62183
+ amount: result[0].amountOut,
62184
+ address: result[0].tokenOut
62185
+ });
62174
62186
  }
62175
-
62176
- return Token.readable({
62177
- blockchain: props.accept[index].blockchain,
62178
- amount: routes[0].amountOut,
62179
- address: routes[0].tokenOut
62180
- });
62181
62187
  })).then(resolve)["catch"](setError);
62182
62188
  })["catch"](setError);
62183
62189
  }
@@ -85485,7 +85491,7 @@ function convertToRoutes({ assets, accept, from }) {
85485
85491
  function assetsToRoutes({ assets, blacklist, accept, from, event, fee }) {
85486
85492
  return Promise.resolve(filterBlacklistedAssets({ assets, blacklist }))
85487
85493
  .then((assets) => convertToRoutes({ assets, accept, from }))
85488
- .then(addDirectTransferStatus)
85494
+ .then((routes) => addDirectTransferStatus({ routes, fee }))
85489
85495
  .then(addExchangeRoutes)
85490
85496
  .then(filterExchangeRoutesWithoutPlugin)
85491
85497
  .then(filterNotRoutable)
@@ -85646,9 +85652,9 @@ let addApproval = (routes) => {
85646
85652
  )
85647
85653
  };
85648
85654
 
85649
- let addDirectTransferStatus = (routes) => {
85655
+ let addDirectTransferStatus = ({ routes, fee }) => {
85650
85656
  return routes.map((route)=>{
85651
- route.directTransfer = route.fromToken.address.toLowerCase() == route.toToken.address.toLowerCase() && route.toContract == undefined;
85657
+ route.directTransfer = route.fromToken.address.toLowerCase() == route.toToken.address.toLowerCase() && route.toContract == undefined && fee == undefined;
85652
85658
  return route
85653
85659
  })
85654
85660
  };
@@ -86092,14 +86098,16 @@ var DonationRoutingProvider = (function (props) {
86092
86098
  setMaxRoute = _useContext.setMaxRoute;
86093
86099
 
86094
86100
  var _useContext2 = react.useContext(ConfigurationContext),
86095
- blacklist = _useContext2.blacklist;
86101
+ blacklist = _useContext2.blacklist,
86102
+ fee = _useContext2.fee;
86096
86103
 
86097
86104
  return /*#__PURE__*/react.createElement(DonationRoutingContext.Provider, {
86098
86105
  value: {}
86099
86106
  }, /*#__PURE__*/react.createElement(PaymentRoutingProvider, {
86100
86107
  accept: acceptWithAmount,
86101
86108
  blacklist: blacklist,
86102
- setMaxRoute: setMaxRoute
86109
+ setMaxRoute: setMaxRoute,
86110
+ fee: fee
86103
86111
  }, /*#__PURE__*/react.createElement(PaymentProvider, {
86104
86112
  container: props.container,
86105
86113
  document: props.document
@@ -89190,12 +89198,12 @@ var preflight$2 = /*#__PURE__*/function () {
89190
89198
 
89191
89199
  var Donation = /*#__PURE__*/function () {
89192
89200
  var _ref4 = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee2(_ref3) {
89193
- var amount, accept, event, sent, confirmed, failed, error, critical, style, blacklist, providers, currency, connected, closed, closable, integration, container, document, unmount;
89201
+ var amount, accept, event, sent, confirmed, failed, error, critical, style, blacklist, providers, currency, connected, closed, fee, closable, integration, container, document, unmount;
89194
89202
  return regenerator.wrap(function _callee2$(_context2) {
89195
89203
  while (1) {
89196
89204
  switch (_context2.prev = _context2.next) {
89197
89205
  case 0:
89198
- amount = _ref3.amount, accept = _ref3.accept, event = _ref3.event, sent = _ref3.sent, confirmed = _ref3.confirmed, failed = _ref3.failed, error = _ref3.error, critical = _ref3.critical, style = _ref3.style, blacklist = _ref3.blacklist, providers = _ref3.providers, currency = _ref3.currency, connected = _ref3.connected, closed = _ref3.closed, closable = _ref3.closable, integration = _ref3.integration, container = _ref3.container, document = _ref3.document;
89206
+ amount = _ref3.amount, accept = _ref3.accept, event = _ref3.event, sent = _ref3.sent, confirmed = _ref3.confirmed, failed = _ref3.failed, error = _ref3.error, critical = _ref3.critical, style = _ref3.style, blacklist = _ref3.blacklist, providers = _ref3.providers, currency = _ref3.currency, connected = _ref3.connected, closed = _ref3.closed, fee = _ref3.fee, closable = _ref3.closable, integration = _ref3.integration, container = _ref3.container, document = _ref3.document;
89199
89207
  requireReactVersion();
89200
89208
  _context2.prev = 2;
89201
89209
  _context2.next = 5;
@@ -89222,6 +89230,7 @@ var Donation = /*#__PURE__*/function () {
89222
89230
  accept: accept,
89223
89231
  currency: currency,
89224
89232
  event: event,
89233
+ fee: fee,
89225
89234
  sent: sent,
89226
89235
  confirmed: confirmed,
89227
89236
  failed: failed,
package/dist/esm/index.js CHANGED
@@ -2107,6 +2107,10 @@ var ChangableAmountProvider = (function (props) {
2107
2107
  }));
2108
2108
  } else {
2109
2109
  Promise.all(props.accept.map(function (configuration) {
2110
+ if (CONSTANTS[configuration.blockchain].USD.toLowerCase() == configuration.token.toLowerCase()) {
2111
+ return 1.00 / conversionRate;
2112
+ }
2113
+
2110
2114
  return route({
2111
2115
  blockchain: configuration.blockchain,
2112
2116
  tokenIn: CONSTANTS[configuration.blockchain].USD,
@@ -2115,17 +2119,19 @@ var ChangableAmountProvider = (function (props) {
2115
2119
  fromAddress: account,
2116
2120
  toAddress: account
2117
2121
  });
2118
- })).then(function (routes) {
2119
- Promise.all(routes.map(function (routes, index) {
2120
- if (routes[0] == undefined) {
2122
+ })).then(function (results) {
2123
+ Promise.all(results.map(function (result, index) {
2124
+ if (typeof result == 'number') {
2125
+ return result;
2126
+ } else if (result[0] == undefined) {
2121
2127
  return;
2128
+ } else {
2129
+ return Token.readable({
2130
+ blockchain: props.accept[index].blockchain,
2131
+ amount: result[0].amountOut,
2132
+ address: result[0].tokenOut
2133
+ });
2122
2134
  }
2123
-
2124
- return Token.readable({
2125
- blockchain: props.accept[index].blockchain,
2126
- amount: routes[0].amountOut,
2127
- address: routes[0].tokenOut
2128
- });
2129
2135
  })).then(resolve)["catch"](setError);
2130
2136
  })["catch"](setError);
2131
2137
  }
@@ -2956,14 +2962,16 @@ var DonationRoutingProvider = (function (props) {
2956
2962
  setMaxRoute = _useContext.setMaxRoute;
2957
2963
 
2958
2964
  var _useContext2 = useContext(ConfigurationContext),
2959
- blacklist = _useContext2.blacklist;
2965
+ blacklist = _useContext2.blacklist,
2966
+ fee = _useContext2.fee;
2960
2967
 
2961
2968
  return /*#__PURE__*/React.createElement(DonationRoutingContext.Provider, {
2962
2969
  value: {}
2963
2970
  }, /*#__PURE__*/React.createElement(PaymentRoutingProvider, {
2964
2971
  accept: acceptWithAmount,
2965
2972
  blacklist: blacklist,
2966
- setMaxRoute: setMaxRoute
2973
+ setMaxRoute: setMaxRoute,
2974
+ fee: fee
2967
2975
  }, /*#__PURE__*/React.createElement(PaymentProvider, {
2968
2976
  container: props.container,
2969
2977
  document: props.document
@@ -4339,12 +4347,12 @@ var preflight$2 = /*#__PURE__*/function () {
4339
4347
 
4340
4348
  var Donation = /*#__PURE__*/function () {
4341
4349
  var _ref4 = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee2(_ref3) {
4342
- var amount, accept, event, sent, confirmed, failed, error, critical, style, blacklist, providers, currency, connected, closed, closable, integration, container, document, unmount;
4350
+ var amount, accept, event, sent, confirmed, failed, error, critical, style, blacklist, providers, currency, connected, closed, fee, closable, integration, container, document, unmount;
4343
4351
  return regenerator.wrap(function _callee2$(_context2) {
4344
4352
  while (1) {
4345
4353
  switch (_context2.prev = _context2.next) {
4346
4354
  case 0:
4347
- amount = _ref3.amount, accept = _ref3.accept, event = _ref3.event, sent = _ref3.sent, confirmed = _ref3.confirmed, failed = _ref3.failed, error = _ref3.error, critical = _ref3.critical, style = _ref3.style, blacklist = _ref3.blacklist, providers = _ref3.providers, currency = _ref3.currency, connected = _ref3.connected, closed = _ref3.closed, closable = _ref3.closable, integration = _ref3.integration, container = _ref3.container, document = _ref3.document;
4355
+ amount = _ref3.amount, accept = _ref3.accept, event = _ref3.event, sent = _ref3.sent, confirmed = _ref3.confirmed, failed = _ref3.failed, error = _ref3.error, critical = _ref3.critical, style = _ref3.style, blacklist = _ref3.blacklist, providers = _ref3.providers, currency = _ref3.currency, connected = _ref3.connected, closed = _ref3.closed, fee = _ref3.fee, closable = _ref3.closable, integration = _ref3.integration, container = _ref3.container, document = _ref3.document;
4348
4356
  requireReactVersion();
4349
4357
  _context2.prev = 2;
4350
4358
  _context2.next = 5;
@@ -4371,6 +4379,7 @@ var Donation = /*#__PURE__*/function () {
4371
4379
  accept: accept,
4372
4380
  currency: currency,
4373
4381
  event: event,
4382
+ fee: fee,
4374
4383
  sent: sent,
4375
4384
  confirmed: confirmed,
4376
4385
  failed: failed,
@@ -62165,6 +62165,10 @@
62165
62165
  }));
62166
62166
  } else {
62167
62167
  Promise.all(props.accept.map(function (configuration) {
62168
+ if (CONSTANTS$2[configuration.blockchain].USD.toLowerCase() == configuration.token.toLowerCase()) {
62169
+ return 1.00 / conversionRate;
62170
+ }
62171
+
62168
62172
  return route$8({
62169
62173
  blockchain: configuration.blockchain,
62170
62174
  tokenIn: CONSTANTS$2[configuration.blockchain].USD,
@@ -62173,17 +62177,19 @@
62173
62177
  fromAddress: account,
62174
62178
  toAddress: account
62175
62179
  });
62176
- })).then(function (routes) {
62177
- Promise.all(routes.map(function (routes, index) {
62178
- if (routes[0] == undefined) {
62180
+ })).then(function (results) {
62181
+ Promise.all(results.map(function (result, index) {
62182
+ if (typeof result == 'number') {
62183
+ return result;
62184
+ } else if (result[0] == undefined) {
62179
62185
  return;
62186
+ } else {
62187
+ return Token.readable({
62188
+ blockchain: props.accept[index].blockchain,
62189
+ amount: result[0].amountOut,
62190
+ address: result[0].tokenOut
62191
+ });
62180
62192
  }
62181
-
62182
- return Token.readable({
62183
- blockchain: props.accept[index].blockchain,
62184
- amount: routes[0].amountOut,
62185
- address: routes[0].tokenOut
62186
- });
62187
62193
  })).then(resolve)["catch"](setError);
62188
62194
  })["catch"](setError);
62189
62195
  }
@@ -85491,7 +85497,7 @@
85491
85497
  function assetsToRoutes({ assets, blacklist, accept, from, event, fee }) {
85492
85498
  return Promise.resolve(filterBlacklistedAssets({ assets, blacklist }))
85493
85499
  .then((assets) => convertToRoutes({ assets, accept, from }))
85494
- .then(addDirectTransferStatus)
85500
+ .then((routes) => addDirectTransferStatus({ routes, fee }))
85495
85501
  .then(addExchangeRoutes)
85496
85502
  .then(filterExchangeRoutesWithoutPlugin)
85497
85503
  .then(filterNotRoutable)
@@ -85652,9 +85658,9 @@
85652
85658
  )
85653
85659
  };
85654
85660
 
85655
- let addDirectTransferStatus = (routes) => {
85661
+ let addDirectTransferStatus = ({ routes, fee }) => {
85656
85662
  return routes.map((route)=>{
85657
- route.directTransfer = route.fromToken.address.toLowerCase() == route.toToken.address.toLowerCase() && route.toContract == undefined;
85663
+ route.directTransfer = route.fromToken.address.toLowerCase() == route.toToken.address.toLowerCase() && route.toContract == undefined && fee == undefined;
85658
85664
  return route
85659
85665
  })
85660
85666
  };
@@ -86098,14 +86104,16 @@
86098
86104
  setMaxRoute = _useContext.setMaxRoute;
86099
86105
 
86100
86106
  var _useContext2 = react.useContext(ConfigurationContext),
86101
- blacklist = _useContext2.blacklist;
86107
+ blacklist = _useContext2.blacklist,
86108
+ fee = _useContext2.fee;
86102
86109
 
86103
86110
  return /*#__PURE__*/react.createElement(DonationRoutingContext.Provider, {
86104
86111
  value: {}
86105
86112
  }, /*#__PURE__*/react.createElement(PaymentRoutingProvider, {
86106
86113
  accept: acceptWithAmount,
86107
86114
  blacklist: blacklist,
86108
- setMaxRoute: setMaxRoute
86115
+ setMaxRoute: setMaxRoute,
86116
+ fee: fee
86109
86117
  }, /*#__PURE__*/react.createElement(PaymentProvider, {
86110
86118
  container: props.container,
86111
86119
  document: props.document
@@ -89196,12 +89204,12 @@
89196
89204
 
89197
89205
  var Donation = /*#__PURE__*/function () {
89198
89206
  var _ref4 = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee2(_ref3) {
89199
- var amount, accept, event, sent, confirmed, failed, error, critical, style, blacklist, providers, currency, connected, closed, closable, integration, container, document, unmount;
89207
+ var amount, accept, event, sent, confirmed, failed, error, critical, style, blacklist, providers, currency, connected, closed, fee, closable, integration, container, document, unmount;
89200
89208
  return regenerator.wrap(function _callee2$(_context2) {
89201
89209
  while (1) {
89202
89210
  switch (_context2.prev = _context2.next) {
89203
89211
  case 0:
89204
- amount = _ref3.amount, accept = _ref3.accept, event = _ref3.event, sent = _ref3.sent, confirmed = _ref3.confirmed, failed = _ref3.failed, error = _ref3.error, critical = _ref3.critical, style = _ref3.style, blacklist = _ref3.blacklist, providers = _ref3.providers, currency = _ref3.currency, connected = _ref3.connected, closed = _ref3.closed, closable = _ref3.closable, integration = _ref3.integration, container = _ref3.container, document = _ref3.document;
89212
+ amount = _ref3.amount, accept = _ref3.accept, event = _ref3.event, sent = _ref3.sent, confirmed = _ref3.confirmed, failed = _ref3.failed, error = _ref3.error, critical = _ref3.critical, style = _ref3.style, blacklist = _ref3.blacklist, providers = _ref3.providers, currency = _ref3.currency, connected = _ref3.connected, closed = _ref3.closed, fee = _ref3.fee, closable = _ref3.closable, integration = _ref3.integration, container = _ref3.container, document = _ref3.document;
89205
89213
  requireReactVersion();
89206
89214
  _context2.prev = 2;
89207
89215
  _context2.next = 5;
@@ -89228,6 +89236,7 @@
89228
89236
  accept: accept,
89229
89237
  currency: currency,
89230
89238
  event: event,
89239
+ fee: fee,
89231
89240
  sent: sent,
89232
89241
  confirmed: confirmed,
89233
89242
  failed: failed,
package/dist/umd/index.js CHANGED
@@ -2102,6 +2102,10 @@
2102
2102
  }));
2103
2103
  } else {
2104
2104
  Promise.all(props.accept.map(function (configuration) {
2105
+ if (web3Constants.CONSTANTS[configuration.blockchain].USD.toLowerCase() == configuration.token.toLowerCase()) {
2106
+ return 1.00 / conversionRate;
2107
+ }
2108
+
2105
2109
  return web3Exchanges.route({
2106
2110
  blockchain: configuration.blockchain,
2107
2111
  tokenIn: web3Constants.CONSTANTS[configuration.blockchain].USD,
@@ -2110,17 +2114,19 @@
2110
2114
  fromAddress: account,
2111
2115
  toAddress: account
2112
2116
  });
2113
- })).then(function (routes) {
2114
- Promise.all(routes.map(function (routes, index) {
2115
- if (routes[0] == undefined) {
2117
+ })).then(function (results) {
2118
+ Promise.all(results.map(function (result, index) {
2119
+ if (typeof result == 'number') {
2120
+ return result;
2121
+ } else if (result[0] == undefined) {
2116
2122
  return;
2123
+ } else {
2124
+ return web3Tokens.Token.readable({
2125
+ blockchain: props.accept[index].blockchain,
2126
+ amount: result[0].amountOut,
2127
+ address: result[0].tokenOut
2128
+ });
2117
2129
  }
2118
-
2119
- return web3Tokens.Token.readable({
2120
- blockchain: props.accept[index].blockchain,
2121
- amount: routes[0].amountOut,
2122
- address: routes[0].tokenOut
2123
- });
2124
2130
  })).then(resolve)["catch"](setError);
2125
2131
  })["catch"](setError);
2126
2132
  }
@@ -2951,14 +2957,16 @@
2951
2957
  setMaxRoute = _useContext.setMaxRoute;
2952
2958
 
2953
2959
  var _useContext2 = React.useContext(ConfigurationContext),
2954
- blacklist = _useContext2.blacklist;
2960
+ blacklist = _useContext2.blacklist,
2961
+ fee = _useContext2.fee;
2955
2962
 
2956
2963
  return /*#__PURE__*/React__default["default"].createElement(DonationRoutingContext.Provider, {
2957
2964
  value: {}
2958
2965
  }, /*#__PURE__*/React__default["default"].createElement(PaymentRoutingProvider, {
2959
2966
  accept: acceptWithAmount,
2960
2967
  blacklist: blacklist,
2961
- setMaxRoute: setMaxRoute
2968
+ setMaxRoute: setMaxRoute,
2969
+ fee: fee
2962
2970
  }, /*#__PURE__*/React__default["default"].createElement(PaymentProvider, {
2963
2971
  container: props.container,
2964
2972
  document: props.document
@@ -4334,12 +4342,12 @@
4334
4342
 
4335
4343
  var Donation = /*#__PURE__*/function () {
4336
4344
  var _ref4 = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee2(_ref3) {
4337
- var amount, accept, event, sent, confirmed, failed, error, critical, style, blacklist, providers, currency, connected, closed, closable, integration, container, document, unmount;
4345
+ var amount, accept, event, sent, confirmed, failed, error, critical, style, blacklist, providers, currency, connected, closed, fee, closable, integration, container, document, unmount;
4338
4346
  return regenerator.wrap(function _callee2$(_context2) {
4339
4347
  while (1) {
4340
4348
  switch (_context2.prev = _context2.next) {
4341
4349
  case 0:
4342
- amount = _ref3.amount, accept = _ref3.accept, event = _ref3.event, sent = _ref3.sent, confirmed = _ref3.confirmed, failed = _ref3.failed, error = _ref3.error, critical = _ref3.critical, style = _ref3.style, blacklist = _ref3.blacklist, providers = _ref3.providers, currency = _ref3.currency, connected = _ref3.connected, closed = _ref3.closed, closable = _ref3.closable, integration = _ref3.integration, container = _ref3.container, document = _ref3.document;
4350
+ amount = _ref3.amount, accept = _ref3.accept, event = _ref3.event, sent = _ref3.sent, confirmed = _ref3.confirmed, failed = _ref3.failed, error = _ref3.error, critical = _ref3.critical, style = _ref3.style, blacklist = _ref3.blacklist, providers = _ref3.providers, currency = _ref3.currency, connected = _ref3.connected, closed = _ref3.closed, fee = _ref3.fee, closable = _ref3.closable, integration = _ref3.integration, container = _ref3.container, document = _ref3.document;
4343
4351
  requireReactVersion();
4344
4352
  _context2.prev = 2;
4345
4353
  _context2.next = 5;
@@ -4366,6 +4374,7 @@
4366
4374
  accept: accept,
4367
4375
  currency: currency,
4368
4376
  event: event,
4377
+ fee: fee,
4369
4378
  sent: sent,
4370
4379
  confirmed: confirmed,
4371
4380
  failed: failed,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@depay/widgets",
3
3
  "moduleName": "DePayWidgets",
4
- "version": "6.27.2",
4
+ "version": "6.28.2",
5
5
  "description": "Web3 Payments with any token. DePay simplifies and improves Web3 Payments with the power of DeFi. Accept any token with on-the-fly conversion.",
6
6
  "main": "./dist/umd/index.js",
7
7
  "module": "./dist/esm/index.js",
@@ -44,7 +44,7 @@
44
44
  "@depay/web3-client": "^8.0.0",
45
45
  "@depay/web3-constants": "^5.0.0",
46
46
  "@depay/web3-exchanges": "^8.2.1",
47
- "@depay/web3-payments": "^10.1.1",
47
+ "@depay/web3-payments": "^10.1.2",
48
48
  "@depay/web3-tokens": "^8.0.1",
49
49
  "@depay/web3-wallets": "^10.0.3",
50
50
  "decimal.js": "^10.3.1",