@phala/pay 0.11.1 → 0.11.3

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
@@ -200,15 +200,24 @@ import { PaymentElement } from "@phala/pay-react";
200
200
  - After the quote: the checkout, and a way back to the options ("Choose another token or
201
201
  network") until a payment is on its way, then "Start over" if it does not complete or "Start a
202
202
  new payment" once credited.
203
- - `createDepositAddress(option)` adds "Use a deposit address", for payers sending from an exchange
204
- or any wallet: it resolves with the deposit address's `address` and `networks` and, to follow its
205
- payments, `clientSecret`; the element shows `<DepositAddress>` at the chosen option. Under the
206
- link it states the chosen option's per-transfer limits when it carries them, as a
207
- `GET /v1/config` asset does: "Send at least $5.00 and up to 10,100 USDC per transfer on Base from
208
- an exchange or another wallet." Without them it says the address shows its limits.
209
- - Your own button: pass `hideSubmit` and an `id`, and give your button `type="submit" form={id}`
210
- (or call `requestSubmit()` on the form with that id). The element is a `<form>`: do not nest it
211
- in another one.
203
+ - `createDepositAddress(option)` adds one quiet line at the end of the form, "Paying from an
204
+ exchange? Use a deposit address", for payers sending from an exchange or any wallet: it resolves
205
+ with the deposit address's `address` and `networks` and, to follow its payments, `clientSecret`;
206
+ the element shows `<DepositAddress>` at the chosen option, which states the per-transfer limits.
207
+ - Your own content: `children` go inside the form, under the token and network and above the
208
+ element's button, while the payer chooses. With `hideSubmit`, put your summary and your
209
+ `type="submit"` button there, and the deposit-address line follows your button:
210
+
211
+ ```tsx
212
+ <PaymentElement hideSubmit options={options} createQuote={createQuote} createDepositAddress={createDepositAddress}>
213
+ <OrderSummary />
214
+ <Button type="submit">Continue to pay $25.00</Button>
215
+ </PaymentElement>
216
+ ```
217
+
218
+ A button elsewhere on the page can submit it too: pass `hideSubmit` and an `id`, and give your
219
+ button `type="submit" form={id}` (or call `requestSubmit()` on the form with that id). The
220
+ element is a `<form>`: do not nest it in another one.
212
221
  - `value` and `onOptionChange` control the choice (`defaultValue` sets the first one otherwise);
213
222
  `onChange({ step, checkout })` reports each step (`options`, `creating`, `checkout`,
214
223
  `deposit_address`) and, while paying, each checkout status change; `onSuccess`, `onExpire`,
@@ -386,8 +395,9 @@ The components inject no style elements or style attributes in their markup. Ser
386
395
  CSS from your own origin with `style-src 'self'`; no `unsafe-inline` style permission is needed.
387
396
  An open token or network listbox is placed beside its field through the CSSOM
388
397
  (`element.style.setProperty`), which that policy allows. Allow the
389
- payment service origin in `connect-src` for public status reads and `img-src data:` for browser
390
- wallet icons. Configure script and font sources for your application's own bundles.
398
+ payment service origin in `connect-src` for public status reads and `img-src data:` for the
399
+ token and network logos and browser wallet icons, which are `data:` images. Configure script and
400
+ font sources for your application's own bundles.
391
401
 
392
402
  Public SDK reads accept `signal` and `requestTimeout` (milliseconds, default 10000). Each request
393
403
  combines caller cancellation with `AbortSignal.timeout` through `AbortSignal.any`, including the
@@ -1,25 +1,6 @@
1
- web3icons (@web3icons/core@4.0.57)
2
- https://github.com/0xa3k5/web3icons
3
- Vendored branded token and network SVGs.
1
+ Token and network logos
4
2
 
5
- MIT License
6
-
7
- Copyright (c) 2024 0xa3k5
8
-
9
- Permission is hereby granted, free of charge, to any person obtaining a copy
10
- of this software and associated documentation files (the "Software"), to deal
11
- in the Software without restriction, including without limitation the rights
12
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13
- copies of the Software, and to permit persons to whom the Software is
14
- furnished to do so, subject to the following conditions:
15
-
16
- The above copyright notice and this permission notice shall be included in all
17
- copies or substantial portions of the Software.
18
-
19
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
25
- SOFTWARE.
3
+ The USDC, USDT, PHA, ETH, Ethereum, and Base logos embedded in this package are CoinMarketCap's
4
+ images (https://coinmarketcap.com), vendored by sdk/js/scripts/generate-icons.mjs. They are
5
+ trademarks of their respective owners, used only to identify each token and network; their use
6
+ implies no endorsement. They are not covered by this package's Apache-2.0 license.
@@ -0,0 +1,5 @@
1
+ /** Generated from CoinMarketCap's 64x64 logos by scripts/generate-icons.mjs. Do not edit.
2
+ * The logos are trademarks of their owners; see THIRD_PARTY_NOTICES.
3
+ */
4
+ export declare const ICON_IMAGES: Record<"usdc" | "usdt" | "pha" | "eth" | "ethereum" | "base", string>;
5
+ //# sourceMappingURL=icon-images.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icon-images.d.ts","sourceRoot":"","sources":["../src/icon-images.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,GAAG,UAAU,GAAG,MAAM,EAAE,MAAM,CAO7F,CAAC"}
@@ -0,0 +1,12 @@
1
+ /** Generated from CoinMarketCap's 64x64 logos by scripts/generate-icons.mjs. Do not edit.
2
+ * The logos are trademarks of their owners; see THIRD_PARTY_NOTICES.
3
+ */
4
+ export const ICON_IMAGES = {
5
+ usdc: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAI/ElEQVR4XuVbaWxVRRQu4Y/QFoWgRoyIRqyJidEfGkPkh4lb1PiDvkdxYdOwyKIxQhEBFSO0ENGCaEFFCyoqCugfqRH7XmtpQZYCBQp0r3YB07J0p8s437y+l7ln7jL3vj5a45d8afPumTNn5s5yzsy5cXExxjD/b2MTJgVS4n3B1QnJgd3xyYEiznrONs7ePvL/g3V41ieThjLDpuTeQvX9B8CGJPr2TuSNyOCNKeV/WTSEDs6MRF9wInTT2gYNRvizR8X7AksSkoPltBH9RaHbF0xFXbT+AYNoeHIgnb+lZmpwrMjrusz/po3wFwxgR/h3DOWGLOBzt5EaePUYbIQNsIWaF1Mk+nOS4n05B1SDBoa8EwphE7UzJuAVTudzvYUaMfDMaeV/p1N7+w9+NpQPufVqxYOMvuD6/p8SMwLX8BUY+7NaoQbHzy5gY6b9ofxuRciOn1Wg/K5L2AqbaTO8gSviQ34PrcSJt87MZ0uzylhR+WUGPLr8iCJjRcj28jIou3RrmdBFZRzJbY6+E8RK7+7N38nf9ue/1rL2zh7R8DDcdoCM9is97LPsWqGbytpRjAQ+dWmztIH5RJVacdSUXPbed5WsjTQ8jGg6IAzoXvV9JRvJ66JlrDjcl7OBtksL8VjtTRSa8YHX/mQnqluovRF0dfeyiamHlHJWfIjLoowVTvK6UCctZ0N3u4PY50PbClWkcOq6k6y1w/ytV9S3sdQvSz3NYZRJ/aKUVTS0UbUCqBN103Km5Nu2vp8Q8vAKFSUmXMwN7DV5UQ0XOtnLH59m104OKmXccoQ/yOZyXdBJ0cPrhg20jCm546a1PYbcWxMFhKjYDF8H6tmYqfpbni6xNUK3GXQ7QbjNdkBwoePbY+ih92V0dvWIN0Vl+5uoA3XJwCjUmw7BRttIkgulqYWMxOJD53xLRzd7euVRRTZWRF2oUwZs0lwY02m7BdAzfWEmLRAhth+swDI6u3o9NZ6CPnci6kTdMrATYTumsjIRtpuOAhw0UGFK7MEU8z7xNuwp6HMdom4K+CJUTqEvsMTYesaGOJ3kwAujTs72YIMip0sK+lyX3+Y2GPTAxiQHjxFtNRyv4byNClHCFZVx7mInu9lFgAM+8VaRcJNPVKlO066C82xmxil2XYq7rRM2nLt4xaALdVA5SpxbRjqA/5BBBWTCKem4Ynz7CzedUeSseAeP7ALHmgzlrVDOnaeHlx5WdNhxQeYZgw7EIU7OFw5aIx3gdHr7Jo/IZFSfb9d+U2O5IZXn2g3lnYAGPLJMP3aAwwWbZMBmKicTbRaNx9k7fUh5tKLZoHzZtnJFxopZe+sMZYHDZZfZhz/VsBVflbO1O6tZ3okLVITV/NPBRj9rv6LLpC+pqLxZkaHEnUWcuLQweRhm0pwCg+Ju7gHd/tI+Rc6MaABdOBdtOavIgZNWHVem2YJM/R0GNsE2GbCdyslE2x2dn1kbSgxKC0suKjJWfPD1g4aymAoJPlUuzIyfawzy2YcbFRk7wjYZsJ3KGOgLrsb8tz3w2LTnb4PS9B+qFBkrIgSWUfJXqyIjc8Kig+xMbWuEmBpUxo6wTcZmbjuVkYm2YwTgrk55GGZusXF+Tk4vVmSsiAWQRotudg+3hG0ycp07sCiu71KSPoiwiqzg971yQJGxY/5JdYE7ePaSiODu574790GUMl4J22RgylEZwnqMANzS0gcRtrQbg46bXIa6ExYfUs4HZVxq7WaB400sbUcVe2z5ERH/Ux26hG0yYDuVIWxDB+B6mj6IkA7hRA8GPr6iiNU2dhgVWaC+qZOt3F7BRj+Xp+hxIkaTDNhOZQh73XeAxyF7w/N57I2sMnaqRnWDzXCaL5h3zSlU9NgRL0eGbgfEdAqY8Z75+8ViiECGrjEyjnBnxs2I8zoFkK1BH0RI3Vi3i6AO7563X1yA1JxXp0ny6uOKvBXpIojOpTJGBuuct0HiprrZBjH3cXAR5sgUe9f2xhfyhJss4/1d1YqcFZVtsFhjG3RyhOBMyHDjCMHxkfHUO84nR69uNkZ2OqFtmGnEEdr0i44jxN1B+kBmNK7wdnJYoePaIkiSseZH/Q4vcOsK8zDAUzB0m2YwhPlLkcnfyvUWW1zKmmLFZ3jm3WOKnBk9B0MICekDSoSWMpxi7TAR+Ow7ZXwrQFNzlzgBWsfnNxwgDHN62AoUV7VoO0YI0WUghKcylJE0PLcHIlhddW99cJZot9VZAZ2kecwtDmc8H4gA8RpHYnRozs/UD2rGvbiP7eZvXBf7T19i9y7U327hU8jAuYKrI7G+xEZFSCaGqQzc1bnJ+gAR/KzdWcXyTabFscpm9ml2LXvy7aO2ZwaUoUNR470hDnCpHGUo8TIC52NxLCj0dOebQL0ip0sK+lyXOJqXARudEinEsTgjWae4LKCClLh0oJi7Uf/YSiYFfa5Ds4sRXN5QOYXKxUhc5GrMNtsT1040EQIXlToODiUFfe5Es6sx7CRO2SO4/jO9GgO4QDotQGl2OdrMgw7MXSobK6LDo7gcTaPtjiCU96t3PU7DZKy8sz9y9Lyiptn1OPyfaR/oXo875BdHmyCx7ff6fgmZKZF0YZUggTQcKm9GxwQJAf+Oobp5wOgEmigB1DV1sjkbS7S9ODvC4UK6jVmKDEYh8ohoGTPyxhdqpcgAif78JN18YLskqbL6NrZoSykbO8PeKTGjSJLibxaJVmZwlSSVnNOqnyTVh/jk3OmqInNi8THz5cNAyhtS32g5K+I+YUDT5MIYPilng4kyU2L7wR5MnaUw+itREr6IUxaIgUie9gw/85QqC1eU3vNF0wGIQ+CKOyU+UIZSZTXnvRXGRZMsvTWULI3B7KUDRLJ0lvdkadhO2+MJUOR2JMhEurybbBLIogz9XZewtd8aH4HYHvWTpweKIjk6mgxxJ8SLJGq9POKrSrFt53pb7d0CeyocC8WIgSJ33OC7UDtji//zZ3MyQvnFuWkIM1UDY8O+sD3dMqwdCFy9T2cDSwZVwxUwfDwtEi/75+Npn9CREUpsHMQfT1sBZ+99ly+YJjafz4vfjJ/PI40txvgXDtQRluxs1HwAAAAASUVORK5CYII=",
6
+ usdt: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAACaUlEQVR4Xu2aPW7CMBiGOQJH6BE4AkfoEThCj8ANIiWwsCAmNnoBJCQ2JtiYUBc2Bla2Vl9Vq+R1En/+xQY/0rMQ298PdpSU9nqZTCaTyfCpqu+onU4HmLI7iqIvBYxRb2CgeL1i6vZU1aYhULw6BwOkoDNw4XQcYin6TCZfDQunozW4YIoagwt1GBqM32lRvGFpaqpqLC3UYWgwvlJtcAGFocH4SsuywBLbwckMQ4PxWbKg84ITGYYG4zNlPCHKk1gOVyuW+8sFa6mB49vE+Gw70bzxmbg5n7HmGjjei63gQA/G2wAc5MkoGkDWMLzxdUnnVFUsB1rD6sy3WZaj/wbgRQP7sxnm7o23xUKKb+Rf8RvpgoaUzKOw3hn0oid9qGkTtG0Hy6U0llQdCxxPUpM/Tycc+ov1bpA+0FQwWq+la02aNAClb15gvQtc3QO4umjAvVYNqIEXmRJ0A8TPVbp4siNM59aLF+AghvfQYy5edy0+Shs1oBMcrFAFbfmP7VZ7l9A9RXVcCJynVAk9IOAkhZRsaMa7nZQHw3cstxmDJgiLwwFzdcb8eJTisdX+yYwm4CIW0lmlb+16u2FdNWiM0bnuUrt4geMmkKpzjeOtNS7+HlzUwqANcAoubmiwBngBgxgYpAFewWCaem+Adyz/ScJrA4KCwZl6a8BDwCQYemnAQ8FkFNIfSvBN0OqtMAowqVBGBSbnV8ZPXI9ATtSHkRYvkBN2axJg0q5MCkze1iTBIkxNGixG16egqvZSYSonkzkukzZUEBbZ5tMVL+A04WmLF2DB6EuARb9U8YKXLj6TyWQycfADMiVWaB1DBnAAAAAASUVORK5CYII=",
7
+ pha: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAABTUlEQVR4Xu3QsRFCMQwEUddG7TREBZDvJprx+Qecg5dsIMlea61vOYU2Cm0U2ii0UWij0EahjUIbhTYKbRTaKLRRaKPQRmHs/Xk9hruDFMZ45EncHaQwxiNP4u4ghTEeeRJ3BymM8ciTuDtIYYxHnsTdQQpjPPIk7g5SGOORJw/m/OAuhTEeEjxKOD+4S2GMhwSPEs4P7lIY4yHBo4Tzg7sUxnhI8Cjh/OAuhTEeEjxKOD+4S2GMhwSPEs4P7lIY4yHBo4Tzg7sUxnhI8Cjh/OAuhTEeEjxKOD+4SyGCR+7i/CCFCD5gF+cHKUTwAbs4P0ghgg/YxflBChF8wC7OD1KI4AN2cX6QQgQfsIvzgxTGeORDB6cpjPHR9wPuB9wPuB9wP+B+wP2A+wE1H/AnFNootFFoo9BGoY1CG4U2Cm0U2ii0UWij0EahjUKVH6yAFDpfo2VCAAAAAElFTkSuQmCC",
8
+ eth: "data:image/png;base64,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",
9
+ ethereum: "data:image/png;base64,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",
10
+ base: "data:image/png;base64,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",
11
+ };
12
+ //# sourceMappingURL=icon-images.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icon-images.js","sourceRoot":"","sources":["../src/icon-images.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,CAAC,MAAM,WAAW,GAA0E;IAChG,IAAI,EAAE,gmGAAgmG;IACtmG,IAAI,EAAE,45BAA45B;IACl6B,GAAG,EAAE,giBAAgiB;IACriB,GAAG,EAAE,opHAAopH;IACzpH,QAAQ,EAAE,opHAAopH;IAC9pH,IAAI,EAAE,wmPAAwmP;CAC/mP,CAAC"}
@@ -1,5 +1,5 @@
1
- import type { ICON_SVG } from "./icon-svg.js";
2
- export type IconName = keyof typeof ICON_SVG;
1
+ import type { ICON_IMAGES } from "./icon-images.js";
2
+ export type IconName = keyof typeof ICON_IMAGES;
3
3
  /** Case-insensitive token symbol; unrecognized symbols use a neutral monogram. */
4
4
  export declare function assetIconName(asset: string): IconName | undefined;
5
5
  /** The token's symbol as payers read it, for example `USDC` for `usdc`. */
@@ -1 +1 @@
1
- {"version":3,"file":"icon-names.d.ts","sourceRoot":"","sources":["../src/icon-names.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,MAAM,MAAM,QAAQ,GAAG,MAAM,OAAO,QAAQ,CAAC;AAe7C,kFAAkF;AAClF,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAEjE;AAED,2EAA2E;AAC3E,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED,kGAAkG;AAClG,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,qFAAqF;AACrF,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAElD"}
1
+ {"version":3,"file":"icon-names.d.ts","sourceRoot":"","sources":["../src/icon-names.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,MAAM,MAAM,QAAQ,GAAG,MAAM,OAAO,WAAW,CAAC;AAehD,kFAAkF;AAClF,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAEjE;AAED,2EAA2E;AAC3E,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED,kGAAkG;AAClG,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,qFAAqF;AACrF,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAElD"}
@@ -1 +1 @@
1
- {"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../src/icons.ts"],"names":[],"mappings":"AAkBA,iFAAiF;AACjF,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAInD;AAED,2EAA2E;AAC3E,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAG/C"}
1
+ {"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../src/icons.ts"],"names":[],"mappings":"AAuBA,iFAAiF;AACjF,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAGnD;AAED,2EAA2E;AAC3E,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAG/C"}
package/dist/icons.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { networkName, networkIconName } from "./chains.js";
2
- import { ICON_SVG } from "./icon-svg.js";
2
+ import { ICON_IMAGES } from "./icon-images.js";
3
3
  import { assetIconName, iconMonogram } from "./icon-names.js";
4
4
  function fallback(label) {
5
5
  const letter = iconMonogram(label).replace(/[&<>"']/g, (character) => {
@@ -13,15 +13,18 @@ function fallback(label) {
13
13
  });
14
14
  return `<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" aria-hidden="true"><circle cx="12" cy="12" r="11" fill="currentColor" opacity="0.12"/><text x="12" y="16" text-anchor="middle" font-family="sans-serif" font-size="12" fill="currentColor">${letter}</text></svg>`;
15
15
  }
16
+ /** CoinMarketCap's logo as a `data:` image, which needs `img-src data:` in a CSP. */
17
+ function logo(name) {
18
+ return `<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" aria-hidden="true"><image href="${ICON_IMAGES[name]}" width="24" height="24"/></svg>`;
19
+ }
16
20
  /** Decorative inline SVG markup; testnets reuse their mainnet family artwork. */
17
21
  export function networkIcon(chainId) {
18
22
  const name = networkIconName(chainId);
19
- const svg = name === undefined ? fallback(networkName(chainId)) : ICON_SVG[name];
20
- return svg;
23
+ return name === undefined ? fallback(networkName(chainId)) : logo(name);
21
24
  }
22
25
  /** Decorative inline SVG markup; keep the asset name visible beside it. */
23
26
  export function assetIcon(asset) {
24
27
  const name = assetIconName(asset);
25
- return name === undefined ? fallback(asset) : ICON_SVG[name];
28
+ return name === undefined ? fallback(asset) : logo(name);
26
29
  }
27
30
  //# sourceMappingURL=icons.js.map
package/dist/icons.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"icons.js","sourceRoot":"","sources":["../src/icons.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE9D,SAAS,QAAQ,CAAC,KAAa;IAC7B,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,SAAS,EAAE,EAAE;QACnE,QAAQ,SAAS,EAAE,CAAC;YAClB,KAAK,GAAG,CAAC,CAAC,OAAO,OAAO,CAAC;YACzB,KAAK,GAAG,CAAC,CAAC,OAAO,MAAM,CAAC;YACxB,KAAK,GAAG,CAAC,CAAC,OAAO,MAAM,CAAC;YACxB,KAAK,GAAG,CAAC,CAAC,OAAO,QAAQ,CAAC;YAC1B,OAAO,CAAC,CAAC,OAAO,OAAO,CAAC;QAC1B,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,iRAAiR,MAAM,eAAe,CAAC;AAChT,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,WAAW,CAAC,OAAe;IACzC,MAAM,IAAI,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IACtC,MAAM,GAAG,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjF,OAAO,GAAG,CAAC;AACb,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,SAAS,CAAC,KAAa;IACrC,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IAClC,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC/D,CAAC"}
1
+ {"version":3,"file":"icons.js","sourceRoot":"","sources":["../src/icons.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAE,YAAY,EAAiB,MAAM,iBAAiB,CAAC;AAE7E,SAAS,QAAQ,CAAC,KAAa;IAC7B,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,SAAS,EAAE,EAAE;QACnE,QAAQ,SAAS,EAAE,CAAC;YAClB,KAAK,GAAG,CAAC,CAAC,OAAO,OAAO,CAAC;YACzB,KAAK,GAAG,CAAC,CAAC,OAAO,MAAM,CAAC;YACxB,KAAK,GAAG,CAAC,CAAC,OAAO,MAAM,CAAC;YACxB,KAAK,GAAG,CAAC,CAAC,OAAO,QAAQ,CAAC;YAC1B,OAAO,CAAC,CAAC,OAAO,OAAO,CAAC;QAC1B,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,iRAAiR,MAAM,eAAe,CAAC;AAChT,CAAC;AAED,qFAAqF;AACrF,SAAS,IAAI,CAAC,IAAc;IAC1B,OAAO,sHAAsH,WAAW,CAAC,IAAI,CAAC,kCAAkC,CAAC;AACnL,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,WAAW,CAAC,OAAe;IACzC,MAAM,IAAI,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IACtC,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1E,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,SAAS,CAAC,KAAa;IACrC,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IAClC,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3D,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@phala/pay",
3
- "version": "0.11.1",
3
+ "version": "0.11.3",
4
4
  "description": "Phala Pay framework-free browser client",
5
5
  "keywords": [
6
6
  "crypto",
@@ -62,7 +62,7 @@
62
62
  },
63
63
  "devDependencies": {
64
64
  "@eslint/js": "^10.0.1",
65
- "@playwright/test": "1.63.0",
65
+ "@playwright/test": "1.64.1",
66
66
  "@testing-library/dom": "^10.4.2",
67
67
  "@types/node": "^26.6.4",
68
68
  "axe-core": "^4.13.0",
@@ -0,0 +1,12 @@
1
+ /** Generated from CoinMarketCap's 64x64 logos by scripts/generate-icons.mjs. Do not edit.
2
+ * The logos are trademarks of their owners; see THIRD_PARTY_NOTICES.
3
+ */
4
+
5
+ export const ICON_IMAGES: Record<"usdc" | "usdt" | "pha" | "eth" | "ethereum" | "base", string> = {
6
+ usdc: "data:image/png;base64,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",
7
+ usdt: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAACaUlEQVR4Xu2aPW7CMBiGOQJH6BE4AkfoEThCj8ANIiWwsCAmNnoBJCQ2JtiYUBc2Bla2Vl9Vq+R1En/+xQY/0rMQ298PdpSU9nqZTCaTyfCpqu+onU4HmLI7iqIvBYxRb2CgeL1i6vZU1aYhULw6BwOkoDNw4XQcYin6TCZfDQunozW4YIoagwt1GBqM32lRvGFpaqpqLC3UYWgwvlJtcAGFocH4SsuywBLbwckMQ4PxWbKg84ITGYYG4zNlPCHKk1gOVyuW+8sFa6mB49vE+Gw70bzxmbg5n7HmGjjei63gQA/G2wAc5MkoGkDWMLzxdUnnVFUsB1rD6sy3WZaj/wbgRQP7sxnm7o23xUKKb+Rf8RvpgoaUzKOw3hn0oid9qGkTtG0Hy6U0llQdCxxPUpM/Tycc+ov1bpA+0FQwWq+la02aNAClb15gvQtc3QO4umjAvVYNqIEXmRJ0A8TPVbp4siNM59aLF+AghvfQYy5edy0+Shs1oBMcrFAFbfmP7VZ7l9A9RXVcCJynVAk9IOAkhZRsaMa7nZQHw3cstxmDJgiLwwFzdcb8eJTisdX+yYwm4CIW0lmlb+16u2FdNWiM0bnuUrt4geMmkKpzjeOtNS7+HlzUwqANcAoubmiwBngBgxgYpAFewWCaem+Adyz/ScJrA4KCwZl6a8BDwCQYemnAQ8FkFNIfSvBN0OqtMAowqVBGBSbnV8ZPXI9ATtSHkRYvkBN2axJg0q5MCkze1iTBIkxNGixG16egqvZSYSonkzkukzZUEBbZ5tMVL+A04WmLF2DB6EuARb9U8YKXLj6TyWQycfADMiVWaB1DBnAAAAAASUVORK5CYII=",
8
+ pha: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAABTUlEQVR4Xu3QsRFCMQwEUddG7TREBZDvJprx+Qecg5dsIMlea61vOYU2Cm0U2ii0UWij0EahjUIbhTYKbRTaKLRRaKPQRmHs/Xk9hruDFMZ45EncHaQwxiNP4u4ghTEeeRJ3BymM8ciTuDtIYYxHnsTdQQpjPPIk7g5SGOORJw/m/OAuhTEeEjxKOD+4S2GMhwSPEs4P7lIY4yHBo4Tzg7sUxnhI8Cjh/OAuhTEeEjxKOD+4S2GMhwSPEs4P7lIY4yHBo4Tzg7sUxnhI8Cjh/OAuhTEeEjxKOD+4SyGCR+7i/CCFCD5gF+cHKUTwAbs4P0ghgg/YxflBChF8wC7OD1KI4AN2cX6QQgQfsIvzgxTGeORDB6cpjPHR9wPuB9wPuB9wP+B+wP2A+wE1H/AnFNootFFoo9BGoY1CG4U2Cm0U2ii0UWij0EahjUKVH6yAFDpfo2VCAAAAAElFTkSuQmCC",
9
+ eth: "data:image/png;base64,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",
10
+ ethereum: "data:image/png;base64,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",
11
+ base: "data:image/png;base64,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",
12
+ };
package/src/icon-names.ts CHANGED
@@ -1,6 +1,6 @@
1
- import type { ICON_SVG } from "./icon-svg.js";
1
+ import type { ICON_IMAGES } from "./icon-images.js";
2
2
 
3
- export type IconName = keyof typeof ICON_SVG;
3
+ export type IconName = keyof typeof ICON_IMAGES;
4
4
 
5
5
  /** The tokens the SDK knows, by lowercase code: their icon and full name. */
6
6
  const ASSETS: Readonly<Record<string, { icon: IconName; name: string }>> = {
package/src/icons.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { networkName, networkIconName } from "./chains.js";
2
- import { ICON_SVG } from "./icon-svg.js";
2
+ import { ICON_IMAGES } from "./icon-images.js";
3
3
 
4
- import { assetIconName, iconMonogram } from "./icon-names.js";
4
+ import { assetIconName, iconMonogram, type IconName } from "./icon-names.js";
5
5
 
6
6
  function fallback(label: string): string {
7
7
  const letter = iconMonogram(label).replace(/[&<>"']/g, (character) => {
@@ -16,15 +16,19 @@ function fallback(label: string): string {
16
16
  return `<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" aria-hidden="true"><circle cx="12" cy="12" r="11" fill="currentColor" opacity="0.12"/><text x="12" y="16" text-anchor="middle" font-family="sans-serif" font-size="12" fill="currentColor">${letter}</text></svg>`;
17
17
  }
18
18
 
19
+ /** CoinMarketCap's logo as a `data:` image, which needs `img-src data:` in a CSP. */
20
+ function logo(name: IconName): string {
21
+ return `<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" aria-hidden="true"><image href="${ICON_IMAGES[name]}" width="24" height="24"/></svg>`;
22
+ }
23
+
19
24
  /** Decorative inline SVG markup; testnets reuse their mainnet family artwork. */
20
25
  export function networkIcon(chainId: number): string {
21
26
  const name = networkIconName(chainId);
22
- const svg = name === undefined ? fallback(networkName(chainId)) : ICON_SVG[name];
23
- return svg;
27
+ return name === undefined ? fallback(networkName(chainId)) : logo(name);
24
28
  }
25
29
 
26
30
  /** Decorative inline SVG markup; keep the asset name visible beside it. */
27
31
  export function assetIcon(asset: string): string {
28
32
  const name = assetIconName(asset);
29
- return name === undefined ? fallback(asset) : ICON_SVG[name];
33
+ return name === undefined ? fallback(asset) : logo(name);
30
34
  }
@@ -1,6 +0,0 @@
1
- /** Generated from @web3icons/core@4.0.57 by scripts/generate-icons.mjs.
2
- * SPDX-License-Identifier: MIT; Copyright (c) 2024 0xa3k5.
3
- * See THIRD_PARTY_NOTICES for the full license. Do not edit.
4
- */
5
- export declare const ICON_SVG: Record<"usdc" | "usdt" | "pha" | "eth" | "ethereum" | "base", string>;
6
- //# sourceMappingURL=icon-svg.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"icon-svg.d.ts","sourceRoot":"","sources":["../src/icon-svg.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,GAAG,UAAU,GAAG,MAAM,EAAE,MAAM,CAO1F,CAAC"}
package/dist/icon-svg.js DELETED
@@ -1,13 +0,0 @@
1
- /** Generated from @web3icons/core@4.0.57 by scripts/generate-icons.mjs.
2
- * SPDX-License-Identifier: MIT; Copyright (c) 2024 0xa3k5.
3
- * See THIRD_PARTY_NOTICES for the full license. Do not edit.
4
- */
5
- export const ICON_SVG = {
6
- usdc: "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" fill=\"none\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path fill=\"#0B53BF\" d=\"M12 21a9 9 0 1 0 0-18 9 9 0 0 0 0 18\"/><path fill=\"#fff\" d=\"M13.62 5.45v1.159a5.64 5.64 0 0 1 4.005 5.394 5.64 5.64 0 0 1-4.005 5.394v1.16a6.74 6.74 0 0 0 5.13-6.554 6.74 6.74 0 0 0-5.13-6.553m-7.245 6.553a5.64 5.64 0 0 1 4.005-5.394V5.45a6.74 6.74 0 0 0-5.13 6.553 6.74 6.74 0 0 0 5.13 6.553v-1.159a5.63 5.63 0 0 1-4.005-5.394\"/><path fill=\"#fff\" d=\"M14.419 13.258c0-2.301-3.606-1.356-3.606-2.627 0-.456.366-.748 1.063-.748.833 0 1.12.405 1.21.95h1.147c-.102-1.024-.69-1.67-1.67-1.863v-.904h-1.125v.872c-1.075.137-1.75.762-1.75 1.693 0 2.312 3.611 1.445 3.611 2.694 0 .472-.455.787-1.226.787-1.007 0-1.339-.444-1.462-1.057H9.49c.073 1.122.764 1.823 1.947 1.999v.886h1.125v-.875c1.153-.149 1.856-.82 1.856-1.807\"/></svg>",
7
- usdt: "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" fill=\"none\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path fill=\"#009393\" d=\"m12 19.2-9-8.88L6.433 4.8h11.134L21 10.32zm.9-8.1v-1.098c1.62.08 3.132.396 3.6.805-.544.477-2.493.824-4.5.824s-3.956-.347-4.5-.824c.463-.41 1.98-.72 3.6-.81V11.1zm-5.4-.297v.661c.463.41 1.975.72 3.6.81V14.7h1.8v-2.43c1.62-.081 3.136-.396 3.6-.806v-1.318c-.464-.41-1.98-.725-3.6-.81V8.4h2.7V7.05H8.4V8.4h2.7v.936c-1.625.085-3.137.4-3.6.81z\"/></svg>",
8
- pha: "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" fill=\"none\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><circle cx=\"12\" cy=\"12\" r=\"12\" fill=\"#252525\"/><path fill=\"#D1FF52\" fill-rule=\"evenodd\" d=\"M3 3h14.143v3.857H21V12h-3.857V6.857H6.857V12H3zm3.857 12.857h10.286V12H6.857zm0 0V21H3v-5.143z\" clip-rule=\"evenodd\"/></svg>",
9
- eth: "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" fill=\"none\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path fill=\"#8FFCF3\" d=\"M12 3v6.65l5.625 2.516z\"/><path fill=\"#CABCF8\" d=\"m12 3-5.625 9.166L12 9.651z\"/><path fill=\"#CBA7F5\" d=\"M12 16.477v4.522l5.625-7.784z\"/><path fill=\"#74A0F3\" d=\"M12 21v-4.523l-5.625-3.262z\"/><path fill=\"#CBA7F5\" d=\"m12 15.43 5.625-3.263L12 9.65z\"/><path fill=\"#74A0F3\" d=\"M6.375 12.167 12 15.429V9.651z\"/><path fill=\"#202699\" fill-rule=\"evenodd\" d=\"m12 15.429-5.625-3.263L12 3l5.625 9.166zM6.749 11.9l5.16-8.41v6.115zm-.077.23 5.238-2.327v5.364zm5.418-2.327v5.364l5.233-3.038zm0-.198 5.16 2.295-5.16-8.41z\" clip-rule=\"evenodd\"/><path fill=\"#202699\" fill-rule=\"evenodd\" d=\"M12 16.406 6.375 13.21 12 21l5.625-7.79zm-4.995-2.633 4.905 2.79v4.005zm5.085 2.79v4.005l4.905-6.795z\" clip-rule=\"evenodd\"/></svg>",
10
- ethereum: "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" fill=\"none\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path fill=\"#8FFCF3\" d=\"M12 3v6.651l5.625 2.516z\"/><path fill=\"#CABCF8\" d=\"m12 3-5.625 9.166L12 9.653z\"/><path fill=\"#CBA7F5\" d=\"M12 16.478V21l5.625-7.784z\"/><path fill=\"#74A0F3\" d=\"M12 21v-4.522l-5.625-3.262z\"/><path fill=\"#CBA7F5\" d=\"m12 15.43 5.625-3.263L12 9.652z\"/><path fill=\"#74A0F3\" d=\"M6.375 12.167 12 15.43V9.652z\"/><path fill=\"#202699\" fill-rule=\"evenodd\" d=\"m12 15.43-5.625-3.263L12 3l5.624 9.166zm-5.252-3.528 5.161-8.41v6.114zm-.077.229 5.238-2.327v5.364zm5.418-2.327v5.364l5.234-3.037zm0-.198 5.161 2.296-5.161-8.41z\" clip-rule=\"evenodd\"/><path fill=\"#202699\" fill-rule=\"evenodd\" d=\"m12 16.406-5.625-3.195L12 21l5.624-7.79zm-4.995-2.633 4.904 2.79v4.005zm5.084 2.79v4.005l4.905-6.795z\" clip-rule=\"evenodd\"/></svg>",
11
- base: "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" fill=\"none\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path fill=\"#00F\" d=\"M3 4.706c0-.585 0-.877.11-1.101.106-.215.28-.39.496-.495C3.83 3 4.122 3 4.706 3h14.588c.585 0 .876 0 1.101.11.215.105.389.28.494.495.111.225.111.517.111 1.101v14.588c0 .585 0 .876-.11 1.101-.106.215-.28.389-.495.494-.225.111-.517.111-1.101.111H4.706c-.585 0-.876 0-1.101-.11a1.08 1.08 0 0 1-.494-.495C3 20.17 3 19.878 3 19.294z\"/></svg>",
12
- };
13
- //# sourceMappingURL=icon-svg.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"icon-svg.js","sourceRoot":"","sources":["../src/icon-svg.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,MAAM,QAAQ,GAA0E;IAC7F,IAAI,EAAE,o3BAAo3B;IAC13B,IAAI,EAAE,ufAAuf;IAC7f,GAAG,EAAE,uWAAuW;IAC5W,GAAG,EAAE,63BAA63B;IACl4B,QAAQ,EAAE,g4BAAg4B;IAC14B,IAAI,EAAE,yeAAye;CAChf,CAAC"}
package/src/icon-svg.ts DELETED
@@ -1,13 +0,0 @@
1
- /** Generated from @web3icons/core@4.0.57 by scripts/generate-icons.mjs.
2
- * SPDX-License-Identifier: MIT; Copyright (c) 2024 0xa3k5.
3
- * See THIRD_PARTY_NOTICES for the full license. Do not edit.
4
- */
5
-
6
- export const ICON_SVG: Record<"usdc" | "usdt" | "pha" | "eth" | "ethereum" | "base", string> = {
7
- usdc: "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" fill=\"none\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path fill=\"#0B53BF\" d=\"M12 21a9 9 0 1 0 0-18 9 9 0 0 0 0 18\"/><path fill=\"#fff\" d=\"M13.62 5.45v1.159a5.64 5.64 0 0 1 4.005 5.394 5.64 5.64 0 0 1-4.005 5.394v1.16a6.74 6.74 0 0 0 5.13-6.554 6.74 6.74 0 0 0-5.13-6.553m-7.245 6.553a5.64 5.64 0 0 1 4.005-5.394V5.45a6.74 6.74 0 0 0-5.13 6.553 6.74 6.74 0 0 0 5.13 6.553v-1.159a5.63 5.63 0 0 1-4.005-5.394\"/><path fill=\"#fff\" d=\"M14.419 13.258c0-2.301-3.606-1.356-3.606-2.627 0-.456.366-.748 1.063-.748.833 0 1.12.405 1.21.95h1.147c-.102-1.024-.69-1.67-1.67-1.863v-.904h-1.125v.872c-1.075.137-1.75.762-1.75 1.693 0 2.312 3.611 1.445 3.611 2.694 0 .472-.455.787-1.226.787-1.007 0-1.339-.444-1.462-1.057H9.49c.073 1.122.764 1.823 1.947 1.999v.886h1.125v-.875c1.153-.149 1.856-.82 1.856-1.807\"/></svg>",
8
- usdt: "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" fill=\"none\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path fill=\"#009393\" d=\"m12 19.2-9-8.88L6.433 4.8h11.134L21 10.32zm.9-8.1v-1.098c1.62.08 3.132.396 3.6.805-.544.477-2.493.824-4.5.824s-3.956-.347-4.5-.824c.463-.41 1.98-.72 3.6-.81V11.1zm-5.4-.297v.661c.463.41 1.975.72 3.6.81V14.7h1.8v-2.43c1.62-.081 3.136-.396 3.6-.806v-1.318c-.464-.41-1.98-.725-3.6-.81V8.4h2.7V7.05H8.4V8.4h2.7v.936c-1.625.085-3.137.4-3.6.81z\"/></svg>",
9
- pha: "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" fill=\"none\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><circle cx=\"12\" cy=\"12\" r=\"12\" fill=\"#252525\"/><path fill=\"#D1FF52\" fill-rule=\"evenodd\" d=\"M3 3h14.143v3.857H21V12h-3.857V6.857H6.857V12H3zm3.857 12.857h10.286V12H6.857zm0 0V21H3v-5.143z\" clip-rule=\"evenodd\"/></svg>",
10
- eth: "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" fill=\"none\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path fill=\"#8FFCF3\" d=\"M12 3v6.65l5.625 2.516z\"/><path fill=\"#CABCF8\" d=\"m12 3-5.625 9.166L12 9.651z\"/><path fill=\"#CBA7F5\" d=\"M12 16.477v4.522l5.625-7.784z\"/><path fill=\"#74A0F3\" d=\"M12 21v-4.523l-5.625-3.262z\"/><path fill=\"#CBA7F5\" d=\"m12 15.43 5.625-3.263L12 9.65z\"/><path fill=\"#74A0F3\" d=\"M6.375 12.167 12 15.429V9.651z\"/><path fill=\"#202699\" fill-rule=\"evenodd\" d=\"m12 15.429-5.625-3.263L12 3l5.625 9.166zM6.749 11.9l5.16-8.41v6.115zm-.077.23 5.238-2.327v5.364zm5.418-2.327v5.364l5.233-3.038zm0-.198 5.16 2.295-5.16-8.41z\" clip-rule=\"evenodd\"/><path fill=\"#202699\" fill-rule=\"evenodd\" d=\"M12 16.406 6.375 13.21 12 21l5.625-7.79zm-4.995-2.633 4.905 2.79v4.005zm5.085 2.79v4.005l4.905-6.795z\" clip-rule=\"evenodd\"/></svg>",
11
- ethereum: "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" fill=\"none\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path fill=\"#8FFCF3\" d=\"M12 3v6.651l5.625 2.516z\"/><path fill=\"#CABCF8\" d=\"m12 3-5.625 9.166L12 9.653z\"/><path fill=\"#CBA7F5\" d=\"M12 16.478V21l5.625-7.784z\"/><path fill=\"#74A0F3\" d=\"M12 21v-4.522l-5.625-3.262z\"/><path fill=\"#CBA7F5\" d=\"m12 15.43 5.625-3.263L12 9.652z\"/><path fill=\"#74A0F3\" d=\"M6.375 12.167 12 15.43V9.652z\"/><path fill=\"#202699\" fill-rule=\"evenodd\" d=\"m12 15.43-5.625-3.263L12 3l5.624 9.166zm-5.252-3.528 5.161-8.41v6.114zm-.077.229 5.238-2.327v5.364zm5.418-2.327v5.364l5.234-3.037zm0-.198 5.161 2.296-5.161-8.41z\" clip-rule=\"evenodd\"/><path fill=\"#202699\" fill-rule=\"evenodd\" d=\"m12 16.406-5.625-3.195L12 21l5.624-7.79zm-4.995-2.633 4.904 2.79v4.005zm5.084 2.79v4.005l4.905-6.795z\" clip-rule=\"evenodd\"/></svg>",
12
- base: "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" fill=\"none\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path fill=\"#00F\" d=\"M3 4.706c0-.585 0-.877.11-1.101.106-.215.28-.39.496-.495C3.83 3 4.122 3 4.706 3h14.588c.585 0 .876 0 1.101.11.215.105.389.28.494.495.111.225.111.517.111 1.101v14.588c0 .585 0 .876-.11 1.101-.106.215-.28.389-.495.494-.225.111-.517.111-1.101.111H4.706c-.585 0-.876 0-1.101-.11a1.08 1.08 0 0 1-.494-.495C3 20.17 3 19.878 3 19.294z\"/></svg>",
13
- };