@hyperlane-xyz/helloworld 1.5.0 → 1.5.1-beta1

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.
@@ -1,13 +1,21 @@
1
- import { ChainName, EthersV5Transaction, EvmRouterAdapter, RouterAddress } from '@hyperlane-xyz/sdk';
1
+ import { ChainName, EthersV5Transaction, EvmRouterAdapter, MultiProtocolProvider } from '@hyperlane-xyz/sdk';
2
2
  import { Address } from '@hyperlane-xyz/utils';
3
3
  import { StatCounts } from '../app/types';
4
4
  import { HelloWorld } from '../types';
5
5
  import { IHelloWorldAdapter } from './types';
6
- export declare class EvmHelloWorldAdapter extends EvmRouterAdapter<RouterAddress & {
7
- mailbox: Address;
8
- }> implements IHelloWorldAdapter {
9
- populateSendHelloTx(origin: ChainName, destination: ChainName, message: string, value: string): Promise<EthersV5Transaction>;
10
- channelStats(origin: ChainName, destination: ChainName): Promise<StatCounts>;
11
- getConnectedContract(chain: ChainName): HelloWorld;
6
+ export declare class EvmHelloWorldAdapter extends EvmRouterAdapter implements IHelloWorldAdapter {
7
+ readonly chainName: ChainName;
8
+ readonly multiProvider: MultiProtocolProvider;
9
+ readonly addresses: {
10
+ router: Address;
11
+ mailbox: Address;
12
+ };
13
+ constructor(chainName: ChainName, multiProvider: MultiProtocolProvider, addresses: {
14
+ router: Address;
15
+ mailbox: Address;
16
+ });
17
+ populateSendHelloTx(destination: ChainName, message: string, value: string): Promise<EthersV5Transaction>;
18
+ channelStats(destination: ChainName, destinationMailbox: Address): Promise<StatCounts>;
19
+ getConnectedContract(): HelloWorld;
12
20
  }
13
21
  //# sourceMappingURL=evmAdapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"evmAdapter.d.ts","sourceRoot":"","sources":["../../../src/multiProtocolApp/evmAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,mBAAmB,EACnB,gBAAgB,EAEhB,aAAa,EACd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE/C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAuB,MAAM,UAAU,CAAC;AAE3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE7C,qBAAa,oBACX,SAAQ,gBAAgB,CAAC,aAAa,GAAG;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAC7D,YAAW,kBAAkB;IAEvB,mBAAmB,CACvB,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,SAAS,EACtB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,mBAAmB,CAAC;IA0BzB,YAAY,CAChB,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,SAAS,GACrB,OAAO,CAAC,UAAU,CAAC;IAYb,oBAAoB,CAAC,KAAK,EAAE,SAAS,GAAG,UAAU;CAK5D"}
1
+ {"version":3,"file":"evmAdapter.d.ts","sourceRoot":"","sources":["../../../src/multiProtocolApp/evmAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,mBAAmB,EACnB,gBAAgB,EAChB,qBAAqB,EAEtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE/C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAuB,MAAM,UAAU,CAAC;AAE3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE7C,qBAAa,oBACX,SAAQ,gBACR,YAAW,kBAAkB;aAGX,SAAS,EAAE,SAAS;aACpB,aAAa,EAAE,qBAAqB;aACpC,SAAS,EAAE;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE;gBAFhD,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,qBAAqB,EACpC,SAAS,EAAE;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE;IAK5D,mBAAmB,CACvB,WAAW,EAAE,SAAS,EACtB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,mBAAmB,CAAC;IA2BzB,YAAY,CAChB,WAAW,EAAE,SAAS,EACtB,kBAAkB,EAAE,OAAO,GAC1B,OAAO,CAAC,UAAU,CAAC;IAeb,oBAAoB,IAAI,UAAU;CAM5C"}
@@ -4,10 +4,16 @@ exports.EvmHelloWorldAdapter = void 0;
4
4
  const sdk_1 = require("@hyperlane-xyz/sdk");
5
5
  const types_1 = require("../types");
6
6
  class EvmHelloWorldAdapter extends sdk_1.EvmRouterAdapter {
7
- async populateSendHelloTx(origin, destination, message, value) {
8
- const contract = this.getConnectedContract(origin);
7
+ constructor(chainName, multiProvider, addresses) {
8
+ super(chainName, multiProvider, addresses);
9
+ this.chainName = chainName;
10
+ this.multiProvider = multiProvider;
11
+ this.addresses = addresses;
12
+ }
13
+ async populateSendHelloTx(destination, message, value) {
14
+ const contract = this.getConnectedContract();
9
15
  const toDomain = this.multiProvider.getDomainId(destination);
10
- const { transactionOverrides } = this.multiProvider.getChainMetadata(origin);
16
+ const { transactionOverrides } = this.multiProvider.getChainMetadata(this.chainName);
11
17
  // apply gas buffer due to https://github.com/hyperlane-xyz/hyperlane-monorepo/issues/634
12
18
  const estimated = await contract.estimateGas.sendHelloWorld(toDomain, message, { ...transactionOverrides, value });
13
19
  const gasLimit = estimated.mul(12).div(10);
@@ -18,17 +24,18 @@ class EvmHelloWorldAdapter extends sdk_1.EvmRouterAdapter {
18
24
  });
19
25
  return { transaction: tx, type: sdk_1.ProviderType.EthersV5 };
20
26
  }
21
- async channelStats(origin, destination) {
22
- const originDomain = this.multiProvider.getDomainId(origin);
27
+ async channelStats(destination, destinationMailbox) {
28
+ const originDomain = this.multiProvider.getDomainId(this.chainName);
23
29
  const destinationDomain = this.multiProvider.getDomainId(destination);
24
- const sent = await this.getConnectedContract(origin).sentTo(destinationDomain);
25
- const received = await this.getConnectedContract(destination).sentTo(originDomain);
30
+ const originContract = this.getConnectedContract();
31
+ const sent = await originContract.sentTo(destinationDomain);
32
+ const destinationProvider = this.multiProvider.getEthersV5Provider(destination);
33
+ const destinationContract = types_1.HelloWorld__factory.connect(destinationMailbox, destinationProvider);
34
+ const received = await destinationContract.sentTo(originDomain);
26
35
  return { sent: sent.toNumber(), received: received.toNumber() };
27
36
  }
28
- getConnectedContract(chain) {
29
- const address = this.multiProvider.getChainMetadata(chain).router;
30
- const provider = this.multiProvider.getEthersV5Provider(chain);
31
- return types_1.HelloWorld__factory.connect(address, provider);
37
+ getConnectedContract() {
38
+ return types_1.HelloWorld__factory.connect(this.addresses.router, this.getProvider());
32
39
  }
33
40
  }
34
41
  exports.EvmHelloWorldAdapter = EvmHelloWorldAdapter;
@@ -1 +1 @@
1
- {"version":3,"file":"evmAdapter.js","sourceRoot":"","sources":["../../../src/multiProtocolApp/evmAdapter.ts"],"names":[],"mappings":";;;AAAA,4CAM4B;AAI5B,oCAA2D;AAI3D,MAAa,oBACX,SAAQ,sBAAsD;IAG9D,KAAK,CAAC,mBAAmB,CACvB,MAAiB,EACjB,WAAsB,EACtB,OAAe,EACf,KAAa;QAEb,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAC7D,MAAM,EAAE,oBAAoB,EAAE,GAC5B,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAE9C,yFAAyF;QACzF,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,cAAc,CACzD,QAAQ,EACR,OAAO,EACP,EAAE,GAAG,oBAAoB,EAAE,KAAK,EAAE,CACnC,CAAC;QACF,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAE3C,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAC,mBAAmB,CAAC,cAAc,CAC1D,QAAQ,EACR,OAAO,EACP;YACE,GAAG,oBAAoB;YACvB,QAAQ;YACR,KAAK;SACN,CACF,CAAC;QACF,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,kBAAY,CAAC,QAAQ,EAAE,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,MAAiB,EACjB,WAAsB;QAEtB,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC5D,MAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QACtE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,MAAM,CACzD,iBAAiB,CAClB,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC,MAAM,CAClE,YAAY,CACb,CAAC;QACF,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC;IAClE,CAAC;IAEQ,oBAAoB,CAAC,KAAgB;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;QAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAC/D,OAAO,2BAAmB,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACxD,CAAC;CACF;AAvDD,oDAuDC"}
1
+ {"version":3,"file":"evmAdapter.js","sourceRoot":"","sources":["../../../src/multiProtocolApp/evmAdapter.ts"],"names":[],"mappings":";;;AAAA,4CAM4B;AAI5B,oCAA2D;AAI3D,MAAa,oBACX,SAAQ,sBAAgB;IAGxB,YACkB,SAAoB,EACpB,aAAoC,EACpC,SAAgD;QAEhE,KAAK,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;QAJ3B,cAAS,GAAT,SAAS,CAAW;QACpB,kBAAa,GAAb,aAAa,CAAuB;QACpC,cAAS,GAAT,SAAS,CAAuC;IAGlE,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,WAAsB,EACtB,OAAe,EACf,KAAa;QAEb,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAC7D,MAAM,EAAE,oBAAoB,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAClE,IAAI,CAAC,SAAS,CACf,CAAC;QAEF,yFAAyF;QACzF,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,cAAc,CACzD,QAAQ,EACR,OAAO,EACP,EAAE,GAAG,oBAAoB,EAAE,KAAK,EAAE,CACnC,CAAC;QACF,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAE3C,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAC,mBAAmB,CAAC,cAAc,CAC1D,QAAQ,EACR,OAAO,EACP;YACE,GAAG,oBAAoB;YACvB,QAAQ;YACR,KAAK;SACN,CACF,CAAC;QACF,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,kBAAY,CAAC,QAAQ,EAAE,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,WAAsB,EACtB,kBAA2B;QAE3B,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpE,MAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QACtE,MAAM,cAAc,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QACnD,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAC5D,MAAM,mBAAmB,GACvB,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACtD,MAAM,mBAAmB,GAAG,2BAAmB,CAAC,OAAO,CACrD,kBAAkB,EAClB,mBAAmB,CACpB,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAChE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC;IAClE,CAAC;IAEQ,oBAAoB;QAC3B,OAAO,2BAAmB,CAAC,OAAO,CAChC,IAAI,CAAC,SAAS,CAAC,MAAM,EACrB,IAAI,CAAC,WAAW,EAAE,CACnB,CAAC;IACJ,CAAC;CACF;AAnED,oDAmEC"}
@@ -1 +1 @@
1
- {"version":3,"file":"multiProtocolApp.d.ts","sourceRoot":"","sources":["../../../src/multiProtocolApp/multiProtocolApp.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,SAAS,EACT,sBAAsB,EACtB,aAAa,EACb,gBAAgB,EACjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAE7D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE7C,qBAAa,qBAAsB,SAAQ,sBAAsB,CAC/D,aAAa,GAAG;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,EACpC,kBAAkB,CACnB;IACU,iBAAiB,CAAC,QAAQ,EAAE,YAAY;IAMjD,oBAAoB,CAClB,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,SAAS,EACtB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,gBAAgB,CAAC;IAU5B,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC;IAItE,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;CAcvD"}
1
+ {"version":3,"file":"multiProtocolApp.d.ts","sourceRoot":"","sources":["../../../src/multiProtocolApp/multiProtocolApp.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,SAAS,EACT,sBAAsB,EACtB,aAAa,EACb,gBAAgB,EACjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAE7D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE7C,qBAAa,qBAAsB,SAAQ,sBAAsB,CAC/D,aAAa,GAAG;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,EACpC,kBAAkB,CACnB;IACU,iBAAiB,CAAC,QAAQ,EAAE,YAAY;IAMjD,oBAAoB,CAClB,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,SAAS,EACtB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,gBAAgB,CAAC;IAS5B,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC;IAOtE,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;CAcvD"}
@@ -14,10 +14,10 @@ class HelloMultiProtocolApp extends sdk_1.MultiProtocolRouterApp {
14
14
  throw new Error(`No adapter for protocol ${protocol}`);
15
15
  }
16
16
  populateHelloWorldTx(origin, destination, message, value, sender) {
17
- return this.adapter(origin).populateSendHelloTx(origin, destination, message, value, sender);
17
+ return this.adapter(origin).populateSendHelloTx(destination, message, value, sender);
18
18
  }
19
19
  channelStats(origin, destination) {
20
- return this.adapter(origin).channelStats(origin, destination);
20
+ return this.adapter(origin).channelStats(destination, this.metadata(destination).mailbox);
21
21
  }
22
22
  async stats() {
23
23
  const entries = await Promise.all(this.chains().map(async (source) => {
@@ -1 +1 @@
1
- {"version":3,"file":"multiProtocolApp.js","sourceRoot":"","sources":["../../../src/multiProtocolApp/multiProtocolApp.ts"],"names":[],"mappings":";;;AAAA,4CAM4B;AAC5B,gDAA6D;AAI7D,6CAAoD;AACpD,uDAA8D;AAG9D,MAAa,qBAAsB,SAAQ,4BAG1C;IACU,iBAAiB,CAAC,QAAsB;QAC/C,IAAI,QAAQ,KAAK,oBAAY,CAAC,QAAQ;YAAE,OAAO,iCAAoB,CAAC;QACpE,IAAI,QAAQ,KAAK,oBAAY,CAAC,QAAQ;YAAE,OAAO,2CAAyB,CAAC;QACzE,MAAM,IAAI,KAAK,CAAC,2BAA2B,QAAQ,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,oBAAoB,CAClB,MAAiB,EACjB,WAAsB,EACtB,OAAe,EACf,KAAa,EACb,MAAe;QAEf,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,mBAAmB,CAC7C,MAAM,EACN,WAAW,EACX,OAAO,EACP,KAAK,EACL,MAAM,CACP,CAAC;IACJ,CAAC;IAED,YAAY,CAAC,MAAiB,EAAE,WAAsB;QACpD,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,OAAO,GAA6C,MAAM,OAAO,CAAC,GAAG,CACzE,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YACjC,MAAM,kBAAkB,GAAG,MAAM,OAAO,CAAC,GAAG,CAC1C,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,CAAC;gBACnD,WAAW;gBACX,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,WAAW,CAAC;aAC7C,CAAC,CACH,CAAC;YACF,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC,CAAC;QAC1D,CAAC,CAAC,CACH,CAAC;QACF,OAAO,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;CACF;AA5CD,sDA4CC"}
1
+ {"version":3,"file":"multiProtocolApp.js","sourceRoot":"","sources":["../../../src/multiProtocolApp/multiProtocolApp.ts"],"names":[],"mappings":";;;AAAA,4CAM4B;AAC5B,gDAA6D;AAI7D,6CAAoD;AACpD,uDAA8D;AAG9D,MAAa,qBAAsB,SAAQ,4BAG1C;IACU,iBAAiB,CAAC,QAAsB;QAC/C,IAAI,QAAQ,KAAK,oBAAY,CAAC,QAAQ;YAAE,OAAO,iCAAoB,CAAC;QACpE,IAAI,QAAQ,KAAK,oBAAY,CAAC,QAAQ;YAAE,OAAO,2CAAyB,CAAC;QACzE,MAAM,IAAI,KAAK,CAAC,2BAA2B,QAAQ,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,oBAAoB,CAClB,MAAiB,EACjB,WAAsB,EACtB,OAAe,EACf,KAAa,EACb,MAAe;QAEf,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,mBAAmB,CAC7C,WAAW,EACX,OAAO,EACP,KAAK,EACL,MAAM,CACP,CAAC;IACJ,CAAC;IAED,YAAY,CAAC,MAAiB,EAAE,WAAsB;QACpD,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,YAAY,CACtC,WAAW,EACX,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,OAAO,CACnC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,OAAO,GAA6C,MAAM,OAAO,CAAC,GAAG,CACzE,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YACjC,MAAM,kBAAkB,GAAG,MAAM,OAAO,CAAC,GAAG,CAC1C,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,CAAC;gBACnD,WAAW;gBACX,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,WAAW,CAAC;aAC7C,CAAC,CACH,CAAC;YACF,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC,CAAC;QAC1D,CAAC,CAAC,CACH,CAAC;QACF,OAAO,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;CACF;AA9CD,sDA8CC"}
@@ -1,16 +1,24 @@
1
1
  import { AccountMeta, PublicKey } from '@solana/web3.js';
2
- import { ChainName, RouterAddress, SealevelRouterAdapter, SolanaWeb3Transaction } from '@hyperlane-xyz/sdk';
2
+ import { ChainName, MultiProtocolProvider, SealevelRouterAdapter, SolanaWeb3Transaction } from '@hyperlane-xyz/sdk';
3
3
  import { Address, Domain } from '@hyperlane-xyz/utils';
4
4
  import { StatCounts } from '../app/types';
5
5
  import { IHelloWorldAdapter } from './types';
6
- export declare class SealevelHelloWorldAdapter extends SealevelRouterAdapter<RouterAddress & {
7
- mailbox: Address;
8
- }> implements IHelloWorldAdapter {
9
- populateSendHelloTx(origin: ChainName, destination: ChainName, message: string, value: string, sender: Address): Promise<SolanaWeb3Transaction>;
6
+ export declare class SealevelHelloWorldAdapter extends SealevelRouterAdapter implements IHelloWorldAdapter {
7
+ readonly chainName: ChainName;
8
+ readonly multiProvider: MultiProtocolProvider;
9
+ readonly addresses: {
10
+ router: Address;
11
+ mailbox: Address;
12
+ };
13
+ constructor(chainName: ChainName, multiProvider: MultiProtocolProvider, addresses: {
14
+ router: Address;
15
+ mailbox: Address;
16
+ });
17
+ populateSendHelloTx(destination: ChainName, message: string, value: string, sender: Address): Promise<SolanaWeb3Transaction>;
10
18
  getSendHelloKeyList(programId: PublicKey, mailbox: PublicKey, sender: PublicKey, randomWallet: PublicKey): Array<AccountMeta>;
11
19
  deriveProgramStoragePDA(programId: string | PublicKey): PublicKey;
12
- channelStats(origin: ChainName, _destination: ChainName): Promise<StatCounts>;
13
- getAccountInfo(chain: ChainName): Promise<HelloWorldData>;
20
+ channelStats(_destination: ChainName): Promise<StatCounts>;
21
+ getAccountInfo(): Promise<HelloWorldData>;
14
22
  }
15
23
  /**
16
24
  * Borsh Schema
@@ -1 +1 @@
1
- {"version":3,"file":"sealevelAdapter.d.ts","sourceRoot":"","sources":["../../../src/multiProtocolApp/sealevelAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EAEX,SAAS,EAIV,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAEL,SAAS,EAET,aAAa,EAKb,qBAAqB,EACrB,qBAAqB,EAEtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE7C,qBAAa,yBACX,SAAQ,qBAAqB,CAAC,aAAa,GAAG;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAClE,YAAW,kBAAkB;IAEvB,mBAAmB,CACvB,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,SAAS,EACtB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,qBAAqB,CAAC;IAqDjC,mBAAmB,CACjB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,SAAS,EAClB,MAAM,EAAE,SAAS,EACjB,YAAY,EAAE,SAAS,GACtB,KAAK,CAAC,WAAW,CAAC;IAuDrB,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAO3D,YAAY,CAChB,MAAM,EAAE,SAAS,EACjB,YAAY,EAAE,SAAS,GACtB,OAAO,CAAC,UAAU,CAAC;IAKhB,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,cAAc,CAAC;CAkBhE;AAED;;GAEG;AAGH,oBAAY,qBAAqB;IAC/B,IAAI,IAAA;IACJ,cAAc,IAAA;IACd,2BAA2B,IAAA;IAC3B,mBAAmB,IAAA;CACpB;AAED,qBAAa,yBAAyB;aAGR,MAAM,EAAE,GAAG;IAFvC,WAAW,EAAG,MAAM,CAAC;IACrB,OAAO,EAAG,MAAM,CAAC;gBACW,MAAM,EAAE,GAAG;CAGxC;AAED,eAAO,MAAM,oBAAoB,eAqB/B,CAAC;AAGH,qBAAa,cAAc;aAgCG,MAAM,EAAE,GAAG;IA/BvC,YAAY,EAAG,MAAM,CAAC;IAEtB,OAAO,EAAG,UAAU,CAAC;IACrB,cAAc,EAAG,SAAS,CAAC;IAE3B,GAAG,CAAC,EAAE,UAAU,CAAC;IACjB,UAAU,CAAC,EAAE,SAAS,CAAC;IAEvB,GAAG,CAAC,EAAE;QACJ,UAAU,EAAE,UAAU,CAAC;QACvB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,UAAU,CAAC;KACzB,CAAC;IACF,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAE/B,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,YAAY,CAAC,EAAE,SAAS,CAAC;IAEzB,IAAI,EAAG,MAAM,CAAC;IAEd,QAAQ,EAAG,MAAM,CAAC;IAGlB,OAAO,EAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAG9B,aAAa,EAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEpC,OAAO,EAAG,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;gBAEN,MAAM,EAAE,GAAG;CAaxC;AAED,eAAO,MAAM,oBAAoB,eAiC/B,CAAC"}
1
+ {"version":3,"file":"sealevelAdapter.d.ts","sourceRoot":"","sources":["../../../src/multiProtocolApp/sealevelAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EAEX,SAAS,EAIV,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,SAAS,EACT,qBAAqB,EAQrB,qBAAqB,EACrB,qBAAqB,EAEtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE7C,qBAAa,yBACX,SAAQ,qBACR,YAAW,kBAAkB;aAGX,SAAS,EAAE,SAAS;aACpB,aAAa,EAAE,qBAAqB;aACpC,SAAS,EAAE;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE;gBAFhD,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,qBAAqB,EACpC,SAAS,EAAE;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE;IAK5D,mBAAmB,CACvB,WAAW,EAAE,SAAS,EACtB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,qBAAqB,CAAC;IAoDjC,mBAAmB,CACjB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,SAAS,EAClB,MAAM,EAAE,SAAS,EACjB,YAAY,EAAE,SAAS,GACtB,KAAK,CAAC,WAAW,CAAC;IAuDrB,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAO3D,YAAY,CAAC,YAAY,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC;IAK1D,cAAc,IAAI,OAAO,CAAC,cAAc,CAAC;CAkBhD;AAED;;GAEG;AAGH,oBAAY,qBAAqB;IAC/B,IAAI,IAAA;IACJ,cAAc,IAAA;IACd,2BAA2B,IAAA;IAC3B,mBAAmB,IAAA;CACpB;AAED,qBAAa,yBAAyB;aAGR,MAAM,EAAE,GAAG;IAFvC,WAAW,EAAG,MAAM,CAAC;IACrB,OAAO,EAAG,MAAM,CAAC;gBACW,MAAM,EAAE,GAAG;CAGxC;AAED,eAAO,MAAM,oBAAoB,eAqB/B,CAAC;AAGH,qBAAa,cAAc;aAgCG,MAAM,EAAE,GAAG;IA/BvC,YAAY,EAAG,MAAM,CAAC;IAEtB,OAAO,EAAG,UAAU,CAAC;IACrB,cAAc,EAAG,SAAS,CAAC;IAE3B,GAAG,CAAC,EAAE,UAAU,CAAC;IACjB,UAAU,CAAC,EAAE,SAAS,CAAC;IAEvB,GAAG,CAAC,EAAE;QACJ,UAAU,EAAE,UAAU,CAAC;QACvB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,UAAU,CAAC;KACzB,CAAC;IACF,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAE/B,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,YAAY,CAAC,EAAE,SAAS,CAAC;IAEzB,IAAI,EAAG,MAAM,CAAC;IAEd,QAAQ,EAAG,MAAM,CAAC;IAGlB,OAAO,EAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAG9B,aAAa,EAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEpC,OAAO,EAAG,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;gBAEN,MAAM,EAAE,GAAG;CAaxC;AAED,eAAO,MAAM,oBAAoB,eA8B/B,CAAC"}
@@ -5,9 +5,15 @@ const web3_js_1 = require("@solana/web3.js");
5
5
  const borsh_1 = require("borsh");
6
6
  const sdk_1 = require("@hyperlane-xyz/sdk");
7
7
  class SealevelHelloWorldAdapter extends sdk_1.SealevelRouterAdapter {
8
- async populateSendHelloTx(origin, destination, message, value, sender) {
9
- this.logger('Creating sendHelloWorld tx for sealevel', origin, destination, message, value);
10
- const { mailbox, router: programId } = this.multiProvider.getChainMetadata(origin);
8
+ constructor(chainName, multiProvider, addresses) {
9
+ super(chainName, multiProvider, addresses);
10
+ this.chainName = chainName;
11
+ this.multiProvider = multiProvider;
12
+ this.addresses = addresses;
13
+ }
14
+ async populateSendHelloTx(destination, message, value, sender) {
15
+ this.logger('Creating sendHelloWorld tx for sealevel', this.chainName, destination, message, value);
16
+ const { mailbox, router: programId } = this.addresses;
11
17
  const mailboxPubKey = new web3_js_1.PublicKey(mailbox);
12
18
  const senderPubKey = new web3_js_1.PublicKey(sender);
13
19
  const programPubKey = new web3_js_1.PublicKey(programId);
@@ -26,7 +32,7 @@ class SealevelHelloWorldAdapter extends sdk_1.SealevelRouterAdapter {
26
32
  programId: programPubKey,
27
33
  data: Buffer.from(serializedData),
28
34
  });
29
- const connection = this.multiProvider.getSolanaWeb3Provider(origin);
35
+ const connection = this.getProvider();
30
36
  const recentBlockhash = (await connection.getLatestBlockhash('finalized'))
31
37
  .blockhash;
32
38
  // @ts-ignore Workaround for bug in the web3 lib, sometimes uses recentBlockhash and sometimes uses blockhash
@@ -90,15 +96,15 @@ class SealevelHelloWorldAdapter extends sdk_1.SealevelRouterAdapter {
90
96
  }
91
97
  // Should match https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/dd7ff727b0d3d393a159afa5f0a364775bde3a58/rust/sealevel/programs/helloworld/src/processor.rs#L44
92
98
  deriveProgramStoragePDA(programId) {
93
- return sdk_1.BaseSealevelAdapter.derivePda(['hello_world', '-', 'handle', '-', 'storage'], programId);
99
+ return this.derivePda(['hello_world', '-', 'handle', '-', 'storage'], programId);
94
100
  }
95
- async channelStats(origin, _destination) {
96
- const data = await this.getAccountInfo(origin);
101
+ async channelStats(_destination) {
102
+ const data = await this.getAccountInfo();
97
103
  return { sent: data.sent, received: data.received };
98
104
  }
99
- async getAccountInfo(chain) {
100
- const address = this.multiProvider.getChainMetadata(chain).router;
101
- const connection = this.multiProvider.getSolanaWeb3Provider(chain);
105
+ async getAccountInfo() {
106
+ const address = this.addresses.router;
107
+ const connection = this.getProvider();
102
108
  const msgRecipientPda = this.deriveMessageRecipientPda(address);
103
109
  const accountInfo = await connection.getAccountInfo(msgRecipientPda);
104
110
  if (!accountInfo)
@@ -179,14 +185,7 @@ exports.HelloWorldDataSchema = new Map([
179
185
  'igp',
180
186
  {
181
187
  kind: 'option',
182
- type: {
183
- kind: 'struct',
184
- fields: [
185
- ['program_id', [32]],
186
- ['type', 'u8'],
187
- ['igp_account', [32]],
188
- ],
189
- },
188
+ type: sdk_1.SealevelInterchainGasPaymasterConfig,
190
189
  },
191
190
  ],
192
191
  ['owner', { kind: 'option', type: [32] }],
@@ -198,5 +197,9 @@ exports.HelloWorldDataSchema = new Map([
198
197
  ],
199
198
  },
200
199
  ],
200
+ [
201
+ sdk_1.SealevelInterchainGasPaymasterConfig,
202
+ sdk_1.SealevelInterchainGasPaymasterConfigSchema,
203
+ ],
201
204
  ]);
202
205
  //# sourceMappingURL=sealevelAdapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sealevelAdapter.js","sourceRoot":"","sources":["../../../src/multiProtocolApp/sealevelAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sealevelAdapter.js","sourceRoot":"","sources":["../../../src/multiProtocolApp/sealevelAdapter.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,8 @@
1
- import { ChainName, IRouterAdapter, RouterAddress, TypedTransaction } from '@hyperlane-xyz/sdk';
1
+ import { ChainName, IRouterAdapter, TypedTransaction } from '@hyperlane-xyz/sdk';
2
2
  import { Address } from '@hyperlane-xyz/utils';
3
3
  import { StatCounts } from '../app/types';
4
- export interface IHelloWorldAdapter extends IRouterAdapter<RouterAddress & {
5
- mailbox: Address;
6
- }> {
7
- populateSendHelloTx: (origin: ChainName, destination: ChainName, message: string, value: string, sender: Address) => Promise<TypedTransaction>;
8
- channelStats: (origin: ChainName, destination: ChainName) => Promise<StatCounts>;
4
+ export interface IHelloWorldAdapter extends IRouterAdapter {
5
+ populateSendHelloTx: (destination: ChainName, message: string, value: string, sender: Address) => Promise<TypedTransaction>;
6
+ channelStats: (destination: ChainName, destinationMailbox: Address) => Promise<StatCounts>;
9
7
  }
10
8
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/multiProtocolApp/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,cAAc,EACd,aAAa,EACb,gBAAgB,EACjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE/C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,WAAW,kBACf,SAAQ,cAAc,CAAC,aAAa,GAAG;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC;IAC5D,mBAAmB,EAAE,CACnB,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,SAAS,EACtB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,OAAO,KACZ,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAE/B,YAAY,EAAE,CACZ,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,SAAS,KACnB,OAAO,CAAC,UAAU,CAAC,CAAC;CAC1B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/multiProtocolApp/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,cAAc,EACd,gBAAgB,EACjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE/C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,WAAW,kBAAmB,SAAQ,cAAc;IACxD,mBAAmB,EAAE,CACnB,WAAW,EAAE,SAAS,EACtB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,OAAO,KACZ,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAE/B,YAAY,EAAE,CACZ,WAAW,EAAE,SAAS,EACtB,kBAAkB,EAAE,OAAO,KACxB,OAAO,CAAC,UAAU,CAAC,CAAC;CAC1B"}
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@hyperlane-xyz/helloworld",
3
3
  "description": "A basic skeleton of an Hyperlane app",
4
- "version": "1.5.0",
4
+ "version": "1.5.1-beta1",
5
5
  "dependencies": {
6
- "@hyperlane-xyz/sdk": "1.5.0",
6
+ "@hyperlane-xyz/sdk": "1.5.1-beta1",
7
7
  "@openzeppelin/contracts-upgradeable": "^4.8.0",
8
8
  "ethers": "^5.7.2"
9
9
  },
@@ -65,5 +65,6 @@
65
65
  "lodash": "^4.17.21",
66
66
  "async": "^2.6.4",
67
67
  "undici": "^5.11"
68
- }
68
+ },
69
+ "stableVersion": "1.5.0"
69
70
  }