@bitgo-beta/sdk-coin-canton 1.0.1-beta.6 → 1.0.1-beta.61
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/dist/resources/hash/hash.d.ts +5 -0
- package/dist/resources/hash/hash.js +298 -0
- package/dist/resources/proto/damlTransaction.js +100 -0
- package/dist/resources/proto/damlTransactionNode.js +71 -0
- package/dist/resources/proto/damlTransactionNodeSeed.js +56 -0
- package/dist/resources/proto/metadata/metadataGlobalKeyMappingEntry.js +53 -0
- package/dist/resources/proto/metadata/metadataInputContract.js +80 -0
- package/dist/resources/proto/metadata/metadataSubmitterInfo.js +62 -0
- package/dist/resources/proto/metadata.js +189 -0
- package/dist/resources/proto/node/empty.js +36 -0
- package/dist/resources/proto/node/globalKey.js +81 -0
- package/dist/resources/proto/node/identifier.js +73 -0
- package/dist/resources/proto/node/node.js +664 -0
- package/dist/resources/proto/node/timestamp.js +145 -0
- package/dist/resources/proto/node/value.js +838 -0
- package/dist/resources/proto/preparedTransaction.d.ts +8 -0
- package/dist/resources/proto/preparedTransaction.js +66 -0
- package/dist/src/canton.d.ts +39 -0
- package/dist/src/canton.d.ts.map +1 -0
- package/dist/src/canton.js +119 -0
- package/dist/src/index.d.ts +5 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +21 -0
- package/dist/src/lib/constant.d.ts +14 -0
- package/dist/src/lib/constant.d.ts.map +1 -0
- package/dist/src/lib/constant.js +17 -0
- package/dist/src/lib/iface.d.ts +77 -0
- package/dist/src/lib/iface.d.ts.map +1 -0
- package/dist/src/lib/iface.js +3 -0
- package/dist/src/lib/index.d.ts +12 -0
- package/dist/src/lib/index.d.ts.map +1 -0
- package/dist/src/lib/index.js +57 -0
- package/dist/src/lib/keyPair.d.ts +18 -0
- package/dist/src/lib/keyPair.d.ts.map +1 -0
- package/dist/src/lib/keyPair.js +44 -0
- package/dist/src/lib/oneStepPreApprovalBuilder.d.ts +49 -0
- package/dist/src/lib/oneStepPreApprovalBuilder.d.ts.map +1 -0
- package/dist/src/lib/oneStepPreApprovalBuilder.js +87 -0
- package/dist/src/lib/resourcesInterface.d.ts +214 -0
- package/dist/src/lib/resourcesInterface.d.ts.map +1 -0
- package/dist/src/lib/resourcesInterface.js +3 -0
- package/dist/src/lib/transaction/transaction.d.ts +18 -0
- package/dist/src/lib/transaction/transaction.d.ts.map +1 -0
- package/dist/src/lib/transaction/transaction.js +79 -0
- package/dist/src/lib/transactionBuilder.d.ts +36 -0
- package/dist/src/lib/transactionBuilder.d.ts.map +1 -0
- package/dist/src/lib/transactionBuilder.js +86 -0
- package/dist/src/lib/transactionBuilderFactory.d.ts +21 -0
- package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -0
- package/dist/src/lib/transactionBuilderFactory.js +57 -0
- package/dist/src/lib/transferAcceptanceBuilder.d.ts +57 -0
- package/dist/src/lib/transferAcceptanceBuilder.d.ts.map +1 -0
- package/dist/src/lib/transferAcceptanceBuilder.js +102 -0
- package/dist/src/lib/transferBuilder.d.ts +10 -0
- package/dist/src/lib/transferBuilder.d.ts.map +1 -0
- package/dist/src/lib/transferBuilder.js +18 -0
- package/dist/src/lib/utils.d.ts +113 -0
- package/dist/src/lib/utils.d.ts.map +1 -0
- package/dist/src/lib/utils.js +257 -0
- package/dist/src/lib/walletInitBuilder.d.ts +101 -0
- package/dist/src/lib/walletInitBuilder.d.ts.map +1 -0
- package/dist/src/lib/walletInitBuilder.js +232 -0
- package/dist/src/lib/walletInitialization/walletInitTransaction.d.ts +16 -0
- package/dist/src/lib/walletInitialization/walletInitTransaction.d.ts.map +1 -0
- package/dist/src/lib/walletInitialization/walletInitTransaction.js +87 -0
- package/dist/src/register.d.ts +3 -0
- package/dist/src/register.d.ts.map +1 -0
- package/dist/src/register.js +11 -0
- package/dist/src/tcanton.d.ts +17 -0
- package/dist/src/tcanton.d.ts.map +1 -0
- package/dist/src/tcanton.js +30 -0
- package/dist/test/integration/index.d.ts +1 -0
- package/dist/test/integration/index.d.ts.map +1 -0
- package/dist/test/integration/index.js +1 -0
- package/dist/test/resources.d.ts +58 -0
- package/dist/test/resources.d.ts.map +1 -0
- package/dist/test/resources.js +73 -0
- package/dist/test/unit/builder/oneStepEnablement/oneStepEnablementBuilder.d.ts +2 -0
- package/dist/test/unit/builder/oneStepEnablement/oneStepEnablementBuilder.d.ts.map +1 -0
- package/dist/test/unit/builder/oneStepEnablement/oneStepEnablementBuilder.js +67 -0
- package/dist/test/unit/builder/transferAccept/transferAcceptBuilder.d.ts +2 -0
- package/dist/test/unit/builder/transferAccept/transferAcceptBuilder.d.ts.map +1 -0
- package/dist/test/unit/builder/transferAccept/transferAcceptBuilder.js +70 -0
- package/dist/test/unit/builder/walletInit/walletInitBuilder.d.ts +2 -0
- package/dist/test/unit/builder/walletInit/walletInitBuilder.d.ts.map +1 -0
- package/dist/test/unit/builder/walletInit/walletInitBuilder.js +65 -0
- package/dist/test/unit/index.d.ts +2 -0
- package/dist/test/unit/index.d.ts.map +1 -0
- package/dist/test/unit/index.js +16 -0
- package/dist/test/unit/keyPair.d.ts +2 -0
- package/dist/test/unit/keyPair.d.ts.map +1 -0
- package/dist/test/unit/keyPair.js +72 -0
- package/dist/test/unit/utils.d.ts +2 -0
- package/dist/test/unit/utils.d.ts.map +1 -0
- package/dist/test/unit/utils.js +62 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +32 -10
- package/.eslintignore +0 -5
- package/.mocharc.yml +0 -8
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TransactionBuilderFactory = void 0;
|
|
4
|
+
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
5
|
+
const transferAcceptanceBuilder_1 = require("./transferAcceptanceBuilder");
|
|
6
|
+
const transferBuilder_1 = require("./transferBuilder");
|
|
7
|
+
const transaction_1 = require("./transaction/transaction");
|
|
8
|
+
const walletInitBuilder_1 = require("./walletInitBuilder");
|
|
9
|
+
const walletInitTransaction_1 = require("./walletInitialization/walletInitTransaction");
|
|
10
|
+
class TransactionBuilderFactory extends sdk_core_1.BaseTransactionBuilderFactory {
|
|
11
|
+
constructor(_coinConfig) {
|
|
12
|
+
super(_coinConfig);
|
|
13
|
+
}
|
|
14
|
+
/** @inheritdoc */
|
|
15
|
+
from(raw) {
|
|
16
|
+
try {
|
|
17
|
+
const tx = new walletInitTransaction_1.WalletInitTransaction(this._coinConfig);
|
|
18
|
+
tx.fromRawTransaction(raw);
|
|
19
|
+
return this.getWalletInitializationBuilder(tx);
|
|
20
|
+
}
|
|
21
|
+
catch {
|
|
22
|
+
const tx = new transaction_1.Transaction(this._coinConfig);
|
|
23
|
+
tx.fromRawTransaction(raw);
|
|
24
|
+
switch (tx.type) {
|
|
25
|
+
case sdk_core_1.TransactionType.Send: {
|
|
26
|
+
return this.getTransferBuilder(tx);
|
|
27
|
+
}
|
|
28
|
+
case sdk_core_1.TransactionType.TransferAccept: {
|
|
29
|
+
return this.getTransferAcceptanceBuilder(tx);
|
|
30
|
+
}
|
|
31
|
+
default: {
|
|
32
|
+
throw new sdk_core_1.InvalidTransactionError('unsupported transaction');
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
/** @inheritdoc */
|
|
38
|
+
getTransferAcceptanceBuilder(tx) {
|
|
39
|
+
return TransactionBuilderFactory.initializeBuilder(tx, new transferAcceptanceBuilder_1.TransferAcceptanceBuilder(this._coinConfig));
|
|
40
|
+
}
|
|
41
|
+
/** @inheritdoc */
|
|
42
|
+
getTransferBuilder(tx) {
|
|
43
|
+
return TransactionBuilderFactory.initializeBuilder(tx, new transferBuilder_1.TransferBuilder(this._coinConfig));
|
|
44
|
+
}
|
|
45
|
+
/** @inheritdoc */
|
|
46
|
+
getWalletInitializationBuilder(tx) {
|
|
47
|
+
return TransactionBuilderFactory.initializeBuilder(tx, new walletInitBuilder_1.WalletInitBuilder(this._coinConfig));
|
|
48
|
+
}
|
|
49
|
+
static initializeBuilder(tx, builder) {
|
|
50
|
+
if (tx) {
|
|
51
|
+
builder.initBuilder(tx);
|
|
52
|
+
}
|
|
53
|
+
return builder;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
exports.TransactionBuilderFactory = TransactionBuilderFactory;
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtREFLOEI7QUFFOUIsMkVBQXdFO0FBRXhFLHVEQUFvRDtBQUNwRCwyREFBd0Q7QUFDeEQsMkRBQXdEO0FBQ3hELHdGQUFxRjtBQUVyRixNQUFhLHlCQUEwQixTQUFRLHdDQUE2QjtJQUMxRSxZQUFZLFdBQWlDO1FBQzNDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBQ0Qsa0JBQWtCO0lBQ2xCLElBQUksQ0FBQyxHQUFXO1FBQ2QsSUFBSSxDQUFDO1lBQ0gsTUFBTSxFQUFFLEdBQUcsSUFBSSw2Q0FBcUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDdkQsRUFBRSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzNCLE9BQU8sSUFBSSxDQUFDLDhCQUE4QixDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2pELENBQUM7UUFBQyxNQUFNLENBQUM7WUFDUCxNQUFNLEVBQUUsR0FBRyxJQUFJLHlCQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQzdDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUMzQixRQUFRLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDaEIsS0FBSywwQkFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7b0JBQzFCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUNyQyxDQUFDO2dCQUNELEtBQUssMEJBQWUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO29CQUNwQyxPQUFPLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDL0MsQ0FBQztnQkFDRCxPQUFPLENBQUMsQ0FBQyxDQUFDO29CQUNSLE1BQU0sSUFBSSxrQ0FBdUIsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO2dCQUMvRCxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLDRCQUE0QixDQUFDLEVBQWdCO1FBQzNDLE9BQU8seUJBQXlCLENBQUMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLElBQUkscURBQXlCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDMUcsQ0FBQztJQUVELGtCQUFrQjtJQUNsQixrQkFBa0IsQ0FBQyxFQUFnQjtRQUNqQyxPQUFPLHlCQUF5QixDQUFDLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxJQUFJLGlDQUFlLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDaEcsQ0FBQztJQUVELGtCQUFrQjtJQUNsQiw4QkFBOEIsQ0FBQyxFQUEwQjtRQUN2RCxPQUFPLHlCQUF5QixDQUFDLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxJQUFJLHFDQUFpQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQ2xHLENBQUM7SUFFTyxNQUFNLENBQUMsaUJBQWlCLENBQzlCLEVBQW1CLEVBQ25CLE9BQWlCO1FBRWpCLElBQUksRUFBRSxFQUFFLENBQUM7WUFDUCxPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzFCLENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0NBQ0Y7QUFuREQsOERBbURDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQmFzZVRyYW5zYWN0aW9uLFxuICBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSxcbiAgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IsXG4gIFRyYW5zYWN0aW9uVHlwZSxcbn0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHsgVHJhbnNmZXJBY2NlcHRhbmNlQnVpbGRlciB9IGZyb20gJy4vdHJhbnNmZXJBY2NlcHRhbmNlQnVpbGRlcic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlcic7XG5pbXBvcnQgeyBUcmFuc2ZlckJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zZmVyQnVpbGRlcic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgV2FsbGV0SW5pdEJ1aWxkZXIgfSBmcm9tICcuL3dhbGxldEluaXRCdWlsZGVyJztcbmltcG9ydCB7IFdhbGxldEluaXRUcmFuc2FjdGlvbiB9IGZyb20gJy4vd2FsbGV0SW5pdGlhbGl6YXRpb24vd2FsbGV0SW5pdFRyYW5zYWN0aW9uJztcblxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkgZXh0ZW5kcyBCYXNlVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSB7XG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgfVxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgZnJvbShyYXc6IHN0cmluZyk6IFRyYW5zYWN0aW9uQnVpbGRlciB8IFdhbGxldEluaXRCdWlsZGVyIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgdHggPSBuZXcgV2FsbGV0SW5pdFRyYW5zYWN0aW9uKHRoaXMuX2NvaW5Db25maWcpO1xuICAgICAgdHguZnJvbVJhd1RyYW5zYWN0aW9uKHJhdyk7XG4gICAgICByZXR1cm4gdGhpcy5nZXRXYWxsZXRJbml0aWFsaXphdGlvbkJ1aWxkZXIodHgpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgY29uc3QgdHggPSBuZXcgVHJhbnNhY3Rpb24odGhpcy5fY29pbkNvbmZpZyk7XG4gICAgICB0eC5mcm9tUmF3VHJhbnNhY3Rpb24ocmF3KTtcbiAgICAgIHN3aXRjaCAodHgudHlwZSkge1xuICAgICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5TZW5kOiB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VHJhbnNmZXJCdWlsZGVyKHR4KTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5UcmFuc2ZlckFjY2VwdDoge1xuICAgICAgICAgIHJldHVybiB0aGlzLmdldFRyYW5zZmVyQWNjZXB0YW5jZUJ1aWxkZXIodHgpO1xuICAgICAgICB9XG4gICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ3Vuc3VwcG9ydGVkIHRyYW5zYWN0aW9uJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiogQGluaGVyaXRkb2MgKi9cbiAgZ2V0VHJhbnNmZXJBY2NlcHRhbmNlQnVpbGRlcih0eD86IFRyYW5zYWN0aW9uKTogVHJhbnNmZXJBY2NlcHRhbmNlQnVpbGRlciB7XG4gICAgcmV0dXJuIFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkuaW5pdGlhbGl6ZUJ1aWxkZXIodHgsIG5ldyBUcmFuc2ZlckFjY2VwdGFuY2VCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBnZXRUcmFuc2ZlckJ1aWxkZXIodHg/OiBUcmFuc2FjdGlvbik6IFRyYW5zZmVyQnVpbGRlciB7XG4gICAgcmV0dXJuIFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkuaW5pdGlhbGl6ZUJ1aWxkZXIodHgsIG5ldyBUcmFuc2ZlckJ1aWxkZXIodGhpcy5fY29pbkNvbmZpZykpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIGdldFdhbGxldEluaXRpYWxpemF0aW9uQnVpbGRlcih0eD86IFdhbGxldEluaXRUcmFuc2FjdGlvbik6IFdhbGxldEluaXRCdWlsZGVyIHtcbiAgICByZXR1cm4gVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeS5pbml0aWFsaXplQnVpbGRlcih0eCwgbmV3IFdhbGxldEluaXRCdWlsZGVyKHRoaXMuX2NvaW5Db25maWcpKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGluaXRpYWxpemVCdWlsZGVyPFRUeCBleHRlbmRzIEJhc2VUcmFuc2FjdGlvbiwgVEJ1aWxkZXIgZXh0ZW5kcyB7IGluaXRCdWlsZGVyKHR4OiBUVHgpOiB2b2lkIH0+KFxuICAgIHR4OiBUVHggfCB1bmRlZmluZWQsXG4gICAgYnVpbGRlcjogVEJ1aWxkZXJcbiAgKTogVEJ1aWxkZXIge1xuICAgIGlmICh0eCkge1xuICAgICAgYnVpbGRlci5pbml0QnVpbGRlcih0eCk7XG4gICAgfVxuICAgIHJldHVybiBidWlsZGVyO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { TransactionType } from '@bitgo-beta/sdk-core';
|
|
2
|
+
import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
|
|
3
|
+
import { CantonPrepareCommandResponse, CantonTransferAcceptRequest } from './iface';
|
|
4
|
+
import { TransactionBuilder } from './transactionBuilder';
|
|
5
|
+
import { Transaction } from './transaction/transaction';
|
|
6
|
+
export declare class TransferAcceptanceBuilder extends TransactionBuilder {
|
|
7
|
+
private _commandId;
|
|
8
|
+
private _contractId;
|
|
9
|
+
private _actAsPartyId;
|
|
10
|
+
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
11
|
+
initBuilder(tx: Transaction): void;
|
|
12
|
+
get transactionType(): TransactionType;
|
|
13
|
+
setTransactionType(): void;
|
|
14
|
+
setTransaction(transaction: CantonPrepareCommandResponse): void;
|
|
15
|
+
/**
|
|
16
|
+
* Sets the unique id for the transfer acceptance
|
|
17
|
+
* Also sets the _id of the transaction
|
|
18
|
+
*
|
|
19
|
+
* @param id - A uuid
|
|
20
|
+
* @returns The current builder instance for chaining.
|
|
21
|
+
* @throws Error if id is empty.
|
|
22
|
+
*/
|
|
23
|
+
commandId(id: string): this;
|
|
24
|
+
/**
|
|
25
|
+
* Sets the acceptance contract id the receiver needs to accept
|
|
26
|
+
* @param id - canton acceptance contract id
|
|
27
|
+
* @returns The current builder instance for chaining.
|
|
28
|
+
* @throws Error if id is empty.
|
|
29
|
+
*/
|
|
30
|
+
contractId(id: string): this;
|
|
31
|
+
/**
|
|
32
|
+
* Sets the receiver of the acceptance
|
|
33
|
+
*
|
|
34
|
+
* @param id - the receiver party id (address)
|
|
35
|
+
* @returns The current builder instance for chaining.
|
|
36
|
+
* @throws Error if id is empty.
|
|
37
|
+
*/
|
|
38
|
+
actAs(id: string): this;
|
|
39
|
+
/**
|
|
40
|
+
* Builds and returns the CantonTransferAcceptRequest object from the builder's internal state.
|
|
41
|
+
*
|
|
42
|
+
* This method performs validation before constructing the object. If required fields are
|
|
43
|
+
* missing or invalid, it throws an error.
|
|
44
|
+
*
|
|
45
|
+
* @returns {CantonTransferAcceptRequest} - A fully constructed and validated request object for transfer acceptance.
|
|
46
|
+
* @throws {Error} If any required field is missing or fails validation.
|
|
47
|
+
*/
|
|
48
|
+
toRequestObject(): CantonTransferAcceptRequest;
|
|
49
|
+
/**
|
|
50
|
+
* Validates the internal state of the builder before building the request object.
|
|
51
|
+
*
|
|
52
|
+
* @private
|
|
53
|
+
* @throws {Error} If any required field is missing or invalid.
|
|
54
|
+
*/
|
|
55
|
+
private validate;
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=transferAcceptanceBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transferAcceptanceBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/transferAcceptanceBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,4BAA4B,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAC;AACpF,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,qBAAa,yBAA0B,SAAQ,kBAAkB;IAC/D,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,aAAa,CAAS;gBAClB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,WAAW,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAKlC,IAAI,eAAe,IAAI,eAAe,CAErC;IAED,kBAAkB,IAAI,IAAI;IAI1B,cAAc,CAAC,WAAW,EAAE,4BAA4B,GAAG,IAAI;IAI/D;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAU3B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAQ5B;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAQvB;;;;;;;;OAQG;IACH,eAAe,IAAI,2BAA2B;IAY9C;;;;;OAKG;IACH,OAAO,CAAC,QAAQ;CAKjB"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TransferAcceptanceBuilder = void 0;
|
|
4
|
+
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
5
|
+
const transactionBuilder_1 = require("./transactionBuilder");
|
|
6
|
+
class TransferAcceptanceBuilder extends transactionBuilder_1.TransactionBuilder {
|
|
7
|
+
constructor(_coinConfig) {
|
|
8
|
+
super(_coinConfig);
|
|
9
|
+
}
|
|
10
|
+
initBuilder(tx) {
|
|
11
|
+
super.initBuilder(tx);
|
|
12
|
+
this.setTransactionType();
|
|
13
|
+
}
|
|
14
|
+
get transactionType() {
|
|
15
|
+
return sdk_core_1.TransactionType.TransferAccept;
|
|
16
|
+
}
|
|
17
|
+
setTransactionType() {
|
|
18
|
+
this.transaction.transactionType = sdk_core_1.TransactionType.TransferAccept;
|
|
19
|
+
}
|
|
20
|
+
setTransaction(transaction) {
|
|
21
|
+
this.transaction.prepareCommand = transaction;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Sets the unique id for the transfer acceptance
|
|
25
|
+
* Also sets the _id of the transaction
|
|
26
|
+
*
|
|
27
|
+
* @param id - A uuid
|
|
28
|
+
* @returns The current builder instance for chaining.
|
|
29
|
+
* @throws Error if id is empty.
|
|
30
|
+
*/
|
|
31
|
+
commandId(id) {
|
|
32
|
+
if (!id.trim()) {
|
|
33
|
+
throw new Error('commandId must be a non-empty string');
|
|
34
|
+
}
|
|
35
|
+
this._commandId = id.trim();
|
|
36
|
+
// also set the transaction _id
|
|
37
|
+
this.transaction.id = id.trim();
|
|
38
|
+
return this;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Sets the acceptance contract id the receiver needs to accept
|
|
42
|
+
* @param id - canton acceptance contract id
|
|
43
|
+
* @returns The current builder instance for chaining.
|
|
44
|
+
* @throws Error if id is empty.
|
|
45
|
+
*/
|
|
46
|
+
contractId(id) {
|
|
47
|
+
if (!id.trim()) {
|
|
48
|
+
throw new Error('contractId must be a non-empty string');
|
|
49
|
+
}
|
|
50
|
+
this._contractId = id.trim();
|
|
51
|
+
return this;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Sets the receiver of the acceptance
|
|
55
|
+
*
|
|
56
|
+
* @param id - the receiver party id (address)
|
|
57
|
+
* @returns The current builder instance for chaining.
|
|
58
|
+
* @throws Error if id is empty.
|
|
59
|
+
*/
|
|
60
|
+
actAs(id) {
|
|
61
|
+
if (!id.trim()) {
|
|
62
|
+
throw new Error('actAsPartyId must be a non-empty string');
|
|
63
|
+
}
|
|
64
|
+
this._actAsPartyId = id.trim();
|
|
65
|
+
return this;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Builds and returns the CantonTransferAcceptRequest object from the builder's internal state.
|
|
69
|
+
*
|
|
70
|
+
* This method performs validation before constructing the object. If required fields are
|
|
71
|
+
* missing or invalid, it throws an error.
|
|
72
|
+
*
|
|
73
|
+
* @returns {CantonTransferAcceptRequest} - A fully constructed and validated request object for transfer acceptance.
|
|
74
|
+
* @throws {Error} If any required field is missing or fails validation.
|
|
75
|
+
*/
|
|
76
|
+
toRequestObject() {
|
|
77
|
+
this.validate();
|
|
78
|
+
return {
|
|
79
|
+
commandId: this._commandId,
|
|
80
|
+
contractId: this._contractId,
|
|
81
|
+
verboseHashing: false,
|
|
82
|
+
actAs: [this._actAsPartyId],
|
|
83
|
+
readAs: [],
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Validates the internal state of the builder before building the request object.
|
|
88
|
+
*
|
|
89
|
+
* @private
|
|
90
|
+
* @throws {Error} If any required field is missing or invalid.
|
|
91
|
+
*/
|
|
92
|
+
validate() {
|
|
93
|
+
if (!this._commandId)
|
|
94
|
+
throw new Error('commandId is missing');
|
|
95
|
+
if (!this._contractId)
|
|
96
|
+
throw new Error('contractId is missing');
|
|
97
|
+
if (!this._actAsPartyId)
|
|
98
|
+
throw new Error('receiver partyId is missing');
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
exports.TransferAcceptanceBuilder = TransferAcceptanceBuilder;
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJBY2NlcHRhbmNlQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdHJhbnNmZXJBY2NlcHRhbmNlQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtREFBdUQ7QUFHdkQsNkRBQTBEO0FBRzFELE1BQWEseUJBQTBCLFNBQVEsdUNBQWtCO0lBSS9ELFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxXQUFXLENBQUMsRUFBZTtRQUN6QixLQUFLLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFJLGVBQWU7UUFDakIsT0FBTywwQkFBZSxDQUFDLGNBQWMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxHQUFHLDBCQUFlLENBQUMsY0FBYyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxjQUFjLENBQUMsV0FBeUM7UUFDdEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEdBQUcsV0FBVyxDQUFDO0lBQ2hELENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsU0FBUyxDQUFDLEVBQVU7UUFDbEIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ2YsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO1FBQzFELENBQUM7UUFDRCxJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM1QiwrQkFBK0I7UUFDL0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2hDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsVUFBVSxDQUFDLEVBQVU7UUFDbkIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ2YsTUFBTSxJQUFJLEtBQUssQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDO1FBQzNELENBQUM7UUFDRCxJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM3QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxLQUFLLENBQUMsRUFBVTtRQUNkLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUNmLE1BQU0sSUFBSSxLQUFLLENBQUMseUNBQXlDLENBQUMsQ0FBQztRQUM3RCxDQUFDO1FBQ0QsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDL0IsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSCxlQUFlO1FBQ2IsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRWhCLE9BQU87WUFDTCxTQUFTLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDMUIsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQzVCLGNBQWMsRUFBRSxLQUFLO1lBQ3JCLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7WUFDM0IsTUFBTSxFQUFFLEVBQUU7U0FDWCxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ssUUFBUTtRQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVc7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDaEUsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0lBQzFFLENBQUM7Q0FDRjtBQXhHRCw4REF3R0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBDYW50b25QcmVwYXJlQ29tbWFuZFJlc3BvbnNlLCBDYW50b25UcmFuc2ZlckFjY2VwdFJlcXVlc3QgfSBmcm9tICcuL2lmYWNlJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi90cmFuc2FjdGlvbi90cmFuc2FjdGlvbic7XG5cbmV4cG9ydCBjbGFzcyBUcmFuc2ZlckFjY2VwdGFuY2VCdWlsZGVyIGV4dGVuZHMgVHJhbnNhY3Rpb25CdWlsZGVyIHtcbiAgcHJpdmF0ZSBfY29tbWFuZElkOiBzdHJpbmc7XG4gIHByaXZhdGUgX2NvbnRyYWN0SWQ6IHN0cmluZztcbiAgcHJpdmF0ZSBfYWN0QXNQYXJ0eUlkOiBzdHJpbmc7XG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIGluaXRCdWlsZGVyKHR4OiBUcmFuc2FjdGlvbik6IHZvaWQge1xuICAgIHN1cGVyLmluaXRCdWlsZGVyKHR4KTtcbiAgICB0aGlzLnNldFRyYW5zYWN0aW9uVHlwZSgpO1xuICB9XG5cbiAgZ2V0IHRyYW5zYWN0aW9uVHlwZSgpOiBUcmFuc2FjdGlvblR5cGUge1xuICAgIHJldHVybiBUcmFuc2FjdGlvblR5cGUuVHJhbnNmZXJBY2NlcHQ7XG4gIH1cblxuICBzZXRUcmFuc2FjdGlvblR5cGUoKTogdm9pZCB7XG4gICAgdGhpcy50cmFuc2FjdGlvbi50cmFuc2FjdGlvblR5cGUgPSBUcmFuc2FjdGlvblR5cGUuVHJhbnNmZXJBY2NlcHQ7XG4gIH1cblxuICBzZXRUcmFuc2FjdGlvbih0cmFuc2FjdGlvbjogQ2FudG9uUHJlcGFyZUNvbW1hbmRSZXNwb25zZSk6IHZvaWQge1xuICAgIHRoaXMudHJhbnNhY3Rpb24ucHJlcGFyZUNvbW1hbmQgPSB0cmFuc2FjdGlvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSB1bmlxdWUgaWQgZm9yIHRoZSB0cmFuc2ZlciBhY2NlcHRhbmNlXG4gICAqIEFsc28gc2V0cyB0aGUgX2lkIG9mIHRoZSB0cmFuc2FjdGlvblxuICAgKlxuICAgKiBAcGFyYW0gaWQgLSBBIHV1aWRcbiAgICogQHJldHVybnMgVGhlIGN1cnJlbnQgYnVpbGRlciBpbnN0YW5jZSBmb3IgY2hhaW5pbmcuXG4gICAqIEB0aHJvd3MgRXJyb3IgaWYgaWQgaXMgZW1wdHkuXG4gICAqL1xuICBjb21tYW5kSWQoaWQ6IHN0cmluZyk6IHRoaXMge1xuICAgIGlmICghaWQudHJpbSgpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2NvbW1hbmRJZCBtdXN0IGJlIGEgbm9uLWVtcHR5IHN0cmluZycpO1xuICAgIH1cbiAgICB0aGlzLl9jb21tYW5kSWQgPSBpZC50cmltKCk7XG4gICAgLy8gYWxzbyBzZXQgdGhlIHRyYW5zYWN0aW9uIF9pZFxuICAgIHRoaXMudHJhbnNhY3Rpb24uaWQgPSBpZC50cmltKCk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgYWNjZXB0YW5jZSBjb250cmFjdCBpZCB0aGUgcmVjZWl2ZXIgbmVlZHMgdG8gYWNjZXB0XG4gICAqIEBwYXJhbSBpZCAtIGNhbnRvbiBhY2NlcHRhbmNlIGNvbnRyYWN0IGlkXG4gICAqIEByZXR1cm5zIFRoZSBjdXJyZW50IGJ1aWxkZXIgaW5zdGFuY2UgZm9yIGNoYWluaW5nLlxuICAgKiBAdGhyb3dzIEVycm9yIGlmIGlkIGlzIGVtcHR5LlxuICAgKi9cbiAgY29udHJhY3RJZChpZDogc3RyaW5nKTogdGhpcyB7XG4gICAgaWYgKCFpZC50cmltKCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignY29udHJhY3RJZCBtdXN0IGJlIGEgbm9uLWVtcHR5IHN0cmluZycpO1xuICAgIH1cbiAgICB0aGlzLl9jb250cmFjdElkID0gaWQudHJpbSgpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHJlY2VpdmVyIG9mIHRoZSBhY2NlcHRhbmNlXG4gICAqXG4gICAqIEBwYXJhbSBpZCAtIHRoZSByZWNlaXZlciBwYXJ0eSBpZCAoYWRkcmVzcylcbiAgICogQHJldHVybnMgVGhlIGN1cnJlbnQgYnVpbGRlciBpbnN0YW5jZSBmb3IgY2hhaW5pbmcuXG4gICAqIEB0aHJvd3MgRXJyb3IgaWYgaWQgaXMgZW1wdHkuXG4gICAqL1xuICBhY3RBcyhpZDogc3RyaW5nKTogdGhpcyB7XG4gICAgaWYgKCFpZC50cmltKCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignYWN0QXNQYXJ0eUlkIG11c3QgYmUgYSBub24tZW1wdHkgc3RyaW5nJyk7XG4gICAgfVxuICAgIHRoaXMuX2FjdEFzUGFydHlJZCA9IGlkLnRyaW0oKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZHMgYW5kIHJldHVybnMgdGhlIENhbnRvblRyYW5zZmVyQWNjZXB0UmVxdWVzdCBvYmplY3QgZnJvbSB0aGUgYnVpbGRlcidzIGludGVybmFsIHN0YXRlLlxuICAgKlxuICAgKiBUaGlzIG1ldGhvZCBwZXJmb3JtcyB2YWxpZGF0aW9uIGJlZm9yZSBjb25zdHJ1Y3RpbmcgdGhlIG9iamVjdC4gSWYgcmVxdWlyZWQgZmllbGRzIGFyZVxuICAgKiBtaXNzaW5nIG9yIGludmFsaWQsIGl0IHRocm93cyBhbiBlcnJvci5cbiAgICpcbiAgICogQHJldHVybnMge0NhbnRvblRyYW5zZmVyQWNjZXB0UmVxdWVzdH0gLSBBIGZ1bGx5IGNvbnN0cnVjdGVkIGFuZCB2YWxpZGF0ZWQgcmVxdWVzdCBvYmplY3QgZm9yIHRyYW5zZmVyIGFjY2VwdGFuY2UuXG4gICAqIEB0aHJvd3Mge0Vycm9yfSBJZiBhbnkgcmVxdWlyZWQgZmllbGQgaXMgbWlzc2luZyBvciBmYWlscyB2YWxpZGF0aW9uLlxuICAgKi9cbiAgdG9SZXF1ZXN0T2JqZWN0KCk6IENhbnRvblRyYW5zZmVyQWNjZXB0UmVxdWVzdCB7XG4gICAgdGhpcy52YWxpZGF0ZSgpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbW1hbmRJZDogdGhpcy5fY29tbWFuZElkLFxuICAgICAgY29udHJhY3RJZDogdGhpcy5fY29udHJhY3RJZCxcbiAgICAgIHZlcmJvc2VIYXNoaW5nOiBmYWxzZSxcbiAgICAgIGFjdEFzOiBbdGhpcy5fYWN0QXNQYXJ0eUlkXSxcbiAgICAgIHJlYWRBczogW10sXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgdGhlIGludGVybmFsIHN0YXRlIG9mIHRoZSBidWlsZGVyIGJlZm9yZSBidWlsZGluZyB0aGUgcmVxdWVzdCBvYmplY3QuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEB0aHJvd3Mge0Vycm9yfSBJZiBhbnkgcmVxdWlyZWQgZmllbGQgaXMgbWlzc2luZyBvciBpbnZhbGlkLlxuICAgKi9cbiAgcHJpdmF0ZSB2YWxpZGF0ZSgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2NvbW1hbmRJZCkgdGhyb3cgbmV3IEVycm9yKCdjb21tYW5kSWQgaXMgbWlzc2luZycpO1xuICAgIGlmICghdGhpcy5fY29udHJhY3RJZCkgdGhyb3cgbmV3IEVycm9yKCdjb250cmFjdElkIGlzIG1pc3NpbmcnKTtcbiAgICBpZiAoIXRoaXMuX2FjdEFzUGFydHlJZCkgdGhyb3cgbmV3IEVycm9yKCdyZWNlaXZlciBwYXJ0eUlkIGlzIG1pc3NpbmcnKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { TransactionType } from '@bitgo-beta/sdk-core';
|
|
2
|
+
import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
|
|
3
|
+
import { TransactionBuilder } from './transactionBuilder';
|
|
4
|
+
import { CantonPrepareCommandResponse } from './iface';
|
|
5
|
+
export declare class TransferBuilder extends TransactionBuilder {
|
|
6
|
+
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
7
|
+
protected get transactionType(): TransactionType;
|
|
8
|
+
setTransaction(transaction: CantonPrepareCommandResponse): void;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=transferBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transferBuilder.d.ts","sourceRoot":"","sources":["../../../src/lib/transferBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,4BAA4B,EAAE,MAAM,SAAS,CAAC;AAEvD,qBAAa,eAAgB,SAAQ,kBAAkB;gBACzC,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI7C,SAAS,KAAK,eAAe,IAAI,eAAe,CAE/C;IAED,cAAc,CAAC,WAAW,EAAE,4BAA4B,GAAG,IAAI;CAGhE"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TransferBuilder = void 0;
|
|
4
|
+
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
5
|
+
const transactionBuilder_1 = require("./transactionBuilder");
|
|
6
|
+
class TransferBuilder extends transactionBuilder_1.TransactionBuilder {
|
|
7
|
+
constructor(_coinConfig) {
|
|
8
|
+
super(_coinConfig);
|
|
9
|
+
}
|
|
10
|
+
get transactionType() {
|
|
11
|
+
return sdk_core_1.TransactionType.Send;
|
|
12
|
+
}
|
|
13
|
+
setTransaction(transaction) {
|
|
14
|
+
this.transaction.prepareCommand = transaction;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
exports.TransferBuilder = TransferBuilder;
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi90cmFuc2ZlckJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbURBQXVEO0FBRXZELDZEQUEwRDtBQUcxRCxNQUFhLGVBQWdCLFNBQVEsdUNBQWtCO0lBQ3JELFlBQVksV0FBaUM7UUFDM0MsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxJQUFjLGVBQWU7UUFDM0IsT0FBTywwQkFBZSxDQUFDLElBQUksQ0FBQztJQUM5QixDQUFDO0lBRUQsY0FBYyxDQUFDLFdBQXlDO1FBQ3RELElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxHQUFHLFdBQVcsQ0FBQztJQUNoRCxDQUFDO0NBQ0Y7QUFaRCwwQ0FZQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYW5zYWN0aW9uVHlwZSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IEJhc2VDb2luIGFzIENvaW5Db25maWcgfSBmcm9tICdAYml0Z28tYmV0YS9zdGF0aWNzJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyJztcbmltcG9ydCB7IENhbnRvblByZXBhcmVDb21tYW5kUmVzcG9uc2UgfSBmcm9tICcuL2lmYWNlJztcblxuZXhwb3J0IGNsYXNzIFRyYW5zZmVyQnVpbGRlciBleHRlbmRzIFRyYW5zYWN0aW9uQnVpbGRlciB7XG4gIGNvbnN0cnVjdG9yKF9jb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKF9jb2luQ29uZmlnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgdHJhbnNhY3Rpb25UeXBlKCk6IFRyYW5zYWN0aW9uVHlwZSB7XG4gICAgcmV0dXJuIFRyYW5zYWN0aW9uVHlwZS5TZW5kO1xuICB9XG5cbiAgc2V0VHJhbnNhY3Rpb24odHJhbnNhY3Rpb246IENhbnRvblByZXBhcmVDb21tYW5kUmVzcG9uc2UpOiB2b2lkIHtcbiAgICB0aGlzLnRyYW5zYWN0aW9uLnByZXBhcmVDb21tYW5kID0gdHJhbnNhY3Rpb247XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { BaseUtils } from '@bitgo-beta/sdk-core';
|
|
2
|
+
import { PreparedTxnParsedInfo } from './iface';
|
|
3
|
+
export declare class Utils implements BaseUtils {
|
|
4
|
+
/** @inheritdoc */
|
|
5
|
+
isValidAddress(address: string): boolean;
|
|
6
|
+
/** @inheritdoc */
|
|
7
|
+
isValidBlockId(hash: string): boolean;
|
|
8
|
+
/** @inheritdoc */
|
|
9
|
+
isValidPrivateKey(key: string): boolean;
|
|
10
|
+
/** @inheritdoc */
|
|
11
|
+
isValidPublicKey(key: string): boolean;
|
|
12
|
+
/** @inheritdoc */
|
|
13
|
+
isValidSignature(signature: string): boolean;
|
|
14
|
+
/** @inheritdoc */
|
|
15
|
+
isValidTransactionId(txId: string): boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Method to validate the input is a valid canton hex string
|
|
18
|
+
* @param {String} value the hex string value
|
|
19
|
+
* @returns {Boolean} true if valid
|
|
20
|
+
*/
|
|
21
|
+
isValidCantonHex(value: string): boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Method to create fingerprint (part of the canton partyId) from public key
|
|
24
|
+
* @param {String} publicKey the public key
|
|
25
|
+
* @returns {String}
|
|
26
|
+
*/
|
|
27
|
+
getAddressFromPublicKey(publicKey: string): string;
|
|
28
|
+
/**
|
|
29
|
+
* Method to parse raw canton transaction & get required data
|
|
30
|
+
* @param {String} rawData base64 encoded string
|
|
31
|
+
* @returns {PreparedTxnParsedInfo}
|
|
32
|
+
*/
|
|
33
|
+
parseRawCantonTransactionData(rawData: string): PreparedTxnParsedInfo;
|
|
34
|
+
/**
|
|
35
|
+
* Computes the topology hash from the API response of the 'create party' endpoint.
|
|
36
|
+
*
|
|
37
|
+
* @param topologyTransactions - List of base64-encoded topology transactions from the Canton API.
|
|
38
|
+
* @returns The final base64-encoded topology transaction hash.
|
|
39
|
+
*/
|
|
40
|
+
computeHashFromCreatePartyResponse(topologyTransactions: string[]): string;
|
|
41
|
+
computeHashFromPrepareSubmissionResponse(preparedTransactionBase64: string): Promise<string>;
|
|
42
|
+
/**
|
|
43
|
+
* Computes the final topology transaction hash for a list of prepared Canton transactions.
|
|
44
|
+
*
|
|
45
|
+
* Each transaction is first hashed with purpose `11`, then all hashes are combined and
|
|
46
|
+
* hashed again with purpose `55`, following the Canton topology hash rules.
|
|
47
|
+
*
|
|
48
|
+
* The resulting hash is encoded as a base64 string.
|
|
49
|
+
*
|
|
50
|
+
* @param {Buffer[]} preparedTransactions - An array of Canton transaction buffers.
|
|
51
|
+
* @returns {string} The final topology hash, base64-encoded.
|
|
52
|
+
*/
|
|
53
|
+
private computeHashFromTopologyTransaction;
|
|
54
|
+
/**
|
|
55
|
+
* Converts a base64-encoded Ed25519 public key string into a structured signing public key object.
|
|
56
|
+
* @param {String} publicKey The base64-encoded Ed25519 public key
|
|
57
|
+
* @returns {Object} The structured signing key object formatted for use with cryptographic operations
|
|
58
|
+
* @private
|
|
59
|
+
*/
|
|
60
|
+
private signingPublicKeyFromEd25519;
|
|
61
|
+
/**
|
|
62
|
+
* Creates a buffer with a 4-byte big-endian integer prefix followed by the provided byte buffer
|
|
63
|
+
* @param {Number} value The integer to prefix, written as 4 bytes in big-endian order
|
|
64
|
+
* @param {Buffer} bytes The buffer to append after the integer prefix
|
|
65
|
+
* @returns {Buffer} The resulting buffer with the prefixed integer
|
|
66
|
+
* @private
|
|
67
|
+
*/
|
|
68
|
+
private prefixedInt;
|
|
69
|
+
/**
|
|
70
|
+
* Computes an SHA-256 Canton-style hash by prefixing the input with a purpose identifier,
|
|
71
|
+
* then hashing the resulting buffer and prepending a multi-prefix
|
|
72
|
+
*
|
|
73
|
+
* @param {Number} purpose A numeric identifier to prefix the hash input with
|
|
74
|
+
* @param {Buffer} bytes The buffer to be hashed
|
|
75
|
+
* @returns {String} A hexadecimal string representation of the resulting hash with multi-prefix
|
|
76
|
+
* @private
|
|
77
|
+
*/
|
|
78
|
+
private computeSha256CantonHash;
|
|
79
|
+
/**
|
|
80
|
+
* Decodes a Base64-encoded string into a Uint8Array
|
|
81
|
+
* @param {String} b64 The Base64-encoded string
|
|
82
|
+
* @returns {Uint8Array} The decoded byte array
|
|
83
|
+
* @private
|
|
84
|
+
*/
|
|
85
|
+
private fromBase64;
|
|
86
|
+
/**
|
|
87
|
+
* Decodes a Base64-encoded prepared transaction into a structured object
|
|
88
|
+
* @param {String} base64 The Base64-encoded transaction data
|
|
89
|
+
* @returns {IPreparedTransaction} The decoded `IPreparedTransaction` object
|
|
90
|
+
* @private
|
|
91
|
+
*/
|
|
92
|
+
private decodePreparedTransaction;
|
|
93
|
+
/**
|
|
94
|
+
* Computes a deterministic combined hash from an array of individual Canton-style SHA-256 hashes
|
|
95
|
+
*
|
|
96
|
+
* Each hash is decoded from hex, sorted lexicographically (by hex), and prefixed with its length
|
|
97
|
+
* The final buffer includes the number of hashes followed by each (length-prefixed) hash
|
|
98
|
+
*
|
|
99
|
+
* @param {string[]} hashes - An array of Canton-prefixed SHA-256 hashes in hexadecimal string format
|
|
100
|
+
* @returns {Buffer} A binary buffer representing the combined hash input
|
|
101
|
+
*/
|
|
102
|
+
private computeMultiHashForTopology;
|
|
103
|
+
/**
|
|
104
|
+
* Encodes a 32-bit signed integer into a 4-byte big-endian Buffer
|
|
105
|
+
*
|
|
106
|
+
* @param {number} value - The integer to encode
|
|
107
|
+
* @returns {Buffer} A 4-byte buffer representing the integer in big-endian format
|
|
108
|
+
*/
|
|
109
|
+
private encodeInt32;
|
|
110
|
+
}
|
|
111
|
+
declare const utils: Utils;
|
|
112
|
+
export default utils;
|
|
113
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAA2B,MAAM,sBAAsB,CAAC;AAM1E,OAAO,EAA+C,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAG7F,qBAAa,KAAM,YAAW,SAAS;IACrC,kBAAkB;IAClB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAOxC,kBAAkB;IAClB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIrC,kBAAkB;IAClB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIvC,kBAAkB;IAClB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAItC,kBAAkB;IAClB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAI5C,kBAAkB;IAClB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI3C;;;;OAIG;IACH,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAKxC;;;;OAIG;IACH,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAMlD;;;;OAIG;IACH,6BAA6B,CAAC,OAAO,EAAE,MAAM,GAAG,qBAAqB;IAyDrE;;;;;OAKG;IACH,kCAAkC,CAAC,oBAAoB,EAAE,MAAM,EAAE,GAAG,MAAM;IAKpE,wCAAwC,CAAC,yBAAyB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAMlG;;;;;;;;;;OAUG;IACH,OAAO,CAAC,kCAAkC;IAO1C;;;;;OAKG;IACH,OAAO,CAAC,2BAA2B;IAgBnC;;;;;;OAMG;IACH,OAAO,CAAC,WAAW;IAOnB;;;;;;;;OAQG;IACH,OAAO,CAAC,uBAAuB;IAO/B;;;;;OAKG;IACH,OAAO,CAAC,UAAU;IAIlB;;;;;OAKG;IACH,OAAO,CAAC,yBAAyB;IAKjC;;;;;;;;OAQG;IACH,OAAO,CAAC,2BAA2B;IAgBnC;;;;;OAKG;IACH,OAAO,CAAC,WAAW;CAKpB;AAED,QAAA,MAAM,KAAK,OAAc,CAAC;AAE1B,eAAe,KAAK,CAAC"}
|