@across-protocol/sdk 4.2.4 → 4.2.6-alpha.0
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/cjs/arch/svm/SpokeUtils.d.ts +29 -1
- package/dist/cjs/arch/svm/SpokeUtils.js +105 -2
- package/dist/cjs/arch/svm/SpokeUtils.js.map +1 -1
- package/dist/cjs/arch/svm/eventsClient.d.ts +5 -1
- package/dist/cjs/arch/svm/eventsClient.js.map +1 -1
- package/dist/cjs/arch/svm/types.d.ts +3 -4
- package/dist/cjs/arch/svm/types.js +0 -1
- package/dist/cjs/arch/svm/types.js.map +1 -1
- package/dist/cjs/clients/SpokePoolClient/SVMSpokePoolClient.d.ts +1 -1
- package/dist/cjs/clients/SpokePoolClient/SVMSpokePoolClient.js +1 -5
- package/dist/cjs/clients/SpokePoolClient/SVMSpokePoolClient.js.map +1 -1
- package/dist/cjs/clients/SpokePoolClient/SpokePoolClient.d.ts +3 -3
- package/dist/cjs/clients/SpokePoolClient/SpokePoolClient.js +1 -1
- package/dist/cjs/clients/SpokePoolClient/SpokePoolClient.js.map +1 -1
- package/dist/cjs/clients/mocks/MockSvmCpiEventsClient.d.ts +1 -1
- package/dist/esm/arch/svm/SpokeUtils.d.ts +38 -1
- package/dist/esm/arch/svm/SpokeUtils.js +112 -3
- package/dist/esm/arch/svm/SpokeUtils.js.map +1 -1
- package/dist/esm/arch/svm/eventsClient.d.ts +5 -1
- package/dist/esm/arch/svm/eventsClient.js.map +1 -1
- package/dist/esm/arch/svm/types.d.ts +3 -4
- package/dist/esm/arch/svm/types.js +0 -1
- package/dist/esm/arch/svm/types.js.map +1 -1
- package/dist/esm/clients/SpokePoolClient/SVMSpokePoolClient.d.ts +2 -2
- package/dist/esm/clients/SpokePoolClient/SVMSpokePoolClient.js +2 -9
- package/dist/esm/clients/SpokePoolClient/SVMSpokePoolClient.js.map +1 -1
- package/dist/esm/clients/SpokePoolClient/SpokePoolClient.d.ts +3 -3
- package/dist/esm/clients/SpokePoolClient/SpokePoolClient.js +1 -1
- package/dist/esm/clients/SpokePoolClient/SpokePoolClient.js.map +1 -1
- package/dist/esm/clients/mocks/MockSvmCpiEventsClient.d.ts +1 -1
- package/dist/types/arch/svm/SpokeUtils.d.ts +38 -1
- package/dist/types/arch/svm/SpokeUtils.d.ts.map +1 -1
- package/dist/types/arch/svm/eventsClient.d.ts +5 -1
- package/dist/types/arch/svm/eventsClient.d.ts.map +1 -1
- package/dist/types/arch/svm/types.d.ts +3 -4
- package/dist/types/arch/svm/types.d.ts.map +1 -1
- package/dist/types/clients/SpokePoolClient/SVMSpokePoolClient.d.ts +2 -2
- package/dist/types/clients/SpokePoolClient/SVMSpokePoolClient.d.ts.map +1 -1
- package/dist/types/clients/SpokePoolClient/SpokePoolClient.d.ts +3 -3
- package/dist/types/clients/SpokePoolClient/SpokePoolClient.d.ts.map +1 -1
- package/dist/types/clients/mocks/MockSvmCpiEventsClient.d.ts +1 -1
- package/package.json +4 -4
- package/src/arch/svm/SpokeUtils.ts +139 -5
- package/src/arch/svm/eventsClient.ts +1 -1
- package/src/arch/svm/types.ts +3 -4
- package/src/clients/SpokePoolClient/SVMSpokePoolClient.ts +2 -11
- package/src/clients/SpokePoolClient/SpokePoolClient.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eventsClient.d.ts","sourceRoot":"","sources":["../../../../src/arch/svm/eventsClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAGxC,OAAO,EAEL,OAAO,EACP,UAAU,EAEV,0BAA0B,EAE1B,SAAS,EACV,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEhE,OAAO,EAAW,eAAe,EAAQ,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAahF,KAAK,6BAA6B,GAAG,UAAU,CAAC,0BAA0B,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAI1G,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAAC,eAAe,EAAE,eAAe,GAAG,aAAa,CAAC,CAAC;AAC/F,MAAM,MAAM,sBAAsB,GAAG,YAAY,CAAC;AAElD,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,GAAG,CAAc;IACzB,OAAO,CAAC,cAAc,CAAU;IAChC,OAAO,CAAC,qBAAqB,CAAU;IACvC,OAAO,CAAC,GAAG,CAAM;IAEjB;;OAEG;IACH,SAAS,aAAa,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG;IAO3F;;OAEG;WACiB,MAAM,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,kBAAkB,CAAC;WAOrD,SAAS,CAAC,GAAG,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,kBAAkB,CAAC;IASzG;;;;;;;;OAQG;IACU,WAAW,CACtB,SAAS,EAAE,SAAS,EACpB,QAAQ,CAAC,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,GAAE,6BAAwE,GAChF,OAAO,CAAC,aAAa,EAAE,CAAC;IAK3B;;;;;;;;OAQG;IACU,yBAAyB,CACpC,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,OAAO,EACvB,QAAQ,CAAC,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,GAAE,6BAAwE,GAChF,OAAO,CAAC,aAAa,EAAE,CAAC;IAK3B;;;;;;;;OAQG;YACW,cAAc;IAsD5B;;;;;;OAMG;
|
|
1
|
+
{"version":3,"file":"eventsClient.d.ts","sourceRoot":"","sources":["../../../../src/arch/svm/eventsClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAGxC,OAAO,EAEL,OAAO,EACP,UAAU,EAEV,0BAA0B,EAE1B,SAAS,EACV,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEhE,OAAO,EAAW,eAAe,EAAQ,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAahF,KAAK,6BAA6B,GAAG,UAAU,CAAC,0BAA0B,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAI1G,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAAC,eAAe,EAAE,eAAe,GAAG,aAAa,CAAC,CAAC;AAC/F,MAAM,MAAM,sBAAsB,GAAG,YAAY,CAAC;AAElD,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,GAAG,CAAc;IACzB,OAAO,CAAC,cAAc,CAAU;IAChC,OAAO,CAAC,qBAAqB,CAAU;IACvC,OAAO,CAAC,GAAG,CAAM;IAEjB;;OAEG;IACH,SAAS,aAAa,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG;IAO3F;;OAEG;WACiB,MAAM,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,kBAAkB,CAAC;WAOrD,SAAS,CAAC,GAAG,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,kBAAkB,CAAC;IASzG;;;;;;;;OAQG;IACU,WAAW,CACtB,SAAS,EAAE,SAAS,EACpB,QAAQ,CAAC,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,GAAE,6BAAwE,GAChF,OAAO,CAAC,aAAa,EAAE,CAAC;IAK3B;;;;;;;;OAQG;IACU,yBAAyB,CACpC,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,OAAO,EACvB,QAAQ,CAAC,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,GAAE,6BAAwE,GAChF,OAAO,CAAC,aAAa,EAAE,CAAC;IAK3B;;;;;;;;OAQG;YACW,cAAc;IAsD5B;;;;;;OAMG;IACG,uBAAuB,CAAC,WAAW,EAAE,SAAS,EAAE,UAAU,GAAE,UAAwB;;;;;IAS1F;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IAiC1B;;;;;;;OAOG;IACU,6BAA6B,CACxC,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,SAAS,EACtB,UAAU,GAAE,UAAwB,GACnC,OAAO,CAAC,yBAAyB,EAAE,GAAG,SAAS,CAAC;IAuCnD;;;;;;OAMG;IACU,0BAA0B,CACrC,kBAAkB,EAAE,MAAM,EAC1B,WAAW,EAAE,SAAS,EACtB,UAAU,GAAE,UAAwB,GACnC,OAAO,CAAC,sBAAsB,EAAE,GAAG,SAAS,CAAC;IAmCzC,iBAAiB,IAAI,OAAO;IAI5B,MAAM,IAAI,WAAW;CAG7B"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { SvmSpokeClient } from "@across-protocol/contracts";
|
|
2
2
|
import { Address, Rpc, RpcSubscriptions, RpcTransport, Signature, SignatureNotificationsApi, SlotNotificationsApi, SolanaRpcApiFromTransport, UnixTimestamp } from "@solana/kit";
|
|
3
|
-
export type EventData = SvmSpokeClient.BridgedToHubPool | SvmSpokeClient.TokensBridged | SvmSpokeClient.ExecutedRelayerRefundRoot | SvmSpokeClient.RelayedRootBundle | SvmSpokeClient.PausedDeposits | SvmSpokeClient.PausedFills | SvmSpokeClient.SetXDomainAdmin | SvmSpokeClient.
|
|
3
|
+
export type EventData = SvmSpokeClient.BridgedToHubPool | SvmSpokeClient.TokensBridged | SvmSpokeClient.ExecutedRelayerRefundRoot | SvmSpokeClient.RelayedRootBundle | SvmSpokeClient.PausedDeposits | SvmSpokeClient.PausedFills | SvmSpokeClient.SetXDomainAdmin | SvmSpokeClient.FilledRelay | SvmSpokeClient.FundsDeposited | SvmSpokeClient.EmergencyDeletedRootBundle | SvmSpokeClient.RequestedSlowFill | SvmSpokeClient.ClaimedRelayerRefund | SvmSpokeClient.TransferredOwnership;
|
|
4
4
|
export declare enum SVMEventNames {
|
|
5
5
|
FilledRelay = "FilledRelay",
|
|
6
6
|
FundsDeposited = "FundsDeposited",
|
|
7
|
-
EnabledDepositRoute = "EnabledDepositRoute",
|
|
8
7
|
RelayedRootBundle = "RelayedRootBundle",
|
|
9
8
|
ExecutedRelayerRefundRoot = "ExecutedRelayerRefundRoot",
|
|
10
9
|
BridgedToHubPool = "BridgedToHubPool",
|
|
@@ -27,9 +26,9 @@ export type EventWithData = {
|
|
|
27
26
|
data: unknown;
|
|
28
27
|
program: Address;
|
|
29
28
|
};
|
|
29
|
+
export type SVMProvider = Rpc<SolanaRpcApiFromTransport<RpcTransport>>;
|
|
30
30
|
export type RpcClient = {
|
|
31
|
-
rpc:
|
|
31
|
+
rpc: SVMProvider;
|
|
32
32
|
rpcSubscriptions: RpcSubscriptions<SignatureNotificationsApi & SlotNotificationsApi>;
|
|
33
33
|
};
|
|
34
|
-
export type SVMProvider = Rpc<SolanaRpcApiFromTransport<RpcTransport>>;
|
|
35
34
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/arch/svm/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EACL,OAAO,EACP,GAAG,EACH,gBAAgB,EAChB,YAAY,EACZ,SAAS,EACT,yBAAyB,EACzB,oBAAoB,EACpB,yBAAyB,EACzB,aAAa,EACd,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,SAAS,GACjB,cAAc,CAAC,gBAAgB,GAC/B,cAAc,CAAC,aAAa,GAC5B,cAAc,CAAC,yBAAyB,GACxC,cAAc,CAAC,iBAAiB,GAChC,cAAc,CAAC,cAAc,GAC7B,cAAc,CAAC,WAAW,GAC1B,cAAc,CAAC,eAAe,GAC9B,cAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/arch/svm/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EACL,OAAO,EACP,GAAG,EACH,gBAAgB,EAChB,YAAY,EACZ,SAAS,EACT,yBAAyB,EACzB,oBAAoB,EACpB,yBAAyB,EACzB,aAAa,EACd,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,SAAS,GACjB,cAAc,CAAC,gBAAgB,GAC/B,cAAc,CAAC,aAAa,GAC5B,cAAc,CAAC,yBAAyB,GACxC,cAAc,CAAC,iBAAiB,GAChC,cAAc,CAAC,cAAc,GAC7B,cAAc,CAAC,WAAW,GAC1B,cAAc,CAAC,eAAe,GAC9B,cAAc,CAAC,WAAW,GAC1B,cAAc,CAAC,cAAc,GAC7B,cAAc,CAAC,0BAA0B,GACzC,cAAc,CAAC,iBAAiB,GAChC,cAAc,CAAC,oBAAoB,GACnC,cAAc,CAAC,oBAAoB,CAAC;AAExC,oBAAY,aAAa;IACvB,WAAW,gBAAgB;IAC3B,cAAc,mBAAmB;IACjC,iBAAiB,sBAAsB;IACvC,yBAAyB,8BAA8B;IACvD,gBAAgB,qBAAqB;IACrC,cAAc,mBAAmB;IACjC,WAAW,gBAAgB;IAC3B,eAAe,oBAAoB;IACnC,0BAA0B,+BAA+B;IACzD,iBAAiB,sBAAsB;IACvC,oBAAoB,yBAAyB;IAC7C,aAAa,kBAAkB;IAC/B,oBAAoB,yBAAyB;CAC9C;AAED,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,aAAa,CAAC;AAEnD,MAAM,MAAM,aAAa,GAAG;IAC1B,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,SAAS,EAAE,aAAa,GAAG,IAAI,CAAC;IAChC,SAAS,EAAE,SAAS,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,GAAG,CAAC,yBAAyB,CAAC,YAAY,CAAC,CAAC,CAAC;AAGvE,MAAM,MAAM,SAAS,GAAG;IACtB,GAAG,EAAE,WAAW,CAAC;IACjB,gBAAgB,EAAE,gBAAgB,CAAC,yBAAyB,GAAG,oBAAoB,CAAC,CAAC;CACtF,CAAC"}
|
|
@@ -14,9 +14,9 @@ export declare class SVMSpokePoolClient extends SpokePoolClient {
|
|
|
14
14
|
protected programId: Address;
|
|
15
15
|
protected statePda: Address;
|
|
16
16
|
/**
|
|
17
|
-
*
|
|
17
|
+
* Note: Strongly prefer to use the async create() method to instantiate.
|
|
18
18
|
*/
|
|
19
|
-
|
|
19
|
+
constructor(logger: winston.Logger, hubPoolClient: HubPoolClient | null, chainId: number, deploymentSlot: bigint, // Using slot instead of block number for SVM
|
|
20
20
|
eventSearchConfig: MakeOptional<EventSearchConfig, "to">, svmEventsClient: SvmCpiEventsClient, programId: Address, statePda: Address);
|
|
21
21
|
/**
|
|
22
22
|
* Factory method to asynchronously create an instance of SvmSpokePoolClient.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SVMSpokePoolClient.d.ts","sourceRoot":"","sources":["../../../../src/clients/SpokePoolClient/SVMSpokePoolClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACpF,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAML,kBAAkB,EAInB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,SAAS,EAAiB,MAAM,kBAAkB,CAAC;AACxE,OAAO,EACL,SAAS,EACT,mBAAmB,EACnB,iBAAiB,EAGjB,YAAY,EAGb,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAmB,eAAe,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEtF;;;GAGG;AACH,qBAAa,kBAAmB,SAAQ,eAAe;IAU5C,eAAe,EAAE,kBAAkB;IAC1C,SAAS,CAAC,SAAS,EAAE,OAAO;IAC5B,SAAS,CAAC,QAAQ,EAAE,OAAO;IAX7B;;OAEG;
|
|
1
|
+
{"version":3,"file":"SVMSpokePoolClient.d.ts","sourceRoot":"","sources":["../../../../src/clients/SpokePoolClient/SVMSpokePoolClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACpF,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAML,kBAAkB,EAInB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,SAAS,EAAiB,MAAM,kBAAkB,CAAC;AACxE,OAAO,EACL,SAAS,EACT,mBAAmB,EACnB,iBAAiB,EAGjB,YAAY,EAGb,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAmB,eAAe,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEtF;;;GAGG;AACH,qBAAa,kBAAmB,SAAQ,eAAe;IAU5C,eAAe,EAAE,kBAAkB;IAC1C,SAAS,CAAC,SAAS,EAAE,OAAO;IAC5B,SAAS,CAAC,QAAQ,EAAE,OAAO;IAX7B;;OAEG;gBAED,MAAM,EAAE,OAAO,CAAC,MAAM,EACtB,aAAa,EAAE,aAAa,GAAG,IAAI,EACnC,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,EAAE,6CAA6C;IACrE,iBAAiB,EAAE,YAAY,CAAC,iBAAiB,EAAE,IAAI,CAAC,EACjD,eAAe,EAAE,kBAAkB,EAChC,SAAS,EAAE,OAAO,EAClB,QAAQ,EAAE,OAAO;IAO7B;;OAEG;WACiB,MAAM,CACxB,MAAM,EAAE,OAAO,CAAC,MAAM,EACtB,aAAa,EAAE,aAAa,GAAG,IAAI,EACnC,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,EACtB,iBAAiB,mDAAqE,EAAE,kBAAkB;IAC1G,GAAG,EAAE,GAAG,CAAC,yBAAyB,CAAC,YAAY,CAAC,CAAC,GAChD,OAAO,CAAC,kBAAkB,CAAC;IAgB9B;;OAEG;WACiB,6BAA6B,CAC/C,MAAM,EAAE,OAAO,CAAC,MAAM,EACtB,aAAa,EAAE,aAAa,GAAG,IAAI,EACnC,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,EACtB,iBAAiB,mDAAqE,EAAE,kBAAkB;IAC1G,WAAW,EAAE,kBAAkB;IAgB1B,oBAAoB,IAAI,MAAM,EAAE;IAQvC;;OAEG;cACa,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC;IAmE1E;;;OAGG;IACa,yBAAyB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIhG;;OAEG;IACa,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAInE;;;;OAIG;IACI,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI/C;;OAEG;IACU,WAAW,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA0B5E;;OAEG;IACa,eAAe,CAC7B,SAAS,EAAE,SAAS,EACpB,QAAQ,CAAC,EAAE,MAAM,EACjB,kBAAkB,CAAC,EAAE,MAAM,GAC1B,OAAO,CAAC,UAAU,CAAC;IAKtB;;;;;OAKG;IACI,eAAe,CACpB,SAAS,EAAE,SAAS,EAAE,EACtB,QAAQ,CAAC,EAAE,MAAM,EACjB,kBAAkB,CAAC,EAAE,MAAM,GAC1B,OAAO,CAAC,CAAC,UAAU,GAAG,SAAS,CAAC,EAAE,CAAC;CAKvC"}
|
|
@@ -26,9 +26,6 @@ export declare abstract class SpokePoolClient extends BaseAbstractClient {
|
|
|
26
26
|
readonly chainId: number;
|
|
27
27
|
deploymentBlock: number;
|
|
28
28
|
protected currentTime: number;
|
|
29
|
-
protected depositHashes: {
|
|
30
|
-
[depositHash: string]: DepositWithBlock;
|
|
31
|
-
};
|
|
32
29
|
protected duplicateDepositHashes: {
|
|
33
30
|
[depositHash: string]: DepositWithBlock[];
|
|
34
31
|
};
|
|
@@ -53,6 +50,9 @@ export declare abstract class SpokePoolClient extends BaseAbstractClient {
|
|
|
53
50
|
protected relayerRefundExecutions: RelayerRefundExecutionWithBlock[];
|
|
54
51
|
protected configStoreClient: AcrossConfigStoreClient | undefined;
|
|
55
52
|
protected invalidFills: Set<string>;
|
|
53
|
+
readonly depositHashes: {
|
|
54
|
+
[depositHash: string]: DepositWithBlock;
|
|
55
|
+
};
|
|
56
56
|
spokePoolAddress: Address | undefined;
|
|
57
57
|
fills: {
|
|
58
58
|
[OriginChainId: number]: FillWithBlock[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpokePoolClient.d.ts","sourceRoot":"","sources":["../../../../src/clients/SpokePoolClient/SpokePoolClient.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EACL,SAAS,EACT,SAAS,EAET,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EAEjB,YAAY,EAYZ,OAAO,EACR,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,OAAO,EACP,gBAAgB,EAEhB,IAAI,EACJ,UAAU,EACV,aAAa,EACb,SAAS,EACT,+BAA+B,EAC/B,wBAAwB,EACxB,wBAAwB,EACxB,aAAa,EACb,gBAAgB,EAChB,aAAa,EACd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAChF,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAErE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,MAAM,sBAAsB,GAAG;IACnC,OAAO,EAAE,IAAI,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,aAAa,EAAE,EAAE,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AACF,MAAM,MAAM,sBAAsB,GAAG;IACnC,OAAO,EAAE,KAAK,CAAC;IACf,MAAM,EAAE,mBAAmB,CAAC;CAC7B,CAAC;AACF,MAAM,MAAM,eAAe,GAAG,sBAAsB,GAAG,sBAAsB,CAAC;AAE9E,eAAO,MAAM,eAAe,UAa3B,CAAC;AAEF;;;GAGG;AACH,8BAAsB,eAAgB,SAAQ,kBAAkB;IAyB5D,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM;IAE/B,QAAQ,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI;IAC5C,QAAQ,CAAC,OAAO,EAAE,MAAM;IACjB,eAAe,EAAE,MAAM;IA5BhC,SAAS,CAAC,WAAW,SAAK;IAC1B,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"SpokePoolClient.d.ts","sourceRoot":"","sources":["../../../../src/clients/SpokePoolClient/SpokePoolClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,7 +22,7 @@ export declare class MockSvmCpiEventsClient extends SvmCpiEventsClient {
|
|
|
22
22
|
args: Record<string, unknown>;
|
|
23
23
|
slot?: bigint;
|
|
24
24
|
}): {
|
|
25
|
-
name: "FilledRelay" | "FundsDeposited" | "
|
|
25
|
+
name: "FilledRelay" | "FundsDeposited" | "RelayedRootBundle" | "ExecutedRelayerRefundRoot" | "BridgedToHubPool" | "PausedDeposits" | "PausedFills" | "SetXDomainAdmin" | "EmergencyDeletedRootBundle" | "RequestedSlowFill" | "ClaimedRelayerRefund" | "TokensBridged" | "TransferredOwnership";
|
|
26
26
|
slot: bigint;
|
|
27
27
|
signature: import("@solana/kit").Signature;
|
|
28
28
|
program: Address;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@across-protocol/sdk",
|
|
3
3
|
"author": "UMA Team",
|
|
4
|
-
"version": "4.2.
|
|
4
|
+
"version": "4.2.6-alpha.0",
|
|
5
5
|
"license": "AGPL-3.0",
|
|
6
6
|
"homepage": "https://docs.across.to/reference/sdk",
|
|
7
7
|
"files": [
|
|
@@ -104,15 +104,15 @@
|
|
|
104
104
|
},
|
|
105
105
|
"dependencies": {
|
|
106
106
|
"@across-protocol/across-token": "^1.0.0",
|
|
107
|
-
"@across-protocol/constants": "^3.1.
|
|
108
|
-
"@across-protocol/contracts": "^4.0.
|
|
107
|
+
"@across-protocol/constants": "^3.1.67",
|
|
108
|
+
"@across-protocol/contracts": "^4.0.12",
|
|
109
109
|
"@coral-xyz/anchor": "^0.30.1",
|
|
110
110
|
"@eth-optimism/sdk": "^3.3.1",
|
|
111
111
|
"@ethersproject/bignumber": "^5.7.0",
|
|
112
112
|
"@pinata/sdk": "^2.1.0",
|
|
113
|
-
"@solana/kit": "^2.1.0",
|
|
114
113
|
"@solana-program/system": "^0.7.0",
|
|
115
114
|
"@solana-program/token-2022": "^0.4.0",
|
|
115
|
+
"@solana/kit": "^2.1.0",
|
|
116
116
|
"@solana/web3.js": "^1.31.0",
|
|
117
117
|
"@types/mocha": "^10.0.1",
|
|
118
118
|
"@uma/sdk": "^0.34.10",
|
|
@@ -26,16 +26,16 @@ import { CHAIN_IDs } from "../../constants";
|
|
|
26
26
|
import { Deposit, DepositWithBlock, FillStatus, FillWithBlock, RelayData } from "../../interfaces";
|
|
27
27
|
import {
|
|
28
28
|
BigNumber,
|
|
29
|
-
isUnsafeDepositId,
|
|
30
29
|
SvmAddress,
|
|
30
|
+
chainIsSvm,
|
|
31
|
+
chunk,
|
|
31
32
|
getTokenInfo,
|
|
32
33
|
isDefined,
|
|
33
|
-
|
|
34
|
+
isUnsafeDepositId,
|
|
34
35
|
keccak256,
|
|
35
|
-
|
|
36
|
-
chunk,
|
|
36
|
+
toAddressType,
|
|
37
37
|
} from "../../utils";
|
|
38
|
-
import {
|
|
38
|
+
import { SvmCpiEventsClient, getEventAuthority, getFillStatusPda, getStatePda, unwrapEventData } from "./";
|
|
39
39
|
import { SVMEventNames, SVMProvider } from "./types";
|
|
40
40
|
|
|
41
41
|
/**
|
|
@@ -373,9 +373,17 @@ export async function fillRelayInstruction(
|
|
|
373
373
|
const shortenedBuffer = new Uint8Array(Buffer.from(deposit.depositId.toHexString().slice(2), "hex"));
|
|
374
374
|
depositIdBuffer.set(shortenedBuffer, 32 - shortenedBuffer.length);
|
|
375
375
|
|
|
376
|
+
const delegatePda = await getFillRelayDelegatePda(
|
|
377
|
+
relayDataHash,
|
|
378
|
+
BigInt(repaymentChainId),
|
|
379
|
+
relayerAddress.toV2Address(),
|
|
380
|
+
spokePool.toV2Address()
|
|
381
|
+
);
|
|
382
|
+
|
|
376
383
|
return SvmSpokeClient.getFillRelayInstruction({
|
|
377
384
|
signer: relayer,
|
|
378
385
|
state: statePda,
|
|
386
|
+
delegate: SvmAddress.from(delegatePda.toString()).toV2Address(),
|
|
379
387
|
mint: outputToken.toV2Address(),
|
|
380
388
|
relayerTokenAccount: relayerTokenAccount,
|
|
381
389
|
recipientTokenAccount: recipientTokenAccount,
|
|
@@ -579,3 +587,129 @@ async function fetchBatchFillStatusFromPdaAccounts(
|
|
|
579
587
|
|
|
580
588
|
return fillStatuses;
|
|
581
589
|
}
|
|
590
|
+
|
|
591
|
+
/**
|
|
592
|
+
* Returns the delegate PDA for deposit.
|
|
593
|
+
*/
|
|
594
|
+
export async function getDepositDelegatePda(
|
|
595
|
+
depositData: {
|
|
596
|
+
depositor: Address<string>;
|
|
597
|
+
recipient: Address<string>;
|
|
598
|
+
inputToken: Address<string>;
|
|
599
|
+
outputToken: Address<string>;
|
|
600
|
+
inputAmount: bigint;
|
|
601
|
+
outputAmount: bigint;
|
|
602
|
+
destinationChainId: bigint;
|
|
603
|
+
exclusiveRelayer: Address<string>;
|
|
604
|
+
quoteTimestamp: bigint;
|
|
605
|
+
fillDeadline: bigint;
|
|
606
|
+
exclusivityParameter: bigint;
|
|
607
|
+
message: Uint8Array;
|
|
608
|
+
},
|
|
609
|
+
programId: Address<string>
|
|
610
|
+
): Promise<Address<string>> {
|
|
611
|
+
const addrEnc = getAddressEncoder();
|
|
612
|
+
const u64 = getU64Encoder();
|
|
613
|
+
const u32 = getU32Encoder();
|
|
614
|
+
|
|
615
|
+
const parts: Uint8Array[] = [
|
|
616
|
+
Uint8Array.from(addrEnc.encode(depositData.depositor)),
|
|
617
|
+
Uint8Array.from(addrEnc.encode(depositData.recipient)),
|
|
618
|
+
Uint8Array.from(addrEnc.encode(depositData.inputToken)),
|
|
619
|
+
Uint8Array.from(addrEnc.encode(depositData.outputToken)),
|
|
620
|
+
Uint8Array.from(u64.encode(depositData.inputAmount)),
|
|
621
|
+
Uint8Array.from(u64.encode(depositData.outputAmount)),
|
|
622
|
+
Uint8Array.from(u64.encode(depositData.destinationChainId)),
|
|
623
|
+
Uint8Array.from(addrEnc.encode(depositData.exclusiveRelayer)),
|
|
624
|
+
Uint8Array.from(u32.encode(depositData.quoteTimestamp)),
|
|
625
|
+
Uint8Array.from(u32.encode(depositData.fillDeadline)),
|
|
626
|
+
Uint8Array.from(u32.encode(depositData.exclusivityParameter)),
|
|
627
|
+
Uint8Array.from(u32.encode(BigInt(depositData.message.length))),
|
|
628
|
+
depositData.message,
|
|
629
|
+
];
|
|
630
|
+
|
|
631
|
+
const seedHash = Buffer.from(keccak256(Buffer.concat(parts)).slice(2), "hex");
|
|
632
|
+
|
|
633
|
+
const [pda] = await getProgramDerivedAddress({
|
|
634
|
+
programAddress: programId,
|
|
635
|
+
seeds: [Buffer.from("delegate"), seedHash],
|
|
636
|
+
});
|
|
637
|
+
|
|
638
|
+
return pda;
|
|
639
|
+
}
|
|
640
|
+
|
|
641
|
+
/**
|
|
642
|
+
* Returns the delegate PDA for depositNow.
|
|
643
|
+
*/
|
|
644
|
+
export async function getDepositNowDelegatePda(
|
|
645
|
+
depositData: {
|
|
646
|
+
depositor: Address<string>;
|
|
647
|
+
recipient: Address<string>;
|
|
648
|
+
inputToken: Address<string>;
|
|
649
|
+
outputToken: Address<string>;
|
|
650
|
+
inputAmount: bigint;
|
|
651
|
+
outputAmount: bigint;
|
|
652
|
+
destinationChainId: bigint;
|
|
653
|
+
exclusiveRelayer: Address<string>;
|
|
654
|
+
fillDeadlineOffset: bigint;
|
|
655
|
+
exclusivityPeriod: bigint;
|
|
656
|
+
message: Uint8Array;
|
|
657
|
+
},
|
|
658
|
+
programId: Address<string>
|
|
659
|
+
): Promise<Address<string>> {
|
|
660
|
+
const addrEnc = getAddressEncoder();
|
|
661
|
+
const u64 = getU64Encoder();
|
|
662
|
+
const u32 = getU32Encoder();
|
|
663
|
+
|
|
664
|
+
const parts: Uint8Array[] = [
|
|
665
|
+
Uint8Array.from(addrEnc.encode(depositData.depositor)),
|
|
666
|
+
Uint8Array.from(addrEnc.encode(depositData.recipient)),
|
|
667
|
+
Uint8Array.from(addrEnc.encode(depositData.inputToken)),
|
|
668
|
+
Uint8Array.from(addrEnc.encode(depositData.outputToken)),
|
|
669
|
+
Uint8Array.from(u64.encode(depositData.inputAmount)),
|
|
670
|
+
Uint8Array.from(u64.encode(depositData.outputAmount)),
|
|
671
|
+
Uint8Array.from(u64.encode(depositData.destinationChainId)),
|
|
672
|
+
Uint8Array.from(addrEnc.encode(depositData.exclusiveRelayer)),
|
|
673
|
+
Uint8Array.from(u32.encode(depositData.fillDeadlineOffset)),
|
|
674
|
+
Uint8Array.from(u32.encode(depositData.exclusivityPeriod)),
|
|
675
|
+
Uint8Array.from(u32.encode(BigInt(depositData.message.length))),
|
|
676
|
+
depositData.message,
|
|
677
|
+
];
|
|
678
|
+
|
|
679
|
+
const seedHash = Buffer.from(keccak256(Buffer.concat(parts)).slice(2), "hex");
|
|
680
|
+
|
|
681
|
+
const [pda] = await getProgramDerivedAddress({
|
|
682
|
+
programAddress: programId,
|
|
683
|
+
seeds: [Buffer.from("delegate"), seedHash],
|
|
684
|
+
});
|
|
685
|
+
|
|
686
|
+
return pda;
|
|
687
|
+
}
|
|
688
|
+
|
|
689
|
+
/**
|
|
690
|
+
* Returns the fill-delegate PDA for fillRelay.
|
|
691
|
+
*/
|
|
692
|
+
export async function getFillRelayDelegatePda(
|
|
693
|
+
relayHash: Uint8Array,
|
|
694
|
+
repaymentChainId: bigint,
|
|
695
|
+
repaymentAddress: Address<string>,
|
|
696
|
+
programId: Address<string>
|
|
697
|
+
): Promise<Address<string>> {
|
|
698
|
+
const addrEnc = getAddressEncoder();
|
|
699
|
+
const u64 = getU64Encoder();
|
|
700
|
+
|
|
701
|
+
const parts: Uint8Array[] = [
|
|
702
|
+
relayHash,
|
|
703
|
+
Uint8Array.from(u64.encode(repaymentChainId)),
|
|
704
|
+
Uint8Array.from(addrEnc.encode(repaymentAddress)),
|
|
705
|
+
];
|
|
706
|
+
|
|
707
|
+
const seedHash = Buffer.from(keccak256(Buffer.concat(parts)).slice(2), "hex");
|
|
708
|
+
|
|
709
|
+
const [pda] = await getProgramDerivedAddress({
|
|
710
|
+
programAddress: programId,
|
|
711
|
+
seeds: [Buffer.from("delegate"), seedHash],
|
|
712
|
+
});
|
|
713
|
+
|
|
714
|
+
return pda;
|
|
715
|
+
}
|
|
@@ -177,7 +177,7 @@ export class SvmCpiEventsClient {
|
|
|
177
177
|
* @param commitment - Commitment level.
|
|
178
178
|
* @returns A promise that resolves to an array of events.
|
|
179
179
|
*/
|
|
180
|
-
|
|
180
|
+
async readEventsFromSignature(txSignature: Signature, commitment: Commitment = "confirmed") {
|
|
181
181
|
const txResult = await this.rpc
|
|
182
182
|
.getTransaction(txSignature, { commitment, maxSupportedTransactionVersion: 0 })
|
|
183
183
|
.send();
|
package/src/arch/svm/types.ts
CHANGED
|
@@ -19,7 +19,6 @@ export type EventData =
|
|
|
19
19
|
| SvmSpokeClient.PausedDeposits
|
|
20
20
|
| SvmSpokeClient.PausedFills
|
|
21
21
|
| SvmSpokeClient.SetXDomainAdmin
|
|
22
|
-
| SvmSpokeClient.EnabledDepositRoute
|
|
23
22
|
| SvmSpokeClient.FilledRelay
|
|
24
23
|
| SvmSpokeClient.FundsDeposited
|
|
25
24
|
| SvmSpokeClient.EmergencyDeletedRootBundle
|
|
@@ -30,7 +29,6 @@ export type EventData =
|
|
|
30
29
|
export enum SVMEventNames {
|
|
31
30
|
FilledRelay = "FilledRelay",
|
|
32
31
|
FundsDeposited = "FundsDeposited",
|
|
33
|
-
EnabledDepositRoute = "EnabledDepositRoute",
|
|
34
32
|
RelayedRootBundle = "RelayedRootBundle",
|
|
35
33
|
ExecutedRelayerRefundRoot = "ExecutedRelayerRefundRoot",
|
|
36
34
|
BridgedToHubPool = "BridgedToHubPool",
|
|
@@ -56,9 +54,10 @@ export type EventWithData = {
|
|
|
56
54
|
program: Address;
|
|
57
55
|
};
|
|
58
56
|
|
|
57
|
+
export type SVMProvider = Rpc<SolanaRpcApiFromTransport<RpcTransport>>;
|
|
58
|
+
|
|
59
59
|
// Typed aggregate of JSON‑RPC and subscription clients.
|
|
60
60
|
export type RpcClient = {
|
|
61
|
-
rpc:
|
|
61
|
+
rpc: SVMProvider;
|
|
62
62
|
rpcSubscriptions: RpcSubscriptions<SignatureNotificationsApi & SlotNotificationsApi>;
|
|
63
63
|
};
|
|
64
|
-
export type SVMProvider = Rpc<SolanaRpcApiFromTransport<RpcTransport>>;
|
|
@@ -32,9 +32,9 @@ import { knownEventNames, SpokePoolClient, SpokePoolUpdate } from "./SpokePoolCl
|
|
|
32
32
|
*/
|
|
33
33
|
export class SVMSpokePoolClient extends SpokePoolClient {
|
|
34
34
|
/**
|
|
35
|
-
*
|
|
35
|
+
* Note: Strongly prefer to use the async create() method to instantiate.
|
|
36
36
|
*/
|
|
37
|
-
|
|
37
|
+
constructor(
|
|
38
38
|
logger: winston.Logger,
|
|
39
39
|
hubPoolClient: HubPoolClient | null,
|
|
40
40
|
chainId: number,
|
|
@@ -118,8 +118,6 @@ export class SVMSpokePoolClient extends SpokePoolClient {
|
|
|
118
118
|
return { success: false, reason };
|
|
119
119
|
}
|
|
120
120
|
|
|
121
|
-
const deploymentSlot = BigInt(this.deploymentBlock);
|
|
122
|
-
|
|
123
121
|
const eventSearchConfigs = eventsToQuery.map((eventName) => {
|
|
124
122
|
if (!this._queryableEventNames().includes(eventName)) {
|
|
125
123
|
throw new Error(`SpokePoolClient: Cannot query unrecognised SpokePool event name: ${eventName}`);
|
|
@@ -127,13 +125,6 @@ export class SVMSpokePoolClient extends SpokePoolClient {
|
|
|
127
125
|
|
|
128
126
|
const _searchConfig = { ...searchConfig }; // shallow copy
|
|
129
127
|
|
|
130
|
-
// By default, an event's query range is controlled by the `eventSearchConfig` passed in during instantiation.
|
|
131
|
-
// However, certain events have special overriding requirements to their search ranges:
|
|
132
|
-
// - EnabledDepositRoute: The full history is always required, so override the requested fromBlock.
|
|
133
|
-
if (eventName === "EnabledDepositRoute" && !this.isUpdated) {
|
|
134
|
-
_searchConfig.from = Number(deploymentSlot);
|
|
135
|
-
}
|
|
136
|
-
|
|
137
128
|
return _searchConfig as EventSearchConfig;
|
|
138
129
|
});
|
|
139
130
|
|
|
@@ -76,7 +76,6 @@ export const knownEventNames = [
|
|
|
76
76
|
*/
|
|
77
77
|
export abstract class SpokePoolClient extends BaseAbstractClient {
|
|
78
78
|
protected currentTime = 0;
|
|
79
|
-
protected depositHashes: { [depositHash: string]: DepositWithBlock } = {};
|
|
80
79
|
protected duplicateDepositHashes: { [depositHash: string]: DepositWithBlock[] } = {};
|
|
81
80
|
protected depositHashesToFills: { [depositHash: string]: FillWithBlock[] } = {};
|
|
82
81
|
protected speedUps: { [depositorAddress: string]: { [depositId: string]: SpeedUpWithBlock[] } } = {};
|
|
@@ -87,6 +86,7 @@ export abstract class SpokePoolClient extends BaseAbstractClient {
|
|
|
87
86
|
protected relayerRefundExecutions: RelayerRefundExecutionWithBlock[] = [];
|
|
88
87
|
protected configStoreClient: AcrossConfigStoreClient | undefined;
|
|
89
88
|
protected invalidFills: Set<string> = new Set();
|
|
89
|
+
public readonly depositHashes: { [depositHash: string]: DepositWithBlock } = {};
|
|
90
90
|
public spokePoolAddress: Address | undefined;
|
|
91
91
|
public fills: { [OriginChainId: number]: FillWithBlock[] } = {};
|
|
92
92
|
|