@keetanetwork/anchor 0.0.69 → 0.0.71
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/lib/chaining.d.ts +26 -6
- package/lib/chaining.d.ts.map +1 -1
- package/lib/chaining.js +521 -113
- package/lib/chaining.js.map +1 -1
- package/lib/resolver.js +33 -33
- package/npm-shrinkwrap.json +2 -2
- package/package.json +1 -1
- package/services/asset-movement/client.d.ts.map +1 -1
- package/services/asset-movement/client.js +5 -1
- package/services/asset-movement/client.js.map +1 -1
- package/services/asset-movement/common.d.ts +1 -1
- package/services/asset-movement/common.d.ts.map +1 -1
- package/services/asset-movement/common.generated.js +143922 -35812
- package/services/asset-movement/common.generated.js.map +1 -1
- package/services/asset-movement/common.js.map +1 -1
- package/services/asset-movement/lib/data/addresses/bank-account/ar.d.ts +4 -0
- package/services/asset-movement/lib/data/addresses/bank-account/ar.d.ts.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/ar.js +42 -0
- package/services/asset-movement/lib/data/addresses/bank-account/ar.js.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/au.d.ts +4 -0
- package/services/asset-movement/lib/data/addresses/bank-account/au.d.ts.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/au.js +45 -0
- package/services/asset-movement/lib/data/addresses/bank-account/au.js.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/bd.d.ts +4 -0
- package/services/asset-movement/lib/data/addresses/bank-account/bd.d.ts.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/bd.js +42 -0
- package/services/asset-movement/lib/data/addresses/bank-account/bd.js.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/bf.d.ts +4 -0
- package/services/asset-movement/lib/data/addresses/bank-account/bf.d.ts.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/bf.js +27 -0
- package/services/asset-movement/lib/data/addresses/bank-account/bf.js.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/bj.d.ts +4 -0
- package/services/asset-movement/lib/data/addresses/bank-account/bj.d.ts.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/bj.js +27 -0
- package/services/asset-movement/lib/data/addresses/bank-account/bj.js.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/ci.d.ts +4 -0
- package/services/asset-movement/lib/data/addresses/bank-account/ci.d.ts.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/ci.js +27 -0
- package/services/asset-movement/lib/data/addresses/bank-account/ci.js.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/ck.d.ts +4 -0
- package/services/asset-movement/lib/data/addresses/bank-account/ck.d.ts.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/ck.js +45 -0
- package/services/asset-movement/lib/data/addresses/bank-account/ck.js.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/cl.d.ts +4 -0
- package/services/asset-movement/lib/data/addresses/bank-account/cl.d.ts.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/cl.js +28 -0
- package/services/asset-movement/lib/data/addresses/bank-account/cl.js.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/cn.d.ts +4 -0
- package/services/asset-movement/lib/data/addresses/bank-account/cn.d.ts.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/cn.js +45 -0
- package/services/asset-movement/lib/data/addresses/bank-account/cn.js.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/co.d.ts +4 -0
- package/services/asset-movement/lib/data/addresses/bank-account/co.d.ts.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/co.js +43 -0
- package/services/asset-movement/lib/data/addresses/bank-account/co.js.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/cr.d.ts +4 -0
- package/services/asset-movement/lib/data/addresses/bank-account/cr.d.ts.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/cr.js +39 -0
- package/services/asset-movement/lib/data/addresses/bank-account/cr.js.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/cz.d.ts +4 -0
- package/services/asset-movement/lib/data/addresses/bank-account/cz.d.ts.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/cz.js +35 -0
- package/services/asset-movement/lib/data/addresses/bank-account/cz.js.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/dk.d.ts +4 -0
- package/services/asset-movement/lib/data/addresses/bank-account/dk.d.ts.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/dk.js +45 -0
- package/services/asset-movement/lib/data/addresses/bank-account/dk.js.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/eg.d.ts +4 -0
- package/services/asset-movement/lib/data/addresses/bank-account/eg.d.ts.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/eg.js +32 -0
- package/services/asset-movement/lib/data/addresses/bank-account/eg.js.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/fo.d.ts +4 -0
- package/services/asset-movement/lib/data/addresses/bank-account/fo.d.ts.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/fo.js +45 -0
- package/services/asset-movement/lib/data/addresses/bank-account/fo.js.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/gg.d.ts +4 -0
- package/services/asset-movement/lib/data/addresses/bank-account/gg.d.ts.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/gg.js +32 -0
- package/services/asset-movement/lib/data/addresses/bank-account/gg.js.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/gh.d.ts +4 -0
- package/services/asset-movement/lib/data/addresses/bank-account/gh.d.ts.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/gh.js +31 -0
- package/services/asset-movement/lib/data/addresses/bank-account/gh.js.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/gi.d.ts +4 -0
- package/services/asset-movement/lib/data/addresses/bank-account/gi.d.ts.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/gi.js +32 -0
- package/services/asset-movement/lib/data/addresses/bank-account/gi.js.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/gl.d.ts +4 -0
- package/services/asset-movement/lib/data/addresses/bank-account/gl.d.ts.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/gl.js +45 -0
- package/services/asset-movement/lib/data/addresses/bank-account/gl.js.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/gm.d.ts +4 -0
- package/services/asset-movement/lib/data/addresses/bank-account/gm.d.ts.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/gm.js +28 -0
- package/services/asset-movement/lib/data/addresses/bank-account/gm.js.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/gn.d.ts +4 -0
- package/services/asset-movement/lib/data/addresses/bank-account/gn.d.ts.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/gn.js +35 -0
- package/services/asset-movement/lib/data/addresses/bank-account/gn.js.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/gt.d.ts +4 -0
- package/services/asset-movement/lib/data/addresses/bank-account/gt.d.ts.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/gt.js +32 -0
- package/services/asset-movement/lib/data/addresses/bank-account/gt.js.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/id.d.ts +4 -0
- package/services/asset-movement/lib/data/addresses/bank-account/id.d.ts.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/id.js +35 -0
- package/services/asset-movement/lib/data/addresses/bank-account/id.js.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/il.d.ts +4 -0
- package/services/asset-movement/lib/data/addresses/bank-account/il.d.ts.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/il.js +36 -0
- package/services/asset-movement/lib/data/addresses/bank-account/il.js.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/im.d.ts +4 -0
- package/services/asset-movement/lib/data/addresses/bank-account/im.d.ts.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/im.js +32 -0
- package/services/asset-movement/lib/data/addresses/bank-account/im.js.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/index.generated.d.ts +104 -0
- package/services/asset-movement/lib/data/addresses/bank-account/index.generated.d.ts.map +1 -1
- package/services/asset-movement/lib/data/addresses/bank-account/index.generated.js +105 -1
- package/services/asset-movement/lib/data/addresses/bank-account/index.generated.js.map +1 -1
- package/services/asset-movement/lib/data/addresses/bank-account/je.d.ts +4 -0
- package/services/asset-movement/lib/data/addresses/bank-account/je.d.ts.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/je.js +32 -0
- package/services/asset-movement/lib/data/addresses/bank-account/je.js.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/jm.d.ts +4 -0
- package/services/asset-movement/lib/data/addresses/bank-account/jm.d.ts.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/jm.js +36 -0
- package/services/asset-movement/lib/data/addresses/bank-account/jm.js.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/jo.d.ts +4 -0
- package/services/asset-movement/lib/data/addresses/bank-account/jo.d.ts.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/jo.js +32 -0
- package/services/asset-movement/lib/data/addresses/bank-account/jo.js.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/jp.d.ts +4 -0
- package/services/asset-movement/lib/data/addresses/bank-account/jp.d.ts.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/jp.js +57 -0
- package/services/asset-movement/lib/data/addresses/bank-account/jp.js.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/ke.d.ts +4 -0
- package/services/asset-movement/lib/data/addresses/bank-account/ke.d.ts.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/ke.js +38 -0
- package/services/asset-movement/lib/data/addresses/bank-account/ke.js.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/ki.d.ts +4 -0
- package/services/asset-movement/lib/data/addresses/bank-account/ki.d.ts.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/ki.js +45 -0
- package/services/asset-movement/lib/data/addresses/bank-account/ki.js.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/kr.d.ts +4 -0
- package/services/asset-movement/lib/data/addresses/bank-account/kr.d.ts.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/kr.js +42 -0
- package/services/asset-movement/lib/data/addresses/bank-account/kr.js.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/lk.d.ts +4 -0
- package/services/asset-movement/lib/data/addresses/bank-account/lk.d.ts.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/lk.js +46 -0
- package/services/asset-movement/lib/data/addresses/bank-account/lk.js.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/ma.d.ts +4 -0
- package/services/asset-movement/lib/data/addresses/bank-account/ma.d.ts.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/ma.js +32 -0
- package/services/asset-movement/lib/data/addresses/bank-account/ma.js.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/ng.d.ts +4 -0
- package/services/asset-movement/lib/data/addresses/bank-account/ng.d.ts.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/ng.js +39 -0
- package/services/asset-movement/lib/data/addresses/bank-account/ng.js.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/np.d.ts +4 -0
- package/services/asset-movement/lib/data/addresses/bank-account/np.d.ts.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/np.js +49 -0
- package/services/asset-movement/lib/data/addresses/bank-account/np.js.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/nz.d.ts +4 -0
- package/services/asset-movement/lib/data/addresses/bank-account/nz.d.ts.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/nz.js +45 -0
- package/services/asset-movement/lib/data/addresses/bank-account/nz.js.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/pe.d.ts +4 -0
- package/services/asset-movement/lib/data/addresses/bank-account/pe.d.ts.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/pe.js +35 -0
- package/services/asset-movement/lib/data/addresses/bank-account/pe.js.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/ph.d.ts +4 -0
- package/services/asset-movement/lib/data/addresses/bank-account/ph.d.ts.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/ph.js +52 -0
- package/services/asset-movement/lib/data/addresses/bank-account/ph.js.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/pk.d.ts +4 -0
- package/services/asset-movement/lib/data/addresses/bank-account/pk.d.ts.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/pk.js +42 -0
- package/services/asset-movement/lib/data/addresses/bank-account/pk.js.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/sn.d.ts +4 -0
- package/services/asset-movement/lib/data/addresses/bank-account/sn.d.ts.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/sn.js +27 -0
- package/services/asset-movement/lib/data/addresses/bank-account/sn.js.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/sv.d.ts +4 -0
- package/services/asset-movement/lib/data/addresses/bank-account/sv.d.ts.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/sv.js +32 -0
- package/services/asset-movement/lib/data/addresses/bank-account/sv.js.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/tg.d.ts +4 -0
- package/services/asset-movement/lib/data/addresses/bank-account/tg.d.ts.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/tg.js +27 -0
- package/services/asset-movement/lib/data/addresses/bank-account/tg.js.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/th.d.ts +4 -0
- package/services/asset-movement/lib/data/addresses/bank-account/th.d.ts.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/th.js +35 -0
- package/services/asset-movement/lib/data/addresses/bank-account/th.js.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/tn.d.ts +4 -0
- package/services/asset-movement/lib/data/addresses/bank-account/tn.d.ts.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/tn.js +36 -0
- package/services/asset-movement/lib/data/addresses/bank-account/tn.js.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/tr.d.ts +4 -0
- package/services/asset-movement/lib/data/addresses/bank-account/tr.d.ts.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/tr.js +28 -0
- package/services/asset-movement/lib/data/addresses/bank-account/tr.js.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/tv.d.ts +4 -0
- package/services/asset-movement/lib/data/addresses/bank-account/tv.d.ts.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/tv.js +45 -0
- package/services/asset-movement/lib/data/addresses/bank-account/tv.js.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/tz.d.ts +4 -0
- package/services/asset-movement/lib/data/addresses/bank-account/tz.d.ts.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/tz.js +35 -0
- package/services/asset-movement/lib/data/addresses/bank-account/tz.js.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/ug.d.ts +4 -0
- package/services/asset-movement/lib/data/addresses/bank-account/ug.d.ts.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/ug.js +42 -0
- package/services/asset-movement/lib/data/addresses/bank-account/ug.js.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/vn.d.ts +4 -0
- package/services/asset-movement/lib/data/addresses/bank-account/vn.d.ts.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/vn.js +42 -0
- package/services/asset-movement/lib/data/addresses/bank-account/vn.js.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/za.d.ts +4 -0
- package/services/asset-movement/lib/data/addresses/bank-account/za.d.ts.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/za.js +44 -0
- package/services/asset-movement/lib/data/addresses/bank-account/za.js.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/zm.d.ts +4 -0
- package/services/asset-movement/lib/data/addresses/bank-account/zm.d.ts.map +1 -0
- package/services/asset-movement/lib/data/addresses/bank-account/zm.js +28 -0
- package/services/asset-movement/lib/data/addresses/bank-account/zm.js.map +1 -0
- package/services/asset-movement/lib/data/addresses/types.generated.d.ts +6584 -794
- package/services/asset-movement/lib/data/addresses/types.generated.d.ts.map +1 -1
- package/services/asset-movement/lib/data/addresses/types.generated.js +6169 -478
- package/services/asset-movement/lib/data/addresses/types.generated.js.map +1 -1
- package/services/asset-movement/lib/location.generated.js +3 -3
- package/services/fx/common.js +4 -4
- package/services/kyc/common.generated.js +2 -2
- package/services/notification/common.generated.js +3 -3
- package/services/storage/clients/contacts.generated.js +8887 -1093
- package/services/storage/clients/contacts.generated.js.map +1 -1
- package/services/username/common.generated.js +9 -9
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@keetanetwork/anchor",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.71",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@keetanetwork/anchor",
|
|
9
|
-
"version": "0.0.
|
|
9
|
+
"version": "0.0.71",
|
|
10
10
|
"license": "SEE LICENSE IN LICENSE",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@keetanetwork/currency-info": "1.2.5",
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/services/asset-movement/client.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/services/asset-movement/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -769,7 +769,11 @@ export class KeetaAssetMovementAnchorProvider extends KeetaAssetMovementAnchorBa
|
|
|
769
769
|
location: convertAssetLocationToString(body.to.location),
|
|
770
770
|
userAddress: body.to.userAddress,
|
|
771
771
|
asset: body.to.asset ? convertAssetSearchInputToCanonical(body.to.asset) : undefined
|
|
772
|
-
} : undefined
|
|
772
|
+
} : undefined,
|
|
773
|
+
transactions: body.transactions?.map(tx => ({
|
|
774
|
+
location: convertAssetLocationToString(tx.location),
|
|
775
|
+
transaction: tx.transaction
|
|
776
|
+
}))
|
|
773
777
|
});
|
|
774
778
|
},
|
|
775
779
|
body: request,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/services/asset-movement/client.ts"],"names":[],"mappings":"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","sourcesContent":["import type { lib as KeetaNetLib } from '@keetanetwork/keetanet-client';\n\nimport { getDefaultResolver } from '../../config.js';\n\nimport type {\n\tUserClient as KeetaNetUserClient\n} from '@keetanetwork/keetanet-client';\nimport type {\n\tKeetaAssetMovementAnchorGetTransferStatusResponse,\n\tKeetaAssetMovementAnchorCreatePersistentForwardingRequest,\n\tKeetaAssetMovementAnchorCreatePersistentForwardingResponse,\n\tSupportedAssetsMetadata,\n\tProviderSearchInput,\n\tKeetaAssetMovementAnchorlistTransactionsRequest,\n\tKeetaAssetMovementAnchorlistPersistentForwardingTransactionsResponse,\n\tKeetaAssetMovementAnchorCreatePersistentForwardingClientRequest,\n\tKeetaAssetMovementAnchorInitiateTransferClientRequest,\n\tKeetaNetAccount,\n\tKeetaAssetMovementAnchorInitiatePersistentForwardingAddressTemplateClientRequest,\n\tKeetaAssetMovementAnchorInitiatePersistentForwardingAddressTemplateRequest,\n\tKeetaAssetMovementAnchorInitiatePersistentForwardingAddressTemplateResponse,\n\tKeetaAssetMovementAnchorCreatePersistentForwardingAddressTemplateClientRequest,\n\tKeetaAssetMovementAnchorCreatePersistentForwardingAddressTemplateRequest,\n\tKeetaAssetMovementAnchorCreatePersistentForwardingAddressTemplateResponse,\n\tKeetaAssetMovementAnchorlistTransactionsClientRequest,\n\tKeetaAssetMovementAnchorListForwardingAddressTemplateClientRequest,\n\tPersistentAddressTemplateData,\n\tKeetaAssetMovementAnchorGetTransferStatusClientRequest,\n\tKeetaAssetMovementAnchorShareKYCClientRequest,\n\tKeetaAssetMovementAnchorShareKYCRequest,\n\tKeetaAssetMovementAnchorShareKYCResponse,\n\tKeetaAssetMovementAnchorListPersistentForwardingClientRequest,\n\tKeetaPersistentForwardingAddressDetails,\n\tKeetaAssetMovementAnchorInitiateTransferResponse,\n\tKeetaAssetMovementAnchorExecuteTransferClientRequest,\n\tAnchorTokenLocationMetadata,\n\tAnchorCustomLocationMetadata,\n\tChainLocationString,\n\tAssetLocationLike,\n\tPerChainLocationMetadata,\n\tKeetaAssetMovementAnchorSimulateTransferResponse,\n\tKeetaAssetMovementAnchorSimulateTransferClientRequest,\n\tKeetaAssetMovementAnchorInitiateTransferRequest,\n\tKeetaAssetMovementAnchorSimulateTransferRequest\n} from './common.js';\nimport {\n\tassertKeetaSupportedAssetsMetadataItem,\n\tconvertAssetLocationToString,\n\tconvertAssetOrPairSearchInputToCanonical,\n\tconvertAssetSearchInputToCanonical,\n\tgetKeetaAssetMovementAnchorInitiatePersistentForwardingAddressTemplateRequestSigningData,\n\tisKeetaAssetMovementAnchorInitiatePersistentForwardingAddressTemplateResponse,\n\tgetKeetaAssetMovementAnchorCreatePersistentForwardingAddressTemplateRequestSigningData,\n\tgetKeetaAssetMovementAnchorCreatePersistentForwardingRequestSigningData,\n\tgetKeetaAssetMovementAnchorExecuteTransferRequestSigningData,\n\tgetKeetaAssetMovementAnchorGetTransferStatusRequestSigningData,\n\tgetKeetaAssetMovementAnchorInitiateTransferRequestSigningData,\n\tgetKeetaAssetMovementAnchorListForwardingAddressTemplateRequestSigningData,\n\tgetKeetaAssetMovementAnchorListPersistentForwardingRequestSigningData,\n\tgetKeetaAssetMovementAnchorlistTransactionsRequestSigningData,\n\tgetKeetaAssetMovementAnchorShareKYCRequestSigningData,\n\tisKeetaAssetMovementAnchorCreatePersistentForwardingAddressTemplateResponse,\n\tisKeetaAssetMovementAnchorCreatePersistentForwardingResponse,\n\tisKeetaAssetMovementAnchorExecuteTransferResponse,\n\tisKeetaAssetMovementAnchorGetExchangeStatusResponse,\n\tisKeetaAssetMovementAnchorInitiateTransferResponse,\n\tisKeetaAssetMovementAnchorListForwardingAddressTemplateResponse,\n\tisKeetaAssetMovementAnchorListPersistentForwardingResponse,\n\tisKeetaAssetMovementAnchorlistPersistentForwardingTransactionsResponse,\n\tisKeetaAssetMovementAnchorShareKYCResponse,\n\ttoAssetLocationFromString,\n\tisExternalChainAsset,\n\tisAnchorTokenLocationMetadata,\n\tisKeetaAssetMovementAnchorSimulateTransferResponse,\n\tgetKeetaAssetMovementAnchorSimulateTransferRequestSigningData,\n\tErrors\n} from './common.js';\nimport type { Logger } from '../../lib/log/index.ts';\nimport Resolver from \"../../lib/resolver.js\";\nimport type { ServiceMetadata, ServiceMetadataAuthenticationType, ServiceMetadataEndpoint, SharedLookupCriteria } from '../../lib/resolver.ts';\nimport crypto from '../../lib/utils/crypto.js';\nimport type { BrandedString } from '../../lib/utils/brand.js';\nimport { createAssertEquals } from 'typia';\nimport type { ExtractOk, HTTPSignedField } from '../../lib/http-server/common.js';\nimport { addSignatureToURL } from '../../lib/http-server/common.js';\nimport type { Signable } from '../../lib/utils/signing.js';\nimport { SignData } from '../../lib/utils/signing.js';\nimport { KeetaAnchorError } from '../../lib/error.js';\nimport { KeetaNet } from '../../client/index.js';\nimport { resolveSharedAnchorMetadataLegalExtension, type SharedAnchorMetadataLegalExtension, type AnchorMetadataLegalField } from '../../lib/metadata.types.js';\nimport type { ExternalChainAsset, ExternalChainLocationType } from '../../lib/asset.js';\n\n// const PARANOID = true;\n\n/**\n * The configuration options for the Asset Movement (Inbound/Outbound) Anchor client.\n */\nexport type KeetaAssetMovementClientConfig = {\n\t/**\n\t * The ID of the client. This is used to identify the client in logs.\n\t * If not provided, a random ID will be generated.\n\t */\n\tid?: string;\n\t/**\n\t * The logger to use for logging messages. If not provided, no logging\n\t * will be done.\n\t */\n\tlogger?: Logger;\n\t/**\n\t * The resolver to use for resolving Asset Movement Anchor services. If not\n\t * provided, a default resolver will be created using the provided\n\t * client and network (if the network is also not provided and the\n\t * client is not a UserClient, an error occurs).\n\t */\n\tresolver?: Resolver;\n\t/**\n\t * The account to use for signing requests. If not provided, the\n\t * account associated with the provided client will be used. If there\n\t * is no account associated with the client, an error occurs.\n\t */\n\tsigner?: InstanceType<typeof KeetaNetLib.Account>;\n\t/**\n\t * Account to perform changes on. If not provided, the account\n\t * associated with the provided client will be used. If there is no\n\t * account associated with the client, an error occurs.\n\t */\n\taccount?: InstanceType<typeof KeetaNetLib.Account>;\n} & Omit<NonNullable<Parameters<typeof getDefaultResolver>[1]>, 'client'>;\n\n/**\n * An opaque type that represents a provider ID.\n */\ntype ProviderID = BrandedString<'AssetMovementProviderID'>;\n\n/**\n * An opaque type that represents an Asset Movement Anchor request ID\n */\n// type RequestID = BrandedString<'AssetMovementRequestID'>;\n\nconst KeetaAssetMovementAnchorClientAccessToken = Symbol('KeetaAssetMovementAnchorClientAccessToken');\n\nfunction typedAssetMovementServiceEntries<T extends object>(obj: T): [keyof T, T[keyof T]][] {\n\t// eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n\treturn(Object.entries(obj) as [keyof T, T[keyof T]][]);\n}\n\nconst assertServiceMetadataEndpoint = createAssertEquals<ServiceMetadataEndpoint>();\n\n/**\n * A list of operations that can be performed by the Asset Movement Anchor service.\n */\ntype KeetaAssetMovementAnchorOperations = {\n\t[operation in keyof NonNullable<ServiceMetadata['services']['assetMovement']>[string]['operations']]?: {\n\t\turl: (params?: { [key: string]: string; }) => URL;\n\t\toptions: {\n\t\t\tauthentication: ServiceMetadataAuthenticationType;\n\t\t};\n\t};\n};\n\n/**\n * The service information for a KYC Anchor service.\n */\ninterface KeetaAssetMovementServiceInfo extends SharedAnchorMetadataLegalExtension {\n\toperations: {\n\t\t[operation in keyof KeetaAssetMovementAnchorOperations]: Promise<KeetaAssetMovementAnchorOperations[operation]>;\n\t};\n\n\tsupportedAssets: SupportedAssetsMetadata[];\n\tlocationMetadata?: AnchorCustomLocationMetadata;\n};\n\n/**\n * For each matching KYC Anchor service, this type describes the\n * operations available and the country codes that the service supports.\n */\ntype GetEndpointsResult = {\n\t[id: ProviderID]: KeetaAssetMovementServiceInfo;\n};\n\nfunction validateURL(url: string | undefined): URL {\n\tif (url === undefined || url === null) {\n\t\tthrow(new Error('Invalid URL: null or undefined'));\n\t}\n\n\tconst parsedURL = new URL(url);\n\n\treturn(parsedURL);\n}\n\nasync function getEndpoints(resolver: Resolver, request: ProviderSearchInput, shared?: SharedLookupCriteria, logger?: Logger): Promise<GetEndpointsResult | null> {\n\tconst asset = request.asset ? { asset: convertAssetOrPairSearchInputToCanonical(request.asset) } : undefined;\n\tconst from = request.from ? { from: convertAssetLocationToString(request.from) } : {};\n\tconst to = request.to ? { to: convertAssetLocationToString(request.to) } : {};\n\tconst rail = request.rail ? { rail: request.rail } : {};\n\tconst response = await resolver.lookup('assetMovement', {\n\t\t...asset,\n\t\t...from,\n\t\t...to,\n\t\t...rail\n\t}, shared);\n\n\tif (response === undefined) {\n\t\treturn(null);\n\t}\n\n\tconst serviceInfoPromises = Object.entries(response).map(async function([id, serviceInfo]): Promise<[ProviderID, KeetaAssetMovementServiceInfo]> {\n\t\tconst supportedAssetsMetadata = await Resolver.Metadata.fullyResolveValuizable(serviceInfo.supportedAssets);\n\n\t\tif (!Array.isArray(supportedAssetsMetadata)) {\n\t\t\tthrow(new Error('Invalid supportedAssets metadata: expected an array'));\n\t\t}\n\n\t\tconst supportedAssets = [];\n\t\tfor (const item of supportedAssetsMetadata) {\n\t\t\ttry {\n\t\t\t\tsupportedAssets.push(assertKeetaSupportedAssetsMetadataItem(item));\n\t\t\t} catch (error) {\n\t\t\t\tlogger?.debug('getEndpoints', `Failed to resolve supportedAssets metadata item for provider ${id}`, error, item);\n\t\t\t}\n\t\t}\n\n\t\tconst locationMetadata = await (async () => {\n\t\t\tlet locationMetadataVal;\n\t\t\tif (serviceInfo.locationMetadata) {\n\t\t\t\tlocationMetadataVal = await serviceInfo.locationMetadata('object');\n\t\t\t}\n\n\t\t\tif (!locationMetadataVal) {\n\t\t\t\treturn(undefined);\n\t\t\t}\n\n\t\t\tconst chainsResult = await Promise.allSettled(Object.entries(locationMetadataVal).map(async ([ location, assetsValue ]) => {\n\t\t\t\tconst parsedLocation = toAssetLocationFromString(location);\n\n\t\t\t\tif (parsedLocation.type !== 'chain') {\n\t\t\t\t\tthrow(new Error(`Invalid location type in AssetLocation string: ${parsedLocation.type}`));\n\t\t\t\t}\n\n\t\t\t\tif (parsedLocation.chain.type === 'keeta') {\n\t\t\t\t\tthrow(new Error('Keeta chain type is not supported in AssetLocation metadata')) ;\n\t\t\t\t}\n\n\t\t\t\tconst chainType = parsedLocation.chain.type;\n\n\t\t\t\t// We can assert here as we have validated the chain type in the parsing function\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n\t\t\t\tconst locationString = convertAssetLocationToString(parsedLocation) as ChainLocationString<ExternalChainLocationType>;\n\n\t\t\t\tlet resolvedAssetsObject = undefined;\n\t\t\t\tif (assetsValue) {\n\t\t\t\t\tresolvedAssetsObject = await assetsValue('object');\n\t\t\t\t}\n\n\t\t\t\tif (!resolvedAssetsObject) {\n\t\t\t\t\treturn(null);\n\t\t\t\t}\n\n\t\t\t\tlet assets: {\n\t\t\t\t\t[AssetId in ExternalChainAsset<typeof chainType>]?: AnchorTokenLocationMetadata | undefined;\n\t\t\t\t} | undefined;\n\n\t\t\t\tif (resolvedAssetsObject.assets) {\n\t\t\t\t\tconst assetsValue = await resolvedAssetsObject.assets('object');\n\t\t\t\t\tconst resolvedAssets = await Promise.allSettled(Object.entries(assetsValue).map(async ([ assetId, assetMetadata ]) => {\n\t\t\t\t\t\tif (!isExternalChainAsset(assetId, chainType)) {\n\t\t\t\t\t\t\tthrow(new Error(`Invalid asset ID for chain type ${chainType}: ${assetId}`));\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tlet assetMetadataVal;\n\t\t\t\t\t\tif (assetMetadata) {\n\t\t\t\t\t\t\tassetMetadataVal = await assetMetadata('object');\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (!assetMetadataVal) {\n\t\t\t\t\t\t\treturn(null);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst anchorTokenLocationMetadata = {\n\t\t\t\t\t\t\tdisplayName: await assetMetadataVal.displayName?.('string'),\n\t\t\t\t\t\t\tticker: await assetMetadataVal.ticker?.('string'),\n\t\t\t\t\t\t\tlogoURI: await assetMetadataVal.logoURI?.('string'),\n\t\t\t\t\t\t\tdecimalPlaces: await assetMetadataVal.decimalPlaces?.('primitive')\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tif (!isAnchorTokenLocationMetadata(anchorTokenLocationMetadata)) {\n\t\t\t\t\t\t\tthrow(new Error(`Invalid asset metadata for asset ID ${assetId} in chain type ${chainType}`));\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn([ assetId, anchorTokenLocationMetadata ] as const);\n\t\t\t\t\t}));\n\n\t\t\t\t\tfor (const result of resolvedAssets) {\n\t\t\t\t\t\tif (result.status === 'rejected') {\n\t\t\t\t\t\t\tlogger?.debug('Failed to resolve asset metadata', result.reason);\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (!result.value) {\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (!assets) {\n\t\t\t\t\t\t\tassets = {};\n\t\t\t\t\t\t}\n\n\n\t\t\t\t\t\tassets[result.value[0]] = result.value[1];\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn([\n\t\t\t\t\tlocationString,\n\t\t\t\t\t{\n\t\t\t\t\t\t...(assets ? { assets } : {})\n\t\t\t\t\t}\n\t\t\t\t] as const)\n\t\t\t}));\n\n\t\t\tlet chains: AnchorCustomLocationMetadata | undefined;\n\t\t\tfor (const result of chainsResult) {\n\t\t\t\tif (result.status === 'rejected') {\n\t\t\t\t\tlogger?.debug('Failed to resolve location metadata', result.reason);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tif (!result.value) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tif (!chains) {\n\t\t\t\t\tchains = {};\n\t\t\t\t}\n\n\t\t\t\t// XXX:TODO Add comment\n\t\t\t\t// @ts-ignore\n\t\t\t\tchains[result.value[0]] = result.value[1];\n\t\t\t}\n\n\t\t\tif (!chains) {\n\t\t\t\treturn(undefined);\n\t\t\t}\n\n\t\t\treturn(chains);\n\t\t})();\n\n\t\tconst operations = await serviceInfo.operations('object');\n\t\tconst operationsFunctions: KeetaAssetMovementServiceInfo['operations'] = {};\n\t\tfor (const [ key, operation ] of Object.entries(operations)) {\n\t\t\tif (operation === undefined) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tObject.defineProperty(operationsFunctions, key, {\n\t\t\t\tget: async function() {\n\t\t\t\t\tconst endpointInfo = assertServiceMetadataEndpoint(await Resolver.Metadata.fullyResolveValuizable(operation));\n\n\t\t\t\t\tlet url;\n\t\t\t\t\tlet authentication: ServiceMetadataAuthenticationType = {\n\t\t\t\t\t\ttype: 'none',\n\t\t\t\t\t\tmethod: 'keeta-account'\n\t\t\t\t\t};\n\n\t\t\t\t\tif (typeof endpointInfo === 'string') {\n\t\t\t\t\t\turl = endpointInfo;\n\t\t\t\t\t} else {\n\t\t\t\t\t\turl = endpointInfo.url;\n\t\t\t\t\t\tif (endpointInfo.options?.authentication) {\n\t\t\t\t\t\t\tauthentication = endpointInfo.options.authentication;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn({\n\t\t\t\t\t\turl: function(params?: { [key: string]: string; }): URL {\n\t\t\t\t\t\t\tlet substitutedURL;\n\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\tsubstitutedURL = decodeURI(url)\n\t\t\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\t\t\tlogger?.debug('getEndpoints', 'Failed to decode URI, using original URL for substitution', error, url);\n\n\t\t\t\t\t\t\t\tsubstitutedURL = url;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tfor (const [paramKey, paramValue] of Object.entries(params ?? {})) {\n\t\t\t\t\t\t\t\tsubstitutedURL = substitutedURL.replace(`{${paramKey}}`, encodeURIComponent(paramValue));\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn(validateURL(substitutedURL));\n\t\t\t\t\t\t},\n\t\t\t\t\t\toptions: { authentication }\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t\tenumerable: true,\n\t\t\t\tconfigurable: true\n\t\t\t});\n\t\t}\n\n\t\treturn([\n\t\t\t// eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n\t\t\tid as unknown as ProviderID,\n\t\t\t{\n\t\t\t\t...(await resolveSharedAnchorMetadataLegalExtension(serviceInfo.legal, { logger })),\n\t\t\t\toperations: operationsFunctions,\n\t\t\t\tsupportedAssets: supportedAssets,\n\t\t\t\t...(locationMetadata ? { locationMetadata } : {})\n\t\t\t}\n\t\t]);\n\t});\n\n\tconst retval = Object.fromEntries(await Promise.all(serviceInfoPromises));\n\n\treturn(retval);\n}\n\ninterface KeetaAssetMovementAnchorBaseConfig {\n\tclient: KeetaNetUserClient;\n\tlogger?: Logger | undefined;\n}\n\nclass KeetaAssetMovementAnchorBase {\n\tprotected readonly logger?: Logger | undefined;\n\tprotected readonly client: KeetaNetUserClient;\n\n\tconstructor(config: KeetaAssetMovementAnchorBaseConfig) {\n\t\tthis.client = config.client;\n\t\tthis.logger = config.logger;\n\t}\n}\n\ntype SimulationOrTransferResponse = ExtractOk<KeetaAssetMovementAnchorInitiateTransferResponse> | ExtractOk<KeetaAssetMovementAnchorSimulateTransferResponse>;\n\ninterface BaseKeetaAssetMovementTransferConstructorArguments<Request extends KeetaAssetMovementAnchorInitiateTransferClientRequest | KeetaAssetMovementAnchorSimulateTransferClientRequest, Transfer extends SimulationOrTransferResponse> {\n\tprovider: KeetaAssetMovementAnchorProvider;\n\trequest: Request;\n\ttransfer: Transfer;\n}\n\nabstract class BaseKeetaAssetMovementTransfer<Request extends KeetaAssetMovementAnchorInitiateTransferClientRequest | KeetaAssetMovementAnchorSimulateTransferClientRequest, Transfer extends SimulationOrTransferResponse> {\n\treadonly provider: KeetaAssetMovementAnchorProvider;\n\treadonly request: Request;\n\treadonly transfer: Transfer;\n\n\treadonly abstract isSimulation: Request extends KeetaAssetMovementAnchorInitiateTransferClientRequest ? false : true;\n\n\tconstructor({ request, transfer, provider }: BaseKeetaAssetMovementTransferConstructorArguments<Request, Transfer>) {\n\t\tthis.provider = provider;\n\t\tthis.request = request;\n\t\tthis.transfer = transfer;\n\t}\n\n\tget instructions(): Transfer['instructionChoices'] {\n\t\treturn(this.transfer.instructionChoices);\n\t}\n}\n\n/**\n * Represents an in-progress Asset Movement request.\n */\nclass KeetaAssetMovementTransfer extends BaseKeetaAssetMovementTransfer<KeetaAssetMovementAnchorInitiateTransferClientRequest, ExtractOk<KeetaAssetMovementAnchorInitiateTransferResponse>> {\n\treadonly isSimulation = false as const;\n\n\tget transferId(): string {\n\t\treturn(this.transfer.id);\n\t}\n\n\tasync getTransferStatus(): Promise<ExtractOk<KeetaAssetMovementAnchorGetTransferStatusResponse>> {\n\t\tconst account = this.request.account ? { account: this.request.account } : undefined;\n\t\treturn(await this.provider.getTransferStatus({ id: this.transfer.id, ...account }));\n\t}\n\n\tasync executeTransfer(input: Omit<KeetaAssetMovementAnchorExecuteTransferClientRequest, 'id'>): Promise<ExtractOk<KeetaAssetMovementAnchorGetTransferStatusResponse>> {\n\t\tconst account = this.request.account ? { account: this.request.account } : undefined;\n\t\treturn(await this.provider.executeTransfer({ id: this.transfer.id, ...input, ...account }));\n\t}\n}\n\nclass KeetaAssetMovementSimulatedTransfer extends BaseKeetaAssetMovementTransfer<KeetaAssetMovementAnchorSimulateTransferClientRequest, ExtractOk<KeetaAssetMovementAnchorSimulateTransferResponse>> {\n\treadonly isSimulation = true as const;\n\n\tasync createTransfer(overrides?: {\n\t\tto: Partial<Pick<KeetaAssetMovementAnchorInitiateTransferClientRequest['to'], 'depositMessage' | 'recipient'>>;\n\t}): Promise<KeetaAssetMovementTransfer> {\n\t\tconst to = {\n\t\t\t...this.request.to,\n\t\t\t...overrides?.to\n\t\t};\n\n\t\tif (!to.recipient) {\n\t\t\tthrow(new Error('Recipient is required to create a transfer from a simulation'));\n\t\t}\n\n\t\treturn(await this.provider.initiateTransfer({\n\t\t\t...this.request,\n\t\t\tto: {\n\t\t\t\t...to,\n\t\t\t\trecipient: to.recipient\n\t\t\t}\n\t\t}));\n\t}\n}\n\ninterface AwaitPromiseURLOptions {\n\tdefaultPollIntervalMs?: number;\n\ttimeoutMs?: number;\n\tabortSignal?: AbortSignal;\n}\n\nexport class KeetaAssetMovementAnchorProvider extends KeetaAssetMovementAnchorBase {\n\treadonly serviceInfo: KeetaAssetMovementServiceInfo;\n\treadonly providerID: ProviderID;\n\tprivate readonly parent: KeetaAssetMovementAnchorClient;\n\n\tconstructor(serviceInfo: KeetaAssetMovementServiceInfo, providerID: ProviderID, parent: KeetaAssetMovementAnchorClient) {\n\t\tconst parentPrivate = parent._internals(KeetaAssetMovementAnchorClientAccessToken);\n\t\tsuper(parentPrivate);\n\n\t\tthis.serviceInfo = serviceInfo;\n\t\tthis.providerID = providerID;\n\t\tthis.parent = parent;\n\t}\n\n\tasync #getOperationData(operationName: keyof KeetaAssetMovementAnchorOperations, params?: { [key: string]: string; }) {\n\t\tconst endpoint = await this.serviceInfo.operations[operationName];\n\t\tif (endpoint === undefined) {\n\t\t\tthrow(new Errors.OperationNotSupported({}, `Asset Movement service does not support ${operationName} operation`));\n\t\t}\n\n\t\tif (endpoint.options.authentication.method !== 'keeta-account') {\n\t\t\tthrow(new Error(`Unsupported authentication method: ${endpoint.options.authentication.method}`));\n\t\t}\n\n\t\treturn({\n\t\t\turl: endpoint.url(params),\n\t\t\tauth: endpoint.options.authentication\n\t\t})\n\t}\n\n\tasync isOperationSupported(operationName: keyof KeetaAssetMovementAnchorOperations): Promise<boolean> {\n\t\ttry {\n\t\t\tawait this.#getOperationData(operationName);\n\t\t\treturn(true);\n\t\t} catch (error) {\n\t\t\tif (error instanceof Errors.OperationNotSupported) {\n\t\t\t\treturn(false);\n\t\t\t}\n\n\t\t\tthrow(error);\n\t\t}\n\t}\n\n\tasync #parseResponseError(data: unknown) {\n\t\tif (typeof data !== 'object' || data === null) {\n\t\t\tthrow(new Error('Response is not an error'));\n\t\t}\n\n\t\tif (!('ok' in data) || data.ok !== false) {\n\t\t\tthrow(new Error('Response is not an error'));\n\t\t}\n\n\t\tlet errorStr;\n\n\t\tlet parsedError: KeetaAnchorError | null = null;\n\t\ttry {\n\t\t\tparsedError = await KeetaAnchorError.fromJSON(data);\n\t\t} catch (error: unknown) {\n\t\t\tthis.logger?.debug('Failed to parse error response as KeetaAnchorError', error, data);\n\t\t}\n\n\t\tif (parsedError) {\n\t\t\treturn(parsedError);\n\t\t} else {\n\t\t\tif ('error' in data && typeof data.error === 'string') {\n\t\t\t\terrorStr = data.error;\n\t\t\t} else {\n\t\t\t\terrorStr = 'Unknown error';\n\t\t\t}\n\n\t\t\treturn(new Error(`asset movement request failed: ${errorStr}`));\n\t\t}\n\t}\n\n\tasync #makeRequest<\n\t\tResponse extends { ok: true } | { ok: false; error: string; },\n\t\tRequest = undefined,\n\t\tSerializedRequest = Request\n\t>(input: {\n\t\tmethod: 'GET' | 'POST';\n\t\tendpoint: keyof KeetaAssetMovementAnchorOperations;\n\t\taccount?: KeetaNetAccount | undefined;\n\t\tparams?: { [key: string]: string; } | undefined;\n\t\tbody?: Request | undefined;\n\t\tserializeRequest?: (body: Request) => (SerializedRequest | Promise<Omit<SerializedRequest, 'signed'>>);\n\n\t\tgetSignedData?: (request: SerializedRequest) => Signable;\n\t\tisResponse: (data: unknown) => data is Response;\n\t}): Promise<Extract<Response, { ok: true }>> {\n\t\tconst { url, auth } = await this.#getOperationData(input.endpoint, input.params);\n\n\t\tlet serializedRequest;\n\n\t\tif (input.body && input.serializeRequest) {\n\t\t\tserializedRequest = await input.serializeRequest(input.body);\n\t\t} else {\n\t\t\tserializedRequest = input.body;\n\t\t}\n\n\t\tlet signed: HTTPSignedField | undefined;\n\n\t\tif (auth.type === 'required' || (auth.type === 'optional' && input.account)) {\n\t\t\tif (!input.account) {\n\t\t\t\tthrow(new Error('Account information is required for this operation'));\n\t\t\t}\n\n\t\t\tif (!input.getSignedData) {\n\t\t\t\tthrow(new Error('getSignedData function is required for signing the request'));\n\t\t\t}\n\n\t\t\t// We need this assertion because TypeScript cannot infer that the type is correct here, it is correct in the arguments.\n\t\t\t// eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n\t\t\tconst signable = input.getSignedData(serializedRequest as SerializedRequest);\n\n\t\t\tsigned = await SignData(input.account.assertAccount(), signable);\n\t\t}\n\n\t\tlet usingUrl = url;\n\t\tconst headers: { [key: string]: string } = {\n\t\t\t'Accept': 'application/json'\n\t\t};\n\t\tlet body: BodyInit | null = null;\n\t\tif (input.method === 'POST') {\n\t\t\theaders['Content-Type'] = 'application/json';\n\t\t\tbody = JSON.stringify({ ...serializedRequest, signed });\n\t\t} else {\n\t\t\tif (signed) {\n\t\t\t\tif (!input.account) {\n\t\t\t\t\tthrow(new Error('invariant: Account information is required for this operation, which should exist at this point'));\n\t\t\t\t}\n\n\t\t\t\tusingUrl = addSignatureToURL(usingUrl, { signedField: signed, account: input.account.assertAccount() });\n\t\t\t}\n\n\t\t\tif (input.body) {\n\t\t\t\tthrow(new Error('Body cannot be sent with GET requests'));\n\t\t\t}\n\t\t}\n\n\t\tconst requestInformation = await fetch(usingUrl, {\n\t\t\tmethod: input.method, headers, body\n\t\t});\n\n\t\tconst requestInformationJSON: unknown = await requestInformation.json();\n\t\tif (!input.isResponse(requestInformationJSON)) {\n\t\t\tthrow(new Error(`Invalid response from asset movement service: ${JSON.stringify(requestInformationJSON)}`));\n\t\t}\n\n\t\tif (!requestInformationJSON.ok) {\n\t\t\tthrow(await this.#parseResponseError(requestInformationJSON));\n\t\t}\n\n\t\t// We need this assertion because TypeScript cannot infer that the type is correct here, it is correct because we checked it above.\n\t\t// eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n\t\treturn(requestInformationJSON as Extract<Response, { ok: true }>);\n\t}\n\n\tasync #initiateOrSimulateTransfer(simulate: true, request: KeetaAssetMovementAnchorSimulateTransferClientRequest): Promise<KeetaAssetMovementSimulatedTransfer>;\n\tasync #initiateOrSimulateTransfer(simulate: false, request: KeetaAssetMovementAnchorInitiateTransferClientRequest): Promise<KeetaAssetMovementTransfer>;\n\tasync #initiateOrSimulateTransfer(simulate: boolean, request: KeetaAssetMovementAnchorSimulateTransferClientRequest | KeetaAssetMovementAnchorInitiateTransferClientRequest): Promise<KeetaAssetMovementTransfer | KeetaAssetMovementSimulatedTransfer> {\n\t\tthis.logger?.debug(`Starting Asset Movement Transfer for provider ID: ${String(this.providerID)}`);\n\n\t\tconst requestInformationJSON = await this.#makeRequest({\n\t\t\tmethod: 'POST',\n\t\t\tendpoint: simulate ? 'simulateTransfer' : 'initiateTransfer',\n\t\t\taccount: request.account,\n\t\t\tserializeRequest(body): KeetaAssetMovementAnchorInitiateTransferRequest | KeetaAssetMovementAnchorSimulateTransferRequest {\n\t\t\t\tconst { account, ...rest } = body;\n\t\t\t\treturn({\n\t\t\t\t\t...rest,\n\t\t\t\t\tvalue: String(body.value),\n\t\t\t\t\tfrom: {\n\t\t\t\t\t\tlocation: convertAssetLocationToString(body.from.location),\n\t\t\t\t\t\t...(request.from.source ? { source: request.from.source } : {})\n\t\t\t\t\t},\n\t\t\t\t\tto: {\n\t\t\t\t\t\tlocation: convertAssetLocationToString(body.to.location),\n\t\t\t\t\t\t...(body.to.recipient ? { recipient: body.to.recipient } : {}),\n\t\t\t\t\t\t...(body.to.depositMessage ? { depositMessage: body.to.depositMessage } : {})\n\t\t\t\t\t},\n\t\t\t\t\tasset: convertAssetOrPairSearchInputToCanonical(body.asset),\n\t\t\t\t\t...(account ? { account: account.assertAccount().publicKeyString.get() } : {})\n\t\t\t\t})\n\t\t\t},\n\t\t\tbody: request,\n\t\t\tgetSignedData: simulate ? getKeetaAssetMovementAnchorSimulateTransferRequestSigningData : getKeetaAssetMovementAnchorInitiateTransferRequestSigningData,\n\t\t\tisResponse(data): data is KeetaAssetMovementAnchorSimulateTransferResponse | KeetaAssetMovementAnchorInitiateTransferResponse {\n\t\t\t\tif (simulate) {\n\t\t\t\t\treturn(isKeetaAssetMovementAnchorSimulateTransferResponse(data));\n\t\t\t\t} else {\n\t\t\t\t\treturn(isKeetaAssetMovementAnchorInitiateTransferResponse(data));\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\n\t\tif (simulate) {\n\t\t\tthis.logger?.debug(`asset movement simulation request successful`);\n\n\t\t\treturn(new KeetaAssetMovementSimulatedTransfer({\n\t\t\t\tprovider: this,\n\t\t\t\trequest,\n\t\t\t\ttransfer: requestInformationJSON\n\t\t\t}));\n\t\t} else {\n\t\t\tif (!('id' in requestInformationJSON)) {\n\t\t\t\tthrow(new Error('expected provider to return id but did not'));\n\t\t\t}\n\n\t\t\tthis.logger?.debug(`asset movement transfer request successful, request ID ${requestInformationJSON.id}`);\n\n\t\t\tif (!('recipient' in request.to)) {\n\t\t\t\tthrow(new Error('Recipient information is required in the request to create a transfer'));\n\t\t\t}\n\n\t\t\treturn(new KeetaAssetMovementTransfer({\n\t\t\t\tprovider: this,\n\t\t\t\trequest: {\n\t\t\t\t\t...request,\n\t\t\t\t\tto: {\n\t\t\t\t\t\t...request.to,\n\t\t\t\t\t\trecipient: request.to.recipient\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\ttransfer: requestInformationJSON\n\t\t\t}));\n\t\t}\n\t}\n\n\tasync initiateTransfer(request: KeetaAssetMovementAnchorInitiateTransferClientRequest): Promise<KeetaAssetMovementTransfer> {\n\t\treturn(await this.#initiateOrSimulateTransfer(false, request));\n\t}\n\n\tasync simulateTransfer(request: KeetaAssetMovementAnchorSimulateTransferClientRequest): Promise<KeetaAssetMovementSimulatedTransfer> {\n\t\treturn(await this.#initiateOrSimulateTransfer(true, request));\n\t}\n\n\tasync executeTransfer(request: KeetaAssetMovementAnchorExecuteTransferClientRequest): Promise<ExtractOk<KeetaAssetMovementAnchorGetTransferStatusResponse>> {\n\t\tthis.logger?.debug(`Starting Asset Movement Transfer for provider ID: ${String(this.providerID)}`);\n\n\t\tconst { id, ...rest } = request;\n\n\t\tconst requestInformationJSON = await this.#makeRequest<\n\t\t\tKeetaAssetMovementAnchorGetTransferStatusResponse,\n\t\t\tOmit<KeetaAssetMovementAnchorExecuteTransferClientRequest, 'id'>\n\t\t>({\n\t\t\tmethod: 'POST',\n\t\t\tendpoint: 'executeTransfer',\n\t\t\tparams: { id: request.id },\n\t\t\taccount: request.account,\n\t\t\tbody: rest,\n\t\t\tgetSignedData: (body: Omit<KeetaAssetMovementAnchorExecuteTransferClientRequest, 'id'>) => {\n\t\t\t\treturn(getKeetaAssetMovementAnchorExecuteTransferRequestSigningData({ id, ...body }));\n\t\t\t},\n\t\t\tisResponse: isKeetaAssetMovementAnchorExecuteTransferResponse\n\t\t});\n\n\t\tthis.logger?.debug(`asset movement execute transfer successful, transaction ID ${requestInformationJSON.transaction.id}`);\n\n\t\treturn(requestInformationJSON);\n\t}\n\n\tasync getTransferStatus(request: KeetaAssetMovementAnchorGetTransferStatusClientRequest): Promise<ExtractOk<KeetaAssetMovementAnchorGetTransferStatusResponse>> {\n\t\tconst requestInformationJSON = await this.#makeRequest({\n\t\t\tmethod: 'GET',\n\t\t\tendpoint: 'getTransferStatus',\n\t\t\taccount: request.account,\n\t\t\tparams: { id: request.id },\n\t\t\tgetSignedData: () => getKeetaAssetMovementAnchorGetTransferStatusRequestSigningData(request),\n\t\t\tisResponse: isKeetaAssetMovementAnchorGetExchangeStatusResponse\n\t\t});\n\n\t\tthis.logger?.debug(`asset movement request successful, request ID ${request.id}`);\n\n\t\treturn(requestInformationJSON);\n\t}\n\n\tasync initiatePersistentForwardingTemplate(request: KeetaAssetMovementAnchorInitiatePersistentForwardingAddressTemplateClientRequest): Promise<ExtractOk<KeetaAssetMovementAnchorInitiatePersistentForwardingAddressTemplateResponse>> {\n\t\tthis.logger?.debug(`Initiating persistent forwarding template for provider ID: ${String(this.providerID)}, request: ${JSON.stringify(request)}`);\n\n\t\tconst result = await this.#makeRequest<\n\t\t\tKeetaAssetMovementAnchorInitiatePersistentForwardingAddressTemplateResponse,\n\t\t\tKeetaAssetMovementAnchorInitiatePersistentForwardingAddressTemplateClientRequest,\n\t\t\tKeetaAssetMovementAnchorInitiatePersistentForwardingAddressTemplateRequest\n\t\t>({\n\t\t\tmethod: 'POST',\n\t\t\tendpoint: 'initiatePersistentForwardingTemplate',\n\t\t\taccount: request.account,\n\t\t\tserializeRequest(body) {\n\t\t\t\tconst { account, ...rest } = body;\n\t\t\t\treturn({\n\t\t\t\t\t...rest,\n\t\t\t\t\tlocation: convertAssetLocationToString(body.location),\n\t\t\t\t\tasset: convertAssetOrPairSearchInputToCanonical(body.asset),\n\t\t\t\t\t...(account ? { account: account.assertAccount().publicKeyString.get() } : {})\n\t\t\t\t});\n\t\t\t},\n\t\t\tbody: request,\n\t\t\tgetSignedData: getKeetaAssetMovementAnchorInitiatePersistentForwardingAddressTemplateRequestSigningData,\n\t\t\tisResponse: isKeetaAssetMovementAnchorInitiatePersistentForwardingAddressTemplateResponse\n\t\t});\n\n\t\tthis.logger?.debug(`initiate persistent forwarding template successful, session ID: ${result.id}`);\n\n\t\treturn(result);\n\t}\n\n\tasync createPersistentForwardingTemplate(request: KeetaAssetMovementAnchorCreatePersistentForwardingAddressTemplateClientRequest): Promise<ExtractOk<KeetaAssetMovementAnchorCreatePersistentForwardingResponse>> {\n\t\tthis.logger?.debug(`Creating persistent forwarding for provider ID: ${String(this.providerID)}, request: ${JSON.stringify(request)}`);\n\n\t\tconst requestInformationJSON = await this.#makeRequest<\n\t\t\tKeetaAssetMovementAnchorCreatePersistentForwardingAddressTemplateResponse,\n\t\t\tKeetaAssetMovementAnchorCreatePersistentForwardingAddressTemplateClientRequest,\n\t\t\tKeetaAssetMovementAnchorCreatePersistentForwardingAddressTemplateRequest\n\t\t>({\n\t\t\tmethod: 'POST',\n\t\t\tendpoint: 'createPersistentForwardingTemplate',\n\t\t\taccount: request.account,\n\t\t\tserializeRequest(body) {\n\t\t\t\tconst { account, ...rest }\t= body;\n\n\t\t\t\tconst sharedFields = {\n\t\t\t\t\t...rest,\n\t\t\t\t\t...(account ? { account: account.assertAccount().publicKeyString.get() } : {})\n\t\t\t\t}\n\n\t\t\t\tif ('data' in body) {\n\t\t\t\t\treturn({\n\t\t\t\t\t\t...sharedFields,\n\t\t\t\t\t\tdata: body.data\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\treturn({\n\t\t\t\t\t\t...sharedFields,\n\t\t\t\t\t\tlocation: convertAssetLocationToString(body.location),\n\t\t\t\t\t\tasset: convertAssetOrPairSearchInputToCanonical(body.asset)\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t\tbody: request,\n\t\t\tgetSignedData: getKeetaAssetMovementAnchorCreatePersistentForwardingAddressTemplateRequestSigningData,\n\t\t\tisResponse: isKeetaAssetMovementAnchorCreatePersistentForwardingAddressTemplateResponse\n\t\t});\n\n\t\tthis.logger?.debug(`create persistent forwarding request successful`, requestInformationJSON.address);\n\n\t\treturn(requestInformationJSON);\n\t}\n\n\tasync createPersistentForwardingAddress(request: KeetaAssetMovementAnchorCreatePersistentForwardingClientRequest): Promise<ExtractOk<KeetaAssetMovementAnchorCreatePersistentForwardingResponse>> {\n\t\tthis.logger?.debug(`Creating persistent forwarding for provider ID: ${String(this.providerID)}, request: ${JSON.stringify(request)}`);\n\n\t\tconst requestInformationJSON = await this.#makeRequest<\n\t\t\tKeetaAssetMovementAnchorCreatePersistentForwardingResponse,\n\t\t\tKeetaAssetMovementAnchorCreatePersistentForwardingClientRequest,\n\t\t\tKeetaAssetMovementAnchorCreatePersistentForwardingRequest\n\t\t>({\n\t\t\tmethod: 'POST',\n\t\t\tendpoint: 'createPersistentForwarding',\n\t\t\taccount: request.account,\n\t\t\tserializeRequest(body) {\n\t\t\t\tconst base = {\n\t\t\t\t\tsourceLocation: convertAssetLocationToString(body.sourceLocation),\n\t\t\t\t\tasset: convertAssetOrPairSearchInputToCanonical(body.asset),\n\t\t\t\t\taccount: body.account?.assertAccount().publicKeyString.get()\n\t\t\t\t} as const;\n\n\t\t\t\tif ('persistentAddressTemplateId' in body) {\n\t\t\t\t\treturn({\n\t\t\t\t\t\t...base,\n\t\t\t\t\t\tpersistentAddressTemplateId: body.persistentAddressTemplateId\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\treturn({\n\t\t\t\t\t\t...base,\n\t\t\t\t\t\tdestinationAddress: body.destinationAddress,\n\t\t\t\t\t\tdestinationLocation: convertAssetLocationToString(body.destinationLocation)\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t\tbody: request,\n\t\t\tgetSignedData: getKeetaAssetMovementAnchorCreatePersistentForwardingRequestSigningData,\n\t\t\tisResponse: isKeetaAssetMovementAnchorCreatePersistentForwardingResponse\n\t\t});\n\n\t\tthis.logger?.debug(`create persistent forwarding request successful`, requestInformationJSON.address);\n\n\t\treturn(requestInformationJSON);\n\t}\n\n\tasync listForwardingAddressTemplates(request: KeetaAssetMovementAnchorListForwardingAddressTemplateClientRequest): Promise<{ templates: PersistentAddressTemplateData[]; total: number; }> {\n\t\tthis.logger?.debug(`Listing persistent forwarding address templates for provider ID: ${String(this.providerID)}`);\n\n\t\tconst requestInformationJSON = await this.#makeRequest({\n\t\t\tmethod: 'POST',\n\t\t\tendpoint: 'listPersistentForwardingTemplate',\n\t\t\taccount: request.account,\n\t\t\tbody: request,\n\t\t\tserializeRequest(body) {\n\t\t\t\treturn({\n\t\t\t\t\t...(body.account ? { account: body.account.assertAccount().publicKeyString.get() } : {}),\n\t\t\t\t\tasset: body.asset?.map(a => convertAssetSearchInputToCanonical(a)),\n\t\t\t\t\tlocation: body.location?.map(l => convertAssetLocationToString(l))\n\t\t\t\t});\n\t\t\t},\n\t\t\tgetSignedData: getKeetaAssetMovementAnchorListForwardingAddressTemplateRequestSigningData,\n\t\t\tisResponse: isKeetaAssetMovementAnchorListForwardingAddressTemplateResponse\n\t\t});\n\n\t\tthis.logger?.debug(`list persistent forwarding address templates request successful`, requestInformationJSON.templates);\n\n\t\treturn({\n\t\t\ttemplates: requestInformationJSON.templates,\n\t\t\ttotal: Number(requestInformationJSON.total)\n\t\t});\n\t}\n\n\tasync listForwardingAddresses(request: KeetaAssetMovementAnchorListPersistentForwardingClientRequest): Promise<{ addresses: KeetaPersistentForwardingAddressDetails[]; total: number; }> {\n\t\tthis.logger?.debug(`Listing persistent forwarding address templates for provider ID: ${String(this.providerID)}`);\n\n\t\tconst requestInformationJSON = await this.#makeRequest({\n\t\t\tmethod: 'POST',\n\t\t\tendpoint: 'listPersistentForwarding',\n\t\t\taccount: request.account,\n\t\t\tbody: request,\n\t\t\tserializeRequest(body) {\n\t\t\t\treturn({\n\t\t\t\t\t...body,\n\t\t\t\t\taccount: body.account?.assertAccount().publicKeyString.get(),\n\t\t\t\t\tsearch: body.search ? body.search.map(function(searchItem) {\n\t\t\t\t\t\treturn({\n\t\t\t\t\t\t\t...searchItem,\n\t\t\t\t\t\t\tasset: searchItem.asset ? convertAssetSearchInputToCanonical(searchItem.asset) : undefined,\n\t\t\t\t\t\t\tsourceLocation: searchItem.sourceLocation ? convertAssetLocationToString(searchItem.sourceLocation) : undefined,\n\t\t\t\t\t\t\tdestinationLocation: searchItem.destinationLocation ? convertAssetLocationToString(searchItem.destinationLocation) : undefined\n\t\t\t\t\t\t})\n\t\t\t\t\t}) : undefined\n\t\t\t\t});\n\t\t\t},\n\t\t\tgetSignedData: getKeetaAssetMovementAnchorListPersistentForwardingRequestSigningData,\n\t\t\tisResponse: isKeetaAssetMovementAnchorListPersistentForwardingResponse\n\t\t});\n\n\t\tthis.logger?.debug('KeetaAssetMovementAnchorProvider::listPersistentForwardingAddresses', `list persistent forwarding address request successful`, requestInformationJSON.addresses);\n\n\t\treturn({\n\t\t\taddresses: requestInformationJSON.addresses,\n\t\t\ttotal: Number(requestInformationJSON.total)\n\t\t});\n\t}\n\n\tasync listTransactions(request: KeetaAssetMovementAnchorlistTransactionsClientRequest): Promise<ExtractOk<KeetaAssetMovementAnchorlistPersistentForwardingTransactionsResponse>> {\n\t\tthis.logger?.debug(`List persistent forwarding transactions provider ID: ${String(this.providerID)}, request: ${JSON.stringify(request)}`);\n\n\t\tconst requestInformationJSON = await this.#makeRequest<\n\t\t\tKeetaAssetMovementAnchorlistPersistentForwardingTransactionsResponse,\n\t\t\tKeetaAssetMovementAnchorlistTransactionsClientRequest,\n\t\t\tKeetaAssetMovementAnchorlistTransactionsRequest\n\t\t>({\n\t\t\tmethod: 'POST',\n\t\t\tendpoint: 'listTransactions',\n\t\t\taccount: request.account,\n\t\t\tserializeRequest(body) {\n\t\t\t\treturn({\n\t\t\t\t\taccount: body.account?.assertAccount().publicKeyString.get(),\n\t\t\t\t\tpagination: body.pagination,\n\t\t\t\t\tpersistentAddresses: body.persistentAddresses?.map(pa => ({\n\t\t\t\t\t\tlocation: convertAssetLocationToString(pa.location),\n\t\t\t\t\t\t...('persistentAddressTemplate' in pa ?\n\t\t\t\t\t\t\t{ persistentAddressTemplate: pa.persistentAddressTemplate } :\n\t\t\t\t\t\t\t{ persistentAddress: pa.persistentAddress }\n\t\t\t\t\t\t)\n\t\t\t\t\t})),\n\t\t\t\t\tfrom: body.from ? {\n\t\t\t\t\t\tlocation: convertAssetLocationToString(body.from.location),\n\t\t\t\t\t\tuserAddress: body.from.userAddress,\n\t\t\t\t\t\tasset: body.from.asset ? convertAssetSearchInputToCanonical(body.from.asset) : undefined\n\t\t\t\t\t} : undefined,\n\t\t\t\t\tto: body.to ? {\n\t\t\t\t\t\tlocation: convertAssetLocationToString(body.to.location),\n\t\t\t\t\t\tuserAddress: body.to.userAddress,\n\t\t\t\t\t\tasset: body.to.asset ? convertAssetSearchInputToCanonical(body.to.asset) : undefined\n\t\t\t\t\t} : undefined\n\t\t\t\t});\n\t\t\t},\n\t\t\tbody: request,\n\t\t\tgetSignedData: getKeetaAssetMovementAnchorlistTransactionsRequestSigningData,\n\t\t\tisResponse: isKeetaAssetMovementAnchorlistPersistentForwardingTransactionsResponse\n\t\t});\n\n\t\tthis.logger?.debug(`list persistent transactions request successful, ${requestInformationJSON.transactions}`);\n\n\t\treturn(requestInformationJSON);\n\t}\n\n\tasync #awaitPromiseURL(promiseURL: string, options?: AwaitPromiseURLOptions): Promise<void> {\n\t\tconst startTime = Date.now();\n\n\t\tconst timeout = options?.timeoutMs ?? (5 * 60 * 1000);\n\n\t\twhile (true) {\n\t\t\tif (options?.abortSignal?.aborted) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tlet response;\n\n\t\t\ttry {\n\t\t\t\tresponse = await fetch(promiseURL);\n\t\t\t} catch (error) {\n\t\t\t\tthis.logger?.debug('KeetaAssetMovementAnchorProvider::awaitPromiseURL', 'Error fetching promise URL', error);\n\t\t\t\tthrow(new Error(`Error fetching promise URL: ${String(error)}`));\n\t\t\t}\n\n\t\t\tif (response.status === 200) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (response.status !== 202) {\n\t\t\t\tlet errorData: unknown;\n\t\t\t\ttry {\n\t\t\t\t\terrorData = await response.json();\n\t\t\t\t} catch {\n\t\t\t\t\tthrow(new Error(`Error parsing error response json from promise, status code ${response.status}`));\n\t\t\t\t}\n\t\t\t\tthrow(await this.#parseResponseError(errorData));\n\t\t\t}\n\n\t\t\tif (Date.now() - startTime > timeout) {\n\t\t\t\tthrow(new Error('Timeout waiting for promise URL to complete'));\n\t\t\t}\n\n\t\t\tlet retryAfterMS: number | undefined;\n\t\t\tconst retryAfterHeader = response.headers.get('Retry-After');\n\t\t\tif (retryAfterHeader) {\n\n\t\t\t\tif (!isNaN(Number(retryAfterHeader))) {\n\t\t\t\t\tretryAfterMS = Number(retryAfterHeader) * 1000;\n\t\t\t\t} else {\n\t\t\t\t\tconst retryAfterDate = new Date(retryAfterHeader);\n\t\t\t\t\tif (!isNaN(retryAfterDate.getTime())) {\n\t\t\t\t\t\tretryAfterMS = retryAfterDate.getTime() - Date.now();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (!retryAfterMS) {\n\t\t\t\tretryAfterMS = options?.defaultPollIntervalMs ?? 1000;\n\t\t\t}\n\n\t\t\tawait KeetaNet.lib.Utils.Helper.asleep(retryAfterMS);\n\t\t}\n\t}\n\n\tasync shareKYCAttributes(request: KeetaAssetMovementAnchorShareKYCClientRequest, awaitOptions?: AwaitPromiseURLOptions): Promise<void> {\n\t\tthis.logger?.debug('Sharing KYC attributes');\n\n\t\tconst response = await this.#makeRequest<\n\t\t\tKeetaAssetMovementAnchorShareKYCResponse,\n\t\t\tKeetaAssetMovementAnchorShareKYCClientRequest,\n\t\t\tKeetaAssetMovementAnchorShareKYCRequest\n\t\t>({\n\t\t\tmethod: 'POST',\n\t\t\tendpoint: 'shareKYC',\n\t\t\taccount: request.account,\n\t\t\tasync serializeRequest(body) {\n\t\t\t\tlet attributes;\n\t\t\t\tif (typeof body.attributes === 'string') {\n\t\t\t\t\tattributes = body.attributes;\n\t\t\t\t} else {\n\t\t\t\t\tattributes = await body.attributes.export({ format: 'string' });\n\t\t\t\t}\n\n\t\t\t\treturn({\n\t\t\t\t\taccount: body.account.assertAccount().publicKeyString.get(),\n\t\t\t\t\tattributes: attributes,\n\t\t\t\t\t...(body.tosAgreement ? { tosAgreement: body.tosAgreement } : {})\n\t\t\t\t});\n\t\t\t},\n\t\t\tbody: request,\n\t\t\tgetSignedData: getKeetaAssetMovementAnchorShareKYCRequestSigningData,\n\t\t\tisResponse: isKeetaAssetMovementAnchorShareKYCResponse\n\t\t});\n\n\t\tif (response.isPending && response.promiseURL) {\n\t\t\tthis.logger?.debug('KYC attribute sharing is pending, awaiting promise URL');\n\n\t\t\tlet promiseURL;\n\n\t\t\tif (response.promiseURL.startsWith('/')) {\n\t\t\t\tconst operationData = await this.#getOperationData('shareKYC');\n\t\t\t\tpromiseURL = new URL(response.promiseURL, operationData.url).toString();\n\t\t\t} else {\n\t\t\t\tpromiseURL = response.promiseURL;\n\t\t\t}\n\n\t\t\tawait this.#awaitPromiseURL(promiseURL, { ...awaitOptions });\n\t\t}\n\n\t\tthis.logger?.debug(`done sharing KYC attributes`);\n\t}\n\n\tgetAssetMetadataForLocation(location: AssetLocationLike, asset: ExternalChainAsset): AnchorTokenLocationMetadata | null {\n\t\tconst locationMetadata = this.serviceInfo.locationMetadata;\n\t\tif (!locationMetadata) {\n\t\t\treturn(null);\n\t\t}\n\n\t\tconst locationString = convertAssetLocationToString(location);\n\n\t\tif (!(locationString in locationMetadata)) {\n\t\t\treturn(null);\n\t\t}\n\n\t\t// We can assert here as we have validated the key is included above\n\t\t// eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n\t\tconst locationSpecificMetadata = (locationMetadata as { [key: string]: PerChainLocationMetadata })[locationString];\n\n\t\tif (!locationSpecificMetadata?.assets || !(asset in locationSpecificMetadata.assets)) {\n\t\t\treturn(null);\n\t\t}\n\n\t\tconst assetMetadata = locationSpecificMetadata.assets[asset];\n\n\t\tif (!assetMetadata) {\n\t\t\treturn(null);\n\t\t}\n\n\t\treturn(assetMetadata);\n\t}\n\n\tgetLegalDisclaimers(): NonNullable<AnchorMetadataLegalField['disclaimers']> | null {\n\t\tconst disclaimers = this.serviceInfo.legal?.disclaimers;\n\t\tif (!disclaimers) {\n\t\t\treturn(null);\n\t\t}\n\n\t\treturn(disclaimers);\n\t}\n}\n\nclass KeetaAssetMovementAnchorClient extends KeetaAssetMovementAnchorBase {\n\treadonly resolver: Resolver;\n\treadonly id: string;\n\t// eslint-disable-next-line no-unused-private-class-members\n\treadonly #signer: InstanceType<typeof KeetaNetLib.Account>;\n\t// eslint-disable-next-line no-unused-private-class-members\n\treadonly #account: InstanceType<typeof KeetaNetLib.Account>;\n\n\tconstructor(client: KeetaNetUserClient, config: KeetaAssetMovementClientConfig = {}) {\n\t\tsuper({ client, logger: config.logger });\n\t\tthis.resolver = config.resolver ?? getDefaultResolver(client, config);\n\t\tthis.id = config.id ?? crypto.randomUUID();\n\n\t\tif (config.signer) {\n\t\t\tthis.#signer = config.signer;\n\t\t} else if ('signer' in client && client.signer !== null) {\n\t\t\tthis.#signer = client.signer;\n\t\t} else if ('account' in client && client.account.hasPrivateKey) {\n\t\t\tthis.#signer = client.account;\n\t\t} else {\n\t\t\tthrow(new Error('KeetaAssetMovementAnchorClient requires a Signer or a UserClient with an associated Signer'));\n\t\t}\n\n\t\tif (config.account) {\n\t\t\tthis.#account = config.account;\n\t\t} else if ('account' in client) {\n\t\t\tthis.#account = client.account;\n\t\t} else {\n\t\t\tthrow(new Error('KeetaAssetMovementAnchorClient requires an Account or a UserClient with an associated Account'));\n\t\t}\n\t}\n\n\tasync #lookup(request: ProviderSearchInput, shared?: SharedLookupCriteria): Promise<KeetaAssetMovementAnchorProvider[] | null> {\n\t\tconst endpoints = await getEndpoints(this.resolver, request, shared, this.logger);\n\t\tif (endpoints === null) {\n\t\t\treturn(null);\n\t\t}\n\n\t\tconst providers = typedAssetMovementServiceEntries(endpoints).map(([id, serviceInfo]) => {\n\t\t\treturn(new KeetaAssetMovementAnchorProvider(serviceInfo, id, this));\n\t\t});\n\n\t\treturn(providers);\n\t}\n\n\tasync getProvidersForTransfer(request: ProviderSearchInput, shared?: SharedLookupCriteria): Promise<KeetaAssetMovementAnchorProvider[] | null> {\n\t\treturn(await this.#lookup(request, shared));\n\t}\n\n\tasync getProviderByID(providerID: string): Promise<KeetaAssetMovementAnchorProvider | null> {\n\t\tconst providers = await this.#lookup({}, { providerIDs: [providerID] });\n\t\treturn(providers?.[0] ?? null);\n\t}\n\n\tasync getProviderLegalDisclaimersByID(providerID: string): Promise<Exclude<AnchorMetadataLegalField['disclaimers'], undefined> | null> {\n\t\tconst provider = await this.getProviderByID(providerID);\n\t\tif (!provider) {\n\t\t\treturn(null);\n\t\t}\n\n\t\tconst disclaimers = provider.serviceInfo.legal?.disclaimers;\n\t\tif (!disclaimers) {\n\t\t\treturn(null);\n\t\t}\n\n\t\treturn(disclaimers);\n\t}\n\n\tasync getProviderByAccount(account: NonNullable<SharedLookupCriteria['accounts']>[number]): Promise<KeetaAssetMovementAnchorProvider | null> {\n\t\tconst providers = await this.#lookup({}, { accounts: [account] });\n\t\treturn(providers?.[0] ?? null);\n\t}\n\n\t/** @internal */\n\t_internals(accessToken: symbol) {\n\t\tif (accessToken !== KeetaAssetMovementAnchorClientAccessToken) {\n\t\t\tthrow(new Error('invalid access token'));\n\t\t}\n\n\t\treturn({\n\t\t\tresolver: this.resolver,\n\t\t\tlogger: this.logger,\n\t\t\tclient: this.client\n\t\t});\n\t}\n}\n\nexport default KeetaAssetMovementAnchorClient;\n"]}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/services/asset-movement/client.ts"],"names":[],"mappings":"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","sourcesContent":["import type { lib as KeetaNetLib } from '@keetanetwork/keetanet-client';\n\nimport { getDefaultResolver } from '../../config.js';\n\nimport type {\n\tUserClient as KeetaNetUserClient\n} from '@keetanetwork/keetanet-client';\nimport type {\n\tKeetaAssetMovementAnchorGetTransferStatusResponse,\n\tKeetaAssetMovementAnchorCreatePersistentForwardingRequest,\n\tKeetaAssetMovementAnchorCreatePersistentForwardingResponse,\n\tSupportedAssetsMetadata,\n\tProviderSearchInput,\n\tKeetaAssetMovementAnchorlistTransactionsRequest,\n\tKeetaAssetMovementAnchorlistPersistentForwardingTransactionsResponse,\n\tKeetaAssetMovementAnchorCreatePersistentForwardingClientRequest,\n\tKeetaAssetMovementAnchorInitiateTransferClientRequest,\n\tKeetaNetAccount,\n\tKeetaAssetMovementAnchorInitiatePersistentForwardingAddressTemplateClientRequest,\n\tKeetaAssetMovementAnchorInitiatePersistentForwardingAddressTemplateRequest,\n\tKeetaAssetMovementAnchorInitiatePersistentForwardingAddressTemplateResponse,\n\tKeetaAssetMovementAnchorCreatePersistentForwardingAddressTemplateClientRequest,\n\tKeetaAssetMovementAnchorCreatePersistentForwardingAddressTemplateRequest,\n\tKeetaAssetMovementAnchorCreatePersistentForwardingAddressTemplateResponse,\n\tKeetaAssetMovementAnchorlistTransactionsClientRequest,\n\tKeetaAssetMovementAnchorListForwardingAddressTemplateClientRequest,\n\tPersistentAddressTemplateData,\n\tKeetaAssetMovementAnchorGetTransferStatusClientRequest,\n\tKeetaAssetMovementAnchorShareKYCClientRequest,\n\tKeetaAssetMovementAnchorShareKYCRequest,\n\tKeetaAssetMovementAnchorShareKYCResponse,\n\tKeetaAssetMovementAnchorListPersistentForwardingClientRequest,\n\tKeetaPersistentForwardingAddressDetails,\n\tKeetaAssetMovementAnchorInitiateTransferResponse,\n\tKeetaAssetMovementAnchorExecuteTransferClientRequest,\n\tAnchorTokenLocationMetadata,\n\tAnchorCustomLocationMetadata,\n\tChainLocationString,\n\tAssetLocationLike,\n\tPerChainLocationMetadata,\n\tKeetaAssetMovementAnchorSimulateTransferResponse,\n\tKeetaAssetMovementAnchorSimulateTransferClientRequest,\n\tKeetaAssetMovementAnchorInitiateTransferRequest,\n\tKeetaAssetMovementAnchorSimulateTransferRequest\n} from './common.js';\nimport {\n\tassertKeetaSupportedAssetsMetadataItem,\n\tconvertAssetLocationToString,\n\tconvertAssetOrPairSearchInputToCanonical,\n\tconvertAssetSearchInputToCanonical,\n\tgetKeetaAssetMovementAnchorInitiatePersistentForwardingAddressTemplateRequestSigningData,\n\tisKeetaAssetMovementAnchorInitiatePersistentForwardingAddressTemplateResponse,\n\tgetKeetaAssetMovementAnchorCreatePersistentForwardingAddressTemplateRequestSigningData,\n\tgetKeetaAssetMovementAnchorCreatePersistentForwardingRequestSigningData,\n\tgetKeetaAssetMovementAnchorExecuteTransferRequestSigningData,\n\tgetKeetaAssetMovementAnchorGetTransferStatusRequestSigningData,\n\tgetKeetaAssetMovementAnchorInitiateTransferRequestSigningData,\n\tgetKeetaAssetMovementAnchorListForwardingAddressTemplateRequestSigningData,\n\tgetKeetaAssetMovementAnchorListPersistentForwardingRequestSigningData,\n\tgetKeetaAssetMovementAnchorlistTransactionsRequestSigningData,\n\tgetKeetaAssetMovementAnchorShareKYCRequestSigningData,\n\tisKeetaAssetMovementAnchorCreatePersistentForwardingAddressTemplateResponse,\n\tisKeetaAssetMovementAnchorCreatePersistentForwardingResponse,\n\tisKeetaAssetMovementAnchorExecuteTransferResponse,\n\tisKeetaAssetMovementAnchorGetExchangeStatusResponse,\n\tisKeetaAssetMovementAnchorInitiateTransferResponse,\n\tisKeetaAssetMovementAnchorListForwardingAddressTemplateResponse,\n\tisKeetaAssetMovementAnchorListPersistentForwardingResponse,\n\tisKeetaAssetMovementAnchorlistPersistentForwardingTransactionsResponse,\n\tisKeetaAssetMovementAnchorShareKYCResponse,\n\ttoAssetLocationFromString,\n\tisExternalChainAsset,\n\tisAnchorTokenLocationMetadata,\n\tisKeetaAssetMovementAnchorSimulateTransferResponse,\n\tgetKeetaAssetMovementAnchorSimulateTransferRequestSigningData,\n\tErrors\n} from './common.js';\nimport type { Logger } from '../../lib/log/index.ts';\nimport Resolver from \"../../lib/resolver.js\";\nimport type { ServiceMetadata, ServiceMetadataAuthenticationType, ServiceMetadataEndpoint, SharedLookupCriteria } from '../../lib/resolver.ts';\nimport crypto from '../../lib/utils/crypto.js';\nimport type { BrandedString } from '../../lib/utils/brand.js';\nimport { createAssertEquals } from 'typia';\nimport type { ExtractOk, HTTPSignedField } from '../../lib/http-server/common.js';\nimport { addSignatureToURL } from '../../lib/http-server/common.js';\nimport type { Signable } from '../../lib/utils/signing.js';\nimport { SignData } from '../../lib/utils/signing.js';\nimport { KeetaAnchorError } from '../../lib/error.js';\nimport { KeetaNet } from '../../client/index.js';\nimport { resolveSharedAnchorMetadataLegalExtension, type SharedAnchorMetadataLegalExtension, type AnchorMetadataLegalField } from '../../lib/metadata.types.js';\nimport type { ExternalChainAsset, ExternalChainLocationType } from '../../lib/asset.js';\n\n// const PARANOID = true;\n\n/**\n * The configuration options for the Asset Movement (Inbound/Outbound) Anchor client.\n */\nexport type KeetaAssetMovementClientConfig = {\n\t/**\n\t * The ID of the client. This is used to identify the client in logs.\n\t * If not provided, a random ID will be generated.\n\t */\n\tid?: string;\n\t/**\n\t * The logger to use for logging messages. If not provided, no logging\n\t * will be done.\n\t */\n\tlogger?: Logger;\n\t/**\n\t * The resolver to use for resolving Asset Movement Anchor services. If not\n\t * provided, a default resolver will be created using the provided\n\t * client and network (if the network is also not provided and the\n\t * client is not a UserClient, an error occurs).\n\t */\n\tresolver?: Resolver;\n\t/**\n\t * The account to use for signing requests. If not provided, the\n\t * account associated with the provided client will be used. If there\n\t * is no account associated with the client, an error occurs.\n\t */\n\tsigner?: InstanceType<typeof KeetaNetLib.Account>;\n\t/**\n\t * Account to perform changes on. If not provided, the account\n\t * associated with the provided client will be used. If there is no\n\t * account associated with the client, an error occurs.\n\t */\n\taccount?: InstanceType<typeof KeetaNetLib.Account>;\n} & Omit<NonNullable<Parameters<typeof getDefaultResolver>[1]>, 'client'>;\n\n/**\n * An opaque type that represents a provider ID.\n */\ntype ProviderID = BrandedString<'AssetMovementProviderID'>;\n\n/**\n * An opaque type that represents an Asset Movement Anchor request ID\n */\n// type RequestID = BrandedString<'AssetMovementRequestID'>;\n\nconst KeetaAssetMovementAnchorClientAccessToken = Symbol('KeetaAssetMovementAnchorClientAccessToken');\n\nfunction typedAssetMovementServiceEntries<T extends object>(obj: T): [keyof T, T[keyof T]][] {\n\t// eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n\treturn(Object.entries(obj) as [keyof T, T[keyof T]][]);\n}\n\nconst assertServiceMetadataEndpoint = createAssertEquals<ServiceMetadataEndpoint>();\n\n/**\n * A list of operations that can be performed by the Asset Movement Anchor service.\n */\ntype KeetaAssetMovementAnchorOperations = {\n\t[operation in keyof NonNullable<ServiceMetadata['services']['assetMovement']>[string]['operations']]?: {\n\t\turl: (params?: { [key: string]: string; }) => URL;\n\t\toptions: {\n\t\t\tauthentication: ServiceMetadataAuthenticationType;\n\t\t};\n\t};\n};\n\n/**\n * The service information for a KYC Anchor service.\n */\ninterface KeetaAssetMovementServiceInfo extends SharedAnchorMetadataLegalExtension {\n\toperations: {\n\t\t[operation in keyof KeetaAssetMovementAnchorOperations]: Promise<KeetaAssetMovementAnchorOperations[operation]>;\n\t};\n\n\tsupportedAssets: SupportedAssetsMetadata[];\n\tlocationMetadata?: AnchorCustomLocationMetadata;\n};\n\n/**\n * For each matching KYC Anchor service, this type describes the\n * operations available and the country codes that the service supports.\n */\ntype GetEndpointsResult = {\n\t[id: ProviderID]: KeetaAssetMovementServiceInfo;\n};\n\nfunction validateURL(url: string | undefined): URL {\n\tif (url === undefined || url === null) {\n\t\tthrow(new Error('Invalid URL: null or undefined'));\n\t}\n\n\tconst parsedURL = new URL(url);\n\n\treturn(parsedURL);\n}\n\nasync function getEndpoints(resolver: Resolver, request: ProviderSearchInput, shared?: SharedLookupCriteria, logger?: Logger): Promise<GetEndpointsResult | null> {\n\tconst asset = request.asset ? { asset: convertAssetOrPairSearchInputToCanonical(request.asset) } : undefined;\n\tconst from = request.from ? { from: convertAssetLocationToString(request.from) } : {};\n\tconst to = request.to ? { to: convertAssetLocationToString(request.to) } : {};\n\tconst rail = request.rail ? { rail: request.rail } : {};\n\tconst response = await resolver.lookup('assetMovement', {\n\t\t...asset,\n\t\t...from,\n\t\t...to,\n\t\t...rail\n\t}, shared);\n\n\tif (response === undefined) {\n\t\treturn(null);\n\t}\n\n\tconst serviceInfoPromises = Object.entries(response).map(async function([id, serviceInfo]): Promise<[ProviderID, KeetaAssetMovementServiceInfo]> {\n\t\tconst supportedAssetsMetadata = await Resolver.Metadata.fullyResolveValuizable(serviceInfo.supportedAssets);\n\n\t\tif (!Array.isArray(supportedAssetsMetadata)) {\n\t\t\tthrow(new Error('Invalid supportedAssets metadata: expected an array'));\n\t\t}\n\n\t\tconst supportedAssets = [];\n\t\tfor (const item of supportedAssetsMetadata) {\n\t\t\ttry {\n\t\t\t\tsupportedAssets.push(assertKeetaSupportedAssetsMetadataItem(item));\n\t\t\t} catch (error) {\n\t\t\t\tlogger?.debug('getEndpoints', `Failed to resolve supportedAssets metadata item for provider ${id}`, error, item);\n\t\t\t}\n\t\t}\n\n\t\tconst locationMetadata = await (async () => {\n\t\t\tlet locationMetadataVal;\n\t\t\tif (serviceInfo.locationMetadata) {\n\t\t\t\tlocationMetadataVal = await serviceInfo.locationMetadata('object');\n\t\t\t}\n\n\t\t\tif (!locationMetadataVal) {\n\t\t\t\treturn(undefined);\n\t\t\t}\n\n\t\t\tconst chainsResult = await Promise.allSettled(Object.entries(locationMetadataVal).map(async ([ location, assetsValue ]) => {\n\t\t\t\tconst parsedLocation = toAssetLocationFromString(location);\n\n\t\t\t\tif (parsedLocation.type !== 'chain') {\n\t\t\t\t\tthrow(new Error(`Invalid location type in AssetLocation string: ${parsedLocation.type}`));\n\t\t\t\t}\n\n\t\t\t\tif (parsedLocation.chain.type === 'keeta') {\n\t\t\t\t\tthrow(new Error('Keeta chain type is not supported in AssetLocation metadata')) ;\n\t\t\t\t}\n\n\t\t\t\tconst chainType = parsedLocation.chain.type;\n\n\t\t\t\t// We can assert here as we have validated the chain type in the parsing function\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n\t\t\t\tconst locationString = convertAssetLocationToString(parsedLocation) as ChainLocationString<ExternalChainLocationType>;\n\n\t\t\t\tlet resolvedAssetsObject = undefined;\n\t\t\t\tif (assetsValue) {\n\t\t\t\t\tresolvedAssetsObject = await assetsValue('object');\n\t\t\t\t}\n\n\t\t\t\tif (!resolvedAssetsObject) {\n\t\t\t\t\treturn(null);\n\t\t\t\t}\n\n\t\t\t\tlet assets: {\n\t\t\t\t\t[AssetId in ExternalChainAsset<typeof chainType>]?: AnchorTokenLocationMetadata | undefined;\n\t\t\t\t} | undefined;\n\n\t\t\t\tif (resolvedAssetsObject.assets) {\n\t\t\t\t\tconst assetsValue = await resolvedAssetsObject.assets('object');\n\t\t\t\t\tconst resolvedAssets = await Promise.allSettled(Object.entries(assetsValue).map(async ([ assetId, assetMetadata ]) => {\n\t\t\t\t\t\tif (!isExternalChainAsset(assetId, chainType)) {\n\t\t\t\t\t\t\tthrow(new Error(`Invalid asset ID for chain type ${chainType}: ${assetId}`));\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tlet assetMetadataVal;\n\t\t\t\t\t\tif (assetMetadata) {\n\t\t\t\t\t\t\tassetMetadataVal = await assetMetadata('object');\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (!assetMetadataVal) {\n\t\t\t\t\t\t\treturn(null);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst anchorTokenLocationMetadata = {\n\t\t\t\t\t\t\tdisplayName: await assetMetadataVal.displayName?.('string'),\n\t\t\t\t\t\t\tticker: await assetMetadataVal.ticker?.('string'),\n\t\t\t\t\t\t\tlogoURI: await assetMetadataVal.logoURI?.('string'),\n\t\t\t\t\t\t\tdecimalPlaces: await assetMetadataVal.decimalPlaces?.('primitive')\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tif (!isAnchorTokenLocationMetadata(anchorTokenLocationMetadata)) {\n\t\t\t\t\t\t\tthrow(new Error(`Invalid asset metadata for asset ID ${assetId} in chain type ${chainType}`));\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn([ assetId, anchorTokenLocationMetadata ] as const);\n\t\t\t\t\t}));\n\n\t\t\t\t\tfor (const result of resolvedAssets) {\n\t\t\t\t\t\tif (result.status === 'rejected') {\n\t\t\t\t\t\t\tlogger?.debug('Failed to resolve asset metadata', result.reason);\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (!result.value) {\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (!assets) {\n\t\t\t\t\t\t\tassets = {};\n\t\t\t\t\t\t}\n\n\n\t\t\t\t\t\tassets[result.value[0]] = result.value[1];\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn([\n\t\t\t\t\tlocationString,\n\t\t\t\t\t{\n\t\t\t\t\t\t...(assets ? { assets } : {})\n\t\t\t\t\t}\n\t\t\t\t] as const)\n\t\t\t}));\n\n\t\t\tlet chains: AnchorCustomLocationMetadata | undefined;\n\t\t\tfor (const result of chainsResult) {\n\t\t\t\tif (result.status === 'rejected') {\n\t\t\t\t\tlogger?.debug('Failed to resolve location metadata', result.reason);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tif (!result.value) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tif (!chains) {\n\t\t\t\t\tchains = {};\n\t\t\t\t}\n\n\t\t\t\t// XXX:TODO Add comment\n\t\t\t\t// @ts-ignore\n\t\t\t\tchains[result.value[0]] = result.value[1];\n\t\t\t}\n\n\t\t\tif (!chains) {\n\t\t\t\treturn(undefined);\n\t\t\t}\n\n\t\t\treturn(chains);\n\t\t})();\n\n\t\tconst operations = await serviceInfo.operations('object');\n\t\tconst operationsFunctions: KeetaAssetMovementServiceInfo['operations'] = {};\n\t\tfor (const [ key, operation ] of Object.entries(operations)) {\n\t\t\tif (operation === undefined) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tObject.defineProperty(operationsFunctions, key, {\n\t\t\t\tget: async function() {\n\t\t\t\t\tconst endpointInfo = assertServiceMetadataEndpoint(await Resolver.Metadata.fullyResolveValuizable(operation));\n\n\t\t\t\t\tlet url;\n\t\t\t\t\tlet authentication: ServiceMetadataAuthenticationType = {\n\t\t\t\t\t\ttype: 'none',\n\t\t\t\t\t\tmethod: 'keeta-account'\n\t\t\t\t\t};\n\n\t\t\t\t\tif (typeof endpointInfo === 'string') {\n\t\t\t\t\t\turl = endpointInfo;\n\t\t\t\t\t} else {\n\t\t\t\t\t\turl = endpointInfo.url;\n\t\t\t\t\t\tif (endpointInfo.options?.authentication) {\n\t\t\t\t\t\t\tauthentication = endpointInfo.options.authentication;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn({\n\t\t\t\t\t\turl: function(params?: { [key: string]: string; }): URL {\n\t\t\t\t\t\t\tlet substitutedURL;\n\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\tsubstitutedURL = decodeURI(url)\n\t\t\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\t\t\tlogger?.debug('getEndpoints', 'Failed to decode URI, using original URL for substitution', error, url);\n\n\t\t\t\t\t\t\t\tsubstitutedURL = url;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tfor (const [paramKey, paramValue] of Object.entries(params ?? {})) {\n\t\t\t\t\t\t\t\tsubstitutedURL = substitutedURL.replace(`{${paramKey}}`, encodeURIComponent(paramValue));\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn(validateURL(substitutedURL));\n\t\t\t\t\t\t},\n\t\t\t\t\t\toptions: { authentication }\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t\tenumerable: true,\n\t\t\t\tconfigurable: true\n\t\t\t});\n\t\t}\n\n\t\treturn([\n\t\t\t// eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n\t\t\tid as unknown as ProviderID,\n\t\t\t{\n\t\t\t\t...(await resolveSharedAnchorMetadataLegalExtension(serviceInfo.legal, { logger })),\n\t\t\t\toperations: operationsFunctions,\n\t\t\t\tsupportedAssets: supportedAssets,\n\t\t\t\t...(locationMetadata ? { locationMetadata } : {})\n\t\t\t}\n\t\t]);\n\t});\n\n\tconst retval = Object.fromEntries(await Promise.all(serviceInfoPromises));\n\n\treturn(retval);\n}\n\ninterface KeetaAssetMovementAnchorBaseConfig {\n\tclient: KeetaNetUserClient;\n\tlogger?: Logger | undefined;\n}\n\nclass KeetaAssetMovementAnchorBase {\n\tprotected readonly logger?: Logger | undefined;\n\tprotected readonly client: KeetaNetUserClient;\n\n\tconstructor(config: KeetaAssetMovementAnchorBaseConfig) {\n\t\tthis.client = config.client;\n\t\tthis.logger = config.logger;\n\t}\n}\n\ntype SimulationOrTransferResponse = ExtractOk<KeetaAssetMovementAnchorInitiateTransferResponse> | ExtractOk<KeetaAssetMovementAnchorSimulateTransferResponse>;\n\ninterface BaseKeetaAssetMovementTransferConstructorArguments<Request extends KeetaAssetMovementAnchorInitiateTransferClientRequest | KeetaAssetMovementAnchorSimulateTransferClientRequest, Transfer extends SimulationOrTransferResponse> {\n\tprovider: KeetaAssetMovementAnchorProvider;\n\trequest: Request;\n\ttransfer: Transfer;\n}\n\nabstract class BaseKeetaAssetMovementTransfer<Request extends KeetaAssetMovementAnchorInitiateTransferClientRequest | KeetaAssetMovementAnchorSimulateTransferClientRequest, Transfer extends SimulationOrTransferResponse> {\n\treadonly provider: KeetaAssetMovementAnchorProvider;\n\treadonly request: Request;\n\treadonly transfer: Transfer;\n\n\treadonly abstract isSimulation: Request extends KeetaAssetMovementAnchorInitiateTransferClientRequest ? false : true;\n\n\tconstructor({ request, transfer, provider }: BaseKeetaAssetMovementTransferConstructorArguments<Request, Transfer>) {\n\t\tthis.provider = provider;\n\t\tthis.request = request;\n\t\tthis.transfer = transfer;\n\t}\n\n\tget instructions(): Transfer['instructionChoices'] {\n\t\treturn(this.transfer.instructionChoices);\n\t}\n}\n\n/**\n * Represents an in-progress Asset Movement request.\n */\nclass KeetaAssetMovementTransfer extends BaseKeetaAssetMovementTransfer<KeetaAssetMovementAnchorInitiateTransferClientRequest, ExtractOk<KeetaAssetMovementAnchorInitiateTransferResponse>> {\n\treadonly isSimulation = false as const;\n\n\tget transferId(): string {\n\t\treturn(this.transfer.id);\n\t}\n\n\tasync getTransferStatus(): Promise<ExtractOk<KeetaAssetMovementAnchorGetTransferStatusResponse>> {\n\t\tconst account = this.request.account ? { account: this.request.account } : undefined;\n\t\treturn(await this.provider.getTransferStatus({ id: this.transfer.id, ...account }));\n\t}\n\n\tasync executeTransfer(input: Omit<KeetaAssetMovementAnchorExecuteTransferClientRequest, 'id'>): Promise<ExtractOk<KeetaAssetMovementAnchorGetTransferStatusResponse>> {\n\t\tconst account = this.request.account ? { account: this.request.account } : undefined;\n\t\treturn(await this.provider.executeTransfer({ id: this.transfer.id, ...input, ...account }));\n\t}\n}\n\nclass KeetaAssetMovementSimulatedTransfer extends BaseKeetaAssetMovementTransfer<KeetaAssetMovementAnchorSimulateTransferClientRequest, ExtractOk<KeetaAssetMovementAnchorSimulateTransferResponse>> {\n\treadonly isSimulation = true as const;\n\n\tasync createTransfer(overrides?: {\n\t\tto: Partial<Pick<KeetaAssetMovementAnchorInitiateTransferClientRequest['to'], 'depositMessage' | 'recipient'>>;\n\t}): Promise<KeetaAssetMovementTransfer> {\n\t\tconst to = {\n\t\t\t...this.request.to,\n\t\t\t...overrides?.to\n\t\t};\n\n\t\tif (!to.recipient) {\n\t\t\tthrow(new Error('Recipient is required to create a transfer from a simulation'));\n\t\t}\n\n\t\treturn(await this.provider.initiateTransfer({\n\t\t\t...this.request,\n\t\t\tto: {\n\t\t\t\t...to,\n\t\t\t\trecipient: to.recipient\n\t\t\t}\n\t\t}));\n\t}\n}\n\ninterface AwaitPromiseURLOptions {\n\tdefaultPollIntervalMs?: number;\n\ttimeoutMs?: number;\n\tabortSignal?: AbortSignal;\n}\n\nexport class KeetaAssetMovementAnchorProvider extends KeetaAssetMovementAnchorBase {\n\treadonly serviceInfo: KeetaAssetMovementServiceInfo;\n\treadonly providerID: ProviderID;\n\tprivate readonly parent: KeetaAssetMovementAnchorClient;\n\n\tconstructor(serviceInfo: KeetaAssetMovementServiceInfo, providerID: ProviderID, parent: KeetaAssetMovementAnchorClient) {\n\t\tconst parentPrivate = parent._internals(KeetaAssetMovementAnchorClientAccessToken);\n\t\tsuper(parentPrivate);\n\n\t\tthis.serviceInfo = serviceInfo;\n\t\tthis.providerID = providerID;\n\t\tthis.parent = parent;\n\t}\n\n\tasync #getOperationData(operationName: keyof KeetaAssetMovementAnchorOperations, params?: { [key: string]: string; }) {\n\t\tconst endpoint = await this.serviceInfo.operations[operationName];\n\t\tif (endpoint === undefined) {\n\t\t\tthrow(new Errors.OperationNotSupported({}, `Asset Movement service does not support ${operationName} operation`));\n\t\t}\n\n\t\tif (endpoint.options.authentication.method !== 'keeta-account') {\n\t\t\tthrow(new Error(`Unsupported authentication method: ${endpoint.options.authentication.method}`));\n\t\t}\n\n\t\treturn({\n\t\t\turl: endpoint.url(params),\n\t\t\tauth: endpoint.options.authentication\n\t\t})\n\t}\n\n\tasync isOperationSupported(operationName: keyof KeetaAssetMovementAnchorOperations): Promise<boolean> {\n\t\ttry {\n\t\t\tawait this.#getOperationData(operationName);\n\t\t\treturn(true);\n\t\t} catch (error) {\n\t\t\tif (error instanceof Errors.OperationNotSupported) {\n\t\t\t\treturn(false);\n\t\t\t}\n\n\t\t\tthrow(error);\n\t\t}\n\t}\n\n\tasync #parseResponseError(data: unknown) {\n\t\tif (typeof data !== 'object' || data === null) {\n\t\t\tthrow(new Error('Response is not an error'));\n\t\t}\n\n\t\tif (!('ok' in data) || data.ok !== false) {\n\t\t\tthrow(new Error('Response is not an error'));\n\t\t}\n\n\t\tlet errorStr;\n\n\t\tlet parsedError: KeetaAnchorError | null = null;\n\t\ttry {\n\t\t\tparsedError = await KeetaAnchorError.fromJSON(data);\n\t\t} catch (error: unknown) {\n\t\t\tthis.logger?.debug('Failed to parse error response as KeetaAnchorError', error, data);\n\t\t}\n\n\t\tif (parsedError) {\n\t\t\treturn(parsedError);\n\t\t} else {\n\t\t\tif ('error' in data && typeof data.error === 'string') {\n\t\t\t\terrorStr = data.error;\n\t\t\t} else {\n\t\t\t\terrorStr = 'Unknown error';\n\t\t\t}\n\n\t\t\treturn(new Error(`asset movement request failed: ${errorStr}`));\n\t\t}\n\t}\n\n\tasync #makeRequest<\n\t\tResponse extends { ok: true } | { ok: false; error: string; },\n\t\tRequest = undefined,\n\t\tSerializedRequest = Request\n\t>(input: {\n\t\tmethod: 'GET' | 'POST';\n\t\tendpoint: keyof KeetaAssetMovementAnchorOperations;\n\t\taccount?: KeetaNetAccount | undefined;\n\t\tparams?: { [key: string]: string; } | undefined;\n\t\tbody?: Request | undefined;\n\t\tserializeRequest?: (body: Request) => (SerializedRequest | Promise<Omit<SerializedRequest, 'signed'>>);\n\n\t\tgetSignedData?: (request: SerializedRequest) => Signable;\n\t\tisResponse: (data: unknown) => data is Response;\n\t}): Promise<Extract<Response, { ok: true }>> {\n\t\tconst { url, auth } = await this.#getOperationData(input.endpoint, input.params);\n\n\t\tlet serializedRequest;\n\n\t\tif (input.body && input.serializeRequest) {\n\t\t\tserializedRequest = await input.serializeRequest(input.body);\n\t\t} else {\n\t\t\tserializedRequest = input.body;\n\t\t}\n\n\t\tlet signed: HTTPSignedField | undefined;\n\n\t\tif (auth.type === 'required' || (auth.type === 'optional' && input.account)) {\n\t\t\tif (!input.account) {\n\t\t\t\tthrow(new Error('Account information is required for this operation'));\n\t\t\t}\n\n\t\t\tif (!input.getSignedData) {\n\t\t\t\tthrow(new Error('getSignedData function is required for signing the request'));\n\t\t\t}\n\n\t\t\t// We need this assertion because TypeScript cannot infer that the type is correct here, it is correct in the arguments.\n\t\t\t// eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n\t\t\tconst signable = input.getSignedData(serializedRequest as SerializedRequest);\n\n\t\t\tsigned = await SignData(input.account.assertAccount(), signable);\n\t\t}\n\n\t\tlet usingUrl = url;\n\t\tconst headers: { [key: string]: string } = {\n\t\t\t'Accept': 'application/json'\n\t\t};\n\t\tlet body: BodyInit | null = null;\n\t\tif (input.method === 'POST') {\n\t\t\theaders['Content-Type'] = 'application/json';\n\t\t\tbody = JSON.stringify({ ...serializedRequest, signed });\n\t\t} else {\n\t\t\tif (signed) {\n\t\t\t\tif (!input.account) {\n\t\t\t\t\tthrow(new Error('invariant: Account information is required for this operation, which should exist at this point'));\n\t\t\t\t}\n\n\t\t\t\tusingUrl = addSignatureToURL(usingUrl, { signedField: signed, account: input.account.assertAccount() });\n\t\t\t}\n\n\t\t\tif (input.body) {\n\t\t\t\tthrow(new Error('Body cannot be sent with GET requests'));\n\t\t\t}\n\t\t}\n\n\t\tconst requestInformation = await fetch(usingUrl, {\n\t\t\tmethod: input.method, headers, body\n\t\t});\n\n\t\tconst requestInformationJSON: unknown = await requestInformation.json();\n\t\tif (!input.isResponse(requestInformationJSON)) {\n\t\t\tthrow(new Error(`Invalid response from asset movement service: ${JSON.stringify(requestInformationJSON)}`));\n\t\t}\n\n\t\tif (!requestInformationJSON.ok) {\n\t\t\tthrow(await this.#parseResponseError(requestInformationJSON));\n\t\t}\n\n\t\t// We need this assertion because TypeScript cannot infer that the type is correct here, it is correct because we checked it above.\n\t\t// eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n\t\treturn(requestInformationJSON as Extract<Response, { ok: true }>);\n\t}\n\n\tasync #initiateOrSimulateTransfer(simulate: true, request: KeetaAssetMovementAnchorSimulateTransferClientRequest): Promise<KeetaAssetMovementSimulatedTransfer>;\n\tasync #initiateOrSimulateTransfer(simulate: false, request: KeetaAssetMovementAnchorInitiateTransferClientRequest): Promise<KeetaAssetMovementTransfer>;\n\tasync #initiateOrSimulateTransfer(simulate: boolean, request: KeetaAssetMovementAnchorSimulateTransferClientRequest | KeetaAssetMovementAnchorInitiateTransferClientRequest): Promise<KeetaAssetMovementTransfer | KeetaAssetMovementSimulatedTransfer> {\n\t\tthis.logger?.debug(`Starting Asset Movement Transfer for provider ID: ${String(this.providerID)}`);\n\n\t\tconst requestInformationJSON = await this.#makeRequest({\n\t\t\tmethod: 'POST',\n\t\t\tendpoint: simulate ? 'simulateTransfer' : 'initiateTransfer',\n\t\t\taccount: request.account,\n\t\t\tserializeRequest(body): KeetaAssetMovementAnchorInitiateTransferRequest | KeetaAssetMovementAnchorSimulateTransferRequest {\n\t\t\t\tconst { account, ...rest } = body;\n\t\t\t\treturn({\n\t\t\t\t\t...rest,\n\t\t\t\t\tvalue: String(body.value),\n\t\t\t\t\tfrom: {\n\t\t\t\t\t\tlocation: convertAssetLocationToString(body.from.location),\n\t\t\t\t\t\t...(request.from.source ? { source: request.from.source } : {})\n\t\t\t\t\t},\n\t\t\t\t\tto: {\n\t\t\t\t\t\tlocation: convertAssetLocationToString(body.to.location),\n\t\t\t\t\t\t...(body.to.recipient ? { recipient: body.to.recipient } : {}),\n\t\t\t\t\t\t...(body.to.depositMessage ? { depositMessage: body.to.depositMessage } : {})\n\t\t\t\t\t},\n\t\t\t\t\tasset: convertAssetOrPairSearchInputToCanonical(body.asset),\n\t\t\t\t\t...(account ? { account: account.assertAccount().publicKeyString.get() } : {})\n\t\t\t\t})\n\t\t\t},\n\t\t\tbody: request,\n\t\t\tgetSignedData: simulate ? getKeetaAssetMovementAnchorSimulateTransferRequestSigningData : getKeetaAssetMovementAnchorInitiateTransferRequestSigningData,\n\t\t\tisResponse(data): data is KeetaAssetMovementAnchorSimulateTransferResponse | KeetaAssetMovementAnchorInitiateTransferResponse {\n\t\t\t\tif (simulate) {\n\t\t\t\t\treturn(isKeetaAssetMovementAnchorSimulateTransferResponse(data));\n\t\t\t\t} else {\n\t\t\t\t\treturn(isKeetaAssetMovementAnchorInitiateTransferResponse(data));\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\n\t\tif (simulate) {\n\t\t\tthis.logger?.debug(`asset movement simulation request successful`);\n\n\t\t\treturn(new KeetaAssetMovementSimulatedTransfer({\n\t\t\t\tprovider: this,\n\t\t\t\trequest,\n\t\t\t\ttransfer: requestInformationJSON\n\t\t\t}));\n\t\t} else {\n\t\t\tif (!('id' in requestInformationJSON)) {\n\t\t\t\tthrow(new Error('expected provider to return id but did not'));\n\t\t\t}\n\n\t\t\tthis.logger?.debug(`asset movement transfer request successful, request ID ${requestInformationJSON.id}`);\n\n\t\t\tif (!('recipient' in request.to)) {\n\t\t\t\tthrow(new Error('Recipient information is required in the request to create a transfer'));\n\t\t\t}\n\n\t\t\treturn(new KeetaAssetMovementTransfer({\n\t\t\t\tprovider: this,\n\t\t\t\trequest: {\n\t\t\t\t\t...request,\n\t\t\t\t\tto: {\n\t\t\t\t\t\t...request.to,\n\t\t\t\t\t\trecipient: request.to.recipient\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\ttransfer: requestInformationJSON\n\t\t\t}));\n\t\t}\n\t}\n\n\tasync initiateTransfer(request: KeetaAssetMovementAnchorInitiateTransferClientRequest): Promise<KeetaAssetMovementTransfer> {\n\t\treturn(await this.#initiateOrSimulateTransfer(false, request));\n\t}\n\n\tasync simulateTransfer(request: KeetaAssetMovementAnchorSimulateTransferClientRequest): Promise<KeetaAssetMovementSimulatedTransfer> {\n\t\treturn(await this.#initiateOrSimulateTransfer(true, request));\n\t}\n\n\tasync executeTransfer(request: KeetaAssetMovementAnchorExecuteTransferClientRequest): Promise<ExtractOk<KeetaAssetMovementAnchorGetTransferStatusResponse>> {\n\t\tthis.logger?.debug(`Starting Asset Movement Transfer for provider ID: ${String(this.providerID)}`);\n\n\t\tconst { id, ...rest } = request;\n\n\t\tconst requestInformationJSON = await this.#makeRequest<\n\t\t\tKeetaAssetMovementAnchorGetTransferStatusResponse,\n\t\t\tOmit<KeetaAssetMovementAnchorExecuteTransferClientRequest, 'id'>\n\t\t>({\n\t\t\tmethod: 'POST',\n\t\t\tendpoint: 'executeTransfer',\n\t\t\tparams: { id: request.id },\n\t\t\taccount: request.account,\n\t\t\tbody: rest,\n\t\t\tgetSignedData: (body: Omit<KeetaAssetMovementAnchorExecuteTransferClientRequest, 'id'>) => {\n\t\t\t\treturn(getKeetaAssetMovementAnchorExecuteTransferRequestSigningData({ id, ...body }));\n\t\t\t},\n\t\t\tisResponse: isKeetaAssetMovementAnchorExecuteTransferResponse\n\t\t});\n\n\t\tthis.logger?.debug(`asset movement execute transfer successful, transaction ID ${requestInformationJSON.transaction.id}`);\n\n\t\treturn(requestInformationJSON);\n\t}\n\n\tasync getTransferStatus(request: KeetaAssetMovementAnchorGetTransferStatusClientRequest): Promise<ExtractOk<KeetaAssetMovementAnchorGetTransferStatusResponse>> {\n\t\tconst requestInformationJSON = await this.#makeRequest({\n\t\t\tmethod: 'GET',\n\t\t\tendpoint: 'getTransferStatus',\n\t\t\taccount: request.account,\n\t\t\tparams: { id: request.id },\n\t\t\tgetSignedData: () => getKeetaAssetMovementAnchorGetTransferStatusRequestSigningData(request),\n\t\t\tisResponse: isKeetaAssetMovementAnchorGetExchangeStatusResponse\n\t\t});\n\n\t\tthis.logger?.debug(`asset movement request successful, request ID ${request.id}`);\n\n\t\treturn(requestInformationJSON);\n\t}\n\n\tasync initiatePersistentForwardingTemplate(request: KeetaAssetMovementAnchorInitiatePersistentForwardingAddressTemplateClientRequest): Promise<ExtractOk<KeetaAssetMovementAnchorInitiatePersistentForwardingAddressTemplateResponse>> {\n\t\tthis.logger?.debug(`Initiating persistent forwarding template for provider ID: ${String(this.providerID)}, request: ${JSON.stringify(request)}`);\n\n\t\tconst result = await this.#makeRequest<\n\t\t\tKeetaAssetMovementAnchorInitiatePersistentForwardingAddressTemplateResponse,\n\t\t\tKeetaAssetMovementAnchorInitiatePersistentForwardingAddressTemplateClientRequest,\n\t\t\tKeetaAssetMovementAnchorInitiatePersistentForwardingAddressTemplateRequest\n\t\t>({\n\t\t\tmethod: 'POST',\n\t\t\tendpoint: 'initiatePersistentForwardingTemplate',\n\t\t\taccount: request.account,\n\t\t\tserializeRequest(body) {\n\t\t\t\tconst { account, ...rest } = body;\n\t\t\t\treturn({\n\t\t\t\t\t...rest,\n\t\t\t\t\tlocation: convertAssetLocationToString(body.location),\n\t\t\t\t\tasset: convertAssetOrPairSearchInputToCanonical(body.asset),\n\t\t\t\t\t...(account ? { account: account.assertAccount().publicKeyString.get() } : {})\n\t\t\t\t});\n\t\t\t},\n\t\t\tbody: request,\n\t\t\tgetSignedData: getKeetaAssetMovementAnchorInitiatePersistentForwardingAddressTemplateRequestSigningData,\n\t\t\tisResponse: isKeetaAssetMovementAnchorInitiatePersistentForwardingAddressTemplateResponse\n\t\t});\n\n\t\tthis.logger?.debug(`initiate persistent forwarding template successful, session ID: ${result.id}`);\n\n\t\treturn(result);\n\t}\n\n\tasync createPersistentForwardingTemplate(request: KeetaAssetMovementAnchorCreatePersistentForwardingAddressTemplateClientRequest): Promise<ExtractOk<KeetaAssetMovementAnchorCreatePersistentForwardingResponse>> {\n\t\tthis.logger?.debug(`Creating persistent forwarding for provider ID: ${String(this.providerID)}, request: ${JSON.stringify(request)}`);\n\n\t\tconst requestInformationJSON = await this.#makeRequest<\n\t\t\tKeetaAssetMovementAnchorCreatePersistentForwardingAddressTemplateResponse,\n\t\t\tKeetaAssetMovementAnchorCreatePersistentForwardingAddressTemplateClientRequest,\n\t\t\tKeetaAssetMovementAnchorCreatePersistentForwardingAddressTemplateRequest\n\t\t>({\n\t\t\tmethod: 'POST',\n\t\t\tendpoint: 'createPersistentForwardingTemplate',\n\t\t\taccount: request.account,\n\t\t\tserializeRequest(body) {\n\t\t\t\tconst { account, ...rest }\t= body;\n\n\t\t\t\tconst sharedFields = {\n\t\t\t\t\t...rest,\n\t\t\t\t\t...(account ? { account: account.assertAccount().publicKeyString.get() } : {})\n\t\t\t\t}\n\n\t\t\t\tif ('data' in body) {\n\t\t\t\t\treturn({\n\t\t\t\t\t\t...sharedFields,\n\t\t\t\t\t\tdata: body.data\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\treturn({\n\t\t\t\t\t\t...sharedFields,\n\t\t\t\t\t\tlocation: convertAssetLocationToString(body.location),\n\t\t\t\t\t\tasset: convertAssetOrPairSearchInputToCanonical(body.asset)\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t\tbody: request,\n\t\t\tgetSignedData: getKeetaAssetMovementAnchorCreatePersistentForwardingAddressTemplateRequestSigningData,\n\t\t\tisResponse: isKeetaAssetMovementAnchorCreatePersistentForwardingAddressTemplateResponse\n\t\t});\n\n\t\tthis.logger?.debug(`create persistent forwarding request successful`, requestInformationJSON.address);\n\n\t\treturn(requestInformationJSON);\n\t}\n\n\tasync createPersistentForwardingAddress(request: KeetaAssetMovementAnchorCreatePersistentForwardingClientRequest): Promise<ExtractOk<KeetaAssetMovementAnchorCreatePersistentForwardingResponse>> {\n\t\tthis.logger?.debug(`Creating persistent forwarding for provider ID: ${String(this.providerID)}, request: ${JSON.stringify(request)}`);\n\n\t\tconst requestInformationJSON = await this.#makeRequest<\n\t\t\tKeetaAssetMovementAnchorCreatePersistentForwardingResponse,\n\t\t\tKeetaAssetMovementAnchorCreatePersistentForwardingClientRequest,\n\t\t\tKeetaAssetMovementAnchorCreatePersistentForwardingRequest\n\t\t>({\n\t\t\tmethod: 'POST',\n\t\t\tendpoint: 'createPersistentForwarding',\n\t\t\taccount: request.account,\n\t\t\tserializeRequest(body) {\n\t\t\t\tconst base = {\n\t\t\t\t\tsourceLocation: convertAssetLocationToString(body.sourceLocation),\n\t\t\t\t\tasset: convertAssetOrPairSearchInputToCanonical(body.asset),\n\t\t\t\t\taccount: body.account?.assertAccount().publicKeyString.get()\n\t\t\t\t} as const;\n\n\t\t\t\tif ('persistentAddressTemplateId' in body) {\n\t\t\t\t\treturn({\n\t\t\t\t\t\t...base,\n\t\t\t\t\t\tpersistentAddressTemplateId: body.persistentAddressTemplateId\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\treturn({\n\t\t\t\t\t\t...base,\n\t\t\t\t\t\tdestinationAddress: body.destinationAddress,\n\t\t\t\t\t\tdestinationLocation: convertAssetLocationToString(body.destinationLocation)\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t\tbody: request,\n\t\t\tgetSignedData: getKeetaAssetMovementAnchorCreatePersistentForwardingRequestSigningData,\n\t\t\tisResponse: isKeetaAssetMovementAnchorCreatePersistentForwardingResponse\n\t\t});\n\n\t\tthis.logger?.debug(`create persistent forwarding request successful`, requestInformationJSON.address);\n\n\t\treturn(requestInformationJSON);\n\t}\n\n\tasync listForwardingAddressTemplates(request: KeetaAssetMovementAnchorListForwardingAddressTemplateClientRequest): Promise<{ templates: PersistentAddressTemplateData[]; total: number; }> {\n\t\tthis.logger?.debug(`Listing persistent forwarding address templates for provider ID: ${String(this.providerID)}`);\n\n\t\tconst requestInformationJSON = await this.#makeRequest({\n\t\t\tmethod: 'POST',\n\t\t\tendpoint: 'listPersistentForwardingTemplate',\n\t\t\taccount: request.account,\n\t\t\tbody: request,\n\t\t\tserializeRequest(body) {\n\t\t\t\treturn({\n\t\t\t\t\t...(body.account ? { account: body.account.assertAccount().publicKeyString.get() } : {}),\n\t\t\t\t\tasset: body.asset?.map(a => convertAssetSearchInputToCanonical(a)),\n\t\t\t\t\tlocation: body.location?.map(l => convertAssetLocationToString(l))\n\t\t\t\t});\n\t\t\t},\n\t\t\tgetSignedData: getKeetaAssetMovementAnchorListForwardingAddressTemplateRequestSigningData,\n\t\t\tisResponse: isKeetaAssetMovementAnchorListForwardingAddressTemplateResponse\n\t\t});\n\n\t\tthis.logger?.debug(`list persistent forwarding address templates request successful`, requestInformationJSON.templates);\n\n\t\treturn({\n\t\t\ttemplates: requestInformationJSON.templates,\n\t\t\ttotal: Number(requestInformationJSON.total)\n\t\t});\n\t}\n\n\tasync listForwardingAddresses(request: KeetaAssetMovementAnchorListPersistentForwardingClientRequest): Promise<{ addresses: KeetaPersistentForwardingAddressDetails[]; total: number; }> {\n\t\tthis.logger?.debug(`Listing persistent forwarding address templates for provider ID: ${String(this.providerID)}`);\n\n\t\tconst requestInformationJSON = await this.#makeRequest({\n\t\t\tmethod: 'POST',\n\t\t\tendpoint: 'listPersistentForwarding',\n\t\t\taccount: request.account,\n\t\t\tbody: request,\n\t\t\tserializeRequest(body) {\n\t\t\t\treturn({\n\t\t\t\t\t...body,\n\t\t\t\t\taccount: body.account?.assertAccount().publicKeyString.get(),\n\t\t\t\t\tsearch: body.search ? body.search.map(function(searchItem) {\n\t\t\t\t\t\treturn({\n\t\t\t\t\t\t\t...searchItem,\n\t\t\t\t\t\t\tasset: searchItem.asset ? convertAssetSearchInputToCanonical(searchItem.asset) : undefined,\n\t\t\t\t\t\t\tsourceLocation: searchItem.sourceLocation ? convertAssetLocationToString(searchItem.sourceLocation) : undefined,\n\t\t\t\t\t\t\tdestinationLocation: searchItem.destinationLocation ? convertAssetLocationToString(searchItem.destinationLocation) : undefined\n\t\t\t\t\t\t})\n\t\t\t\t\t}) : undefined\n\t\t\t\t});\n\t\t\t},\n\t\t\tgetSignedData: getKeetaAssetMovementAnchorListPersistentForwardingRequestSigningData,\n\t\t\tisResponse: isKeetaAssetMovementAnchorListPersistentForwardingResponse\n\t\t});\n\n\t\tthis.logger?.debug('KeetaAssetMovementAnchorProvider::listPersistentForwardingAddresses', `list persistent forwarding address request successful`, requestInformationJSON.addresses);\n\n\t\treturn({\n\t\t\taddresses: requestInformationJSON.addresses,\n\t\t\ttotal: Number(requestInformationJSON.total)\n\t\t});\n\t}\n\n\tasync listTransactions(request: KeetaAssetMovementAnchorlistTransactionsClientRequest): Promise<ExtractOk<KeetaAssetMovementAnchorlistPersistentForwardingTransactionsResponse>> {\n\t\tthis.logger?.debug(`List persistent forwarding transactions provider ID: ${String(this.providerID)}, request: ${JSON.stringify(request)}`);\n\n\t\tconst requestInformationJSON = await this.#makeRequest<\n\t\t\tKeetaAssetMovementAnchorlistPersistentForwardingTransactionsResponse,\n\t\t\tKeetaAssetMovementAnchorlistTransactionsClientRequest,\n\t\t\tKeetaAssetMovementAnchorlistTransactionsRequest\n\t\t>({\n\t\t\tmethod: 'POST',\n\t\t\tendpoint: 'listTransactions',\n\t\t\taccount: request.account,\n\t\t\tserializeRequest(body) {\n\t\t\t\treturn({\n\t\t\t\t\taccount: body.account?.assertAccount().publicKeyString.get(),\n\t\t\t\t\tpagination: body.pagination,\n\t\t\t\t\tpersistentAddresses: body.persistentAddresses?.map(pa => ({\n\t\t\t\t\t\tlocation: convertAssetLocationToString(pa.location),\n\t\t\t\t\t\t...('persistentAddressTemplate' in pa ?\n\t\t\t\t\t\t\t{ persistentAddressTemplate: pa.persistentAddressTemplate } :\n\t\t\t\t\t\t\t{ persistentAddress: pa.persistentAddress }\n\t\t\t\t\t\t)\n\t\t\t\t\t})),\n\t\t\t\t\tfrom: body.from ? {\n\t\t\t\t\t\tlocation: convertAssetLocationToString(body.from.location),\n\t\t\t\t\t\tuserAddress: body.from.userAddress,\n\t\t\t\t\t\tasset: body.from.asset ? convertAssetSearchInputToCanonical(body.from.asset) : undefined\n\t\t\t\t\t} : undefined,\n\t\t\t\t\tto: body.to ? {\n\t\t\t\t\t\tlocation: convertAssetLocationToString(body.to.location),\n\t\t\t\t\t\tuserAddress: body.to.userAddress,\n\t\t\t\t\t\tasset: body.to.asset ? convertAssetSearchInputToCanonical(body.to.asset) : undefined\n\t\t\t\t\t} : undefined,\n\t\t\t\t\ttransactions: body.transactions?.map(tx => ({\n\t\t\t\t\t\tlocation: convertAssetLocationToString(tx.location),\n\t\t\t\t\t\ttransaction: tx.transaction\n\t\t\t\t\t}))\n\t\t\t\t});\n\t\t\t},\n\t\t\tbody: request,\n\t\t\tgetSignedData: getKeetaAssetMovementAnchorlistTransactionsRequestSigningData,\n\t\t\tisResponse: isKeetaAssetMovementAnchorlistPersistentForwardingTransactionsResponse\n\t\t});\n\n\t\tthis.logger?.debug(`list persistent transactions request successful, ${requestInformationJSON.transactions}`);\n\n\t\treturn(requestInformationJSON);\n\t}\n\n\tasync #awaitPromiseURL(promiseURL: string, options?: AwaitPromiseURLOptions): Promise<void> {\n\t\tconst startTime = Date.now();\n\n\t\tconst timeout = options?.timeoutMs ?? (5 * 60 * 1000);\n\n\t\twhile (true) {\n\t\t\tif (options?.abortSignal?.aborted) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tlet response;\n\n\t\t\ttry {\n\t\t\t\tresponse = await fetch(promiseURL);\n\t\t\t} catch (error) {\n\t\t\t\tthis.logger?.debug('KeetaAssetMovementAnchorProvider::awaitPromiseURL', 'Error fetching promise URL', error);\n\t\t\t\tthrow(new Error(`Error fetching promise URL: ${String(error)}`));\n\t\t\t}\n\n\t\t\tif (response.status === 200) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (response.status !== 202) {\n\t\t\t\tlet errorData: unknown;\n\t\t\t\ttry {\n\t\t\t\t\terrorData = await response.json();\n\t\t\t\t} catch {\n\t\t\t\t\tthrow(new Error(`Error parsing error response json from promise, status code ${response.status}`));\n\t\t\t\t}\n\t\t\t\tthrow(await this.#parseResponseError(errorData));\n\t\t\t}\n\n\t\t\tif (Date.now() - startTime > timeout) {\n\t\t\t\tthrow(new Error('Timeout waiting for promise URL to complete'));\n\t\t\t}\n\n\t\t\tlet retryAfterMS: number | undefined;\n\t\t\tconst retryAfterHeader = response.headers.get('Retry-After');\n\t\t\tif (retryAfterHeader) {\n\n\t\t\t\tif (!isNaN(Number(retryAfterHeader))) {\n\t\t\t\t\tretryAfterMS = Number(retryAfterHeader) * 1000;\n\t\t\t\t} else {\n\t\t\t\t\tconst retryAfterDate = new Date(retryAfterHeader);\n\t\t\t\t\tif (!isNaN(retryAfterDate.getTime())) {\n\t\t\t\t\t\tretryAfterMS = retryAfterDate.getTime() - Date.now();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (!retryAfterMS) {\n\t\t\t\tretryAfterMS = options?.defaultPollIntervalMs ?? 1000;\n\t\t\t}\n\n\t\t\tawait KeetaNet.lib.Utils.Helper.asleep(retryAfterMS);\n\t\t}\n\t}\n\n\tasync shareKYCAttributes(request: KeetaAssetMovementAnchorShareKYCClientRequest, awaitOptions?: AwaitPromiseURLOptions): Promise<void> {\n\t\tthis.logger?.debug('Sharing KYC attributes');\n\n\t\tconst response = await this.#makeRequest<\n\t\t\tKeetaAssetMovementAnchorShareKYCResponse,\n\t\t\tKeetaAssetMovementAnchorShareKYCClientRequest,\n\t\t\tKeetaAssetMovementAnchorShareKYCRequest\n\t\t>({\n\t\t\tmethod: 'POST',\n\t\t\tendpoint: 'shareKYC',\n\t\t\taccount: request.account,\n\t\t\tasync serializeRequest(body) {\n\t\t\t\tlet attributes;\n\t\t\t\tif (typeof body.attributes === 'string') {\n\t\t\t\t\tattributes = body.attributes;\n\t\t\t\t} else {\n\t\t\t\t\tattributes = await body.attributes.export({ format: 'string' });\n\t\t\t\t}\n\n\t\t\t\treturn({\n\t\t\t\t\taccount: body.account.assertAccount().publicKeyString.get(),\n\t\t\t\t\tattributes: attributes,\n\t\t\t\t\t...(body.tosAgreement ? { tosAgreement: body.tosAgreement } : {})\n\t\t\t\t});\n\t\t\t},\n\t\t\tbody: request,\n\t\t\tgetSignedData: getKeetaAssetMovementAnchorShareKYCRequestSigningData,\n\t\t\tisResponse: isKeetaAssetMovementAnchorShareKYCResponse\n\t\t});\n\n\t\tif (response.isPending && response.promiseURL) {\n\t\t\tthis.logger?.debug('KYC attribute sharing is pending, awaiting promise URL');\n\n\t\t\tlet promiseURL;\n\n\t\t\tif (response.promiseURL.startsWith('/')) {\n\t\t\t\tconst operationData = await this.#getOperationData('shareKYC');\n\t\t\t\tpromiseURL = new URL(response.promiseURL, operationData.url).toString();\n\t\t\t} else {\n\t\t\t\tpromiseURL = response.promiseURL;\n\t\t\t}\n\n\t\t\tawait this.#awaitPromiseURL(promiseURL, { ...awaitOptions });\n\t\t}\n\n\t\tthis.logger?.debug(`done sharing KYC attributes`);\n\t}\n\n\tgetAssetMetadataForLocation(location: AssetLocationLike, asset: ExternalChainAsset): AnchorTokenLocationMetadata | null {\n\t\tconst locationMetadata = this.serviceInfo.locationMetadata;\n\t\tif (!locationMetadata) {\n\t\t\treturn(null);\n\t\t}\n\n\t\tconst locationString = convertAssetLocationToString(location);\n\n\t\tif (!(locationString in locationMetadata)) {\n\t\t\treturn(null);\n\t\t}\n\n\t\t// We can assert here as we have validated the key is included above\n\t\t// eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n\t\tconst locationSpecificMetadata = (locationMetadata as { [key: string]: PerChainLocationMetadata })[locationString];\n\n\t\tif (!locationSpecificMetadata?.assets || !(asset in locationSpecificMetadata.assets)) {\n\t\t\treturn(null);\n\t\t}\n\n\t\tconst assetMetadata = locationSpecificMetadata.assets[asset];\n\n\t\tif (!assetMetadata) {\n\t\t\treturn(null);\n\t\t}\n\n\t\treturn(assetMetadata);\n\t}\n\n\tgetLegalDisclaimers(): NonNullable<AnchorMetadataLegalField['disclaimers']> | null {\n\t\tconst disclaimers = this.serviceInfo.legal?.disclaimers;\n\t\tif (!disclaimers) {\n\t\t\treturn(null);\n\t\t}\n\n\t\treturn(disclaimers);\n\t}\n}\n\nclass KeetaAssetMovementAnchorClient extends KeetaAssetMovementAnchorBase {\n\treadonly resolver: Resolver;\n\treadonly id: string;\n\t// eslint-disable-next-line no-unused-private-class-members\n\treadonly #signer: InstanceType<typeof KeetaNetLib.Account>;\n\t// eslint-disable-next-line no-unused-private-class-members\n\treadonly #account: InstanceType<typeof KeetaNetLib.Account>;\n\n\tconstructor(client: KeetaNetUserClient, config: KeetaAssetMovementClientConfig = {}) {\n\t\tsuper({ client, logger: config.logger });\n\t\tthis.resolver = config.resolver ?? getDefaultResolver(client, config);\n\t\tthis.id = config.id ?? crypto.randomUUID();\n\n\t\tif (config.signer) {\n\t\t\tthis.#signer = config.signer;\n\t\t} else if ('signer' in client && client.signer !== null) {\n\t\t\tthis.#signer = client.signer;\n\t\t} else if ('account' in client && client.account.hasPrivateKey) {\n\t\t\tthis.#signer = client.account;\n\t\t} else {\n\t\t\tthrow(new Error('KeetaAssetMovementAnchorClient requires a Signer or a UserClient with an associated Signer'));\n\t\t}\n\n\t\tif (config.account) {\n\t\t\tthis.#account = config.account;\n\t\t} else if ('account' in client) {\n\t\t\tthis.#account = client.account;\n\t\t} else {\n\t\t\tthrow(new Error('KeetaAssetMovementAnchorClient requires an Account or a UserClient with an associated Account'));\n\t\t}\n\t}\n\n\tasync #lookup(request: ProviderSearchInput, shared?: SharedLookupCriteria): Promise<KeetaAssetMovementAnchorProvider[] | null> {\n\t\tconst endpoints = await getEndpoints(this.resolver, request, shared, this.logger);\n\t\tif (endpoints === null) {\n\t\t\treturn(null);\n\t\t}\n\n\t\tconst providers = typedAssetMovementServiceEntries(endpoints).map(([id, serviceInfo]) => {\n\t\t\treturn(new KeetaAssetMovementAnchorProvider(serviceInfo, id, this));\n\t\t});\n\n\t\treturn(providers);\n\t}\n\n\tasync getProvidersForTransfer(request: ProviderSearchInput, shared?: SharedLookupCriteria): Promise<KeetaAssetMovementAnchorProvider[] | null> {\n\t\treturn(await this.#lookup(request, shared));\n\t}\n\n\tasync getProviderByID(providerID: string): Promise<KeetaAssetMovementAnchorProvider | null> {\n\t\tconst providers = await this.#lookup({}, { providerIDs: [providerID] });\n\t\treturn(providers?.[0] ?? null);\n\t}\n\n\tasync getProviderLegalDisclaimersByID(providerID: string): Promise<Exclude<AnchorMetadataLegalField['disclaimers'], undefined> | null> {\n\t\tconst provider = await this.getProviderByID(providerID);\n\t\tif (!provider) {\n\t\t\treturn(null);\n\t\t}\n\n\t\tconst disclaimers = provider.serviceInfo.legal?.disclaimers;\n\t\tif (!disclaimers) {\n\t\t\treturn(null);\n\t\t}\n\n\t\treturn(disclaimers);\n\t}\n\n\tasync getProviderByAccount(account: NonNullable<SharedLookupCriteria['accounts']>[number]): Promise<KeetaAssetMovementAnchorProvider | null> {\n\t\tconst providers = await this.#lookup({}, { accounts: [account] });\n\t\treturn(providers?.[0] ?? null);\n\t}\n\n\t/** @internal */\n\t_internals(accessToken: symbol) {\n\t\tif (accessToken !== KeetaAssetMovementAnchorClientAccessToken) {\n\t\t\tthrow(new Error('invalid access token'));\n\t\t}\n\n\t\treturn({\n\t\t\tresolver: this.resolver,\n\t\t\tlogger: this.logger,\n\t\t\tclient: this.client\n\t\t});\n\t}\n}\n\nexport default KeetaAssetMovementAnchorClient;\n"]}
|
|
@@ -54,7 +54,7 @@ export interface Asset {
|
|
|
54
54
|
id: AssetMetadataTargetValue;
|
|
55
55
|
}
|
|
56
56
|
export type FiatPullRails = 'ACH_DEBIT' | 'CARD_PULL';
|
|
57
|
-
export type FiatPushRails = 'ACH' | 'WIRE' | 'PIX_PUSH' | 'SPEI_PUSH' | 'WIRE_INTL_PUSH' | 'SEPA_PUSH' | 'MOBILE_WALLET' | 'INTERAC_PUSH' | 'FPS_PUSH' | 'CARD_PUSH' | 'HK_FPS_PUSH' | 'BCR_PAY_PUSH' | 'DUIT_NOW_PUSH' | 'PAY_NOW_PUSH' | 'UPI_PUSH' | 'CA_PUSH' | 'AE_PUSH' | 'RTP_PUSH';
|
|
57
|
+
export type FiatPushRails = 'ACH' | 'WIRE' | 'PIX_PUSH' | 'SPEI_PUSH' | 'WIRE_INTL_PUSH' | 'SEPA_PUSH' | 'MOBILE_WALLET' | 'INTERAC_PUSH' | 'FPS_PUSH' | 'CARD_PUSH' | 'HK_FPS_PUSH' | 'BCR_PAY_PUSH' | 'DUIT_NOW_PUSH' | 'PAY_NOW_PUSH' | 'UPI_PUSH' | 'CA_PUSH' | 'AE_PUSH' | 'RTP_PUSH' | 'AR_PUSH' | 'AU_PUSH' | 'GG_PUSH' | 'BD_PUSH' | 'BJ_PUSH' | 'BF_PUSH' | 'CL_PUSH' | 'CN_PUSH' | 'CO_PUSH' | 'CK_PUSH' | 'CR_PUSH' | 'CZ_PUSH' | 'DK_PUSH' | 'EG_PUSH' | 'SV_PUSH' | 'FO_PUSH' | 'GM_PUSH' | 'GH_PUSH' | 'GI_PUSH' | 'GL_PUSH' | 'GT_PUSH' | 'GN_PUSH' | 'ID_PUSH' | 'IM_PUSH' | 'IL_PUSH' | 'CI_PUSH' | 'JM_PUSH' | 'JP_PUSH' | 'JE_PUSH' | 'JO_PUSH' | 'KE_PUSH' | 'KI_PUSH' | 'MA_PUSH' | 'NP_PUSH' | 'NZ_PUSH' | 'NG_PUSH' | 'PK_PUSH' | 'PE_PUSH' | 'PH_PUSH' | 'SN_PUSH' | 'ZA_PUSH' | 'KR_PUSH' | 'LK_PUSH' | 'TZ_PUSH' | 'TH_PUSH' | 'TG_PUSH' | 'TN_PUSH' | 'TR_PUSH' | 'TV_PUSH' | 'UG_PUSH' | 'VN_PUSH' | 'ZM_PUSH';
|
|
58
58
|
export type FiatRails = FiatPullRails | FiatPushRails;
|
|
59
59
|
export type CryptoRails = 'KEETA_SEND' | 'EVM_SEND' | 'EVM_CALL' | 'SOLANA_SEND' | 'BITCOIN_SEND' | 'TRON_SEND';
|
|
60
60
|
export type Rail = FiatRails | CryptoRails;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/services/asset-movement/common.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/services/asset-movement/common.ts"],"names":[],"mappings":"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"}
|