@bitgo-beta/sdk-coin-ada 2.3.14-beta.980 → 2.3.14-beta.981
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/src/lib/index.d.ts +1 -0
- package/dist/src/lib/index.d.ts.map +1 -1
- package/dist/src/lib/index.js +5 -1
- package/dist/src/lib/messages/cip8/cip8Message.d.ts +23 -0
- package/dist/src/lib/messages/cip8/cip8Message.d.ts.map +1 -0
- package/dist/src/lib/messages/cip8/cip8Message.js +114 -0
- package/dist/src/lib/messages/cip8/cip8MessageBuilder.d.ts +25 -0
- package/dist/src/lib/messages/cip8/cip8MessageBuilder.d.ts.map +1 -0
- package/dist/src/lib/messages/cip8/cip8MessageBuilder.js +68 -0
- package/dist/src/lib/messages/cip8/index.d.ts +3 -0
- package/dist/src/lib/messages/cip8/index.d.ts.map +1 -0
- package/dist/src/lib/messages/cip8/index.js +19 -0
- package/dist/src/lib/messages/cip8/utils.d.ts +24 -0
- package/dist/src/lib/messages/cip8/utils.d.ts.map +1 -0
- package/dist/src/lib/messages/cip8/utils.js +73 -0
- package/dist/src/lib/messages/index.d.ts +3 -0
- package/dist/src/lib/messages/index.d.ts.map +1 -0
- package/dist/src/lib/messages/index.js +19 -0
- package/dist/src/lib/messages/messageBuilderFactory.d.ts +7 -0
- package/dist/src/lib/messages/messageBuilderFactory.d.ts.map +1 -0
- package/dist/src/lib/messages/messageBuilderFactory.js +20 -0
- package/package.json +6 -6
package/dist/src/lib/index.d.ts
CHANGED
|
@@ -11,4 +11,5 @@ export { StakingWithdrawBuilder } from './stakingWithdrawBuilder';
|
|
|
11
11
|
export { StakingPledgeBuilder } from './stakingPledgeBuilder';
|
|
12
12
|
export { VoteDelegationBuilder } from './voteDelegationBuilder';
|
|
13
13
|
export { Utils };
|
|
14
|
+
export * from './messages';
|
|
14
15
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,CAAC;AACjB,cAAc,YAAY,CAAC"}
|
package/dist/src/lib/index.js
CHANGED
|
@@ -32,6 +32,9 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
32
32
|
return result;
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
36
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
37
|
+
};
|
|
35
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
39
|
exports.Utils = exports.VoteDelegationBuilder = exports.StakingPledgeBuilder = exports.StakingWithdrawBuilder = exports.StakingDeactivateBuilder = exports.StakingClaimRewardsBuilder = exports.StakingActivateBuilder = exports.TransactionBuilderFactory = exports.TransferBuilder = exports.TransactionBuilder = exports.Transaction = exports.KeyPair = void 0;
|
|
37
40
|
const Utils = __importStar(require("./utils"));
|
|
@@ -58,4 +61,5 @@ var stakingPledgeBuilder_1 = require("./stakingPledgeBuilder");
|
|
|
58
61
|
Object.defineProperty(exports, "StakingPledgeBuilder", { enumerable: true, get: function () { return stakingPledgeBuilder_1.StakingPledgeBuilder; } });
|
|
59
62
|
var voteDelegationBuilder_1 = require("./voteDelegationBuilder");
|
|
60
63
|
Object.defineProperty(exports, "VoteDelegationBuilder", { enumerable: true, get: function () { return voteDelegationBuilder_1.VoteDelegationBuilder; } });
|
|
61
|
-
|
|
64
|
+
__exportStar(require("./messages"), exports);
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtDQUFpQztBQWF4QixzQkFBSztBQVhkLHFDQUFvQztBQUEzQixrR0FBQSxPQUFPLE9BQUE7QUFDaEIsNkNBQTRDO0FBQW5DLDBHQUFBLFdBQVcsT0FBQTtBQUNwQiwyREFBMEQ7QUFBakQsd0hBQUEsa0JBQWtCLE9BQUE7QUFDM0IscURBQW9EO0FBQTNDLGtIQUFBLGVBQWUsT0FBQTtBQUN4Qix5RUFBd0U7QUFBL0Qsc0lBQUEseUJBQXlCLE9BQUE7QUFDbEMsbUVBQWtFO0FBQXpELGdJQUFBLHNCQUFzQixPQUFBO0FBQy9CLDJFQUEwRTtBQUFqRSx3SUFBQSwwQkFBMEIsT0FBQTtBQUNuQyx1RUFBc0U7QUFBN0Qsb0lBQUEsd0JBQXdCLE9BQUE7QUFDakMsbUVBQWtFO0FBQXpELGdJQUFBLHNCQUFzQixPQUFBO0FBQy9CLCtEQUE4RDtBQUFyRCw0SEFBQSxvQkFBb0IsT0FBQTtBQUM3QixpRUFBZ0U7QUFBdkQsOEhBQUEscUJBQXFCLE9BQUE7QUFFOUIsNkNBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgVXRpbHMgZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCB7IEtleVBhaXIgfSBmcm9tICcuL2tleVBhaXInO1xuZXhwb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcbmV4cG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlciB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyJztcbmV4cG9ydCB7IFRyYW5zZmVyQnVpbGRlciB9IGZyb20gJy4vdHJhbnNmZXJCdWlsZGVyJztcbmV4cG9ydCB7IFRyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnkgfSBmcm9tICcuL3RyYW5zYWN0aW9uQnVpbGRlckZhY3RvcnknO1xuZXhwb3J0IHsgU3Rha2luZ0FjdGl2YXRlQnVpbGRlciB9IGZyb20gJy4vc3Rha2luZ0FjdGl2YXRlQnVpbGRlcic7XG5leHBvcnQgeyBTdGFraW5nQ2xhaW1SZXdhcmRzQnVpbGRlciB9IGZyb20gJy4vc3Rha2luZ0NsYWltUmV3YXJkc0J1aWxkZXInO1xuZXhwb3J0IHsgU3Rha2luZ0RlYWN0aXZhdGVCdWlsZGVyIH0gZnJvbSAnLi9zdGFraW5nRGVhY3RpdmF0ZUJ1aWxkZXInO1xuZXhwb3J0IHsgU3Rha2luZ1dpdGhkcmF3QnVpbGRlciB9IGZyb20gJy4vc3Rha2luZ1dpdGhkcmF3QnVpbGRlcic7XG5leHBvcnQgeyBTdGFraW5nUGxlZGdlQnVpbGRlciB9IGZyb20gJy4vc3Rha2luZ1BsZWRnZUJ1aWxkZXInO1xuZXhwb3J0IHsgVm90ZURlbGVnYXRpb25CdWlsZGVyIH0gZnJvbSAnLi92b3RlRGVsZWdhdGlvbkJ1aWxkZXInO1xuZXhwb3J0IHsgVXRpbHMgfTtcbmV4cG9ydCAqIGZyb20gJy4vbWVzc2FnZXMnO1xuIl19
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { BaseMessage, MessageOptions, Signature } from '@bitgo-beta/sdk-core';
|
|
2
|
+
/**
|
|
3
|
+
* Implementation of Message for CIP8 standard
|
|
4
|
+
*/
|
|
5
|
+
export declare class Cip8Message extends BaseMessage {
|
|
6
|
+
constructor(options: MessageOptions);
|
|
7
|
+
/**
|
|
8
|
+
* Validates required fields and returns common setup objects
|
|
9
|
+
* @private
|
|
10
|
+
*/
|
|
11
|
+
private validateAndGetCommonSetup;
|
|
12
|
+
/**
|
|
13
|
+
* Returns the hash of the CIP-8 prefixed message
|
|
14
|
+
*/
|
|
15
|
+
getSignablePayload(): Promise<string | Buffer>;
|
|
16
|
+
/**
|
|
17
|
+
* Builds the signable payload for a CIP8 message
|
|
18
|
+
* @returns The signable payload as a Buffer
|
|
19
|
+
*/
|
|
20
|
+
buildSignablePayload(): string | Buffer;
|
|
21
|
+
getBroadcastableSignatures(): Signature[];
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=cip8Message.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cip8Message.d.ts","sourceRoot":"","sources":["../../../../../src/lib/messages/cip8/cip8Message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAuB,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAInG;;GAEG;AACH,qBAAa,WAAY,SAAQ,WAAW;gBAC9B,OAAO,EAAE,cAAc;IAOnC;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IAwBjC;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;IAOpD;;;OAGG;IACH,oBAAoB,IAAI,MAAM,GAAG,MAAM;IAMvC,0BAA0B,IAAI,SAAS,EAAE;CA2B1C"}
|
|
@@ -0,0 +1,114 @@
|
|
|
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
|
+
exports.Cip8Message = void 0;
|
|
37
|
+
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
38
|
+
const CardanoSL = __importStar(require("@emurgo/cardano-serialization-lib-nodejs"));
|
|
39
|
+
const utils_1 = require("./utils");
|
|
40
|
+
/**
|
|
41
|
+
* Implementation of Message for CIP8 standard
|
|
42
|
+
*/
|
|
43
|
+
class Cip8Message extends sdk_core_1.BaseMessage {
|
|
44
|
+
constructor(options) {
|
|
45
|
+
super({
|
|
46
|
+
...options,
|
|
47
|
+
type: sdk_core_1.MessageStandardType.CIP8,
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Validates required fields and returns common setup objects
|
|
52
|
+
* @private
|
|
53
|
+
*/
|
|
54
|
+
validateAndGetCommonSetup() {
|
|
55
|
+
if (!this.payload) {
|
|
56
|
+
throw new Error('Payload is required to build a CIP8 message');
|
|
57
|
+
}
|
|
58
|
+
if (!this.signers || this.signers.length === 0) {
|
|
59
|
+
throw new Error('A signer address is required to build a CIP8 message');
|
|
60
|
+
}
|
|
61
|
+
let cslAddress;
|
|
62
|
+
try {
|
|
63
|
+
cslAddress = CardanoSL.Address.from_bech32(this.signers[0]);
|
|
64
|
+
}
|
|
65
|
+
catch (error) {
|
|
66
|
+
// Convert string errors to proper Error objects
|
|
67
|
+
if (typeof error === 'string') {
|
|
68
|
+
throw new Error(`Invalid signer address: ${error}`);
|
|
69
|
+
}
|
|
70
|
+
throw error;
|
|
71
|
+
}
|
|
72
|
+
const addressCborBytes = cslAddress.to_bytes();
|
|
73
|
+
return { addressCborBytes };
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Returns the hash of the CIP-8 prefixed message
|
|
77
|
+
*/
|
|
78
|
+
async getSignablePayload() {
|
|
79
|
+
if (!this.signablePayload) {
|
|
80
|
+
this.signablePayload = this.buildSignablePayload();
|
|
81
|
+
}
|
|
82
|
+
return this.signablePayload;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Builds the signable payload for a CIP8 message
|
|
86
|
+
* @returns The signable payload as a Buffer
|
|
87
|
+
*/
|
|
88
|
+
buildSignablePayload() {
|
|
89
|
+
const { addressCborBytes } = this.validateAndGetCommonSetup();
|
|
90
|
+
const { sigStructureCborBytes } = (0, utils_1.createCSLSigStructure)(addressCborBytes, this.payload);
|
|
91
|
+
return Buffer.from(sigStructureCborBytes);
|
|
92
|
+
}
|
|
93
|
+
getBroadcastableSignatures() {
|
|
94
|
+
if (!this.signatures.length) {
|
|
95
|
+
return [];
|
|
96
|
+
}
|
|
97
|
+
const signature = this.signatures[0].signature;
|
|
98
|
+
const publicKeyHex = this.signatures[0].publicKey.pub;
|
|
99
|
+
const { addressCborBytes } = this.validateAndGetCommonSetup();
|
|
100
|
+
const { protectedHeaderCborBytes, payloadBytes } = (0, utils_1.createCSLSigStructure)(addressCborBytes, this.payload);
|
|
101
|
+
const coseObjectsOutput = (0, utils_1.constructCSLCoseObjects)(protectedHeaderCborBytes, payloadBytes, signature, CardanoSL.PublicKey.from_bytes(Buffer.from(publicKeyHex, 'hex')));
|
|
102
|
+
const coseObjectsBuffer = (0, utils_1.coseObjectsOutputToBuffer)(coseObjectsOutput);
|
|
103
|
+
return [
|
|
104
|
+
{
|
|
105
|
+
signature: coseObjectsBuffer,
|
|
106
|
+
publicKey: {
|
|
107
|
+
pub: publicKeyHex,
|
|
108
|
+
},
|
|
109
|
+
},
|
|
110
|
+
];
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
exports.Cip8Message = Cip8Message;
|
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2lwOE1lc3NhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL21lc3NhZ2VzL2NpcDgvY2lwOE1lc3NhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsbURBQW1HO0FBQ25HLG9GQUFzRTtBQUN0RSxtQ0FBb0c7QUFFcEc7O0dBRUc7QUFDSCxNQUFhLFdBQVksU0FBUSxzQkFBVztJQUMxQyxZQUFZLE9BQXVCO1FBQ2pDLEtBQUssQ0FBQztZQUNKLEdBQUcsT0FBTztZQUNWLElBQUksRUFBRSw4QkFBbUIsQ0FBQyxJQUFJO1NBQy9CLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSyx5QkFBeUI7UUFDL0IsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNsQixNQUFNLElBQUksS0FBSyxDQUFDLDZDQUE2QyxDQUFDLENBQUM7UUFDakUsQ0FBQztRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQy9DLE1BQU0sSUFBSSxLQUFLLENBQUMsc0RBQXNELENBQUMsQ0FBQztRQUMxRSxDQUFDO1FBRUQsSUFBSSxVQUE2QixDQUFDO1FBQ2xDLElBQUksQ0FBQztZQUNILFVBQVUsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUQsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixnREFBZ0Q7WUFDaEQsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztnQkFDOUIsTUFBTSxJQUFJLEtBQUssQ0FBQywyQkFBMkIsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUN0RCxDQUFDO1lBQ0QsTUFBTSxLQUFLLENBQUM7UUFDZCxDQUFDO1FBRUQsTUFBTSxnQkFBZ0IsR0FBRyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLGtCQUFrQjtRQUN0QixJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDckQsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM5QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsb0JBQW9CO1FBQ2xCLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO1FBQzlELE1BQU0sRUFBRSxxQkFBcUIsRUFBRSxHQUFHLElBQUEsNkJBQXFCLEVBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3hGLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCwwQkFBMEI7UUFDeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDNUIsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBRUQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDL0MsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDO1FBRXRELE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO1FBQzlELE1BQU0sRUFBRSx3QkFBd0IsRUFBRSxZQUFZLEVBQUUsR0FBRyxJQUFBLDZCQUFxQixFQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUV6RyxNQUFNLGlCQUFpQixHQUFHLElBQUEsK0JBQXVCLEVBQy9DLHdCQUF3QixFQUN4QixZQUFZLEVBQ1osU0FBUyxFQUNULFNBQVMsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQ2pFLENBQUM7UUFDRixNQUFNLGlCQUFpQixHQUFHLElBQUEsaUNBQXlCLEVBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUN2RSxPQUFPO1lBQ0w7Z0JBQ0UsU0FBUyxFQUFFLGlCQUFpQjtnQkFDNUIsU0FBUyxFQUFFO29CQUNULEdBQUcsRUFBRSxZQUFZO2lCQUNsQjthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQW5GRCxrQ0FtRkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlTWVzc2FnZSwgTWVzc2FnZU9wdGlvbnMsIE1lc3NhZ2VTdGFuZGFyZFR5cGUsIFNpZ25hdHVyZSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCAqIGFzIENhcmRhbm9TTCBmcm9tICdAZW11cmdvL2NhcmRhbm8tc2VyaWFsaXphdGlvbi1saWItbm9kZWpzJztcbmltcG9ydCB7IGNvbnN0cnVjdENTTENvc2VPYmplY3RzLCBjb3NlT2JqZWN0c091dHB1dFRvQnVmZmVyLCBjcmVhdGVDU0xTaWdTdHJ1Y3R1cmUgfSBmcm9tICcuL3V0aWxzJztcblxuLyoqXG4gKiBJbXBsZW1lbnRhdGlvbiBvZiBNZXNzYWdlIGZvciBDSVA4IHN0YW5kYXJkXG4gKi9cbmV4cG9ydCBjbGFzcyBDaXA4TWVzc2FnZSBleHRlbmRzIEJhc2VNZXNzYWdlIHtcbiAgY29uc3RydWN0b3Iob3B0aW9uczogTWVzc2FnZU9wdGlvbnMpIHtcbiAgICBzdXBlcih7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgdHlwZTogTWVzc2FnZVN0YW5kYXJkVHlwZS5DSVA4LFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlcyByZXF1aXJlZCBmaWVsZHMgYW5kIHJldHVybnMgY29tbW9uIHNldHVwIG9iamVjdHNcbiAgICogQHByaXZhdGVcbiAgICovXG4gIHByaXZhdGUgdmFsaWRhdGVBbmRHZXRDb21tb25TZXR1cCgpIHtcbiAgICBpZiAoIXRoaXMucGF5bG9hZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdQYXlsb2FkIGlzIHJlcXVpcmVkIHRvIGJ1aWxkIGEgQ0lQOCBtZXNzYWdlJyk7XG4gICAgfVxuICAgIGlmICghdGhpcy5zaWduZXJzIHx8IHRoaXMuc2lnbmVycy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQSBzaWduZXIgYWRkcmVzcyBpcyByZXF1aXJlZCB0byBidWlsZCBhIENJUDggbWVzc2FnZScpO1xuICAgIH1cblxuICAgIGxldCBjc2xBZGRyZXNzOiBDYXJkYW5vU0wuQWRkcmVzcztcbiAgICB0cnkge1xuICAgICAgY3NsQWRkcmVzcyA9IENhcmRhbm9TTC5BZGRyZXNzLmZyb21fYmVjaDMyKHRoaXMuc2lnbmVyc1swXSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIC8vIENvbnZlcnQgc3RyaW5nIGVycm9ycyB0byBwcm9wZXIgRXJyb3Igb2JqZWN0c1xuICAgICAgaWYgKHR5cGVvZiBlcnJvciA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHNpZ25lciBhZGRyZXNzOiAke2Vycm9yfWApO1xuICAgICAgfVxuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuXG4gICAgY29uc3QgYWRkcmVzc0Nib3JCeXRlcyA9IGNzbEFkZHJlc3MudG9fYnl0ZXMoKTtcblxuICAgIHJldHVybiB7IGFkZHJlc3NDYm9yQnl0ZXMgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBoYXNoIG9mIHRoZSBDSVAtOCBwcmVmaXhlZCBtZXNzYWdlXG4gICAqL1xuICBhc3luYyBnZXRTaWduYWJsZVBheWxvYWQoKTogUHJvbWlzZTxzdHJpbmcgfCBCdWZmZXI+IHtcbiAgICBpZiAoIXRoaXMuc2lnbmFibGVQYXlsb2FkKSB7XG4gICAgICB0aGlzLnNpZ25hYmxlUGF5bG9hZCA9IHRoaXMuYnVpbGRTaWduYWJsZVBheWxvYWQoKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuc2lnbmFibGVQYXlsb2FkO1xuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkcyB0aGUgc2lnbmFibGUgcGF5bG9hZCBmb3IgYSBDSVA4IG1lc3NhZ2VcbiAgICogQHJldHVybnMgVGhlIHNpZ25hYmxlIHBheWxvYWQgYXMgYSBCdWZmZXJcbiAgICovXG4gIGJ1aWxkU2lnbmFibGVQYXlsb2FkKCk6IHN0cmluZyB8IEJ1ZmZlciB7XG4gICAgY29uc3QgeyBhZGRyZXNzQ2JvckJ5dGVzIH0gPSB0aGlzLnZhbGlkYXRlQW5kR2V0Q29tbW9uU2V0dXAoKTtcbiAgICBjb25zdCB7IHNpZ1N0cnVjdHVyZUNib3JCeXRlcyB9ID0gY3JlYXRlQ1NMU2lnU3RydWN0dXJlKGFkZHJlc3NDYm9yQnl0ZXMsIHRoaXMucGF5bG9hZCk7XG4gICAgcmV0dXJuIEJ1ZmZlci5mcm9tKHNpZ1N0cnVjdHVyZUNib3JCeXRlcyk7XG4gIH1cblxuICBnZXRCcm9hZGNhc3RhYmxlU2lnbmF0dXJlcygpOiBTaWduYXR1cmVbXSB7XG4gICAgaWYgKCF0aGlzLnNpZ25hdHVyZXMubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgY29uc3Qgc2lnbmF0dXJlID0gdGhpcy5zaWduYXR1cmVzWzBdLnNpZ25hdHVyZTtcbiAgICBjb25zdCBwdWJsaWNLZXlIZXggPSB0aGlzLnNpZ25hdHVyZXNbMF0ucHVibGljS2V5LnB1YjtcblxuICAgIGNvbnN0IHsgYWRkcmVzc0Nib3JCeXRlcyB9ID0gdGhpcy52YWxpZGF0ZUFuZEdldENvbW1vblNldHVwKCk7XG4gICAgY29uc3QgeyBwcm90ZWN0ZWRIZWFkZXJDYm9yQnl0ZXMsIHBheWxvYWRCeXRlcyB9ID0gY3JlYXRlQ1NMU2lnU3RydWN0dXJlKGFkZHJlc3NDYm9yQnl0ZXMsIHRoaXMucGF5bG9hZCk7XG5cbiAgICBjb25zdCBjb3NlT2JqZWN0c091dHB1dCA9IGNvbnN0cnVjdENTTENvc2VPYmplY3RzKFxuICAgICAgcHJvdGVjdGVkSGVhZGVyQ2JvckJ5dGVzLFxuICAgICAgcGF5bG9hZEJ5dGVzLFxuICAgICAgc2lnbmF0dXJlLFxuICAgICAgQ2FyZGFub1NMLlB1YmxpY0tleS5mcm9tX2J5dGVzKEJ1ZmZlci5mcm9tKHB1YmxpY0tleUhleCwgJ2hleCcpKVxuICAgICk7XG4gICAgY29uc3QgY29zZU9iamVjdHNCdWZmZXIgPSBjb3NlT2JqZWN0c091dHB1dFRvQnVmZmVyKGNvc2VPYmplY3RzT3V0cHV0KTtcbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICBzaWduYXR1cmU6IGNvc2VPYmplY3RzQnVmZmVyLFxuICAgICAgICBwdWJsaWNLZXk6IHtcbiAgICAgICAgICBwdWI6IHB1YmxpY0tleUhleCxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgXTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
|
|
2
|
+
import { BaseMessageBuilder, BroadcastableMessage, IMessage } from '@bitgo-beta/sdk-core';
|
|
3
|
+
/**
|
|
4
|
+
* Builder for CIP-8 messages
|
|
5
|
+
*/
|
|
6
|
+
export declare class Cip8MessageBuilder extends BaseMessageBuilder {
|
|
7
|
+
/**
|
|
8
|
+
* Base constructor.
|
|
9
|
+
* @param _coinConfig BaseCoin from statics library
|
|
10
|
+
*/
|
|
11
|
+
constructor(_coinConfig: Readonly<CoinConfig>);
|
|
12
|
+
/**
|
|
13
|
+
* Build a signable message using the CIP-8 standard
|
|
14
|
+
* with previously set input and metadata
|
|
15
|
+
* @returns A signable message
|
|
16
|
+
*/
|
|
17
|
+
build(): Promise<IMessage>;
|
|
18
|
+
/**
|
|
19
|
+
* Parse a broadcastable message back into a message
|
|
20
|
+
* @param broadcastMessage The broadcastable message to parse
|
|
21
|
+
* @returns The parsed message
|
|
22
|
+
*/
|
|
23
|
+
fromBroadcastFormat(broadcastMessage: BroadcastableMessage): Promise<IMessage>;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=cip8MessageBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cip8MessageBuilder.d.ts","sourceRoot":"","sources":["../../../../../src/lib/messages/cip8/cip8MessageBuilder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EAEpB,QAAQ,EAET,MAAM,sBAAsB,CAAC;AAE9B;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,kBAAkB;IACxD;;;OAGG;gBACgB,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC;IAIpD;;;;OAIG;IACU,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC;IAuBvC;;;;OAIG;IACU,mBAAmB,CAAC,gBAAgB,EAAE,oBAAoB,GAAG,OAAO,CAAC,QAAQ,CAAC;CAgB5F"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Cip8MessageBuilder = void 0;
|
|
4
|
+
const cip8Message_1 = require("./cip8Message");
|
|
5
|
+
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
6
|
+
/**
|
|
7
|
+
* Builder for CIP-8 messages
|
|
8
|
+
*/
|
|
9
|
+
class Cip8MessageBuilder extends sdk_core_1.BaseMessageBuilder {
|
|
10
|
+
/**
|
|
11
|
+
* Base constructor.
|
|
12
|
+
* @param _coinConfig BaseCoin from statics library
|
|
13
|
+
*/
|
|
14
|
+
constructor(_coinConfig) {
|
|
15
|
+
super(_coinConfig, sdk_core_1.MessageStandardType.CIP8);
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Build a signable message using the CIP-8 standard
|
|
19
|
+
* with previously set input and metadata
|
|
20
|
+
* @returns A signable message
|
|
21
|
+
*/
|
|
22
|
+
async build() {
|
|
23
|
+
try {
|
|
24
|
+
if (!this.payload) {
|
|
25
|
+
throw new Error('Message payload must be set before building the message');
|
|
26
|
+
}
|
|
27
|
+
return new cip8Message_1.Cip8Message({
|
|
28
|
+
coinConfig: this.coinConfig,
|
|
29
|
+
payload: this.payload,
|
|
30
|
+
signatures: this.signatures,
|
|
31
|
+
signers: this.signers,
|
|
32
|
+
metadata: {
|
|
33
|
+
...this.metadata,
|
|
34
|
+
encoding: 'utf8',
|
|
35
|
+
},
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
catch (err) {
|
|
39
|
+
if (err instanceof Error) {
|
|
40
|
+
throw err;
|
|
41
|
+
}
|
|
42
|
+
throw new Error('Failed to build CIP-8 message');
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Parse a broadcastable message back into a message
|
|
47
|
+
* @param broadcastMessage The broadcastable message to parse
|
|
48
|
+
* @returns The parsed message
|
|
49
|
+
*/
|
|
50
|
+
async fromBroadcastFormat(broadcastMessage) {
|
|
51
|
+
const { type, payload, serializedSignatures, signers, metadata } = broadcastMessage;
|
|
52
|
+
if (type !== sdk_core_1.MessageStandardType.CIP8) {
|
|
53
|
+
throw new Error(`Invalid message type, expected ${sdk_core_1.MessageStandardType.CIP8}`);
|
|
54
|
+
}
|
|
55
|
+
return new cip8Message_1.Cip8Message({
|
|
56
|
+
coinConfig: this.coinConfig,
|
|
57
|
+
payload,
|
|
58
|
+
signatures: (0, sdk_core_1.deserializeSignatures)(serializedSignatures),
|
|
59
|
+
signers,
|
|
60
|
+
metadata: {
|
|
61
|
+
...metadata,
|
|
62
|
+
encoding: 'utf8',
|
|
63
|
+
},
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
exports.Cip8MessageBuilder = Cip8MessageBuilder;
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2lwOE1lc3NhZ2VCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9tZXNzYWdlcy9jaXA4L2NpcDhNZXNzYWdlQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrQ0FBNEM7QUFFNUMsbURBTThCO0FBRTlCOztHQUVHO0FBQ0gsTUFBYSxrQkFBbUIsU0FBUSw2QkFBa0I7SUFDeEQ7OztPQUdHO0lBQ0gsWUFBbUIsV0FBaUM7UUFDbEQsS0FBSyxDQUFDLFdBQVcsRUFBRSw4QkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLEtBQUssQ0FBQyxLQUFLO1FBQ2hCLElBQUksQ0FBQztZQUNILElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2xCLE1BQU0sSUFBSSxLQUFLLENBQUMseURBQXlELENBQUMsQ0FBQztZQUM3RSxDQUFDO1lBQ0QsT0FBTyxJQUFJLHlCQUFXLENBQUM7Z0JBQ3JCLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtnQkFDM0IsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO2dCQUNyQixVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7Z0JBQzNCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztnQkFDckIsUUFBUSxFQUFFO29CQUNSLEdBQUcsSUFBSSxDQUFDLFFBQVE7b0JBQ2hCLFFBQVEsRUFBRSxNQUFNO2lCQUNqQjthQUNGLENBQUMsQ0FBQztRQUNMLENBQUM7UUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1lBQ2IsSUFBSSxHQUFHLFlBQVksS0FBSyxFQUFFLENBQUM7Z0JBQ3pCLE1BQU0sR0FBRyxDQUFDO1lBQ1osQ0FBQztZQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsK0JBQStCLENBQUMsQ0FBQztRQUNuRCxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxLQUFLLENBQUMsbUJBQW1CLENBQUMsZ0JBQXNDO1FBQ3JFLE1BQU0sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsR0FBRyxnQkFBZ0IsQ0FBQztRQUNwRixJQUFJLElBQUksS0FBSyw4QkFBbUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN0QyxNQUFNLElBQUksS0FBSyxDQUFDLGtDQUFrQyw4QkFBbUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ2hGLENBQUM7UUFDRCxPQUFPLElBQUkseUJBQVcsQ0FBQztZQUNyQixVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDM0IsT0FBTztZQUNQLFVBQVUsRUFBRSxJQUFBLGdDQUFxQixFQUFDLG9CQUFvQixDQUFDO1lBQ3ZELE9BQU87WUFDUCxRQUFRLEVBQUU7Z0JBQ1IsR0FBRyxRQUFRO2dCQUNYLFFBQVEsRUFBRSxNQUFNO2FBQ2pCO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBMURELGdEQTBEQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENpcDhNZXNzYWdlIH0gZnJvbSAnLi9jaXA4TWVzc2FnZSc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQge1xuICBCYXNlTWVzc2FnZUJ1aWxkZXIsXG4gIEJyb2FkY2FzdGFibGVNZXNzYWdlLFxuICBkZXNlcmlhbGl6ZVNpZ25hdHVyZXMsXG4gIElNZXNzYWdlLFxuICBNZXNzYWdlU3RhbmRhcmRUeXBlLFxufSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5cbi8qKlxuICogQnVpbGRlciBmb3IgQ0lQLTggbWVzc2FnZXNcbiAqL1xuZXhwb3J0IGNsYXNzIENpcDhNZXNzYWdlQnVpbGRlciBleHRlbmRzIEJhc2VNZXNzYWdlQnVpbGRlciB7XG4gIC8qKlxuICAgKiBCYXNlIGNvbnN0cnVjdG9yLlxuICAgKiBAcGFyYW0gX2NvaW5Db25maWcgQmFzZUNvaW4gZnJvbSBzdGF0aWNzIGxpYnJhcnlcbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihfY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihfY29pbkNvbmZpZywgTWVzc2FnZVN0YW5kYXJkVHlwZS5DSVA4KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZCBhIHNpZ25hYmxlIG1lc3NhZ2UgdXNpbmcgdGhlIENJUC04IHN0YW5kYXJkXG4gICAqIHdpdGggcHJldmlvdXNseSBzZXQgaW5wdXQgYW5kIG1ldGFkYXRhXG4gICAqIEByZXR1cm5zIEEgc2lnbmFibGUgbWVzc2FnZVxuICAgKi9cbiAgcHVibGljIGFzeW5jIGJ1aWxkKCk6IFByb21pc2U8SU1lc3NhZ2U+IHtcbiAgICB0cnkge1xuICAgICAgaWYgKCF0aGlzLnBheWxvYWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdNZXNzYWdlIHBheWxvYWQgbXVzdCBiZSBzZXQgYmVmb3JlIGJ1aWxkaW5nIHRoZSBtZXNzYWdlJyk7XG4gICAgICB9XG4gICAgICByZXR1cm4gbmV3IENpcDhNZXNzYWdlKHtcbiAgICAgICAgY29pbkNvbmZpZzogdGhpcy5jb2luQ29uZmlnLFxuICAgICAgICBwYXlsb2FkOiB0aGlzLnBheWxvYWQsXG4gICAgICAgIHNpZ25hdHVyZXM6IHRoaXMuc2lnbmF0dXJlcyxcbiAgICAgICAgc2lnbmVyczogdGhpcy5zaWduZXJzLFxuICAgICAgICBtZXRhZGF0YToge1xuICAgICAgICAgIC4uLnRoaXMubWV0YWRhdGEsXG4gICAgICAgICAgZW5jb2Rpbmc6ICd1dGY4JyxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgaWYgKGVyciBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgIHRocm93IGVycjtcbiAgICAgIH1cbiAgICAgIHRocm93IG5ldyBFcnJvcignRmFpbGVkIHRvIGJ1aWxkIENJUC04IG1lc3NhZ2UnKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUGFyc2UgYSBicm9hZGNhc3RhYmxlIG1lc3NhZ2UgYmFjayBpbnRvIGEgbWVzc2FnZVxuICAgKiBAcGFyYW0gYnJvYWRjYXN0TWVzc2FnZSBUaGUgYnJvYWRjYXN0YWJsZSBtZXNzYWdlIHRvIHBhcnNlXG4gICAqIEByZXR1cm5zIFRoZSBwYXJzZWQgbWVzc2FnZVxuICAgKi9cbiAgcHVibGljIGFzeW5jIGZyb21Ccm9hZGNhc3RGb3JtYXQoYnJvYWRjYXN0TWVzc2FnZTogQnJvYWRjYXN0YWJsZU1lc3NhZ2UpOiBQcm9taXNlPElNZXNzYWdlPiB7XG4gICAgY29uc3QgeyB0eXBlLCBwYXlsb2FkLCBzZXJpYWxpemVkU2lnbmF0dXJlcywgc2lnbmVycywgbWV0YWRhdGEgfSA9IGJyb2FkY2FzdE1lc3NhZ2U7XG4gICAgaWYgKHR5cGUgIT09IE1lc3NhZ2VTdGFuZGFyZFR5cGUuQ0lQOCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIG1lc3NhZ2UgdHlwZSwgZXhwZWN0ZWQgJHtNZXNzYWdlU3RhbmRhcmRUeXBlLkNJUDh9YCk7XG4gICAgfVxuICAgIHJldHVybiBuZXcgQ2lwOE1lc3NhZ2Uoe1xuICAgICAgY29pbkNvbmZpZzogdGhpcy5jb2luQ29uZmlnLFxuICAgICAgcGF5bG9hZCxcbiAgICAgIHNpZ25hdHVyZXM6IGRlc2VyaWFsaXplU2lnbmF0dXJlcyhzZXJpYWxpemVkU2lnbmF0dXJlcyksXG4gICAgICBzaWduZXJzLFxuICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgLi4ubWV0YWRhdGEsXG4gICAgICAgIGVuY29kaW5nOiAndXRmOCcsXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lib/messages/cip8/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./cip8Message"), exports);
|
|
18
|
+
__exportStar(require("./cip8MessageBuilder"), exports);
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL21lc3NhZ2VzL2NpcDgvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGdEQUE4QjtBQUM5Qix1REFBcUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NpcDhNZXNzYWdlJztcbmV4cG9ydCAqIGZyb20gJy4vY2lwOE1lc3NhZ2VCdWlsZGVyJztcbiJdfQ==
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Buffer } from 'buffer';
|
|
2
|
+
import * as CSL from '@emurgo/cardano-serialization-lib-nodejs';
|
|
3
|
+
export declare function bytesToHex(bytes: Uint8Array | Buffer): string;
|
|
4
|
+
export interface CSLSigStructureOutput {
|
|
5
|
+
sigStructureCborBytes: Uint8Array;
|
|
6
|
+
protectedHeaderCborBytes: Uint8Array;
|
|
7
|
+
payloadBytes: Buffer;
|
|
8
|
+
}
|
|
9
|
+
export interface CSLCoseObjectsOutput {
|
|
10
|
+
manualCoseSign1Hex: string;
|
|
11
|
+
manualCoseKeyHex: string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Creates the CSL signature structure for off-chain message signing.
|
|
15
|
+
*
|
|
16
|
+
* @param addressCborBytes - The CBOR bytes of the CSL address.
|
|
17
|
+
* @param message - The message to be signed.
|
|
18
|
+
* @returns An object containing the signature structure CBOR bytes, protected header CBOR bytes, and payload bytes.
|
|
19
|
+
*/
|
|
20
|
+
export declare function createCSLSigStructure(addressCborBytes: Uint8Array, message: string): CSLSigStructureOutput;
|
|
21
|
+
export declare function constructCSLCoseObjects(protectedHeaderCborBytes: Uint8Array, payloadBytes: Buffer, cslSignatureBytes: Uint8Array, paymentPubKey: CSL.PublicKey): CSLCoseObjectsOutput;
|
|
22
|
+
export declare function coseObjectsOutputToBuffer(output: CSLCoseObjectsOutput): Buffer;
|
|
23
|
+
export declare function bufferToCoseObjectsOutput(buffer: Buffer): Promise<CSLCoseObjectsOutput>;
|
|
24
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/lib/messages/cip8/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,GAAG,MAAM,0CAA0C,CAAC;AAIhE,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,GAAG,MAAM,CAE7D;AAED,MAAM,WAAW,qBAAqB;IACpC,qBAAqB,EAAE,UAAU,CAAC;IAClC,wBAAwB,EAAE,UAAU,CAAC;IACrC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,oBAAoB;IACnC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,gBAAgB,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,GAAG,qBAAqB,CAoB1G;AAGD,wBAAgB,uBAAuB,CACrC,wBAAwB,EAAE,UAAU,EACpC,YAAY,EAAE,MAAM,EACpB,iBAAiB,EAAE,UAAU,EAC7B,aAAa,EAAE,GAAG,CAAC,SAAS,GAC3B,oBAAoB,CA4BtB;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,oBAAoB,GAAG,MAAM,CAE9E;AAED,wBAAsB,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAE7F"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.bytesToHex = bytesToHex;
|
|
4
|
+
exports.createCSLSigStructure = createCSLSigStructure;
|
|
5
|
+
exports.constructCSLCoseObjects = constructCSLCoseObjects;
|
|
6
|
+
exports.coseObjectsOutputToBuffer = coseObjectsOutputToBuffer;
|
|
7
|
+
exports.bufferToCoseObjectsOutput = bufferToCoseObjectsOutput;
|
|
8
|
+
const buffer_1 = require("buffer");
|
|
9
|
+
const cbor_1 = require("cbor");
|
|
10
|
+
// Helper function to convert a Uint8Array or Buffer to a hex string
|
|
11
|
+
function bytesToHex(bytes) {
|
|
12
|
+
return buffer_1.Buffer.from(bytes).toString('hex');
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Creates the CSL signature structure for off-chain message signing.
|
|
16
|
+
*
|
|
17
|
+
* @param addressCborBytes - The CBOR bytes of the CSL address.
|
|
18
|
+
* @param message - The message to be signed.
|
|
19
|
+
* @returns An object containing the signature structure CBOR bytes, protected header CBOR bytes, and payload bytes.
|
|
20
|
+
*/
|
|
21
|
+
function createCSLSigStructure(addressCborBytes, message) {
|
|
22
|
+
// Payload
|
|
23
|
+
const payloadBytes = buffer_1.Buffer.from(message, 'utf-8');
|
|
24
|
+
// Protected Header
|
|
25
|
+
const protectedHeaderMap = new Map();
|
|
26
|
+
protectedHeaderMap.set(1, -8); // Algorithm ID: EdDSA
|
|
27
|
+
protectedHeaderMap.set('address', buffer_1.Buffer.from(addressCborBytes));
|
|
28
|
+
const protectedHeaderCborBytes = cbor_1.Encoder.encode(protectedHeaderMap);
|
|
29
|
+
// Sig_structure
|
|
30
|
+
const sigStructureArray = [
|
|
31
|
+
'Signature1',
|
|
32
|
+
buffer_1.Buffer.from(protectedHeaderCborBytes),
|
|
33
|
+
buffer_1.Buffer.from([]), // Empty external_aad
|
|
34
|
+
buffer_1.Buffer.from(payloadBytes),
|
|
35
|
+
];
|
|
36
|
+
const sigStructureCborBytes = cbor_1.Encoder.encode(sigStructureArray);
|
|
37
|
+
return { sigStructureCborBytes, protectedHeaderCborBytes, payloadBytes };
|
|
38
|
+
}
|
|
39
|
+
// COSE objects construction function
|
|
40
|
+
function constructCSLCoseObjects(protectedHeaderCborBytes, payloadBytes, cslSignatureBytes, paymentPubKey) {
|
|
41
|
+
// COSE_Sign1 Construction
|
|
42
|
+
const unprotectedHeadersMap = new Map();
|
|
43
|
+
unprotectedHeadersMap.set('hashed', false);
|
|
44
|
+
const coseSign1Array = [
|
|
45
|
+
buffer_1.Buffer.from(protectedHeaderCborBytes),
|
|
46
|
+
unprotectedHeadersMap,
|
|
47
|
+
buffer_1.Buffer.from(payloadBytes),
|
|
48
|
+
buffer_1.Buffer.from(cslSignatureBytes),
|
|
49
|
+
];
|
|
50
|
+
const finalCoseSign1CborBytes = cbor_1.Encoder.encode(coseSign1Array);
|
|
51
|
+
/* // directly encoding the coseSign1Array without prepending the 0xD2 tag.
|
|
52
|
+
* const coseSign1PayloadBytes = Encoder.encode(coseSign1Array);
|
|
53
|
+
* const coseSign1Tag = Buffer.from([0xD2]); // Tag 18 for COSE_Sign1
|
|
54
|
+
* const finalCoseSign1CborBytes = Buffer.concat([coseSign1Tag, coseSign1PayloadBytes]);
|
|
55
|
+
*/
|
|
56
|
+
const manualCoseSign1Hex = bytesToHex(finalCoseSign1CborBytes);
|
|
57
|
+
// COSE_Key Construction
|
|
58
|
+
const coseKeyMap = new Map();
|
|
59
|
+
coseKeyMap.set(1, 1); // kty: OKP (Octet Key Pair)
|
|
60
|
+
coseKeyMap.set(3, -8); // alg: EdDSA
|
|
61
|
+
coseKeyMap.set(-1, 6); // crv: Ed25519
|
|
62
|
+
coseKeyMap.set(-2, buffer_1.Buffer.from(paymentPubKey.as_bytes())); // x: public_key_bytes (Ed25519 public key)
|
|
63
|
+
const finalCoseKeyCborBytes = cbor_1.Encoder.encode(coseKeyMap);
|
|
64
|
+
const manualCoseKeyHex = bytesToHex(finalCoseKeyCborBytes);
|
|
65
|
+
return { manualCoseSign1Hex, manualCoseKeyHex };
|
|
66
|
+
}
|
|
67
|
+
function coseObjectsOutputToBuffer(output) {
|
|
68
|
+
return buffer_1.Buffer.from(cbor_1.Encoder.encode(output));
|
|
69
|
+
}
|
|
70
|
+
async function bufferToCoseObjectsOutput(buffer) {
|
|
71
|
+
return await cbor_1.Decoder.decodeFirst(buffer);
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL21lc3NhZ2VzL2NpcDgvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFLQSxnQ0FFQztBQW9CRCxzREFvQkM7QUFHRCwwREFpQ0M7QUFFRCw4REFFQztBQUVELDhEQUVDO0FBM0ZELG1DQUFnQztBQUVoQywrQkFBd0M7QUFFeEMsb0VBQW9FO0FBQ3BFLFNBQWdCLFVBQVUsQ0FBQyxLQUEwQjtJQUNuRCxPQUFPLGVBQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQzVDLENBQUM7QUFhRDs7Ozs7O0dBTUc7QUFDSCxTQUFnQixxQkFBcUIsQ0FBQyxnQkFBNEIsRUFBRSxPQUFlO0lBQ2pGLFVBQVU7SUFDVixNQUFNLFlBQVksR0FBRyxlQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUVuRCxtQkFBbUI7SUFDbkIsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLEdBQUcsRUFBd0IsQ0FBQztJQUMzRCxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxzQkFBc0I7SUFDckQsa0JBQWtCLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxlQUFNLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztJQUNqRSxNQUFNLHdCQUF3QixHQUFHLGNBQU8sQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUVwRSxnQkFBZ0I7SUFDaEIsTUFBTSxpQkFBaUIsR0FBVTtRQUMvQixZQUFZO1FBQ1osZUFBTSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQztRQUNyQyxlQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLHFCQUFxQjtRQUN0QyxlQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztLQUMxQixDQUFDO0lBQ0YsTUFBTSxxQkFBcUIsR0FBRyxjQUFPLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFFaEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLHdCQUF3QixFQUFFLFlBQVksRUFBRSxDQUFDO0FBQzNFLENBQUM7QUFFRCxxQ0FBcUM7QUFDckMsU0FBZ0IsdUJBQXVCLENBQ3JDLHdCQUFvQyxFQUNwQyxZQUFvQixFQUNwQixpQkFBNkIsRUFDN0IsYUFBNEI7SUFFNUIsMEJBQTBCO0lBQzFCLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxHQUFHLEVBQWUsQ0FBQztJQUNyRCxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzNDLE1BQU0sY0FBYyxHQUFVO1FBQzVCLGVBQU0sQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUM7UUFDckMscUJBQXFCO1FBQ3JCLGVBQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBQ3pCLGVBQU0sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUM7S0FDL0IsQ0FBQztJQUNGLE1BQU0sdUJBQXVCLEdBQUcsY0FBTyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUMvRDs7OztPQUlHO0lBQ0gsTUFBTSxrQkFBa0IsR0FBRyxVQUFVLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUUvRCx3QkFBd0I7SUFDeEIsTUFBTSxVQUFVLEdBQUcsSUFBSSxHQUFHLEVBQWUsQ0FBQztJQUMxQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLDRCQUE0QjtJQUNsRCxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYTtJQUNwQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZTtJQUN0QyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLGVBQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLDJDQUEyQztJQUN0RyxNQUFNLHFCQUFxQixHQUFHLGNBQU8sQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDekQsTUFBTSxnQkFBZ0IsR0FBRyxVQUFVLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUUzRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQztBQUNsRCxDQUFDO0FBRUQsU0FBZ0IseUJBQXlCLENBQUMsTUFBNEI7SUFDcEUsT0FBTyxlQUFNLENBQUMsSUFBSSxDQUFDLGNBQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztBQUM3QyxDQUFDO0FBRU0sS0FBSyxVQUFVLHlCQUF5QixDQUFDLE1BQWM7SUFDNUQsT0FBTyxNQUFNLGNBQU8sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDM0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJ1ZmZlciB9IGZyb20gJ2J1ZmZlcic7XG5pbXBvcnQgKiBhcyBDU0wgZnJvbSAnQGVtdXJnby9jYXJkYW5vLXNlcmlhbGl6YXRpb24tbGliLW5vZGVqcyc7XG5pbXBvcnQgeyBEZWNvZGVyLCBFbmNvZGVyIH0gZnJvbSAnY2Jvcic7XG5cbi8vIEhlbHBlciBmdW5jdGlvbiB0byBjb252ZXJ0IGEgVWludDhBcnJheSBvciBCdWZmZXIgdG8gYSBoZXggc3RyaW5nXG5leHBvcnQgZnVuY3Rpb24gYnl0ZXNUb0hleChieXRlczogVWludDhBcnJheSB8IEJ1ZmZlcik6IHN0cmluZyB7XG4gIHJldHVybiBCdWZmZXIuZnJvbShieXRlcykudG9TdHJpbmcoJ2hleCcpO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENTTFNpZ1N0cnVjdHVyZU91dHB1dCB7XG4gIHNpZ1N0cnVjdHVyZUNib3JCeXRlczogVWludDhBcnJheTtcbiAgcHJvdGVjdGVkSGVhZGVyQ2JvckJ5dGVzOiBVaW50OEFycmF5O1xuICBwYXlsb2FkQnl0ZXM6IEJ1ZmZlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDU0xDb3NlT2JqZWN0c091dHB1dCB7XG4gIG1hbnVhbENvc2VTaWduMUhleDogc3RyaW5nO1xuICBtYW51YWxDb3NlS2V5SGV4OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ3JlYXRlcyB0aGUgQ1NMIHNpZ25hdHVyZSBzdHJ1Y3R1cmUgZm9yIG9mZi1jaGFpbiBtZXNzYWdlIHNpZ25pbmcuXG4gKlxuICogQHBhcmFtIGFkZHJlc3NDYm9yQnl0ZXMgLSBUaGUgQ0JPUiBieXRlcyBvZiB0aGUgQ1NMIGFkZHJlc3MuXG4gKiBAcGFyYW0gbWVzc2FnZSAtIFRoZSBtZXNzYWdlIHRvIGJlIHNpZ25lZC5cbiAqIEByZXR1cm5zIEFuIG9iamVjdCBjb250YWluaW5nIHRoZSBzaWduYXR1cmUgc3RydWN0dXJlIENCT1IgYnl0ZXMsIHByb3RlY3RlZCBoZWFkZXIgQ0JPUiBieXRlcywgYW5kIHBheWxvYWQgYnl0ZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVDU0xTaWdTdHJ1Y3R1cmUoYWRkcmVzc0Nib3JCeXRlczogVWludDhBcnJheSwgbWVzc2FnZTogc3RyaW5nKTogQ1NMU2lnU3RydWN0dXJlT3V0cHV0IHtcbiAgLy8gUGF5bG9hZFxuICBjb25zdCBwYXlsb2FkQnl0ZXMgPSBCdWZmZXIuZnJvbShtZXNzYWdlLCAndXRmLTgnKTtcblxuICAvLyBQcm90ZWN0ZWQgSGVhZGVyXG4gIGNvbnN0IHByb3RlY3RlZEhlYWRlck1hcCA9IG5ldyBNYXA8bnVtYmVyIHwgc3RyaW5nLCBhbnk+KCk7XG4gIHByb3RlY3RlZEhlYWRlck1hcC5zZXQoMSwgLTgpOyAvLyBBbGdvcml0aG0gSUQ6IEVkRFNBXG4gIHByb3RlY3RlZEhlYWRlck1hcC5zZXQoJ2FkZHJlc3MnLCBCdWZmZXIuZnJvbShhZGRyZXNzQ2JvckJ5dGVzKSk7XG4gIGNvbnN0IHByb3RlY3RlZEhlYWRlckNib3JCeXRlcyA9IEVuY29kZXIuZW5jb2RlKHByb3RlY3RlZEhlYWRlck1hcCk7XG5cbiAgLy8gU2lnX3N0cnVjdHVyZVxuICBjb25zdCBzaWdTdHJ1Y3R1cmVBcnJheTogYW55W10gPSBbXG4gICAgJ1NpZ25hdHVyZTEnLFxuICAgIEJ1ZmZlci5mcm9tKHByb3RlY3RlZEhlYWRlckNib3JCeXRlcyksXG4gICAgQnVmZmVyLmZyb20oW10pLCAvLyBFbXB0eSBleHRlcm5hbF9hYWRcbiAgICBCdWZmZXIuZnJvbShwYXlsb2FkQnl0ZXMpLFxuICBdO1xuICBjb25zdCBzaWdTdHJ1Y3R1cmVDYm9yQnl0ZXMgPSBFbmNvZGVyLmVuY29kZShzaWdTdHJ1Y3R1cmVBcnJheSk7XG5cbiAgcmV0dXJuIHsgc2lnU3RydWN0dXJlQ2JvckJ5dGVzLCBwcm90ZWN0ZWRIZWFkZXJDYm9yQnl0ZXMsIHBheWxvYWRCeXRlcyB9O1xufVxuXG4vLyBDT1NFIG9iamVjdHMgY29uc3RydWN0aW9uIGZ1bmN0aW9uXG5leHBvcnQgZnVuY3Rpb24gY29uc3RydWN0Q1NMQ29zZU9iamVjdHMoXG4gIHByb3RlY3RlZEhlYWRlckNib3JCeXRlczogVWludDhBcnJheSxcbiAgcGF5bG9hZEJ5dGVzOiBCdWZmZXIsXG4gIGNzbFNpZ25hdHVyZUJ5dGVzOiBVaW50OEFycmF5LFxuICBwYXltZW50UHViS2V5OiBDU0wuUHVibGljS2V5XG4pOiBDU0xDb3NlT2JqZWN0c091dHB1dCB7XG4gIC8vIENPU0VfU2lnbjEgQ29uc3RydWN0aW9uXG4gIGNvbnN0IHVucHJvdGVjdGVkSGVhZGVyc01hcCA9IG5ldyBNYXA8c3RyaW5nLCBhbnk+KCk7XG4gIHVucHJvdGVjdGVkSGVhZGVyc01hcC5zZXQoJ2hhc2hlZCcsIGZhbHNlKTtcbiAgY29uc3QgY29zZVNpZ24xQXJyYXk6IGFueVtdID0gW1xuICAgIEJ1ZmZlci5mcm9tKHByb3RlY3RlZEhlYWRlckNib3JCeXRlcyksXG4gICAgdW5wcm90ZWN0ZWRIZWFkZXJzTWFwLFxuICAgIEJ1ZmZlci5mcm9tKHBheWxvYWRCeXRlcyksXG4gICAgQnVmZmVyLmZyb20oY3NsU2lnbmF0dXJlQnl0ZXMpLFxuICBdO1xuICBjb25zdCBmaW5hbENvc2VTaWduMUNib3JCeXRlcyA9IEVuY29kZXIuZW5jb2RlKGNvc2VTaWduMUFycmF5KTtcbiAgLyogLy8gZGlyZWN0bHkgZW5jb2RpbmcgdGhlIGNvc2VTaWduMUFycmF5IHdpdGhvdXQgcHJlcGVuZGluZyB0aGUgMHhEMiB0YWcuXG4gICAqIGNvbnN0IGNvc2VTaWduMVBheWxvYWRCeXRlcyA9IEVuY29kZXIuZW5jb2RlKGNvc2VTaWduMUFycmF5KTtcbiAgICogY29uc3QgY29zZVNpZ24xVGFnID0gQnVmZmVyLmZyb20oWzB4RDJdKTsgLy8gVGFnIDE4IGZvciBDT1NFX1NpZ24xXG4gICAqIGNvbnN0IGZpbmFsQ29zZVNpZ24xQ2JvckJ5dGVzID0gQnVmZmVyLmNvbmNhdChbY29zZVNpZ24xVGFnLCBjb3NlU2lnbjFQYXlsb2FkQnl0ZXNdKTtcbiAgICovXG4gIGNvbnN0IG1hbnVhbENvc2VTaWduMUhleCA9IGJ5dGVzVG9IZXgoZmluYWxDb3NlU2lnbjFDYm9yQnl0ZXMpO1xuXG4gIC8vIENPU0VfS2V5IENvbnN0cnVjdGlvblxuICBjb25zdCBjb3NlS2V5TWFwID0gbmV3IE1hcDxudW1iZXIsIGFueT4oKTtcbiAgY29zZUtleU1hcC5zZXQoMSwgMSk7IC8vIGt0eTogT0tQIChPY3RldCBLZXkgUGFpcilcbiAgY29zZUtleU1hcC5zZXQoMywgLTgpOyAvLyBhbGc6IEVkRFNBXG4gIGNvc2VLZXlNYXAuc2V0KC0xLCA2KTsgLy8gY3J2OiBFZDI1NTE5XG4gIGNvc2VLZXlNYXAuc2V0KC0yLCBCdWZmZXIuZnJvbShwYXltZW50UHViS2V5LmFzX2J5dGVzKCkpKTsgLy8geDogcHVibGljX2tleV9ieXRlcyAoRWQyNTUxOSBwdWJsaWMga2V5KVxuICBjb25zdCBmaW5hbENvc2VLZXlDYm9yQnl0ZXMgPSBFbmNvZGVyLmVuY29kZShjb3NlS2V5TWFwKTtcbiAgY29uc3QgbWFudWFsQ29zZUtleUhleCA9IGJ5dGVzVG9IZXgoZmluYWxDb3NlS2V5Q2JvckJ5dGVzKTtcblxuICByZXR1cm4geyBtYW51YWxDb3NlU2lnbjFIZXgsIG1hbnVhbENvc2VLZXlIZXggfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvc2VPYmplY3RzT3V0cHV0VG9CdWZmZXIob3V0cHV0OiBDU0xDb3NlT2JqZWN0c091dHB1dCk6IEJ1ZmZlciB7XG4gIHJldHVybiBCdWZmZXIuZnJvbShFbmNvZGVyLmVuY29kZShvdXRwdXQpKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGJ1ZmZlclRvQ29zZU9iamVjdHNPdXRwdXQoYnVmZmVyOiBCdWZmZXIpOiBQcm9taXNlPENTTENvc2VPYmplY3RzT3V0cHV0PiB7XG4gIHJldHVybiBhd2FpdCBEZWNvZGVyLmRlY29kZUZpcnN0KGJ1ZmZlcik7XG59XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/messages/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,QAAQ,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./messageBuilderFactory"), exports);
|
|
18
|
+
__exportStar(require("./cip8"), exports);
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL21lc3NhZ2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwwREFBd0M7QUFDeEMseUNBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9tZXNzYWdlQnVpbGRlckZhY3RvcnknO1xuZXhwb3J0ICogZnJvbSAnLi9jaXA4JztcbiJdfQ==
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
|
|
2
|
+
import { BaseMessageBuilderFactory, IMessageBuilder, MessageStandardType } from '@bitgo-beta/sdk-core';
|
|
3
|
+
export declare class MessageBuilderFactory extends BaseMessageBuilderFactory {
|
|
4
|
+
constructor(coinConfig: Readonly<CoinConfig>);
|
|
5
|
+
getMessageBuilder(type: MessageStandardType): IMessageBuilder;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=messageBuilderFactory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messageBuilderFactory.d.ts","sourceRoot":"","sources":["../../../../src/lib/messages/messageBuilderFactory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEvG,qBAAa,qBAAsB,SAAQ,yBAAyB;gBACtD,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;IAIrC,iBAAiB,CAAC,IAAI,EAAE,mBAAmB,GAAG,eAAe;CAQrE"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MessageBuilderFactory = void 0;
|
|
4
|
+
const cip8_1 = require("./cip8");
|
|
5
|
+
const sdk_core_1 = require("@bitgo-beta/sdk-core");
|
|
6
|
+
class MessageBuilderFactory extends sdk_core_1.BaseMessageBuilderFactory {
|
|
7
|
+
constructor(coinConfig) {
|
|
8
|
+
super(coinConfig);
|
|
9
|
+
}
|
|
10
|
+
getMessageBuilder(type) {
|
|
11
|
+
switch (type) {
|
|
12
|
+
case sdk_core_1.MessageStandardType.CIP8:
|
|
13
|
+
return new cip8_1.Cip8MessageBuilder(this.coinConfig);
|
|
14
|
+
default:
|
|
15
|
+
throw new Error(`Invalid message standard ${type}`);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
exports.MessageBuilderFactory = MessageBuilderFactory;
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZUJ1aWxkZXJGYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9tZXNzYWdlcy9tZXNzYWdlQnVpbGRlckZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaUNBQTRDO0FBRTVDLG1EQUF1RztBQUV2RyxNQUFhLHFCQUFzQixTQUFRLG9DQUF5QjtJQUNsRSxZQUFZLFVBQWdDO1FBQzFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBRU0saUJBQWlCLENBQUMsSUFBeUI7UUFDaEQsUUFBUSxJQUFJLEVBQUUsQ0FBQztZQUNiLEtBQUssOEJBQW1CLENBQUMsSUFBSTtnQkFDM0IsT0FBTyxJQUFJLHlCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNqRDtnQkFDRSxNQUFNLElBQUksS0FBSyxDQUFDLDRCQUE0QixJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3hELENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUFiRCxzREFhQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENpcDhNZXNzYWdlQnVpbGRlciB9IGZyb20gJy4vY2lwOCc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQgeyBCYXNlTWVzc2FnZUJ1aWxkZXJGYWN0b3J5LCBJTWVzc2FnZUJ1aWxkZXIsIE1lc3NhZ2VTdGFuZGFyZFR5cGUgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5cbmV4cG9ydCBjbGFzcyBNZXNzYWdlQnVpbGRlckZhY3RvcnkgZXh0ZW5kcyBCYXNlTWVzc2FnZUJ1aWxkZXJGYWN0b3J5IHtcbiAgY29uc3RydWN0b3IoY29pbkNvbmZpZzogUmVhZG9ubHk8Q29pbkNvbmZpZz4pIHtcbiAgICBzdXBlcihjb2luQ29uZmlnKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRNZXNzYWdlQnVpbGRlcih0eXBlOiBNZXNzYWdlU3RhbmRhcmRUeXBlKTogSU1lc3NhZ2VCdWlsZGVyIHtcbiAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgIGNhc2UgTWVzc2FnZVN0YW5kYXJkVHlwZS5DSVA4OlxuICAgICAgICByZXR1cm4gbmV3IENpcDhNZXNzYWdlQnVpbGRlcih0aGlzLmNvaW5Db25maWcpO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIG1lc3NhZ2Ugc3RhbmRhcmQgJHt0eXBlfWApO1xuICAgIH1cbiAgfVxufVxuIl19
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bitgo-beta/sdk-coin-ada",
|
|
3
|
-
"version": "2.3.14-beta.
|
|
3
|
+
"version": "2.3.14-beta.981",
|
|
4
4
|
"description": "BitGo SDK coin library for Ada",
|
|
5
5
|
"main": "./dist/src/index.js",
|
|
6
6
|
"types": "./dist/src/index.d.ts",
|
|
@@ -40,9 +40,9 @@
|
|
|
40
40
|
]
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"@bitgo-beta/sdk-core": "8.2.1-beta.
|
|
44
|
-
"@bitgo-beta/sdk-lib-mpc": "8.2.0-beta.
|
|
45
|
-
"@bitgo-beta/statics": "15.1.1-beta.
|
|
43
|
+
"@bitgo-beta/sdk-core": "8.2.1-beta.983",
|
|
44
|
+
"@bitgo-beta/sdk-lib-mpc": "8.2.0-beta.975",
|
|
45
|
+
"@bitgo-beta/statics": "15.1.1-beta.986",
|
|
46
46
|
"@emurgo/cardano-serialization-lib-browser": "^12.0.1",
|
|
47
47
|
"@emurgo/cardano-serialization-lib-nodejs": "^12.0.1",
|
|
48
48
|
"bech32": "^2.0.0",
|
|
@@ -54,8 +54,8 @@
|
|
|
54
54
|
"tweetnacl": "^1.0.3"
|
|
55
55
|
},
|
|
56
56
|
"devDependencies": {
|
|
57
|
-
"@bitgo-beta/sdk-api": "1.10.1-beta.
|
|
57
|
+
"@bitgo-beta/sdk-api": "1.10.1-beta.982",
|
|
58
58
|
"@bitgo-beta/sdk-test": "^8.0.92"
|
|
59
59
|
},
|
|
60
|
-
"gitHead": "
|
|
60
|
+
"gitHead": "ea7dabfcaa2c04708a98eda14d56d4481a8eaf6e"
|
|
61
61
|
}
|