hpw-convert-eip681 0.3.0 → 0.4.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.
package/README.md CHANGED
@@ -19,26 +19,37 @@
19
19
 
20
20
  現時点では以下のみに対応しています(他のチェーン・通貨は今後の対応も未定です):
21
21
 
22
- - チェーン: **Polygon (chain id `137`)** のみ
23
- - 通貨: **JPYC** (`master_currency_id=487`) のみ
22
+ - 通貨: **JPYC** のみ
23
+ - チェーン: 下表の4チェーン
24
+
25
+ HashPort Walletの `master_currency_id` は通貨単体ではなく「通貨×チェーン」の組ごとに振られているため、この値からチェーンも決定します。
26
+
27
+ | `master_currency_id` | 通貨 | チェーン | chain id |
28
+ | --- | --- | --- | --- |
29
+ | `487` | JPYC | Polygon | `137` |
30
+ | `489` | JPYC | Avalanche C-Chain | `43114` |
31
+ | `490` | JPYC | Ethereum | `1` |
32
+ | `712` | JPYC | Kaia | `8217` |
33
+
34
+ JPYCのコントラクトアドレスは全チェーン共通(`0xE7C3D8C9a439feDe00D2600032D5dB0Be71C3c29`)のため、EIP-681出力でチェーンごとに変わるのは `@<chain id>` の部分のみです。
24
35
 
25
36
  対応外のURL・チェーン・通貨は `ParseError` (もしくはJS側のタグ付きエラー)として明示的に拒否されます。
26
37
 
27
38
  ## 対象とするURL形式
28
39
 
29
40
  ```
30
- https://link.expo2025-wallet.com/pay?to=<address>&master_currency_id=487&amount=<hex>&to_name=<label>&type=<type>
41
+ https://link.expo2025-wallet.com/pay?to=<address>&master_currency_id=<id>&amount=<hex>&to_name=<label>&type=<type>
31
42
  ```
32
43
 
33
44
  これをEIP-681形式に変換します:
34
45
 
35
46
  ```
36
- ethereum:<JPYCコントラクトアドレス>@137/transfer?address=<to>&uint256=<amount>
47
+ ethereum:<JPYCコントラクトアドレス>@<chain id>/transfer?address=<to>&uint256=<amount>
37
48
  ```
38
49
 
39
50
  `amount` は元URLに存在しないことがあります。その場合 `amount` は
40
51
  `None`(JS側では `undefined`)として扱われ、EIP-681出力からも
41
- `uint256=` パラメータ自体が省かれます(`ethereum:<contract>@137/transfer?address=<to>`)。これはEIP-681仕様が金額未指定のリクエストを
52
+ `uint256=` パラメータ自体が省かれます(`ethereum:<contract>@<chain id>/transfer?address=<to>`)。これはEIP-681仕様が金額未指定のリクエストを
42
53
  許容している(受け取り側のウォレットがユーザーに入力させる)ことに
43
54
  対応したものです。
44
55
 
@@ -6,14 +6,14 @@ export class ParsedLink {
6
6
  free(): void;
7
7
  [Symbol.dispose](): void;
8
8
  toEip681(): string;
9
- readonly amount: string | undefined;
10
9
  readonly amountHex: string | undefined;
10
+ readonly amount: string | undefined;
11
11
  readonly chainId: number;
12
12
  readonly currencyContract: string;
13
13
  readonly currencySymbol: string;
14
14
  readonly linkType: string | undefined;
15
- readonly to: string;
16
15
  readonly toName: string | undefined;
16
+ readonly to: string;
17
17
  }
18
18
 
19
19
  export function isSupported(url: string): boolean;
