@debridge-finance/solana-utils 1.0.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/LICENSE +674 -0
- package/README.md +3 -0
- package/dist/browser/index.js +7899 -0
- package/dist/browser/index.js.map +1 -0
- package/dist/cjs/accounts.js +98 -0
- package/dist/cjs/accounts.js.map +1 -0
- package/dist/cjs/constants.js +69 -0
- package/dist/cjs/constants.js.map +1 -0
- package/dist/cjs/crypto.js +108 -0
- package/dist/cjs/crypto.js.map +1 -0
- package/dist/cjs/helpers.js +184 -0
- package/dist/cjs/helpers.js.map +1 -0
- package/dist/cjs/index.js +10 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/interfaces.js +9 -0
- package/dist/cjs/interfaces.js.map +1 -0
- package/dist/esm/accounts.js +91 -0
- package/dist/esm/accounts.js.map +1 -0
- package/dist/esm/constants.js +66 -0
- package/dist/esm/constants.js.map +1 -0
- package/dist/esm/crypto.js +99 -0
- package/dist/esm/crypto.js.map +1 -0
- package/dist/esm/helpers.js +191 -0
- package/dist/esm/helpers.js.map +1 -0
- package/dist/esm/index.js +6 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/interfaces.js +5 -0
- package/dist/esm/interfaces.js.map +1 -0
- package/dist/types/accounts.d.ts +69 -0
- package/dist/types/accounts.d.ts.map +1 -0
- package/dist/types/constants.d.ts +66 -0
- package/dist/types/constants.d.ts.map +1 -0
- package/dist/types/crypto.d.ts +35 -0
- package/dist/types/crypto.d.ts.map +1 -0
- package/dist/types/helpers.d.ts +27 -0
- package/dist/types/helpers.d.ts.map +1 -0
- package/dist/types/index.d.ts +6 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/interfaces.d.ts +42 -0
- package/dist/types/interfaces.d.ts.map +1 -0
- package/package.json +71 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accounts.js","sourceRoot":"","sources":["../../src/accounts.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAU,QAAQ,EAAgB,MAAM,cAAc,CAAC;AAE9D,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;AACtG,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;AAC7F,MAAM,CAAC,MAAM,2BAA2B,GAAG,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;AACzG,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;AAE7F,MAAM,UAAgB,0BAA0B,CAC/C,MAAiB,EACjB,SAAoB,EACpB,iBAA4B,gBAAgB,EAC5C,0BAAqC,2BAA2B;;QAEhE,OAAO,SAAS,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,cAAc,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC,EAAE,uBAAuB,CAAC,CAAC;IACjI,CAAC;CAAA;AAED,MAAM,UAAU,8BAA8B,CAC7C,MAAiB,EACjB,SAAoB,EACpB,iBAA4B,gBAAgB,EAC5C,0BAAqC,2BAA2B;IAEhE,OAAO,SAAS,CAAC,sBAAsB,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,cAAc,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC,EAAE,uBAAuB,CAAC,CAAC;AACrI,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,SAAoB,EAAE,sBAAiC;IAC9F,OAAO,SAAS,CAAC,kBAAkB,CAClC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,sBAAsB,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC,EAChF,sBAAsB,CACtB,CAAC;AACH,CAAC;AAED,MAAM,QAAQ,GAAG;IAChB,qBAAqB,EAAE,CAAC,mBAA8B,EAAE,EAAE,CACzD,SAAS,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE,mBAAmB,CAAC;IACxG,6BAA6B,EAAE,CAC9B,YAAoB,EACpB,cAA4B,EAC5B,aAAqB,EACrB,mBAA8B,EAC7B,EAAE,CACH,SAAS,CAAC,kBAAkB,CAC3B;QACC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,qBAAqB,CAAC;QAC3D,YAAY;QACZ,IAAI,SAAS,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE;QACvC,gBAAgB,CAAC,aAAa,CAAC;KAC/B,EACD,mBAAmB,CACnB;IACF,0BAA0B,EAAE,CAAC,mBAAiC,EAAE,mBAA8B,EAAE,EAAE,CACjG,SAAS,CAAC,kBAAkB,CAC3B,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE,IAAI,SAAS,CAAC,mBAAmB,CAAC,CAAC,OAAO,EAAE,CAAC,EACxG,mBAAmB,CACnB;IACF,eAAe,EAAE,CAAC,mBAA8B,EAAE,EAAE,CACnD,SAAS,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,mBAAmB,CAAC;IACjG,oBAAoB,EAAE,CAAC,YAAoB,EAAE,mBAA8B,EAAE,EAAE,CAC9E,SAAS,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,YAAY,CAAC,EAAE,mBAAmB,CAAC;IAEpH,wBAAwB,EAAE,CAAC,iBAA+B,EAAE,mBAA8B,EAAE,EAAE,CAC7F,SAAS,CAAC,kBAAkB,CAC3B,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,IAAI,SAAS,CAAC,iBAAiB,CAAC,CAAC,OAAO,EAAE,CAAC,EACnG,mBAAmB,CACnB;IACF,uBAAuB,EAAE,CAAC,MAAoB,EAAE,mBAA8B,EAAE,EAAE,CACjF,SAAS,CAAC,kBAAkB,CAC3B,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,EACtF,mBAAmB,CACnB;CACF,CAAC;AAEF,MAAM,gBAAgB,GAAG;IACxB,6BAA6B,EAAE,CAAC,mBAA8B,EAAE,EAAE,CACjE,SAAS,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,EAAE,mBAAmB,CAAC;IAClH,mBAAmB,EAAE,CAAC,UAAkB,EAAE,mBAA8B,EAAE,EAAE,CAC3E,SAAS,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,EAAE,mBAAmB,CAAC;IAC7H,eAAe,EAAE,CAAC,mBAA8B,EAAE,EAAE,CACnD,SAAS,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,mBAAmB,CAAC;IACzG,8BAA8B,EAAE,CAAC,OAAe,EAAE,mBAA8B,EAAE,EAAE,CACnF,SAAS,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC,EAAE,mBAAmB,CAAC;IACjI,mBAAmB,EAAE,CAAC,MAAiB,EAAE,OAAe,EAAE,mBAA8B,EAAE,EAAE,CAC3F,SAAS,CAAC,kBAAkB,CAC3B,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,EAC5G,mBAAmB,CACnB;IACF,0BAA0B,EAAE,CAAC,OAAe,EAAE,mBAA8B,EAAE,EAAE,CAC/E,SAAS,CAAC,kBAAkB,CAC3B,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,EAC7F,mBAAmB,CACnB;IACF,sBAAsB,EAAE,CAAC,IAAe,EAAE,mBAA8B,EAAE,EAAE,CAC3E,SAAS,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,mBAAmB,CAAC;IACjI,gBAAgB,EAAE,CAAC,SAAoB,EAAE,mBAA8B,EAAE,EAAE,CAC1E,SAAS,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC,EAAE,mBAAmB,CAAC;IAC/H,mBAAmB,EAAE,CAAC,QAAgB,EAAE,mBAA8B,EAAE,EAAE,CACzE,SAAS,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAE7H,oBAAoB,EAAE,CAAC,mBAA8B,EAAE,EAAE,CACxD,SAAS,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE,mBAAmB,CAAC;IAE/G,qBAAqB,EAAE,CAAC,mBAA8B,EAAE,EAAE,CACzD,SAAS,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,EAAE,mBAAmB,CAAC;CACtH,CAAC;AAEF,MAAM,MAAM,GAAG;IACd,eAAe,EAAE,CAAC,kBAA6B,EAAE,EAAE,CAClD,SAAS,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC;IAC9F,eAAe,EAAE,CAAC,KAAyB,EAAE,kBAA6B,EAAE,EAAE,CAC7E,SAAS,CAAC,kBAAkB,CAC3B,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,EACvF,kBAAkB,CAClB;IACF,wBAAwB,EAAE,CAAC,OAAe,EAAE,kBAA6B,EAAE,EAAE,CAC5E,SAAS,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7G,gCAAgC,EAAE,CAAC,OAAe,EAAE,kBAA6B,EAAE,EAAE,CACpF,SAAS,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,EAAE,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC1H,yBAAyB,EAAE,CAAC,OAAe,EAAE,kBAA6B,EAAE,EAAE,CAC7E,SAAS,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC,EAAE,kBAAkB,CAAC;IACnH,yBAAyB,EAAE,CAAC,SAAoB,EAAE,kBAA6B,EAAE,EAAE,CAClF,SAAS,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,EAAE,kBAAkB,CAAC;IAChI,mBAAmB,EAAE,CAAC,kBAA6B,EAAE,EAAE,CACtD,SAAS,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE,kBAAkB,CAAC;CACnG,CAAC;AAEF,MAAM,MAAM,GAAG;IACd,+BAA+B,EAAE,CAAC,OAAe,EAAE,kBAA6B,EAAE,EAAE,CACnF,SAAS,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,EAAE,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAEzH,mCAAmC,EAAE,CAAC,kBAA6B,EAAE,EAAE,CACtE,SAAS,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC,EAAE,kBAAkB,CAAC;IAErH,wBAAwB,EAAE,CAAC,OAAe,EAAE,kBAA6B,EAAE,EAAE,CAC5E,SAAS,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAE7G,mBAAmB,EAAE,CAAC,OAAe,EAAE,kBAA6B,EAAE,EAAE,CACvE,SAAS,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,EAAE,kBAAkB,CAAC;CAC5G,CAAC;AAiBF,SAAS,MAAM,CAAC,EAA2B,EAAE,GAAY;IACxD,OAAO,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,QAAQ;IAIb,YAAY,SAAuB,EAAE,GAAM;QAC1C,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,OAAO,GAA4B,EAAE,CAAC;QAC1C,KAAK,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAC7C,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;SAC7C;QACD,IAAI,CAAC,OAAO,GAAG,OAAwC,CAAC;IACzD,CAAC;CACD;AAED,MAAM,kBAAkB;IAGvB,YAAY,SAAa,EAAE,SAAa;QACvC,IAAI,OAAO,GAA4B,EAAE,CAAC;QAC1C,KAAK,IAAI,QAAQ,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE;YAC5C,KAAK,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;gBAC1D,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;aACrB;SACD;QACD,IAAI,CAAC,OAAO,GAAG,OAAwC,CAAC;IACzD,CAAC;CACD;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,SAAuB,EAAE,iBAA+B,EAAE,EAAE,CAC5F,IAAI,kBAAkB,CAAC,IAAI,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC,CAAC;AAC9G,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,SAAuB,EAAE,EAAE,CAAC,IAAI,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AAC3F,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,SAAuB,EAAE,EAAE,CAAC,IAAI,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
export const BPS_DENOMINATOR = 10000;
|
|
2
|
+
export const SOLANA_CHAIN_ID = 7565164;
|
|
3
|
+
export const MAX_TX_SIZE = 1232;
|
|
4
|
+
export const deBridge = {
|
|
5
|
+
Seeds: {
|
|
6
|
+
STATE: "DEBRIDGE_STATE",
|
|
7
|
+
BRIDGE: "BRIDGE",
|
|
8
|
+
WRAPPER_TOKEN: "WRAPPER_TOKEN",
|
|
9
|
+
SEND_BRIDGE_MAP: "WRAPPER_TOKEN",
|
|
10
|
+
BRIDGE_MINTER: "BRIDGE_MINTER",
|
|
11
|
+
CHAIN_SUPPORT_INFO: "CHAIN_SUPPORT_INFO",
|
|
12
|
+
BRIDGE_FEE_INFO: "BRIDGE_FEE_INFO",
|
|
13
|
+
DISCOUNT_INFO: "DISCOUNT_INFO",
|
|
14
|
+
ORACLE_KEYS: "SIGNATURES",
|
|
15
|
+
EXTERNAL_CALL_STORAGE: "EXTERNAL_CALL_STORAGE",
|
|
16
|
+
EXTERNAL_CALL_META: "EXTERNAL_CALL_META",
|
|
17
|
+
NONCE: "NONCE",
|
|
18
|
+
SUBMISSION: "SUBMISSION",
|
|
19
|
+
SUBMISSION_AUTH: "SUBMISSION_AUTH",
|
|
20
|
+
NO_DISCOUNT: "NO_DISCOUNT",
|
|
21
|
+
CLAIM_MARKER: "CLAIM_MARKER",
|
|
22
|
+
},
|
|
23
|
+
Flags: {
|
|
24
|
+
UNWRAP_ETH: 1,
|
|
25
|
+
REVERT_IF_EXTERNAL_FAIL: 2,
|
|
26
|
+
PROXY_WITH_SENDER: 4,
|
|
27
|
+
SEND_HASHED_DATA: 8,
|
|
28
|
+
SEND_TO_ATA: Math.pow(2, 31),
|
|
29
|
+
},
|
|
30
|
+
SUBMISSION_PREFIX: 1,
|
|
31
|
+
};
|
|
32
|
+
export const deBridgeSettings = {
|
|
33
|
+
Seeds: {
|
|
34
|
+
TOKEN_METADATA: "TOKEN_METADATA",
|
|
35
|
+
WRAPPER_TOKEN: "WRAPPER_TOKEN",
|
|
36
|
+
STATE: "DEBRIDGE_STATE",
|
|
37
|
+
CONFIRMATION_STORAGE: "SIGNATURES",
|
|
38
|
+
BRIDGE_FEE_INFO: "BRIDGE_FEE_INFO",
|
|
39
|
+
CHAIN_SUPPORT_INFO: "CHAIN_SUPPORT_INFO",
|
|
40
|
+
DISCOUNT_INFO: "DISCOUNT_INFO",
|
|
41
|
+
BRIDGE: "BRIDGE",
|
|
42
|
+
NO_BRIDGE_FEE_INFO: "DEFAULT_BRIDGE_FEE_INFO",
|
|
43
|
+
NO_DISCOUNT: "NO_DISCOUNT",
|
|
44
|
+
SEND_BRIDGE_MAP: "WRAPPER_TOKEN",
|
|
45
|
+
},
|
|
46
|
+
};
|
|
47
|
+
export const pmmSrc = {
|
|
48
|
+
Seeds: {
|
|
49
|
+
STATE: "STATE",
|
|
50
|
+
NONCE: "NONCE",
|
|
51
|
+
ORDER_STATE: "GIVE_ORDER_STATE",
|
|
52
|
+
AUTHORIZED_NATIVE_SENDER: "AUTHORIZED_NATIVE_SENDER",
|
|
53
|
+
GIVE_ORDER_WALLET: "GIVE_ORDER_WALLET",
|
|
54
|
+
FEE_LEDGER_WALLET: "FEE_LEDGER_WALLET",
|
|
55
|
+
FEE_LEDGER: "FEE LEDGER",
|
|
56
|
+
},
|
|
57
|
+
};
|
|
58
|
+
export const pmmDst = {
|
|
59
|
+
Seeds: {
|
|
60
|
+
AUTHORIZED_SRC_CONTRACT: "AUTHORIZED_SRC_CONTRACT",
|
|
61
|
+
AUTHORIZED_DST_NATIVE_SENDER: "AUTHORIZED_DST_NATIVE_SENDER",
|
|
62
|
+
ORDER_STATE: "TAKE_ORDER_STATE",
|
|
63
|
+
TAKE_PATCH: "TAKE_ORDER_PATCH",
|
|
64
|
+
},
|
|
65
|
+
};
|
|
66
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,CAAC;AACrC,MAAM,CAAC,MAAM,eAAe,GAAG,OAAO,CAAC;AACvC,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC;AAEhC,MAAM,CAAC,MAAM,QAAQ,GAAG;IACvB,KAAK,EAAE;QACN,KAAK,EAAE,gBAAgB;QACvB,MAAM,EAAE,QAAQ;QAChB,aAAa,EAAE,eAAe;QAC9B,eAAe,EAAE,eAAe;QAChC,aAAa,EAAE,eAAe;QAC9B,kBAAkB,EAAE,oBAAoB;QACxC,eAAe,EAAE,iBAAiB;QAClC,aAAa,EAAE,eAAe;QAC9B,WAAW,EAAE,YAAY;QACzB,qBAAqB,EAAE,uBAAuB;QAC9C,kBAAkB,EAAE,oBAAoB;QACxC,KAAK,EAAE,OAAO;QACd,UAAU,EAAE,YAAY;QACxB,eAAe,EAAE,iBAAiB;QAClC,WAAW,EAAE,aAAa;QAC1B,YAAY,EAAE,cAAc;KAC5B;IACD,KAAK,EAAE;QACN,UAAU,EAAE,CAAC;QACb,uBAAuB,EAAE,CAAC;QAC1B,iBAAiB,EAAE,CAAC;QACpB,gBAAgB,EAAE,CAAC;QACnB,WAAW,EAAE,SAAA,CAAC,EAAI,EAAE,CAAA;KACpB;IACD,iBAAiB,EAAE,CAAC;CACpB,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC/B,KAAK,EAAE;QACN,cAAc,EAAE,gBAAgB;QAChC,aAAa,EAAE,eAAe;QAC9B,KAAK,EAAE,gBAAgB;QACvB,oBAAoB,EAAE,YAAY;QAClC,eAAe,EAAE,iBAAiB;QAClC,kBAAkB,EAAE,oBAAoB;QACxC,aAAa,EAAE,eAAe;QAC9B,MAAM,EAAE,QAAQ;QAChB,kBAAkB,EAAE,yBAAyB;QAC7C,WAAW,EAAE,aAAa;QAC1B,eAAe,EAAE,eAAe;KAChC;CACD,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG;IACrB,KAAK,EAAE;QACN,KAAK,EAAE,OAAO;QACd,KAAK,EAAE,OAAO;QACd,WAAW,EAAE,kBAAkB;QAC/B,wBAAwB,EAAE,0BAA0B;QACpD,iBAAiB,EAAE,mBAAmB;QACtC,iBAAiB,EAAE,mBAAmB;QACtC,UAAU,EAAE,YAAY;KACxB;CACD,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG;IACrB,KAAK,EAAE;QACN,uBAAuB,EAAE,yBAAyB;QAClD,4BAA4B,EAAE,8BAA8B;QAC5D,WAAW,EAAE,kBAAkB;QAC/B,UAAU,EAAE,kBAAkB;KAC9B;CACD,CAAC"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { Buffer } from "buffer";
|
|
2
|
+
import { PublicKey } from "@solana/web3.js";
|
|
3
|
+
import { utils as etherUtils } from "ethers";
|
|
4
|
+
import BN from "bn.js";
|
|
5
|
+
import { deBridge } from "./constants";
|
|
6
|
+
import { hexToBuffer } from "./helpers";
|
|
7
|
+
import { isBuffer } from "./interfaces";
|
|
8
|
+
export function denormalizeAmount(amount, denominator) {
|
|
9
|
+
const denominatorBN = new BN(Math.pow(10, denominator));
|
|
10
|
+
return amount.mul(denominatorBN).toArrayLike(Buffer, "be", 32);
|
|
11
|
+
}
|
|
12
|
+
export function normalizeChainId(chainId) {
|
|
13
|
+
return hexToBuffer(`0x${isBuffer(chainId) ? chainId.toString("hex") : new BN(chainId).toString(16)}`, 32);
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Hashes deploy info
|
|
17
|
+
* @param params {@link HashDeployInfoParams}
|
|
18
|
+
* @returns keccak256 of deployInfo structure
|
|
19
|
+
*/
|
|
20
|
+
export function hashDeployInfo(params) {
|
|
21
|
+
const nameHash = etherUtils.solidityKeccak256(["string"], [params.tokenName]);
|
|
22
|
+
const symbolHash = etherUtils.solidityKeccak256(["string"], [params.tokenSymbol]);
|
|
23
|
+
const deployInfoHash = etherUtils.solidityKeccak256(["uint256", "uint256", "uint256", "uint256", "uint8"], [2, params.debridgeId, nameHash, symbolHash, params.decimals]);
|
|
24
|
+
return deployInfoHash;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Returns bridgeid hash
|
|
28
|
+
* @param nativeChainId chain id where token originates
|
|
29
|
+
* @param nativeTokenAddress address of token in native chain in format "0x<HEX STRING>"
|
|
30
|
+
* @returns bridge id in deBridge network
|
|
31
|
+
*/
|
|
32
|
+
export function hashDebridgeId(nativeChainId, nativeTokenAddress) {
|
|
33
|
+
const chainIdBuffer = normalizeChainId(nativeChainId);
|
|
34
|
+
const bridgeId = etherUtils.solidityKeccak256(["uint256", "bytes"], [chainIdBuffer, nativeTokenAddress]);
|
|
35
|
+
return bridgeId;
|
|
36
|
+
}
|
|
37
|
+
export function hashExternalCallBytes(data) {
|
|
38
|
+
return hexToBuffer(etherUtils.solidityKeccak256(["bytes"], [data ? data : Buffer.from([])]), 32);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Hashes submission for provided data
|
|
42
|
+
* @param params data to hash
|
|
43
|
+
* @returns submissionId from provided params
|
|
44
|
+
*/
|
|
45
|
+
export function hashSubmissionIdRaw(params) {
|
|
46
|
+
var _a, _b, _c, _d;
|
|
47
|
+
let packParams = [
|
|
48
|
+
"uint256",
|
|
49
|
+
"uint256",
|
|
50
|
+
"uint256",
|
|
51
|
+
"uint256",
|
|
52
|
+
"uint256",
|
|
53
|
+
"bytes",
|
|
54
|
+
"uint256", // nonce
|
|
55
|
+
];
|
|
56
|
+
const receiver = isBuffer(params.receiver)
|
|
57
|
+
? params.receiver
|
|
58
|
+
: typeof params.receiver === "string"
|
|
59
|
+
? params.receiver.startsWith("0x")
|
|
60
|
+
? hexToBuffer(params.receiver)
|
|
61
|
+
: new PublicKey(params.receiver)
|
|
62
|
+
: new PublicKey(params.receiver).toBuffer();
|
|
63
|
+
let packData = [
|
|
64
|
+
deBridge.SUBMISSION_PREFIX,
|
|
65
|
+
params.debridgeId,
|
|
66
|
+
normalizeChainId(params.sourceChainId),
|
|
67
|
+
normalizeChainId(params.targetChainId),
|
|
68
|
+
new BN(params.amount).toArray("be", 32),
|
|
69
|
+
receiver,
|
|
70
|
+
params.nonce, // nonce
|
|
71
|
+
];
|
|
72
|
+
if (params === null || params === void 0 ? void 0 : params.autoParams) {
|
|
73
|
+
packParams = packParams.concat([
|
|
74
|
+
"uint256",
|
|
75
|
+
"uint256",
|
|
76
|
+
"uint256",
|
|
77
|
+
"uint256",
|
|
78
|
+
"uint256", // native sender hash
|
|
79
|
+
]);
|
|
80
|
+
const shortcut = ((_a = params.autoParams) === null || _a === void 0 ? void 0 : _a.shortcut)
|
|
81
|
+
? isBuffer(params.autoParams.shortcut)
|
|
82
|
+
? params.autoParams.shortcut
|
|
83
|
+
: hexToBuffer(params.autoParams.shortcut)
|
|
84
|
+
: hashExternalCallBytes((_b = params === null || params === void 0 ? void 0 : params.autoParams) === null || _b === void 0 ? void 0 : _b.data);
|
|
85
|
+
const fallback = params.autoParams.fallbackAddress.startsWith("0x")
|
|
86
|
+
? hexToBuffer(params.autoParams.fallbackAddress)
|
|
87
|
+
: new PublicKey(params.autoParams.fallbackAddress).toBuffer();
|
|
88
|
+
packData = packData.concat([
|
|
89
|
+
new BN(((_c = params === null || params === void 0 ? void 0 : params.autoParams) === null || _c === void 0 ? void 0 : _c.executionFee) || 0).toArray("be", 32),
|
|
90
|
+
new BN(((_d = params.autoParams) === null || _d === void 0 ? void 0 : _d.flags) || 0).toArray("be", 32),
|
|
91
|
+
hashExternalCallBytes(fallback),
|
|
92
|
+
shortcut,
|
|
93
|
+
hashExternalCallBytes(params.autoParams.nativeSender),
|
|
94
|
+
]);
|
|
95
|
+
}
|
|
96
|
+
const submissionIdHash = etherUtils.solidityKeccak256(packParams, packData);
|
|
97
|
+
return submissionIdHash;
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=crypto.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../src/crypto.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
|
+
import { Buffer } from "buffer";
|
|
3
|
+
import { Message, MessageV0, sendAndConfirmRawTransaction, Transaction, VersionedTransaction } from "@solana/web3.js";
|
|
4
|
+
export function hexToBuffer(data, align) {
|
|
5
|
+
if (!data.startsWith("0x"))
|
|
6
|
+
throw new Error("[hexToBuffer]: string must start with 0x");
|
|
7
|
+
data = data.slice(2); // remove 0x
|
|
8
|
+
if (!data)
|
|
9
|
+
return Buffer.from([]);
|
|
10
|
+
const bufferLen = data.length / 2;
|
|
11
|
+
data = data.length % 2 ? "0" + data : data; // append leading zero if data is not aligned, eg "fff" => "0f ff"
|
|
12
|
+
align = align || 0;
|
|
13
|
+
if (align && bufferLen < align) {
|
|
14
|
+
return Buffer.concat([Buffer.from(Uint8Array.from({ length: align - bufferLen }).fill(0)), Buffer.from(data, "hex")]);
|
|
15
|
+
}
|
|
16
|
+
return Buffer.from(data, "hex");
|
|
17
|
+
}
|
|
18
|
+
export function bufferToHex(data) {
|
|
19
|
+
return `0x${Buffer.from(data).toString("hex")}`;
|
|
20
|
+
}
|
|
21
|
+
export function sleep(milliSeconds) {
|
|
22
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
23
|
+
return new Promise((resolve, reject) => {
|
|
24
|
+
setTimeout(resolve, milliSeconds);
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Serializes transaction and returns serialized size
|
|
30
|
+
* @param transaction tx to get length
|
|
31
|
+
* @param feePayer optional fee payer
|
|
32
|
+
* @returns transaction size
|
|
33
|
+
*/
|
|
34
|
+
export function getTransactionSize(transaction, feePayer) {
|
|
35
|
+
const clonedTransaction = new Transaction({
|
|
36
|
+
lastValidBlockHeight: 1234,
|
|
37
|
+
feePayer: (transaction === null || transaction === void 0 ? void 0 : transaction.feePayer) || feePayer || transaction.instructions[0].programId,
|
|
38
|
+
blockhash: "CSymwgTNX1j3E4qhKfJAUE41nBWEwXufoYryPbkde5RR", // fake blockhash
|
|
39
|
+
}).add(transaction);
|
|
40
|
+
const serializedMessage = clonedTransaction.serializeMessage();
|
|
41
|
+
const uniqueSigners = new Set(clonedTransaction.instructions.flatMap((ix) => ix.keys.filter((meta) => meta.isSigner).map((meta) => meta.pubkey.toBase58())));
|
|
42
|
+
// message length + signatures length (1 byte) + signatures count * signature size (64)
|
|
43
|
+
return serializedMessage.length + uniqueSigners.size * 64 + 1;
|
|
44
|
+
}
|
|
45
|
+
function isVersionedTx(arg) {
|
|
46
|
+
return 'version' in arg;
|
|
47
|
+
}
|
|
48
|
+
export class Wallet {
|
|
49
|
+
constructor(keypair) {
|
|
50
|
+
this.keypair = keypair;
|
|
51
|
+
this.publicKey = keypair.publicKey;
|
|
52
|
+
}
|
|
53
|
+
signTransaction(tx, additionalSigners) {
|
|
54
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
55
|
+
tx.sign(this.keypair, ...(additionalSigners || []));
|
|
56
|
+
return Promise.resolve(tx);
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
signAllTransactions(txs, additionalSigners) {
|
|
60
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
61
|
+
const promises = [];
|
|
62
|
+
for (const [id, tx] of txs.entries()) {
|
|
63
|
+
promises.push(this.signTransaction(tx, additionalSigners && additionalSigners.length > id ? additionalSigners[id] : []));
|
|
64
|
+
}
|
|
65
|
+
return Promise.all(promises);
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
signVersionedTransaction(tx, additionalSigners) {
|
|
69
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
70
|
+
tx.sign([this.keypair, ...(additionalSigners || [])]);
|
|
71
|
+
return Promise.resolve(tx);
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
;
|
|
75
|
+
signAllVersionedTransactions(txs, additionalSigners) {
|
|
76
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
77
|
+
const promises = [];
|
|
78
|
+
for (const [id, tx] of txs.entries()) {
|
|
79
|
+
promises.push(this.signVersionedTransaction(tx, additionalSigners && additionalSigners.length > id ? additionalSigners[id] : []));
|
|
80
|
+
}
|
|
81
|
+
return Promise.all(promises);
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
function sendWithRetries(connection, serialized, lastValidBlockHeight) {
|
|
86
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
87
|
+
const txId = yield connection.sendRawTransaction(serialized, {
|
|
88
|
+
skipPreflight: true,
|
|
89
|
+
});
|
|
90
|
+
let blockheight = yield connection.getBlockHeight();
|
|
91
|
+
const timesToSend = 5;
|
|
92
|
+
let sent = 0;
|
|
93
|
+
while (blockheight < lastValidBlockHeight && sent < timesToSend) {
|
|
94
|
+
yield connection.sendRawTransaction(serialized, {
|
|
95
|
+
skipPreflight: true,
|
|
96
|
+
});
|
|
97
|
+
yield sleep(300);
|
|
98
|
+
blockheight = yield connection.getBlockHeight();
|
|
99
|
+
sent += 1;
|
|
100
|
+
}
|
|
101
|
+
return txId;
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
export function sendAll(connection, wallet, transactions, signers, waitBetweenSend, skipPreflight = false, debug = false) {
|
|
105
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
106
|
+
let txIds = [];
|
|
107
|
+
const signAllTransactions = (txs, additionalSigners) => {
|
|
108
|
+
const result = [];
|
|
109
|
+
const txTypes = txs.map(isVersionedTx);
|
|
110
|
+
if (txTypes.every((isVersioned) => isVersioned === true)) {
|
|
111
|
+
// all txs are Versioned
|
|
112
|
+
if (wallet.signAllVersionedTransactions === undefined)
|
|
113
|
+
throw new Error("Trying to sign versioned transactions without implementation for sigining such transactions (signAllVersionedTransactions)");
|
|
114
|
+
return wallet.signAllVersionedTransactions(txs, additionalSigners);
|
|
115
|
+
}
|
|
116
|
+
else if (txTypes.every((isVersioned) => isVersioned === false)) {
|
|
117
|
+
// all txs are Legacy
|
|
118
|
+
return wallet.signAllTransactions(txs, additionalSigners);
|
|
119
|
+
}
|
|
120
|
+
// transactions are mixed
|
|
121
|
+
if (wallet.signVersionedTransaction === undefined)
|
|
122
|
+
throw new Error("Trying to sign versioned transaction without implementation for sigining such transaction (signVersionedTransaction)");
|
|
123
|
+
for (const [i, tx] of txs.entries()) {
|
|
124
|
+
const signers = additionalSigners && additionalSigners.length > i ? additionalSigners[i] : undefined;
|
|
125
|
+
if (isVersionedTx(tx)) {
|
|
126
|
+
result.push(wallet.signVersionedTransaction(tx, signers));
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
result.push(wallet.signTransaction(tx, signers));
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
return Promise.all(result);
|
|
133
|
+
};
|
|
134
|
+
if (waitBetweenSend === undefined || waitBetweenSend === 0) {
|
|
135
|
+
const { blockhash, lastValidBlockHeight } = yield connection.getLatestBlockhash({ commitment: "confirmed" });
|
|
136
|
+
yield Promise.all(transactions.map((tx) => __awaiter(this, void 0, void 0, function* () {
|
|
137
|
+
var _a;
|
|
138
|
+
let txV0;
|
|
139
|
+
if (isVersionedTx(tx)) {
|
|
140
|
+
tx.message.recentBlockhash = blockhash;
|
|
141
|
+
txV0 = tx;
|
|
142
|
+
}
|
|
143
|
+
else {
|
|
144
|
+
tx.recentBlockhash = blockhash;
|
|
145
|
+
tx.feePayer = wallet.publicKey;
|
|
146
|
+
const message = Message.from(tx.serializeMessage());
|
|
147
|
+
txV0 = new VersionedTransaction(new MessageV0({ addressTableLookups: [], compiledInstructions: [], header: message.header, recentBlockhash: blockhash, staticAccountKeys: message.accountKeys }));
|
|
148
|
+
}
|
|
149
|
+
if (!skipPreflight) {
|
|
150
|
+
const simulationResult = yield connection.simulateTransaction(txV0, { sigVerify: false, replaceRecentBlockhash: true, commitment: "confirmed" });
|
|
151
|
+
if (simulationResult.value.err !== null) {
|
|
152
|
+
throw new Error(`Tx simulation Error! Transaction message dump: ${Buffer.from(tx.serialize()).toString("base64")}\n Error: ${JSON.stringify(simulationResult.value.err)}, logs:\n ${(_a = simulationResult.value.logs) === null || _a === void 0 ? void 0 : _a.join("\n")}`);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
})));
|
|
156
|
+
// sign after setting correct blockhashes
|
|
157
|
+
const signed = yield signAllTransactions(transactions, signers);
|
|
158
|
+
txIds = yield Promise.all(signed.map((signedTx) => {
|
|
159
|
+
const serialized = Buffer.from(signedTx.serialize());
|
|
160
|
+
if (debug)
|
|
161
|
+
console.debug(serialized.toString("base64"));
|
|
162
|
+
return sendWithRetries(connection, serialized, lastValidBlockHeight);
|
|
163
|
+
}));
|
|
164
|
+
}
|
|
165
|
+
else {
|
|
166
|
+
for (let i = 0; i < transactions.length; i++) {
|
|
167
|
+
const tx = transactions[i];
|
|
168
|
+
const { blockhash } = yield connection.getLatestBlockhash();
|
|
169
|
+
let signed;
|
|
170
|
+
if (isVersionedTx(tx)) {
|
|
171
|
+
tx.message.recentBlockhash = blockhash;
|
|
172
|
+
if (wallet.signVersionedTransaction === undefined)
|
|
173
|
+
throw new Error("Trying to sign versioned transaction without implementation for sigining such transaction (signVersionedTransaction)");
|
|
174
|
+
signed = yield wallet.signVersionedTransaction(tx, signers && signers.length > i ? signers[i] : undefined);
|
|
175
|
+
}
|
|
176
|
+
else {
|
|
177
|
+
tx.recentBlockhash = blockhash;
|
|
178
|
+
tx.feePayer = wallet.publicKey;
|
|
179
|
+
signed = yield wallet.signTransaction(tx, signers && signers.length > i ? signers[i] : undefined);
|
|
180
|
+
}
|
|
181
|
+
const serialized = Buffer.from(signed.serialize());
|
|
182
|
+
if (debug)
|
|
183
|
+
console.debug(serialized.toString("base64"));
|
|
184
|
+
txIds.push(yield sendAndConfirmRawTransaction(connection, serialized, { maxRetries: 20, commitment: "confirmed", skipPreflight }));
|
|
185
|
+
yield sleep(waitBetweenSend);
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
return txIds;
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
//# sourceMappingURL=helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,cAAc,YAAY,CAAC;AAC3B,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAahC,MAAM,UAAU,QAAQ,CAAC,GAAY;IACpC,OAAO,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,wDAAwD;AACtF,CAAC"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { Buffer } from "buffer";
|
|
2
|
+
import { PublicKey } from "@solana/web3.js";
|
|
3
|
+
import { BNable, SolanaPubkey } from "./interfaces";
|
|
4
|
+
export declare const TOKEN_METADATA_PROGRAM_ID: PublicKey;
|
|
5
|
+
export declare const TOKEN_PROGRAM_ID: PublicKey;
|
|
6
|
+
export declare const ASSOCIATED_TOKEN_PROGRAM_ID: PublicKey;
|
|
7
|
+
export declare const WRAPPED_SOL_MINT: PublicKey;
|
|
8
|
+
export declare function findAssociatedTokenAddress(wallet: PublicKey, tokenMint: PublicKey, tokenProgramId?: PublicKey, associatedTokenProramId?: PublicKey): Promise<[PublicKey, number]>;
|
|
9
|
+
export declare function findAssociatedTokenAddressSync(wallet: PublicKey, tokenMint: PublicKey, tokenProgramId?: PublicKey, associatedTokenProramId?: PublicKey): [PublicKey, number];
|
|
10
|
+
export declare function getTokenMetadataAddress(tokenMint: PublicKey, tokenMetedataProgramId: PublicKey): Promise<[PublicKey, number]>;
|
|
11
|
+
declare type Head<T extends unknown[]> = T extends [...infer Head, unknown] ? Head : unknown[];
|
|
12
|
+
declare type EmptyTuple = [];
|
|
13
|
+
declare type OmitLastParam<F> = F extends (...args: infer P) => infer Ret ? Head<P> extends EmptyTuple ? () => Ret : (...args: Head<P>) => Ret : never;
|
|
14
|
+
declare type FnContainer = {
|
|
15
|
+
[K: string]: AnyFn;
|
|
16
|
+
};
|
|
17
|
+
declare type AnyFn = (...args: any[]) => any;
|
|
18
|
+
declare type AccountResolver<T> = {
|
|
19
|
+
readonly methods: {
|
|
20
|
+
[K in keyof T]: OmitLastParam<T[K]>;
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
declare class Resolver<T extends FnContainer> implements AccountResolver<T> {
|
|
24
|
+
readonly methods: AccountResolver<T>["methods"];
|
|
25
|
+
readonly programId: PublicKey;
|
|
26
|
+
constructor(programId: SolanaPubkey, obj: T);
|
|
27
|
+
}
|
|
28
|
+
declare class ResolverContainer2<R1 extends Resolver<FnContainer>, R2 extends Resolver<FnContainer>> {
|
|
29
|
+
readonly methods: R1["methods"] & R2["methods"];
|
|
30
|
+
constructor(resolver1: R1, resolver2: R2);
|
|
31
|
+
}
|
|
32
|
+
export declare const DeBridgeResolver: (programId: SolanaPubkey, settingsProgramId: SolanaPubkey) => ResolverContainer2<Resolver<{
|
|
33
|
+
getClaimMarkerAddress: (DEBRIDGE_PROGRAM_ID: PublicKey) => Promise<[PublicKey, number]>;
|
|
34
|
+
getExternalCallStorageAddress: (submissionId: Buffer, executorPubkey: SolanaPubkey, sourceChainId: BNable, DEBRIDGE_PROGRAM_ID: PublicKey) => Promise<[PublicKey, number]>;
|
|
35
|
+
getExternalCallMetaAddress: (externalCallStorage: SolanaPubkey, DEBRIDGE_PROGRAM_ID: PublicKey) => Promise<[PublicKey, number]>;
|
|
36
|
+
getNonceAddress: (DEBRIDGE_PROGRAM_ID: PublicKey) => Promise<[PublicKey, number]>;
|
|
37
|
+
getSubmissionAddress: (submissionId: Buffer, DEBRIDGE_PROGRAM_ID: PublicKey) => Promise<[PublicKey, number]>;
|
|
38
|
+
getSubmissionAuthAddress: (submissionAddress: SolanaPubkey, DEBRIDGE_PROGRAM_ID: PublicKey) => Promise<[PublicKey, number]>;
|
|
39
|
+
getMintAuthorityAddress: (bridge: SolanaPubkey, DEBRIDGE_PROGRAM_ID: PublicKey) => Promise<[PublicKey, number]>;
|
|
40
|
+
}>, Resolver<{
|
|
41
|
+
getTokenMetadataMasterAddress: (SETTINGS_PROGRAM_ID: PublicKey) => Promise<[PublicKey, number]>;
|
|
42
|
+
getTokenMintAddress: (debridgeId: Buffer, SETTINGS_PROGRAM_ID: PublicKey) => Promise<[PublicKey, number]>;
|
|
43
|
+
getStateAddress: (SETTINGS_PROGRAM_ID: PublicKey) => Promise<[PublicKey, number]>;
|
|
44
|
+
getConfirmationsStorageAddress: (message: Buffer, SETTINGS_PROGRAM_ID: PublicKey) => Promise<[PublicKey, number]>;
|
|
45
|
+
getBridgeFeeAddress: (bridge: PublicKey, chainId: BNable, SETTINGS_PROGRAM_ID: PublicKey) => Promise<[PublicKey, number]>;
|
|
46
|
+
getChainSupportInfoAddress: (chainId: BNable, SETTINGS_PROGRAM_ID: PublicKey) => Promise<[PublicKey, number]>;
|
|
47
|
+
getDiscountInfoAddress: (user: PublicKey, SETTINGS_PROGRAM_ID: PublicKey) => Promise<[PublicKey, number]>;
|
|
48
|
+
getBridgeAddress: (tokenMint: PublicKey, SETTINGS_PROGRAM_ID: PublicKey) => Promise<[PublicKey, number]>;
|
|
49
|
+
getBridgeMapAddress: (bridgeId: Buffer, SETTINGS_PROGRAM_ID: PublicKey) => Promise<[PublicKey, number]>;
|
|
50
|
+
getNoDiscountAddress: (SETTINGS_PROGRAM_ID: PublicKey) => Promise<[PublicKey, number]>;
|
|
51
|
+
getNoBridgeFeeAddress: (SETTINGS_PROGRAM_ID: PublicKey) => Promise<[PublicKey, number]>;
|
|
52
|
+
}>>;
|
|
53
|
+
export declare const PmmSrcResolver: (programId: SolanaPubkey) => Resolver<{
|
|
54
|
+
getStateAccount: (PMM_SRC_PROGRAM_ID: PublicKey) => Promise<[PublicKey, number]>;
|
|
55
|
+
getNonceAccount: (maker: PublicKey | Buffer, PMM_SRC_PROGRAM_ID: PublicKey) => Promise<[PublicKey, number]>;
|
|
56
|
+
getGiveOrderStateAccount: (orderId: Buffer, PMM_SRC_PROGRAM_ID: PublicKey) => Promise<[PublicKey, number]>;
|
|
57
|
+
getAuthorizedNativeSenderAddress: (chainId: Buffer, PMM_SRC_PROGRAM_ID: PublicKey) => Promise<[PublicKey, number]>;
|
|
58
|
+
getGiveOrderWalletAddress: (orderId: Buffer, PMM_SRC_PROGRAM_ID: PublicKey) => Promise<[PublicKey, number]>;
|
|
59
|
+
getFeeLedgerWalletAddress: (tokenMint: PublicKey, PMM_SRC_PROGRAM_ID: PublicKey) => Promise<[PublicKey, number]>;
|
|
60
|
+
getFeeLedgerAddress: (PMM_SRC_PROGRAM_ID: PublicKey) => Promise<[PublicKey, number]>;
|
|
61
|
+
}>;
|
|
62
|
+
export declare const PmmDstResolver: (programId: SolanaPubkey) => Resolver<{
|
|
63
|
+
getAuthorizedSrcContractAddress: (chainId: Buffer, PMM_DST_PROGRAM_ID: PublicKey) => Promise<[PublicKey, number]>;
|
|
64
|
+
getAuthorizedDstNativeSenderAddress: (PMM_DST_PROGRAM_ID: PublicKey) => Promise<[PublicKey, number]>;
|
|
65
|
+
getTakeOrderStateAddress: (orderId: Buffer, PMM_DST_PROGRAM_ID: PublicKey) => Promise<[PublicKey, number]>;
|
|
66
|
+
getTakePatchAddress: (orderId: Buffer, PMM_DST_PROGRAM_ID: PublicKey) => Promise<[PublicKey, number]>;
|
|
67
|
+
}>;
|
|
68
|
+
export {};
|
|
69
|
+
//# sourceMappingURL=accounts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../../src/accounts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAI5C,OAAO,EAAE,MAAM,EAAY,YAAY,EAAE,MAAM,cAAc,CAAC;AAE9D,eAAO,MAAM,yBAAyB,WAA+D,CAAC;AACtG,eAAO,MAAM,gBAAgB,WAA+D,CAAC;AAC7F,eAAO,MAAM,2BAA2B,WAAgE,CAAC;AACzG,eAAO,MAAM,gBAAgB,WAA+D,CAAC;AAE7F,wBAAsB,0BAA0B,CAC/C,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,SAAS,EACpB,cAAc,GAAE,SAA4B,EAC5C,uBAAuB,GAAE,SAAuC,gCAGhE;AAED,wBAAgB,8BAA8B,CAC7C,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,SAAS,EACpB,cAAc,GAAE,SAA4B,EAC5C,uBAAuB,GAAE,SAAuC,uBAGhE;AAED,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,SAAS,EAAE,sBAAsB,EAAE,SAAS,gCAK9F;AA6GD,aAAK,IAAI,CAAC,CAAC,SAAS,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,MAAM,IAAI,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,OAAO,EAAE,CAAC;AAEvF,aAAK,UAAU,GAAG,EAAE,CAAC;AACrB,aAAK,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,KAAK,MAAM,GAAG,GAC9D,IAAI,CAAC,CAAC,CAAC,SAAS,UAAU,GAC1B,MAAM,GAAG,GACT,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,GACzB,KAAK,CAAC;AAET,aAAK,WAAW,GAAG;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;CAAE,CAAC;AAC1C,aAAK,KAAK,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;AACrC,aAAK,eAAe,CAAC,CAAC,IAAI;IACzB,QAAQ,CAAC,OAAO,EAAE;SAAG,CAAC,IAAI,MAAM,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAAE,CAAC;CAC1D,CAAC;AAMF,cAAM,QAAQ,CAAC,CAAC,SAAS,WAAW,CAAE,YAAW,eAAe,CAAC,CAAC,CAAC;IAClE,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAChD,SAAgB,SAAS,EAAE,SAAS,CAAC;gBAEzB,SAAS,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC;CAQ3C;AAED,cAAM,kBAAkB,CAAC,EAAE,SAAS,QAAQ,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,QAAQ,CAAC,WAAW,CAAC;IAC1F,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;gBAEpC,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE;CASxC;AAED,eAAO,MAAM,gBAAgB,cAAe,YAAY,qBAAqB,YAAY;iDAzJ3C,SAAS;kDAGvC,MAAM,kBACJ,YAAY,iBACb,MAAM,uBACA,SAAS;sDAWmB,YAAY,uBAAuB,SAAS;2CAKvD,SAAS;yCAEX,MAAM,uBAAuB,SAAS;kDAG7B,YAAY,uBAAuB,SAAS;sCAKxD,YAAY,uBAAuB,SAAS;;yDAQzB,SAAS;sCAE5B,MAAM,uBAAuB,SAAS;2CAEjC,SAAS;8CAEN,MAAM,uBAAuB,SAAS;kCAElD,SAAS,WAAW,MAAM,uBAAuB,SAAS;0CAKlD,MAAM,uBAAuB,SAAS;mCAK7C,SAAS,uBAAuB,SAAS;kCAE1C,SAAS,uBAAuB,SAAS;oCAEvC,MAAM,uBAAuB,SAAS;gDAG1B,SAAS;iDAGR,SAAS;GAsFsD,CAAC;AAC9G,eAAO,MAAM,cAAc,cAAe,YAAY;0CAlFf,SAAS;6BAEtB,SAAS,GAAG,MAAM,sBAAsB,SAAS;wCAKtC,MAAM,sBAAsB,SAAS;gDAE7B,MAAM,sBAAsB,SAAS;yCAE5C,MAAM,sBAAsB,SAAS;2CAEnC,SAAS,sBAAsB,SAAS;8CAErC,SAAS;EAmEsC,CAAC;AAC3F,eAAO,MAAM,cAAc,cAAe,YAAY;+CA/DV,MAAM,sBAAsB,SAAS;8DAGtB,SAAS;wCAG/B,MAAM,sBAAsB,SAAS;mCAG1C,MAAM,sBAAsB,SAAS;EAsDqB,CAAC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
export declare const BPS_DENOMINATOR = 10000;
|
|
2
|
+
export declare const SOLANA_CHAIN_ID = 7565164;
|
|
3
|
+
export declare const MAX_TX_SIZE = 1232;
|
|
4
|
+
export declare const deBridge: {
|
|
5
|
+
Seeds: {
|
|
6
|
+
STATE: string;
|
|
7
|
+
BRIDGE: string;
|
|
8
|
+
WRAPPER_TOKEN: string;
|
|
9
|
+
SEND_BRIDGE_MAP: string;
|
|
10
|
+
BRIDGE_MINTER: string;
|
|
11
|
+
CHAIN_SUPPORT_INFO: string;
|
|
12
|
+
BRIDGE_FEE_INFO: string;
|
|
13
|
+
DISCOUNT_INFO: string;
|
|
14
|
+
ORACLE_KEYS: string;
|
|
15
|
+
EXTERNAL_CALL_STORAGE: string;
|
|
16
|
+
EXTERNAL_CALL_META: string;
|
|
17
|
+
NONCE: string;
|
|
18
|
+
SUBMISSION: string;
|
|
19
|
+
SUBMISSION_AUTH: string;
|
|
20
|
+
NO_DISCOUNT: string;
|
|
21
|
+
CLAIM_MARKER: string;
|
|
22
|
+
};
|
|
23
|
+
Flags: {
|
|
24
|
+
UNWRAP_ETH: number;
|
|
25
|
+
REVERT_IF_EXTERNAL_FAIL: number;
|
|
26
|
+
PROXY_WITH_SENDER: number;
|
|
27
|
+
SEND_HASHED_DATA: number;
|
|
28
|
+
SEND_TO_ATA: number;
|
|
29
|
+
};
|
|
30
|
+
SUBMISSION_PREFIX: number;
|
|
31
|
+
};
|
|
32
|
+
export declare const deBridgeSettings: {
|
|
33
|
+
Seeds: {
|
|
34
|
+
TOKEN_METADATA: string;
|
|
35
|
+
WRAPPER_TOKEN: string;
|
|
36
|
+
STATE: string;
|
|
37
|
+
CONFIRMATION_STORAGE: string;
|
|
38
|
+
BRIDGE_FEE_INFO: string;
|
|
39
|
+
CHAIN_SUPPORT_INFO: string;
|
|
40
|
+
DISCOUNT_INFO: string;
|
|
41
|
+
BRIDGE: string;
|
|
42
|
+
NO_BRIDGE_FEE_INFO: string;
|
|
43
|
+
NO_DISCOUNT: string;
|
|
44
|
+
SEND_BRIDGE_MAP: string;
|
|
45
|
+
};
|
|
46
|
+
};
|
|
47
|
+
export declare const pmmSrc: {
|
|
48
|
+
Seeds: {
|
|
49
|
+
STATE: string;
|
|
50
|
+
NONCE: string;
|
|
51
|
+
ORDER_STATE: string;
|
|
52
|
+
AUTHORIZED_NATIVE_SENDER: string;
|
|
53
|
+
GIVE_ORDER_WALLET: string;
|
|
54
|
+
FEE_LEDGER_WALLET: string;
|
|
55
|
+
FEE_LEDGER: string;
|
|
56
|
+
};
|
|
57
|
+
};
|
|
58
|
+
export declare const pmmDst: {
|
|
59
|
+
Seeds: {
|
|
60
|
+
AUTHORIZED_SRC_CONTRACT: string;
|
|
61
|
+
AUTHORIZED_DST_NATIVE_SENDER: string;
|
|
62
|
+
ORDER_STATE: string;
|
|
63
|
+
TAKE_PATCH: string;
|
|
64
|
+
};
|
|
65
|
+
};
|
|
66
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,QAAQ,CAAC;AACrC,eAAO,MAAM,eAAe,UAAU,CAAC;AACvC,eAAO,MAAM,WAAW,OAAO,CAAC;AAEhC,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BpB,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;CAc5B,CAAC;AAEF,eAAO,MAAM,MAAM;;;;;;;;;;CAUlB,CAAC;AAEF,eAAO,MAAM,MAAM;;;;;;;CAOlB,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { Buffer } from "buffer";
|
|
3
|
+
import BN from "bn.js";
|
|
4
|
+
import { AutoParamsType, BNable, HashDeployInfoParams, HexString, SolanaPubkey } from "./interfaces";
|
|
5
|
+
export declare function denormalizeAmount(amount: BN, denominator: number): Buffer;
|
|
6
|
+
export declare function normalizeChainId(chainId: BNable): Buffer;
|
|
7
|
+
/**
|
|
8
|
+
* Hashes deploy info
|
|
9
|
+
* @param params {@link HashDeployInfoParams}
|
|
10
|
+
* @returns keccak256 of deployInfo structure
|
|
11
|
+
*/
|
|
12
|
+
export declare function hashDeployInfo(params: HashDeployInfoParams): HexString;
|
|
13
|
+
/**
|
|
14
|
+
* Returns bridgeid hash
|
|
15
|
+
* @param nativeChainId chain id where token originates
|
|
16
|
+
* @param nativeTokenAddress address of token in native chain in format "0x<HEX STRING>"
|
|
17
|
+
* @returns bridge id in deBridge network
|
|
18
|
+
*/
|
|
19
|
+
export declare function hashDebridgeId(nativeChainId: BNable, nativeTokenAddress: HexString | Buffer): HexString;
|
|
20
|
+
export declare function hashExternalCallBytes(data?: Buffer | string): Buffer;
|
|
21
|
+
/**
|
|
22
|
+
* Hashes submission for provided data
|
|
23
|
+
* @param params data to hash
|
|
24
|
+
* @returns submissionId from provided params
|
|
25
|
+
*/
|
|
26
|
+
export declare function hashSubmissionIdRaw(params: {
|
|
27
|
+
receiver: SolanaPubkey | Buffer;
|
|
28
|
+
debridgeId: HexString | Buffer;
|
|
29
|
+
sourceChainId: BNable;
|
|
30
|
+
targetChainId: BNable;
|
|
31
|
+
amount: BNable;
|
|
32
|
+
nonce: number;
|
|
33
|
+
autoParams?: AutoParamsType;
|
|
34
|
+
}): string;
|
|
35
|
+
//# sourceMappingURL=crypto.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../src/crypto.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,OAAO,EAAE,MAAM,OAAO,CAAC;AAIvB,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,oBAAoB,EAAE,SAAS,EAAE,YAAY,EAAY,MAAM,cAAc,CAAC;AAE/G,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAIzE;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAExD;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,oBAAoB,GAAG,SAAS,CAStE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,kBAAkB,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,CAKvG;AAED,wBAAgB,qBAAqB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,UAE3D;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE;IAC3C,QAAQ,EAAE,YAAY,GAAG,MAAM,CAAC;IAChC,UAAU,EAAE,SAAS,GAAG,MAAM,CAAC;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,cAAc,CAAC;CAC5B,UA0DA"}
|