@ledgerhq/coin-canton 0.4.0-nightly.1 → 0.4.0-nightly.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +1 -1
- package/CHANGELOG.md +12 -0
- package/lib/bridge/signOperation.js +1 -1
- package/lib/bridge/signOperation.js.map +1 -1
- package/lib/common-logic/account/getBalance.js +2 -2
- package/lib/common-logic/account/getBalance.js.map +1 -1
- package/lib/common-logic/account/getBalance.unit.test.js +2 -2
- package/lib/common-logic/account/getBalance.unit.test.js.map +1 -1
- package/lib/common-logic/transaction/broadcast.d.ts.map +1 -1
- package/lib/common-logic/transaction/broadcast.js +11 -3
- package/lib/common-logic/transaction/broadcast.js.map +1 -1
- package/lib/common-logic/transaction/broadcast.test.d.ts +2 -0
- package/lib/common-logic/transaction/broadcast.test.d.ts.map +1 -0
- package/lib/common-logic/transaction/broadcast.test.js +68 -0
- package/lib/common-logic/transaction/broadcast.test.js.map +1 -0
- package/lib/common-logic/transaction/combine.d.ts +1 -1
- package/lib/common-logic/transaction/combine.d.ts.map +1 -1
- package/lib/common-logic/transaction/combine.js +6 -3
- package/lib/common-logic/transaction/combine.js.map +1 -1
- package/lib/common-logic/transaction/combine.test.d.ts +2 -0
- package/lib/common-logic/transaction/combine.test.d.ts.map +1 -0
- package/lib/common-logic/transaction/combine.test.js +28 -0
- package/lib/common-logic/transaction/combine.test.js.map +1 -0
- package/lib/common-logic/transaction/estimateFees.d.ts.map +1 -1
- package/lib/common-logic/transaction/estimateFees.js +2 -15
- package/lib/common-logic/transaction/estimateFees.js.map +1 -1
- package/lib/common-logic/utils.d.ts +0 -1
- package/lib/common-logic/utils.d.ts.map +1 -1
- package/lib/common-logic/utils.js +1 -6
- package/lib/common-logic/utils.js.map +1 -1
- package/lib/network/gateway.d.ts +5 -1
- package/lib/network/gateway.d.ts.map +1 -1
- package/lib/network/gateway.integ.test.js +1 -1
- package/lib/network/gateway.integ.test.js.map +1 -1
- package/lib/network/gateway.js +12 -0
- package/lib/network/gateway.js.map +1 -1
- package/lib-es/bridge/signOperation.js +1 -1
- package/lib-es/bridge/signOperation.js.map +1 -1
- package/lib-es/common-logic/account/getBalance.js +2 -2
- package/lib-es/common-logic/account/getBalance.js.map +1 -1
- package/lib-es/common-logic/account/getBalance.unit.test.js +2 -2
- package/lib-es/common-logic/account/getBalance.unit.test.js.map +1 -1
- package/lib-es/common-logic/transaction/broadcast.d.ts.map +1 -1
- package/lib-es/common-logic/transaction/broadcast.js +8 -3
- package/lib-es/common-logic/transaction/broadcast.js.map +1 -1
- package/lib-es/common-logic/transaction/broadcast.test.d.ts +2 -0
- package/lib-es/common-logic/transaction/broadcast.test.d.ts.map +1 -0
- package/lib-es/common-logic/transaction/broadcast.test.js +33 -0
- package/lib-es/common-logic/transaction/broadcast.test.js.map +1 -0
- package/lib-es/common-logic/transaction/combine.d.ts +1 -1
- package/lib-es/common-logic/transaction/combine.d.ts.map +1 -1
- package/lib-es/common-logic/transaction/combine.js +6 -3
- package/lib-es/common-logic/transaction/combine.js.map +1 -1
- package/lib-es/common-logic/transaction/combine.test.d.ts +2 -0
- package/lib-es/common-logic/transaction/combine.test.d.ts.map +1 -0
- package/lib-es/common-logic/transaction/combine.test.js +26 -0
- package/lib-es/common-logic/transaction/combine.test.js.map +1 -0
- package/lib-es/common-logic/transaction/estimateFees.d.ts.map +1 -1
- package/lib-es/common-logic/transaction/estimateFees.js +2 -15
- package/lib-es/common-logic/transaction/estimateFees.js.map +1 -1
- package/lib-es/common-logic/utils.d.ts +0 -1
- package/lib-es/common-logic/utils.d.ts.map +1 -1
- package/lib-es/common-logic/utils.js +0 -4
- package/lib-es/common-logic/utils.js.map +1 -1
- package/lib-es/network/gateway.d.ts +5 -1
- package/lib-es/network/gateway.d.ts.map +1 -1
- package/lib-es/network/gateway.integ.test.js +1 -1
- package/lib-es/network/gateway.integ.test.js.map +1 -1
- package/lib-es/network/gateway.js +11 -0
- package/lib-es/network/gateway.js.map +1 -1
- package/package.json +1 -1
- package/src/bridge/signOperation.ts +1 -1
- package/src/common-logic/account/getBalance.ts +2 -2
- package/src/common-logic/account/getBalance.unit.test.ts +2 -2
- package/src/common-logic/transaction/broadcast.test.ts +42 -0
- package/src/common-logic/transaction/broadcast.ts +7 -3
- package/src/common-logic/transaction/combine.test.ts +28 -0
- package/src/common-logic/transaction/combine.ts +7 -4
- package/src/common-logic/transaction/estimateFees.ts +2 -14
- package/src/common-logic/utils.ts +0 -5
- package/src/network/gateway.integ.test.ts +3 -1
- package/src/network/gateway.ts +20 -1
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
|
|
2
|
-
> @ledgerhq/coin-canton@0.4.0-nightly.
|
|
2
|
+
> @ledgerhq/coin-canton@0.4.0-nightly.1 build /home/runner/work/ledger-live/ledger-live/libs/coin-modules/coin-canton
|
|
3
3
|
> tsc && tsc -m esnext --moduleResolution bundler --outDir lib-es
|
|
4
4
|
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @ledgerhq/coin-canton
|
|
2
2
|
|
|
3
|
+
## 0.4.0-nightly.2
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#11591](https://github.com/LedgerHQ/ledger-live/pull/11591) [`284a2c7`](https://github.com/LedgerHQ/ledger-live/commit/284a2c7f571c8d8e622ba60bef24d186ce42605d) Thanks [@hedi-edelbloute](https://github.com/hedi-edelbloute)! - coin-canton broadcast
|
|
8
|
+
|
|
9
|
+
- [#11574](https://github.com/LedgerHQ/ledger-live/pull/11574) [`485bf49`](https://github.com/LedgerHQ/ledger-live/commit/485bf494470d96313fd89c92b8e9a74270acd419) Thanks [@sprohaszka-ledger](https://github.com/sprohaszka-ledger)! - Add Canton combine function
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- [#11610](https://github.com/LedgerHQ/ledger-live/pull/11610) [`0dfba50`](https://github.com/LedgerHQ/ledger-live/commit/0dfba503a0e3c4d8ae8e32489499e3174b1741b8) Thanks [@hedi-edelbloute](https://github.com/hedi-edelbloute)! - coin-canton adapt getbalance
|
|
14
|
+
|
|
3
15
|
## 0.4.0-nightly.1
|
|
4
16
|
|
|
5
17
|
### Minor Changes
|
|
@@ -28,7 +28,7 @@ const buildSignOperation = (signerContext) => ({ account, deviceId, transaction
|
|
|
28
28
|
fee: fee,
|
|
29
29
|
});
|
|
30
30
|
const transactionSignature = await signer.signTransaction(derivationPath, serializedTransaction);
|
|
31
|
-
return (0, common_logic_1.combine)(serializedTransaction, transactionSignature
|
|
31
|
+
return (0, common_logic_1.combine)(serializedTransaction, transactionSignature);
|
|
32
32
|
});
|
|
33
33
|
o.next({
|
|
34
34
|
type: "device-signature-granted",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signOperation.js","sourceRoot":"","sources":["../../src/bridge/signOperation.ts"],"names":[],"mappings":";;;AAAA,+BAAkC;AAClC,6CAAgD;AAGhD,kEAAuE;AACvE,kDAAkF;AAG3E,MAAM,kBAAkB,GAC7B,CAAC,aAA0C,EAA+C,EAAE,CAC5F,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,EAAE,CACrC,IAAI,iBAAU,CAAC,CAAC,CAAC,EAAE;IACjB,KAAK,UAAU,IAAI;QACjB,MAAM,EAAE,GAAG,EAAE,GAAG,WAAW,CAAC;QAC5B,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,qBAAY,EAAE,CAAC;QAEnC,IAAI,CAAC;YACH,8EAA8E;YAC9E,CAAC,CAAC,IAAI,CAAC;gBACL,IAAI,EAAE,4BAA4B;aACnC,CAAC,CAAC;YAEH,MAAM,kBAAkB,GAAG,MAAM,IAAA,mCAAoB,EAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAE5E,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;gBAC7D,MAAM,EAAE,gBAAgB,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC;gBACrD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;gBAE9D,MAAM,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,GAAG,MAAM,IAAA,+BAAgB,EACzE;oBACE,OAAO,EAAE,OAAO,CAAC,YAAY;oBAC7B,SAAS;iBACV,EACD;oBACE,SAAS,EAAE,WAAW,CAAC,SAAS;oBAChC,MAAM,EAAE,WAAW,CAAC,MAAM;oBAC1B,GAAG,EAAE,GAAG;iBACT,CACF,CAAC;gBAEF,MAAM,oBAAoB,GAAG,MAAM,MAAM,CAAC,eAAe,CACvD,cAAc,EACd,qBAAqB,CACtB,CAAC;gBAEF,OAAO,IAAA,sBAAO,EAAC,qBAAqB,EAAE,oBAAoB,
|
|
1
|
+
{"version":3,"file":"signOperation.js","sourceRoot":"","sources":["../../src/bridge/signOperation.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,9 +12,9 @@ function adaptInstrument(instrument) {
|
|
|
12
12
|
return {
|
|
13
13
|
value: BigInt(instrument.amount),
|
|
14
14
|
locked: instrument.locked === true ? BigInt(instrument.amount) : BigInt(0),
|
|
15
|
-
asset: getNativeId() === instrument.
|
|
15
|
+
asset: getNativeId() === instrument.instrument_id
|
|
16
16
|
? { type: "native" }
|
|
17
|
-
: { type: "token", assetReference: instrument.
|
|
17
|
+
: { type: "token", assetReference: instrument.instrument_id },
|
|
18
18
|
};
|
|
19
19
|
}
|
|
20
20
|
async function getBalance(partyId) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getBalance.js","sourceRoot":"","sources":["../../../src/common-logic/account/getBalance.ts"],"names":[],"mappings":";;;;;AAkBA,gCAIC;AArBD,mDAAgG;AAChG,0DAAsC;AAEtC,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,gBAAU,CAAC,aAAa,EAAE,CAAC,UAAU,KAAK,IAAI,CAAC;AACxE,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,gBAAU,CAAC,aAAa,EAAE,CAAC,kBAAkB,CAAC;AAExE,SAAS,eAAe,CAAC,UAA6B;IACpD,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC;QAChC,MAAM,EAAE,UAAU,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QAC1E,KAAK,EACH,WAAW,EAAE,KAAK,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"getBalance.js","sourceRoot":"","sources":["../../../src/common-logic/account/getBalance.ts"],"names":[],"mappings":";;;;;AAkBA,gCAIC;AArBD,mDAAgG;AAChG,0DAAsC;AAEtC,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,gBAAU,CAAC,aAAa,EAAE,CAAC,UAAU,KAAK,IAAI,CAAC;AACxE,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,gBAAU,CAAC,aAAa,EAAE,CAAC,kBAAkB,CAAC;AAExE,SAAS,eAAe,CAAC,UAA6B;IACpD,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC;QAChC,MAAM,EAAE,UAAU,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QAC1E,KAAK,EACH,WAAW,EAAE,KAAK,UAAU,CAAC,aAAa;YACxC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;YACpB,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,UAAU,CAAC,aAAa,EAAE;KAClE,CAAC;AACJ,CAAC;AAEM,KAAK,UAAU,UAAU,CAAC,OAAe;IAC9C,IAAI,UAAU,EAAE;QACd,OAAO,CAAC,MAAM,IAAA,oBAAiB,EAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC;;QACtF,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;AAC1C,CAAC"}
|
|
@@ -51,12 +51,12 @@ describe("getBalance", () => {
|
|
|
51
51
|
});
|
|
52
52
|
const mockInstruments = [
|
|
53
53
|
{
|
|
54
|
-
|
|
54
|
+
instrument_id: "native-id",
|
|
55
55
|
amount: "1000",
|
|
56
56
|
locked: false,
|
|
57
57
|
},
|
|
58
58
|
{
|
|
59
|
-
|
|
59
|
+
instrument_id: "token-123",
|
|
60
60
|
amount: "5000",
|
|
61
61
|
locked: true,
|
|
62
62
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getBalance.unit.test.js","sourceRoot":"","sources":["../../../src/common-logic/account/getBalance.unit.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAA4E;AAC5E,+DAAiD;AACjD,6CAA0C;AAG1C,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,GAAG,EAAE,CAAC,CAAC;IACxC,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE;CACtB,CAAC,CAAC,CAAC;AAEJ,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IAEhF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACtE,iBAAiB,CAAC,eAAe,CAAC;YAChC,UAAU,EAAE,IAAI;YAChB,kBAAkB,EAAE,WAAW;SACzB,CAAC,CAAC;QAEV,MAAM,eAAe,GAAG;YACtB;gBACE,
|
|
1
|
+
{"version":3,"file":"getBalance.unit.test.js","sourceRoot":"","sources":["../../../src/common-logic/account/getBalance.unit.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAA4E;AAC5E,+DAAiD;AACjD,6CAA0C;AAG1C,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,GAAG,EAAE,CAAC,CAAC;IACxC,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE;CACtB,CAAC,CAAC,CAAC;AAEJ,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IAEhF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACtE,iBAAiB,CAAC,eAAe,CAAC;YAChC,UAAU,EAAE,IAAI;YAChB,kBAAkB,EAAE,WAAW;SACzB,CAAC,CAAC;QAEV,MAAM,eAAe,GAAG;YACtB;gBACE,aAAa,EAAE,WAAW;gBAC1B,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,KAAK;aACd;YACD;gBACE,aAAa,EAAE,WAAW;gBAC1B,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,IAAI;aACb;SACF,CAAC;QAED,oBAAmC,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;QAExE,MAAM,MAAM,GAAG,MAAM,IAAA,uBAAU,EAAC,UAAU,CAAC,CAAC;QAE5C,MAAM,CAAC,oBAAqB,CAAC,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;QAC/D,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAY;YAChC;gBACE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC;gBACnB,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;gBACjB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC1B;YACD;gBACE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC;gBACnB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC;gBACpB,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE;aACtD;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4EAA4E,EAAE,KAAK,IAAI,EAAE;QAC1F,iBAAiB,CAAC,eAAe,CAAC;YAChC,UAAU,EAAE,KAAK;SACX,CAAC,CAAC;QAEV,MAAM,MAAM,CAAC,IAAA,uBAAU,EAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACxE,MAAM,CAAC,oBAAqB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACvD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"broadcast.d.ts","sourceRoot":"","sources":["../../../src/common-logic/transaction/broadcast.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"broadcast.d.ts","sourceRoot":"","sources":["../../../src/common-logic/transaction/broadcast.ts"],"names":[],"mappings":"AAKA,wBAAsB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAIjE"}
|
|
@@ -1,9 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.broadcast = broadcast;
|
|
4
|
-
const
|
|
7
|
+
const config_1 = __importDefault(require("../../config"));
|
|
8
|
+
const gateway_1 = require("../../network/gateway");
|
|
9
|
+
const useGateway = () => config_1.default.getCoinConfig().useGateway === true;
|
|
5
10
|
async function broadcast(signedTx) {
|
|
6
|
-
const
|
|
7
|
-
|
|
11
|
+
const parsed = JSON.parse(signedTx);
|
|
12
|
+
if (useGateway())
|
|
13
|
+
return (await (0, gateway_1.submit)(parsed.serialized, parsed.signature)).updateId;
|
|
14
|
+
else
|
|
15
|
+
throw new Error("Not implemented");
|
|
8
16
|
}
|
|
9
17
|
//# sourceMappingURL=broadcast.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"broadcast.js","sourceRoot":"","sources":["../../../src/common-logic/transaction/broadcast.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"broadcast.js","sourceRoot":"","sources":["../../../src/common-logic/transaction/broadcast.ts"],"names":[],"mappings":";;;;;AAKA,8BAIC;AATD,0DAAsC;AACtC,mDAA+C;AAE/C,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,gBAAU,CAAC,aAAa,EAAE,CAAC,UAAU,KAAK,IAAI,CAAC;AAEjE,KAAK,UAAU,SAAS,CAAC,QAAgB;IAC9C,MAAM,MAAM,GAA8C,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC/E,IAAI,UAAU,EAAE;QAAE,OAAO,CAAC,MAAM,IAAA,gBAAM,EAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;;QACjF,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;AAC1C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"broadcast.test.d.ts","sourceRoot":"","sources":["../../../src/common-logic/transaction/broadcast.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
const gateway_1 = require("../../network/gateway");
|
|
37
|
+
const coinConfigModule = __importStar(require("../../config"));
|
|
38
|
+
const broadcast_1 = require("./broadcast");
|
|
39
|
+
jest.mock("../../network/gateway", () => ({
|
|
40
|
+
submit: jest.fn(),
|
|
41
|
+
}));
|
|
42
|
+
const mockSerialized = JSON.stringify({
|
|
43
|
+
serialized: "serialized-tx",
|
|
44
|
+
signature: "signature",
|
|
45
|
+
});
|
|
46
|
+
describe("broadcast", () => {
|
|
47
|
+
const mockGetCoinConfig = jest.spyOn(coinConfigModule.default, "getCoinConfig");
|
|
48
|
+
afterEach(() => {
|
|
49
|
+
jest.clearAllMocks();
|
|
50
|
+
});
|
|
51
|
+
it("should broadcast", async () => {
|
|
52
|
+
mockGetCoinConfig.mockReturnValue({
|
|
53
|
+
useGateway: true,
|
|
54
|
+
});
|
|
55
|
+
gateway_1.submit.mockResolvedValue({ updateId: "my-update-id" });
|
|
56
|
+
const result = await (0, broadcast_1.broadcast)(mockSerialized);
|
|
57
|
+
expect(gateway_1.submit).toHaveBeenCalledWith("serialized-tx", "signature");
|
|
58
|
+
expect(result).toEqual("my-update-id");
|
|
59
|
+
});
|
|
60
|
+
it("should throw an error when useGateway is false (not implemented with node)", async () => {
|
|
61
|
+
mockGetCoinConfig.mockReturnValue({
|
|
62
|
+
useGateway: false,
|
|
63
|
+
});
|
|
64
|
+
await expect((0, broadcast_1.broadcast)(mockSerialized)).rejects.toThrow("Not implemented");
|
|
65
|
+
expect(gateway_1.submit).not.toHaveBeenCalled();
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
//# sourceMappingURL=broadcast.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"broadcast.test.js","sourceRoot":"","sources":["../../../src/common-logic/transaction/broadcast.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAA+C;AAC/C,+DAAiD;AACjD,2CAAwC;AAExC,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,GAAG,EAAE,CAAC,CAAC;IACxC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE;CAClB,CAAC,CAAC,CAAC;AAEJ,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC;IACpC,UAAU,EAAE,eAAe;IAC3B,SAAS,EAAE,WAAW;CACvB,CAAC,CAAC;AAEH,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IAEhF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;QAChC,iBAAiB,CAAC,eAAe,CAAC;YAChC,UAAU,EAAE,IAAI;SACV,CAAC,CAAC;QAET,gBAAoB,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAC;QAEtE,MAAM,MAAM,GAAG,MAAM,IAAA,qBAAS,EAAC,cAAc,CAAC,CAAC;QAE/C,MAAM,CAAC,gBAAM,CAAC,CAAC,oBAAoB,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;QAClE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4EAA4E,EAAE,KAAK,IAAI,EAAE;QAC1F,iBAAiB,CAAC,eAAe,CAAC;YAChC,UAAU,EAAE,KAAK;SACX,CAAC,CAAC;QAEV,MAAM,MAAM,CAAC,IAAA,qBAAS,EAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAC3E,MAAM,CAAC,gBAAM,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACxC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare function combine(transaction: string, signature: string
|
|
1
|
+
export declare function combine(transaction: string, signature: string): string;
|
|
2
2
|
//# sourceMappingURL=combine.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"combine.d.ts","sourceRoot":"","sources":["../../../src/common-logic/transaction/combine.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"combine.d.ts","sourceRoot":"","sources":["../../../src/common-logic/transaction/combine.ts"],"names":[],"mappings":"AACA,wBAAgB,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAOtE"}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.combine = combine;
|
|
4
|
-
const utils_1 = require("../utils");
|
|
5
4
|
// Combines signature with raw transaction
|
|
6
|
-
function combine(transaction, signature
|
|
7
|
-
|
|
5
|
+
function combine(transaction, signature) {
|
|
6
|
+
const tx = JSON.parse(transaction);
|
|
7
|
+
return JSON.stringify({
|
|
8
|
+
...tx,
|
|
9
|
+
signature,
|
|
10
|
+
});
|
|
8
11
|
}
|
|
9
12
|
//# sourceMappingURL=combine.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"combine.js","sourceRoot":"","sources":["../../../src/common-logic/transaction/combine.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"combine.js","sourceRoot":"","sources":["../../../src/common-logic/transaction/combine.ts"],"names":[],"mappings":";;AACA,0BAOC;AARD,0CAA0C;AAC1C,SAAgB,OAAO,CAAC,WAAmB,EAAE,SAAiB;IAC5D,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAEnC,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,GAAG,EAAE;QACL,SAAS;KACV,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"combine.test.d.ts","sourceRoot":"","sources":["../../../src/common-logic/transaction/combine.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const combine_1 = require("./combine");
|
|
4
|
+
describe("combine", () => {
|
|
5
|
+
it("responds with a Stringify version of the payload to broadcast", () => {
|
|
6
|
+
// GIVEN
|
|
7
|
+
const transaction = {
|
|
8
|
+
transaction: {
|
|
9
|
+
serialized: "SERIALIZED",
|
|
10
|
+
json: "JSON",
|
|
11
|
+
hash: "HASH",
|
|
12
|
+
},
|
|
13
|
+
};
|
|
14
|
+
const signature = "SIGNATURE";
|
|
15
|
+
// WHEN
|
|
16
|
+
const result = (0, combine_1.combine)(JSON.stringify(transaction), signature);
|
|
17
|
+
// THEN
|
|
18
|
+
expect(JSON.parse(result)).toEqual({
|
|
19
|
+
transaction: {
|
|
20
|
+
serialized: "SERIALIZED",
|
|
21
|
+
json: "JSON",
|
|
22
|
+
hash: "HASH",
|
|
23
|
+
},
|
|
24
|
+
signature: "SIGNATURE",
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
//# sourceMappingURL=combine.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"combine.test.js","sourceRoot":"","sources":["../../../src/common-logic/transaction/combine.test.ts"],"names":[],"mappings":";;AAAA,uCAAoC;AAEpC,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACvB,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACvE,QAAQ;QACR,MAAM,WAAW,GAAG;YAClB,WAAW,EAAE;gBACX,UAAU,EAAE,YAAY;gBACxB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,MAAM;aACb;SACF,CAAC;QACF,MAAM,SAAS,GAAG,WAAW,CAAC;QAE9B,OAAO;QACP,MAAM,MAAM,GAAG,IAAA,iBAAO,EAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC,CAAC;QAE/D,OAAO;QACP,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;YACjC,WAAW,EAAE;gBACX,UAAU,EAAE,YAAY;gBACxB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,MAAM;aACb;YACD,SAAS,EAAE,WAAW;SACvB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"estimateFees.d.ts","sourceRoot":"","sources":["../../../src/common-logic/transaction/estimateFees.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"estimateFees.d.ts","sourceRoot":"","sources":["../../../src/common-logic/transaction/estimateFees.ts"],"names":[],"mappings":"AACA,wBAAsB,YAAY,CAAC,qBAAqB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAEjF"}
|
|
@@ -1,21 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.estimateFees = estimateFees;
|
|
4
|
-
|
|
5
|
-
const errors_1 = require("../../types/errors");
|
|
4
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
6
5
|
async function estimateFees(serializedTransaction) {
|
|
7
|
-
|
|
8
|
-
// We call the node to do a dry run and estimate fees
|
|
9
|
-
return BigInt(await (0, node_1.simulate)(serializedTransaction));
|
|
10
|
-
}
|
|
11
|
-
catch (e) {
|
|
12
|
-
// default value is required in case of simulation error, else user will encounter an error in the flow
|
|
13
|
-
if (e instanceof errors_1.SimulationError) {
|
|
14
|
-
return BigInt(1000);
|
|
15
|
-
}
|
|
16
|
-
else {
|
|
17
|
-
throw new Error("Unexpected error while estimating fees.");
|
|
18
|
-
}
|
|
19
|
-
}
|
|
6
|
+
return Promise.resolve(BigInt(10_000)); // TODO replace with real implementation
|
|
20
7
|
}
|
|
21
8
|
//# sourceMappingURL=estimateFees.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"estimateFees.js","sourceRoot":"","sources":["../../../src/common-logic/transaction/estimateFees.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"estimateFees.js","sourceRoot":"","sources":["../../../src/common-logic/transaction/estimateFees.ts"],"names":[],"mappings":";;AACA,oCAEC;AAHD,6DAA6D;AACtD,KAAK,UAAU,YAAY,CAAC,qBAA6B;IAC9D,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,wCAAwC;AAClF,CAAC"}
|
|
@@ -2,5 +2,4 @@ import BigNumber from "bignumber.js";
|
|
|
2
2
|
export declare const UINT32_MAX: BigNumber;
|
|
3
3
|
export declare const validateTag: (tag: BigNumber) => boolean;
|
|
4
4
|
export declare function isRecipientValid(recipient: string): boolean;
|
|
5
|
-
export declare const encode: (transaction: string, signature: string, publicKey?: string) => string;
|
|
6
5
|
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/common-logic/utils.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,eAAO,MAAM,UAAU,WAAoC,CAAC;AAE5D,eAAO,MAAM,WAAW,GAAI,KAAK,SAAS,YAIzC,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAE3D
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/common-logic/utils.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,eAAO,MAAM,UAAU,WAAoC,CAAC;AAE5D,eAAO,MAAM,WAAW,GAAI,KAAK,SAAS,YAIzC,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAE3D"}
|
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
6
|
+
exports.validateTag = exports.UINT32_MAX = void 0;
|
|
7
7
|
exports.isRecipientValid = isRecipientValid;
|
|
8
8
|
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
9
9
|
exports.UINT32_MAX = new bignumber_js_1.default(2).pow(32).minus(1);
|
|
@@ -14,9 +14,4 @@ exports.validateTag = validateTag;
|
|
|
14
14
|
function isRecipientValid(recipient) {
|
|
15
15
|
return recipient.length > 0;
|
|
16
16
|
}
|
|
17
|
-
const encode = (transaction, signature, publicKey) => {
|
|
18
|
-
// sample encoding
|
|
19
|
-
return `${transaction}${publicKey}${signature}encodedTx`;
|
|
20
|
-
};
|
|
21
|
-
exports.encode = encode;
|
|
22
17
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/common-logic/utils.ts"],"names":[],"mappings":";;;;;;AAUA,4CAEC;AAZD,gEAAqC;AAExB,QAAA,UAAU,GAAG,IAAI,sBAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAErD,MAAM,WAAW,GAAG,CAAC,GAAc,EAAE,EAAE;IAC5C,OAAO,CACL,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,GAAG,CAAC,QAAQ,EAAE,IAAI,GAAG,CAAC,SAAS,EAAE,IAAI,GAAG,CAAC,UAAU,EAAE,IAAI,GAAG,CAAC,GAAG,CAAC,kBAAU,CAAC,CAC7F,CAAC;AACJ,CAAC,CAAC;AAJW,QAAA,WAAW,eAItB;AAEF,SAAgB,gBAAgB,CAAC,SAAiB;IAChD,OAAO,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;AAC9B,CAAC
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/common-logic/utils.ts"],"names":[],"mappings":";;;;;;AAUA,4CAEC;AAZD,gEAAqC;AAExB,QAAA,UAAU,GAAG,IAAI,sBAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAErD,MAAM,WAAW,GAAG,CAAC,GAAc,EAAE,EAAE;IAC5C,OAAO,CACL,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,GAAG,CAAC,QAAQ,EAAE,IAAI,GAAG,CAAC,SAAS,EAAE,IAAI,GAAG,CAAC,UAAU,EAAE,IAAI,GAAG,CAAC,GAAG,CAAC,kBAAU,CAAC,CAC7F,CAAC;AACJ,CAAC,CAAC;AAJW,QAAA,WAAW,eAItB;AAEF,SAAgB,gBAAgB,CAAC,SAAiB;IAChD,OAAO,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;AAC9B,CAAC"}
|
package/lib/network/gateway.d.ts
CHANGED
|
@@ -14,8 +14,11 @@ type OnboardingSubmitResponse = {
|
|
|
14
14
|
public_key: string;
|
|
15
15
|
};
|
|
16
16
|
};
|
|
17
|
+
type TransactionSubmitResponse = {
|
|
18
|
+
updateId: string;
|
|
19
|
+
};
|
|
17
20
|
export type InstrumentBalance = {
|
|
18
|
-
|
|
21
|
+
instrument_id: string;
|
|
19
22
|
amount: number;
|
|
20
23
|
locked: boolean;
|
|
21
24
|
};
|
|
@@ -65,6 +68,7 @@ export type TxInfo = {
|
|
|
65
68
|
};
|
|
66
69
|
export declare function prepareOnboarding(pubKey: string, pubKeyType: string): Promise<OnboardingPrepareResponse>;
|
|
67
70
|
export declare function submitOnboarding(prepareRequest: OnboardingPrepareRequest, prepareResponse: OnboardingPrepareResponse, signature: string): Promise<OnboardingSubmitResponse>;
|
|
71
|
+
export declare function submit(serializedTx: string, signature: string): Promise<TransactionSubmitResponse>;
|
|
68
72
|
export declare function getBalance(partyId: string): Promise<InstrumentBalance[]>;
|
|
69
73
|
export declare function getPartyById(partyId: string): Promise<PartyInfo>;
|
|
70
74
|
export declare function getPartyByPubKey(pubKey: string): Promise<PartyInfo>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../../src/network/gateway.ts"],"names":[],"mappings":"AAGA,KAAK,yBAAyB,GAAG;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,0BAA0B,EAAE,MAAM,CAAC;CACpC,CAAC;AAEF,KAAK,wBAAwB,GAAG;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAQF,KAAK,wBAAwB,GAAG;IAC9B,KAAK,EAAE;QACL,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;CACH,CAAC;
|
|
1
|
+
{"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../../src/network/gateway.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,7 +36,7 @@ describe("gateway (devnet)", () => {
|
|
|
36
36
|
const balance = await (0, gateway_1.getBalance)("party-4f2e1485107adf5f::122027c6dbbbdbffe0fa3122ae05175f3b9328e879e9ce96b670354deb64a45683c1");
|
|
37
37
|
expect(balance.length).toBeGreaterThanOrEqual(1);
|
|
38
38
|
expect(balance[0].amount).toBeGreaterThanOrEqual(0);
|
|
39
|
-
expect(balance[0].
|
|
39
|
+
expect(balance[0].instrument_id.includes("Splice")).toBe(true);
|
|
40
40
|
});
|
|
41
41
|
});
|
|
42
42
|
describe("getPartyById", () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway.integ.test.js","sourceRoot":"","sources":["../../src/network/gateway.integ.test.ts"],"names":[],"mappings":";;;;;AAAA,uDAAmC;AACnC,uCAOmB;AAEnB,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,SAAS,CAAC,GAAG,EAAE;QACb,gBAAU,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC;YAC9B,UAAU,EAAE,iDAAiD;YAC7D,UAAU,EAAE,IAAI;YAChB,WAAW,EAAE,QAAQ;YACrB,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;aACf;SACF,CAAC,CAAC,CAAC;IACN,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"gateway.integ.test.js","sourceRoot":"","sources":["../../src/network/gateway.integ.test.ts"],"names":[],"mappings":"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"}
|
package/lib/network/gateway.js
CHANGED
|
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.prepareOnboarding = prepareOnboarding;
|
|
7
7
|
exports.submitOnboarding = submitOnboarding;
|
|
8
|
+
exports.submit = submit;
|
|
8
9
|
exports.getBalance = getBalance;
|
|
9
10
|
exports.getPartyById = getPartyById;
|
|
10
11
|
exports.getPartyByPubKey = getPartyByPubKey;
|
|
@@ -37,6 +38,17 @@ async function submitOnboarding(prepareRequest, prepareResponse, signature) {
|
|
|
37
38
|
});
|
|
38
39
|
return data;
|
|
39
40
|
}
|
|
41
|
+
async function submit(serializedTx, signature) {
|
|
42
|
+
const { data } = await (0, live_network_1.default)({
|
|
43
|
+
method: "POST",
|
|
44
|
+
url: `${getGatewayUrl()}/v1/node/${getNodeId()}/transaction/submit`,
|
|
45
|
+
data: {
|
|
46
|
+
serialized: serializedTx,
|
|
47
|
+
signature,
|
|
48
|
+
},
|
|
49
|
+
});
|
|
50
|
+
return data;
|
|
51
|
+
}
|
|
40
52
|
async function getBalance(partyId) {
|
|
41
53
|
const { data } = await (0, live_network_1.default)({
|
|
42
54
|
method: "GET",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../src/network/gateway.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../src/network/gateway.ts"],"names":[],"mappings":";;;;;AA+FA,8CAaC;AAED,4CAeC;AAED,wBAUC;AAED,gCAMC;AAED,oCAEC;AAED,4CAEC;AAaD,0CAqBC;AAED,oCAMC;AAnMD,0EAA6C;AAC7C,uDAAmC;AA2FnC,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,gBAAU,CAAC,aAAa,EAAE,CAAC,UAAU,CAAC;AAClE,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,gBAAU,CAAC,aAAa,EAAE,CAAC,MAAM,IAAI,wBAAwB,CAAC;AAE/E,KAAK,UAAU,iBAAiB,CACrC,MAAc,EACd,UAAkB;IAElB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAA,sBAAO,EAA4B;QACxD,MAAM,EAAE,MAAM;QACd,GAAG,EAAE,GAAG,aAAa,EAAE,YAAY,SAAS,EAAE,qBAAqB;QACnE,IAAI,EAAE;YACJ,UAAU,EAAE,MAAM;YAClB,eAAe,EAAE,UAAU;SACO;KACrC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC;AAEM,KAAK,UAAU,gBAAgB,CACpC,cAAwC,EACxC,eAA0C,EAC1C,SAAiB;IAEjB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAA,sBAAO,EAA2B;QACvD,MAAM,EAAE,MAAM;QACd,GAAG,EAAE,GAAG,aAAa,EAAE,YAAY,SAAS,EAAE,oBAAoB;QAClE,IAAI,EAAE;YACJ,eAAe,EAAE,cAAc;YAC/B,gBAAgB,EAAE,eAAe;YACjC,SAAS;SACwB;KACpC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC;AAEM,KAAK,UAAU,MAAM,CAAC,YAAoB,EAAE,SAAiB;IAClE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAA,sBAAO,EAA4B;QACxD,MAAM,EAAE,MAAM;QACd,GAAG,EAAE,GAAG,aAAa,EAAE,YAAY,SAAS,EAAE,qBAAqB;QACnE,IAAI,EAAE;YACJ,UAAU,EAAE,YAAY;YACxB,SAAS;SACyB;KACrC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC;AAEM,KAAK,UAAU,UAAU,CAAC,OAAe;IAC9C,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAA,sBAAO,EAAsB;QAClD,MAAM,EAAE,KAAK;QACb,GAAG,EAAE,GAAG,aAAa,EAAE,YAAY,SAAS,EAAE,UAAU,OAAO,UAAU;KAC1E,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC;AAEM,KAAK,UAAU,YAAY,CAAC,OAAe;IAChD,OAAO,MAAM,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AACvC,CAAC;AAEM,KAAK,UAAU,gBAAgB,CAAC,MAAc;IACnD,OAAO,MAAM,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACtC,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,UAAkB,EAAE,EAAe;IACzD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAA,sBAAO,EAAY;QACxC,MAAM,EAAE,KAAK;QACb,GAAG,EAAE,GAAG,aAAa,EAAE,YAAY,SAAS,EAAE,UAAU,UAAU,EAAE;QACpE,IAAI,EAAE;YACJ,EAAE;SACH;KACF,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC;AAEM,KAAK,UAAU,eAAe,CACnC,OAAe,EACf,OAKC;IAKD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAA,sBAAO,EAG3B;QACD,MAAM,EAAE,KAAK;QACb,GAAG,EAAE,GAAG,aAAa,EAAE,YAAY,SAAS,EAAE,UAAU,OAAO,eAAe;QAC9E,IAAI,EAAE,OAAO;KACd,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC;AAEM,KAAK,UAAU,YAAY;IAChC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAA,sBAAO,EAAS;QACrC,MAAM,EAAE,KAAK;QACb,GAAG,EAAE,GAAG,aAAa,EAAE,YAAY,SAAS,EAAE,aAAa;KAC5D,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -25,7 +25,7 @@ export const buildSignOperation = (signerContext) => ({ account, deviceId, trans
|
|
|
25
25
|
fee: fee,
|
|
26
26
|
});
|
|
27
27
|
const transactionSignature = await signer.signTransaction(derivationPath, serializedTransaction);
|
|
28
|
-
return combine(serializedTransaction, transactionSignature
|
|
28
|
+
return combine(serializedTransaction, transactionSignature);
|
|
29
29
|
});
|
|
30
30
|
o.next({
|
|
31
31
|
type: "device-signature-granted",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signOperation.js","sourceRoot":"","sources":["../../src/bridge/signOperation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGhD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAGlF,MAAM,CAAC,MAAM,kBAAkB,GAC7B,CAAC,aAA0C,EAA+C,EAAE,CAC5F,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,EAAE,CACrC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE;IACjB,KAAK,UAAU,IAAI;QACjB,MAAM,EAAE,GAAG,EAAE,GAAG,WAAW,CAAC;QAC5B,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,YAAY,EAAE,CAAC;QAEnC,IAAI,CAAC;YACH,8EAA8E;YAC9E,CAAC,CAAC,IAAI,CAAC;gBACL,IAAI,EAAE,4BAA4B;aACnC,CAAC,CAAC;YAEH,MAAM,kBAAkB,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAE5E,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;gBAC7D,MAAM,EAAE,gBAAgB,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC;gBACrD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;gBAE9D,MAAM,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,GAAG,MAAM,gBAAgB,CACzE;oBACE,OAAO,EAAE,OAAO,CAAC,YAAY;oBAC7B,SAAS;iBACV,EACD;oBACE,SAAS,EAAE,WAAW,CAAC,SAAS;oBAChC,MAAM,EAAE,WAAW,CAAC,MAAM;oBAC1B,GAAG,EAAE,GAAG;iBACT,CACF,CAAC;gBAEF,MAAM,oBAAoB,GAAG,MAAM,MAAM,CAAC,eAAe,CACvD,cAAc,EACd,qBAAqB,CACtB,CAAC;gBAEF,OAAO,OAAO,CAAC,qBAAqB,EAAE,oBAAoB,
|
|
1
|
+
{"version":3,"file":"signOperation.js","sourceRoot":"","sources":["../../src/bridge/signOperation.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,9 +6,9 @@ function adaptInstrument(instrument) {
|
|
|
6
6
|
return {
|
|
7
7
|
value: BigInt(instrument.amount),
|
|
8
8
|
locked: instrument.locked === true ? BigInt(instrument.amount) : BigInt(0),
|
|
9
|
-
asset: getNativeId() === instrument.
|
|
9
|
+
asset: getNativeId() === instrument.instrument_id
|
|
10
10
|
? { type: "native" }
|
|
11
|
-
: { type: "token", assetReference: instrument.
|
|
11
|
+
: { type: "token", assetReference: instrument.instrument_id },
|
|
12
12
|
};
|
|
13
13
|
}
|
|
14
14
|
export async function getBalance(partyId) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getBalance.js","sourceRoot":"","sources":["../../../src/common-logic/account/getBalance.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,IAAI,iBAAiB,EAA0B,MAAM,uBAAuB,CAAC;AAChG,OAAO,UAAU,MAAM,cAAc,CAAC;AAEtC,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,UAAU,KAAK,IAAI,CAAC;AACxE,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,kBAAkB,CAAC;AAExE,SAAS,eAAe,CAAC,UAA6B;IACpD,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC;QAChC,MAAM,EAAE,UAAU,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QAC1E,KAAK,EACH,WAAW,EAAE,KAAK,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"getBalance.js","sourceRoot":"","sources":["../../../src/common-logic/account/getBalance.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,IAAI,iBAAiB,EAA0B,MAAM,uBAAuB,CAAC;AAChG,OAAO,UAAU,MAAM,cAAc,CAAC;AAEtC,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,UAAU,KAAK,IAAI,CAAC;AACxE,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,kBAAkB,CAAC;AAExE,SAAS,eAAe,CAAC,UAA6B;IACpD,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC;QAChC,MAAM,EAAE,UAAU,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QAC1E,KAAK,EACH,WAAW,EAAE,KAAK,UAAU,CAAC,aAAa;YACxC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;YACpB,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,UAAU,CAAC,aAAa,EAAE;KAClE,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAAe;IAC9C,IAAI,UAAU,EAAE;QACd,OAAO,CAAC,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC;;QACtF,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;AAC1C,CAAC"}
|
|
@@ -16,12 +16,12 @@ describe("getBalance", () => {
|
|
|
16
16
|
});
|
|
17
17
|
const mockInstruments = [
|
|
18
18
|
{
|
|
19
|
-
|
|
19
|
+
instrument_id: "native-id",
|
|
20
20
|
amount: "1000",
|
|
21
21
|
locked: false,
|
|
22
22
|
},
|
|
23
23
|
{
|
|
24
|
-
|
|
24
|
+
instrument_id: "token-123",
|
|
25
25
|
amount: "5000",
|
|
26
26
|
locked: true,
|
|
27
27
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getBalance.unit.test.js","sourceRoot":"","sources":["../../../src/common-logic/account/getBalance.unit.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,IAAI,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,KAAK,gBAAgB,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,GAAG,EAAE,CAAC,CAAC;IACxC,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE;CACtB,CAAC,CAAC,CAAC;AAEJ,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IAEhF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACtE,iBAAiB,CAAC,eAAe,CAAC;YAChC,UAAU,EAAE,IAAI;YAChB,kBAAkB,EAAE,WAAW;SACzB,CAAC,CAAC;QAEV,MAAM,eAAe,GAAG;YACtB;gBACE,
|
|
1
|
+
{"version":3,"file":"getBalance.unit.test.js","sourceRoot":"","sources":["../../../src/common-logic/account/getBalance.unit.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,IAAI,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,KAAK,gBAAgB,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,GAAG,EAAE,CAAC,CAAC;IACxC,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE;CACtB,CAAC,CAAC,CAAC;AAEJ,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IAEhF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACtE,iBAAiB,CAAC,eAAe,CAAC;YAChC,UAAU,EAAE,IAAI;YAChB,kBAAkB,EAAE,WAAW;SACzB,CAAC,CAAC;QAEV,MAAM,eAAe,GAAG;YACtB;gBACE,aAAa,EAAE,WAAW;gBAC1B,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,KAAK;aACd;YACD;gBACE,aAAa,EAAE,WAAW;gBAC1B,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,IAAI;aACb;SACF,CAAC;QAED,qBAAmC,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;QAExE,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,CAAC;QAE5C,MAAM,CAAC,qBAAqB,CAAC,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;QAC/D,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAY;YAChC;gBACE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC;gBACnB,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;gBACjB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC1B;YACD;gBACE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC;gBACnB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC;gBACpB,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE;aACtD;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4EAA4E,EAAE,KAAK,IAAI,EAAE;QAC1F,iBAAiB,CAAC,eAAe,CAAC;YAChC,UAAU,EAAE,KAAK;SACX,CAAC,CAAC;QAEV,MAAM,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACxE,MAAM,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACvD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"broadcast.d.ts","sourceRoot":"","sources":["../../../src/common-logic/transaction/broadcast.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"broadcast.d.ts","sourceRoot":"","sources":["../../../src/common-logic/transaction/broadcast.ts"],"names":[],"mappings":"AAKA,wBAAsB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAIjE"}
|
|
@@ -1,6 +1,11 @@
|
|
|
1
|
-
import
|
|
1
|
+
import coinConfig from "../../config";
|
|
2
|
+
import { submit } from "../../network/gateway";
|
|
3
|
+
const useGateway = () => coinConfig.getCoinConfig().useGateway === true;
|
|
2
4
|
export async function broadcast(signedTx) {
|
|
3
|
-
const
|
|
4
|
-
|
|
5
|
+
const parsed = JSON.parse(signedTx);
|
|
6
|
+
if (useGateway())
|
|
7
|
+
return (await submit(parsed.serialized, parsed.signature)).updateId;
|
|
8
|
+
else
|
|
9
|
+
throw new Error("Not implemented");
|
|
5
10
|
}
|
|
6
11
|
//# sourceMappingURL=broadcast.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"broadcast.js","sourceRoot":"","sources":["../../../src/common-logic/transaction/broadcast.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"broadcast.js","sourceRoot":"","sources":["../../../src/common-logic/transaction/broadcast.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE/C,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,UAAU,KAAK,IAAI,CAAC;AAExE,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,QAAgB;IAC9C,MAAM,MAAM,GAA8C,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC/E,IAAI,UAAU,EAAE;QAAE,OAAO,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;;QACjF,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;AAC1C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"broadcast.test.d.ts","sourceRoot":"","sources":["../../../src/common-logic/transaction/broadcast.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { submit } from "../../network/gateway";
|
|
2
|
+
import * as coinConfigModule from "../../config";
|
|
3
|
+
import { broadcast } from "./broadcast";
|
|
4
|
+
jest.mock("../../network/gateway", () => ({
|
|
5
|
+
submit: jest.fn(),
|
|
6
|
+
}));
|
|
7
|
+
const mockSerialized = JSON.stringify({
|
|
8
|
+
serialized: "serialized-tx",
|
|
9
|
+
signature: "signature",
|
|
10
|
+
});
|
|
11
|
+
describe("broadcast", () => {
|
|
12
|
+
const mockGetCoinConfig = jest.spyOn(coinConfigModule.default, "getCoinConfig");
|
|
13
|
+
afterEach(() => {
|
|
14
|
+
jest.clearAllMocks();
|
|
15
|
+
});
|
|
16
|
+
it("should broadcast", async () => {
|
|
17
|
+
mockGetCoinConfig.mockReturnValue({
|
|
18
|
+
useGateway: true,
|
|
19
|
+
});
|
|
20
|
+
submit.mockResolvedValue({ updateId: "my-update-id" });
|
|
21
|
+
const result = await broadcast(mockSerialized);
|
|
22
|
+
expect(submit).toHaveBeenCalledWith("serialized-tx", "signature");
|
|
23
|
+
expect(result).toEqual("my-update-id");
|
|
24
|
+
});
|
|
25
|
+
it("should throw an error when useGateway is false (not implemented with node)", async () => {
|
|
26
|
+
mockGetCoinConfig.mockReturnValue({
|
|
27
|
+
useGateway: false,
|
|
28
|
+
});
|
|
29
|
+
await expect(broadcast(mockSerialized)).rejects.toThrow("Not implemented");
|
|
30
|
+
expect(submit).not.toHaveBeenCalled();
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
//# sourceMappingURL=broadcast.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"broadcast.test.js","sourceRoot":"","sources":["../../../src/common-logic/transaction/broadcast.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,KAAK,gBAAgB,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,GAAG,EAAE,CAAC,CAAC;IACxC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE;CAClB,CAAC,CAAC,CAAC;AAEJ,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC;IACpC,UAAU,EAAE,eAAe;IAC3B,SAAS,EAAE,WAAW;CACvB,CAAC,CAAC;AAEH,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IAEhF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;QAChC,iBAAiB,CAAC,eAAe,CAAC;YAChC,UAAU,EAAE,IAAI;SACV,CAAC,CAAC;QAET,MAAoB,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAC;QAEtE,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,cAAc,CAAC,CAAC;QAE/C,MAAM,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;QAClE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4EAA4E,EAAE,KAAK,IAAI,EAAE;QAC1F,iBAAiB,CAAC,eAAe,CAAC;YAChC,UAAU,EAAE,KAAK;SACX,CAAC,CAAC;QAEV,MAAM,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAC3E,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACxC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare function combine(transaction: string, signature: string
|
|
1
|
+
export declare function combine(transaction: string, signature: string): string;
|
|
2
2
|
//# sourceMappingURL=combine.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"combine.d.ts","sourceRoot":"","sources":["../../../src/common-logic/transaction/combine.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"combine.d.ts","sourceRoot":"","sources":["../../../src/common-logic/transaction/combine.ts"],"names":[],"mappings":"AACA,wBAAgB,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAOtE"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
import { encode } from "../utils";
|
|
2
1
|
// Combines signature with raw transaction
|
|
3
|
-
export function combine(transaction, signature
|
|
4
|
-
|
|
2
|
+
export function combine(transaction, signature) {
|
|
3
|
+
const tx = JSON.parse(transaction);
|
|
4
|
+
return JSON.stringify({
|
|
5
|
+
...tx,
|
|
6
|
+
signature,
|
|
7
|
+
});
|
|
5
8
|
}
|
|
6
9
|
//# sourceMappingURL=combine.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"combine.js","sourceRoot":"","sources":["../../../src/common-logic/transaction/combine.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"combine.js","sourceRoot":"","sources":["../../../src/common-logic/transaction/combine.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,MAAM,UAAU,OAAO,CAAC,WAAmB,EAAE,SAAiB;IAC5D,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAEnC,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,GAAG,EAAE;QACL,SAAS;KACV,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"combine.test.d.ts","sourceRoot":"","sources":["../../../src/common-logic/transaction/combine.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { combine } from "./combine";
|
|
2
|
+
describe("combine", () => {
|
|
3
|
+
it("responds with a Stringify version of the payload to broadcast", () => {
|
|
4
|
+
// GIVEN
|
|
5
|
+
const transaction = {
|
|
6
|
+
transaction: {
|
|
7
|
+
serialized: "SERIALIZED",
|
|
8
|
+
json: "JSON",
|
|
9
|
+
hash: "HASH",
|
|
10
|
+
},
|
|
11
|
+
};
|
|
12
|
+
const signature = "SIGNATURE";
|
|
13
|
+
// WHEN
|
|
14
|
+
const result = combine(JSON.stringify(transaction), signature);
|
|
15
|
+
// THEN
|
|
16
|
+
expect(JSON.parse(result)).toEqual({
|
|
17
|
+
transaction: {
|
|
18
|
+
serialized: "SERIALIZED",
|
|
19
|
+
json: "JSON",
|
|
20
|
+
hash: "HASH",
|
|
21
|
+
},
|
|
22
|
+
signature: "SIGNATURE",
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
//# sourceMappingURL=combine.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"combine.test.js","sourceRoot":"","sources":["../../../src/common-logic/transaction/combine.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACvB,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACvE,QAAQ;QACR,MAAM,WAAW,GAAG;YAClB,WAAW,EAAE;gBACX,UAAU,EAAE,YAAY;gBACxB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,MAAM;aACb;SACF,CAAC;QACF,MAAM,SAAS,GAAG,WAAW,CAAC;QAE9B,OAAO;QACP,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC,CAAC;QAE/D,OAAO;QACP,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;YACjC,WAAW,EAAE;gBACX,UAAU,EAAE,YAAY;gBACxB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,MAAM;aACb;YACD,SAAS,EAAE,WAAW;SACvB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"estimateFees.d.ts","sourceRoot":"","sources":["../../../src/common-logic/transaction/estimateFees.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"estimateFees.d.ts","sourceRoot":"","sources":["../../../src/common-logic/transaction/estimateFees.ts"],"names":[],"mappings":"AACA,wBAAsB,YAAY,CAAC,qBAAqB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAEjF"}
|
|
@@ -1,18 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
import { SimulationError } from "../../types/errors";
|
|
1
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
3
2
|
export async function estimateFees(serializedTransaction) {
|
|
4
|
-
|
|
5
|
-
// We call the node to do a dry run and estimate fees
|
|
6
|
-
return BigInt(await simulate(serializedTransaction));
|
|
7
|
-
}
|
|
8
|
-
catch (e) {
|
|
9
|
-
// default value is required in case of simulation error, else user will encounter an error in the flow
|
|
10
|
-
if (e instanceof SimulationError) {
|
|
11
|
-
return BigInt(1000);
|
|
12
|
-
}
|
|
13
|
-
else {
|
|
14
|
-
throw new Error("Unexpected error while estimating fees.");
|
|
15
|
-
}
|
|
16
|
-
}
|
|
3
|
+
return Promise.resolve(BigInt(10_000)); // TODO replace with real implementation
|
|
17
4
|
}
|
|
18
5
|
//# sourceMappingURL=estimateFees.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"estimateFees.js","sourceRoot":"","sources":["../../../src/common-logic/transaction/estimateFees.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"estimateFees.js","sourceRoot":"","sources":["../../../src/common-logic/transaction/estimateFees.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,qBAA6B;IAC9D,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,wCAAwC;AAClF,CAAC"}
|
|
@@ -2,5 +2,4 @@ import BigNumber from "bignumber.js";
|
|
|
2
2
|
export declare const UINT32_MAX: BigNumber;
|
|
3
3
|
export declare const validateTag: (tag: BigNumber) => boolean;
|
|
4
4
|
export declare function isRecipientValid(recipient: string): boolean;
|
|
5
|
-
export declare const encode: (transaction: string, signature: string, publicKey?: string) => string;
|
|
6
5
|
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/common-logic/utils.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,eAAO,MAAM,UAAU,WAAoC,CAAC;AAE5D,eAAO,MAAM,WAAW,GAAI,KAAK,SAAS,YAIzC,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAE3D
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/common-logic/utils.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,eAAO,MAAM,UAAU,WAAoC,CAAC;AAE5D,eAAO,MAAM,WAAW,GAAI,KAAK,SAAS,YAIzC,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAE3D"}
|
|
@@ -6,8 +6,4 @@ export const validateTag = (tag) => {
|
|
|
6
6
|
export function isRecipientValid(recipient) {
|
|
7
7
|
return recipient.length > 0;
|
|
8
8
|
}
|
|
9
|
-
export const encode = (transaction, signature, publicKey) => {
|
|
10
|
-
// sample encoding
|
|
11
|
-
return `${transaction}${publicKey}${signature}encodedTx`;
|
|
12
|
-
};
|
|
13
9
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/common-logic/utils.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAE5D,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,GAAc,EAAE,EAAE;IAC5C,OAAO,CACL,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,GAAG,CAAC,QAAQ,EAAE,IAAI,GAAG,CAAC,SAAS,EAAE,IAAI,GAAG,CAAC,UAAU,EAAE,IAAI,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAC7F,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAAC,SAAiB;IAChD,OAAO,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;AAC9B,CAAC
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/common-logic/utils.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAE5D,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,GAAc,EAAE,EAAE;IAC5C,OAAO,CACL,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,GAAG,CAAC,QAAQ,EAAE,IAAI,GAAG,CAAC,SAAS,EAAE,IAAI,GAAG,CAAC,UAAU,EAAE,IAAI,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAC7F,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAAC,SAAiB;IAChD,OAAO,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;AAC9B,CAAC"}
|
|
@@ -14,8 +14,11 @@ type OnboardingSubmitResponse = {
|
|
|
14
14
|
public_key: string;
|
|
15
15
|
};
|
|
16
16
|
};
|
|
17
|
+
type TransactionSubmitResponse = {
|
|
18
|
+
updateId: string;
|
|
19
|
+
};
|
|
17
20
|
export type InstrumentBalance = {
|
|
18
|
-
|
|
21
|
+
instrument_id: string;
|
|
19
22
|
amount: number;
|
|
20
23
|
locked: boolean;
|
|
21
24
|
};
|
|
@@ -65,6 +68,7 @@ export type TxInfo = {
|
|
|
65
68
|
};
|
|
66
69
|
export declare function prepareOnboarding(pubKey: string, pubKeyType: string): Promise<OnboardingPrepareResponse>;
|
|
67
70
|
export declare function submitOnboarding(prepareRequest: OnboardingPrepareRequest, prepareResponse: OnboardingPrepareResponse, signature: string): Promise<OnboardingSubmitResponse>;
|
|
71
|
+
export declare function submit(serializedTx: string, signature: string): Promise<TransactionSubmitResponse>;
|
|
68
72
|
export declare function getBalance(partyId: string): Promise<InstrumentBalance[]>;
|
|
69
73
|
export declare function getPartyById(partyId: string): Promise<PartyInfo>;
|
|
70
74
|
export declare function getPartyByPubKey(pubKey: string): Promise<PartyInfo>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../../src/network/gateway.ts"],"names":[],"mappings":"AAGA,KAAK,yBAAyB,GAAG;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,0BAA0B,EAAE,MAAM,CAAC;CACpC,CAAC;AAEF,KAAK,wBAAwB,GAAG;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAQF,KAAK,wBAAwB,GAAG;IAC9B,KAAK,EAAE;QACL,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;CACH,CAAC;
|
|
1
|
+
{"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../../src/network/gateway.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,7 +31,7 @@ describe("gateway (devnet)", () => {
|
|
|
31
31
|
const balance = await getBalance("party-4f2e1485107adf5f::122027c6dbbbdbffe0fa3122ae05175f3b9328e879e9ce96b670354deb64a45683c1");
|
|
32
32
|
expect(balance.length).toBeGreaterThanOrEqual(1);
|
|
33
33
|
expect(balance[0].amount).toBeGreaterThanOrEqual(0);
|
|
34
|
-
expect(balance[0].
|
|
34
|
+
expect(balance[0].instrument_id.includes("Splice")).toBe(true);
|
|
35
35
|
});
|
|
36
36
|
});
|
|
37
37
|
describe("getPartyById", () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway.integ.test.js","sourceRoot":"","sources":["../../src/network/gateway.integ.test.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,WAAW,CAAC;AACnC,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,UAAU,EACV,eAAe,EACf,YAAY,EACZ,gBAAgB,GACjB,MAAM,WAAW,CAAC;AAEnB,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,SAAS,CAAC,GAAG,EAAE;QACb,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC;YAC9B,UAAU,EAAE,iDAAiD;YAC7D,UAAU,EAAE,IAAI;YAChB,WAAW,EAAE,QAAQ;YACrB,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;aACf;SACF,CAAC,CAAC,CAAC;IACN,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"gateway.integ.test.js","sourceRoot":"","sources":["../../src/network/gateway.integ.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,6 +25,17 @@ export async function submitOnboarding(prepareRequest, prepareResponse, signatur
|
|
|
25
25
|
});
|
|
26
26
|
return data;
|
|
27
27
|
}
|
|
28
|
+
export async function submit(serializedTx, signature) {
|
|
29
|
+
const { data } = await network({
|
|
30
|
+
method: "POST",
|
|
31
|
+
url: `${getGatewayUrl()}/v1/node/${getNodeId()}/transaction/submit`,
|
|
32
|
+
data: {
|
|
33
|
+
serialized: serializedTx,
|
|
34
|
+
signature,
|
|
35
|
+
},
|
|
36
|
+
});
|
|
37
|
+
return data;
|
|
38
|
+
}
|
|
28
39
|
export async function getBalance(partyId) {
|
|
29
40
|
const { data } = await network({
|
|
30
41
|
method: "GET",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../src/network/gateway.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,wBAAwB,CAAC;AAC7C,OAAO,UAAU,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../src/network/gateway.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -10,9 +10,9 @@ function adaptInstrument(instrument: InstrumentBalance): Balance {
|
|
|
10
10
|
value: BigInt(instrument.amount),
|
|
11
11
|
locked: instrument.locked === true ? BigInt(instrument.amount) : BigInt(0),
|
|
12
12
|
asset:
|
|
13
|
-
getNativeId() === instrument.
|
|
13
|
+
getNativeId() === instrument.instrument_id
|
|
14
14
|
? { type: "native" }
|
|
15
|
-
: { type: "token", assetReference: instrument.
|
|
15
|
+
: { type: "token", assetReference: instrument.instrument_id },
|
|
16
16
|
};
|
|
17
17
|
}
|
|
18
18
|
|
|
@@ -22,12 +22,12 @@ describe("getBalance", () => {
|
|
|
22
22
|
|
|
23
23
|
const mockInstruments = [
|
|
24
24
|
{
|
|
25
|
-
|
|
25
|
+
instrument_id: "native-id",
|
|
26
26
|
amount: "1000",
|
|
27
27
|
locked: false,
|
|
28
28
|
},
|
|
29
29
|
{
|
|
30
|
-
|
|
30
|
+
instrument_id: "token-123",
|
|
31
31
|
amount: "5000",
|
|
32
32
|
locked: true,
|
|
33
33
|
},
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { submit } from "../../network/gateway";
|
|
2
|
+
import * as coinConfigModule from "../../config";
|
|
3
|
+
import { broadcast } from "./broadcast";
|
|
4
|
+
|
|
5
|
+
jest.mock("../../network/gateway", () => ({
|
|
6
|
+
submit: jest.fn(),
|
|
7
|
+
}));
|
|
8
|
+
|
|
9
|
+
const mockSerialized = JSON.stringify({
|
|
10
|
+
serialized: "serialized-tx",
|
|
11
|
+
signature: "signature",
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
describe("broadcast", () => {
|
|
15
|
+
const mockGetCoinConfig = jest.spyOn(coinConfigModule.default, "getCoinConfig");
|
|
16
|
+
|
|
17
|
+
afterEach(() => {
|
|
18
|
+
jest.clearAllMocks();
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
it("should broadcast", async () => {
|
|
22
|
+
mockGetCoinConfig.mockReturnValue({
|
|
23
|
+
useGateway: true,
|
|
24
|
+
} as any);
|
|
25
|
+
|
|
26
|
+
(submit as jest.Mock).mockResolvedValue({ updateId: "my-update-id" });
|
|
27
|
+
|
|
28
|
+
const result = await broadcast(mockSerialized);
|
|
29
|
+
|
|
30
|
+
expect(submit).toHaveBeenCalledWith("serialized-tx", "signature");
|
|
31
|
+
expect(result).toEqual("my-update-id");
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
it("should throw an error when useGateway is false (not implemented with node)", async () => {
|
|
35
|
+
mockGetCoinConfig.mockReturnValue({
|
|
36
|
+
useGateway: false,
|
|
37
|
+
} as any);
|
|
38
|
+
|
|
39
|
+
await expect(broadcast(mockSerialized)).rejects.toThrow("Not implemented");
|
|
40
|
+
expect(submit).not.toHaveBeenCalled();
|
|
41
|
+
});
|
|
42
|
+
});
|
|
@@ -1,6 +1,10 @@
|
|
|
1
|
-
import
|
|
1
|
+
import coinConfig from "../../config";
|
|
2
|
+
import { submit } from "../../network/gateway";
|
|
3
|
+
|
|
4
|
+
const useGateway = () => coinConfig.getCoinConfig().useGateway === true;
|
|
2
5
|
|
|
3
6
|
export async function broadcast(signedTx: string): Promise<string> {
|
|
4
|
-
const
|
|
5
|
-
return
|
|
7
|
+
const parsed: { serialized: string; signature: string } = JSON.parse(signedTx);
|
|
8
|
+
if (useGateway()) return (await submit(parsed.serialized, parsed.signature)).updateId;
|
|
9
|
+
else throw new Error("Not implemented");
|
|
6
10
|
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { combine } from "./combine";
|
|
2
|
+
|
|
3
|
+
describe("combine", () => {
|
|
4
|
+
it("responds with a Stringify version of the payload to broadcast", () => {
|
|
5
|
+
// GIVEN
|
|
6
|
+
const transaction = {
|
|
7
|
+
transaction: {
|
|
8
|
+
serialized: "SERIALIZED",
|
|
9
|
+
json: "JSON",
|
|
10
|
+
hash: "HASH",
|
|
11
|
+
},
|
|
12
|
+
};
|
|
13
|
+
const signature = "SIGNATURE";
|
|
14
|
+
|
|
15
|
+
// WHEN
|
|
16
|
+
const result = combine(JSON.stringify(transaction), signature);
|
|
17
|
+
|
|
18
|
+
// THEN
|
|
19
|
+
expect(JSON.parse(result)).toEqual({
|
|
20
|
+
transaction: {
|
|
21
|
+
serialized: "SERIALIZED",
|
|
22
|
+
json: "JSON",
|
|
23
|
+
hash: "HASH",
|
|
24
|
+
},
|
|
25
|
+
signature: "SIGNATURE",
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
});
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
import { encode } from "../utils";
|
|
2
|
-
|
|
3
1
|
// Combines signature with raw transaction
|
|
4
|
-
export function combine(transaction: string, signature: string
|
|
5
|
-
|
|
2
|
+
export function combine(transaction: string, signature: string): string {
|
|
3
|
+
const tx = JSON.parse(transaction);
|
|
4
|
+
|
|
5
|
+
return JSON.stringify({
|
|
6
|
+
...tx,
|
|
7
|
+
signature,
|
|
8
|
+
});
|
|
6
9
|
}
|
|
@@ -1,16 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
import { SimulationError } from "../../types/errors";
|
|
3
|
-
|
|
1
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
4
2
|
export async function estimateFees(serializedTransaction: string): Promise<bigint> {
|
|
5
|
-
|
|
6
|
-
// We call the node to do a dry run and estimate fees
|
|
7
|
-
return BigInt(await simulate(serializedTransaction));
|
|
8
|
-
} catch (e) {
|
|
9
|
-
// default value is required in case of simulation error, else user will encounter an error in the flow
|
|
10
|
-
if (e instanceof SimulationError) {
|
|
11
|
-
return BigInt(1000);
|
|
12
|
-
} else {
|
|
13
|
-
throw new Error("Unexpected error while estimating fees.");
|
|
14
|
-
}
|
|
15
|
-
}
|
|
3
|
+
return Promise.resolve(BigInt(10_000)); // TODO replace with real implementation
|
|
16
4
|
}
|
|
@@ -11,8 +11,3 @@ export const validateTag = (tag: BigNumber) => {
|
|
|
11
11
|
export function isRecipientValid(recipient: string): boolean {
|
|
12
12
|
return recipient.length > 0;
|
|
13
13
|
}
|
|
14
|
-
|
|
15
|
-
export const encode = (transaction: string, signature: string, publicKey?: string) => {
|
|
16
|
-
// sample encoding
|
|
17
|
-
return `${transaction}${publicKey}${signature}encodedTx`;
|
|
18
|
-
};
|
|
@@ -19,6 +19,7 @@ describe("gateway (devnet)", () => {
|
|
|
19
19
|
},
|
|
20
20
|
}));
|
|
21
21
|
});
|
|
22
|
+
|
|
22
23
|
describe("prepareOnboarding", () => {
|
|
23
24
|
it("should prepare onboarding", async () => {
|
|
24
25
|
const response = await prepareOnboarding(
|
|
@@ -31,6 +32,7 @@ describe("gateway (devnet)", () => {
|
|
|
31
32
|
expect(response).toHaveProperty("topology_transactions_hash");
|
|
32
33
|
}, 30000);
|
|
33
34
|
});
|
|
35
|
+
|
|
34
36
|
describe("getLedgerEnd", () => {
|
|
35
37
|
it("should return ledger end", async () => {
|
|
36
38
|
const end = await getLedgerEnd();
|
|
@@ -45,7 +47,7 @@ describe("gateway (devnet)", () => {
|
|
|
45
47
|
);
|
|
46
48
|
expect(balance.length).toBeGreaterThanOrEqual(1);
|
|
47
49
|
expect(balance[0].amount).toBeGreaterThanOrEqual(0);
|
|
48
|
-
expect(balance[0].
|
|
50
|
+
expect(balance[0].instrument_id.includes("Splice")).toBe(true);
|
|
49
51
|
});
|
|
50
52
|
});
|
|
51
53
|
|
package/src/network/gateway.ts
CHANGED
|
@@ -26,8 +26,15 @@ type OnboardingSubmitResponse = {
|
|
|
26
26
|
};
|
|
27
27
|
};
|
|
28
28
|
|
|
29
|
+
type TransactionSubmitRequest = {
|
|
30
|
+
serialized: string;
|
|
31
|
+
signature: string;
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
type TransactionSubmitResponse = { updateId: string };
|
|
35
|
+
|
|
29
36
|
export type InstrumentBalance = {
|
|
30
|
-
|
|
37
|
+
instrument_id: string;
|
|
31
38
|
amount: number;
|
|
32
39
|
locked: boolean;
|
|
33
40
|
};
|
|
@@ -118,6 +125,18 @@ export async function submitOnboarding(
|
|
|
118
125
|
return data;
|
|
119
126
|
}
|
|
120
127
|
|
|
128
|
+
export async function submit(serializedTx: string, signature: string) {
|
|
129
|
+
const { data } = await network<TransactionSubmitResponse>({
|
|
130
|
+
method: "POST",
|
|
131
|
+
url: `${getGatewayUrl()}/v1/node/${getNodeId()}/transaction/submit`,
|
|
132
|
+
data: {
|
|
133
|
+
serialized: serializedTx,
|
|
134
|
+
signature,
|
|
135
|
+
} satisfies TransactionSubmitRequest,
|
|
136
|
+
});
|
|
137
|
+
return data;
|
|
138
|
+
}
|
|
139
|
+
|
|
121
140
|
export async function getBalance(partyId: string): Promise<InstrumentBalance[]> {
|
|
122
141
|
const { data } = await network<InstrumentBalance[]>({
|
|
123
142
|
method: "GET",
|