@@ -18,11 +18,11 @@ export class ParsedLink {
18
18
  /**
19
19
  * @returns {string | undefined}
20
20
  */
21
- get amount() {
22
- const ret = wasm.parsedlink_amount(this.__wbg_ptr);
21
+ get amountHex() {
22
+ const ret = wasm.parsedlink_amountHex(this.__wbg_ptr);
23
23
  let v1;
24
24
  if (ret[0] !== 0) {
25
- v1 = getStringFromWasm0(ret[0], ret[1]).slice();
25
+ v1 = getStringFromWasm0(ret[0], ret[1]);
26
26
  wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
27
27
  }
28
28
  return v1;
@@ -30,11 +30,11 @@ export class ParsedLink {
30
30
  /**
31
31
  * @returns {string | undefined}
32
32
  */
33
- get amountHex() {
34
- const ret = wasm.parsedlink_amountHex(this.__wbg_ptr);
33
+ get amount() {
34
+ const ret = wasm.parsedlink_amount(this.__wbg_ptr);
35
35
  let v1;
36
36
  if (ret[0] !== 0) {
37
- v1 = getStringFromWasm0(ret[0], ret[1]).slice();
37
+ v1 = getStringFromWasm0(ret[0], ret[1]);
38
38
  wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
39
39
  }
40
40
  return v1;
@@ -83,26 +83,11 @@ export class ParsedLink {
83
83
  const ret = wasm.parsedlink_linkType(this.__wbg_ptr);
84
84
  let v1;
85
85
  if (ret[0] !== 0) {
86
- v1 = getStringFromWasm0(ret[0], ret[1]).slice();
86
+ v1 = getStringFromWasm0(ret[0], ret[1]);
87
87
  wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
88
88
  }
89
89
  return v1;
90
90
  }
91
- /**
92
- * @returns {string}
93
- */
94
- get to() {
95
- let deferred1_0;
96
- let deferred1_1;
97
- try {
98
- const ret = wasm.parsedlink_to(this.__wbg_ptr);
99
- deferred1_0 = ret[0];
100
- deferred1_1 = ret[1];
101
- return getStringFromWasm0(ret[0], ret[1]);
102
- } finally {
103
- wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
104
- }
105
- }
106
91
  /**
107
92
  * @returns {string}
108
93
  */
@@ -125,11 +110,26 @@ export class ParsedLink {
125
110
  const ret = wasm.parsedlink_toName(this.__wbg_ptr);
126
111
  let v1;
127
112
  if (ret[0] !== 0) {
128
- v1 = getStringFromWasm0(ret[0], ret[1]).slice();
113
+ v1 = getStringFromWasm0(ret[0], ret[1]);
129
114
  wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
130
115
  }
131
116
  return v1;
132
117
  }
118
+ /**
119
+ * @returns {string}
120
+ */
121
+ get to() {
122
+ let deferred1_0;
123
+ let deferred1_1;
124
+ try {
125
+ const ret = wasm.parsedlink_to(this.__wbg_ptr);
126
+ deferred1_0 = ret[0];
127
+ deferred1_1 = ret[1];
128
+ return getStringFromWasm0(ret[0], ret[1]);
129
+ } finally {
130
+ wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
131
+ }
132
+ }
133
133
  }
134
134
  if (Symbol.dispose) ParsedLink.prototype[Symbol.dispose] = ParsedLink.prototype.free;
135
135
 
@@ -172,10 +172,10 @@ export function parseHashportLink(url) {
172
172
  export function start() {
173
173
  wasm.start();
174
174
  }
175
- export function __wbg___wbindgen_throw_344f42d3211c4765(arg0, arg1) {
175
+ export function __wbg___wbindgen_throw_5d9e815e6fdf150f(arg0, arg1) {
176
176
  throw new Error(getStringFromWasm0(arg0, arg1));
177
177
  }
178
- export function __wbg_error_a6fa202b58aa1cd3(arg0, arg1) {
178
+ export function __wbg_error_757e9472f8410341(arg0, arg1) {
179
179
  let deferred0_0;
180
180
  let deferred0_1;
181
181
  try {
@@ -190,7 +190,7 @@ export function __wbg_new_227d7c05414eb861() {
190
190
  const ret = new Error();
191
191
  return ret;
192
192
  }
193
- export function __wbg_new_da52cf8fe3429cb2() {
193
+ export function __wbg_new_bebc3f4757acf305() {
194
194
  const ret = new Object();
195
195
  return ret;
196
196
  }
@@ -204,7 +204,7 @@ export function __wbg_stack_3b0d974bbf31e44f(arg0, arg1) {
204
204
  getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
205
205
  getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
206
206
  }
207
- export function __wbindgen_cast_0000000000000001(arg0, arg1) {
207
+ export function __wbindgen_generic_0000000000000001(arg0, arg1) {
208
208
  // Cast intrinsic for `Ref(String) -> Externref`.
209
209
  const ret = getStringFromWasm0(arg0, arg1);
210
210
  return ret;
Binary file
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "collaborators": [
5
5
  "Osumi Akari"
6
6
  ],
7
- "version": "0.3.0",
7
+ "version": "0.4.0",
8
8
  "license": "MIT",
9
9
  "repository": {
10
10
  "type": "git",