@layerzerolabs/protocol-stellar-v2 0.2.19 → 0.2.20

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.
Files changed (125) hide show
  1. package/.turbo/turbo-build.log +245 -222
  2. package/.turbo/turbo-lint.log +77 -70
  3. package/.turbo/turbo-test.log +1385 -1221
  4. package/Cargo.lock +13 -3
  5. package/Cargo.toml +2 -0
  6. package/contracts/ERROR_SPEC.md +8 -1
  7. package/contracts/common-macros/src/contract_ttl.rs +18 -7
  8. package/contracts/common-macros/src/lib.rs +4 -4
  9. package/contracts/common-macros/src/tests/contract_ttl.rs +1 -1
  10. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__contract_ttl__snapshot_generated_contractimpl_code.snap +2 -1
  11. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__upgradeable__snapshot_generated_upgradeable_code.snap +7 -12
  12. package/contracts/common-macros/src/upgradeable.rs +15 -21
  13. package/contracts/message-libs/uln-302/src/events.rs +4 -0
  14. package/contracts/message-libs/uln-302/src/send_uln.rs +22 -6
  15. package/contracts/message-libs/uln-302/src/tests/send_uln302/send.rs +38 -64
  16. package/contracts/oapps/counter/Cargo.toml +1 -0
  17. package/contracts/oapps/counter/integration_tests/setup_uln.rs +1 -1
  18. package/contracts/oapps/oapp/src/tests/test_oapp_core.rs +113 -65
  19. package/contracts/oapps/oapp/src/tests/test_oapp_options_type3.rs +111 -82
  20. package/contracts/oapps/oapp/src/tests/test_oapp_receiver.rs +293 -65
  21. package/contracts/oapps/oapp/src/tests/test_oapp_sender.rs +331 -56
  22. package/contracts/oapps/oft/src/extensions/oft_fee.rs +18 -2
  23. package/contracts/oapps/oft/src/extensions/pausable.rs +19 -4
  24. package/contracts/oapps/oft/src/extensions/rate_limiter.rs +52 -28
  25. package/contracts/oapps/oft/src/oft.rs +29 -41
  26. package/contracts/oapps/oft/src/oft_types/mint_burn.rs +3 -25
  27. package/contracts/oapps/oft-core/integration-tests/setup.rs +2 -2
  28. package/contracts/oapps/oft-core/src/oft_core.rs +247 -207
  29. package/contracts/oapps/oft-core/src/tests/test_utils.rs +4 -4
  30. package/contracts/upgrader/src/lib.rs +30 -57
  31. package/contracts/upgrader/src/tests/test_data/test_upgradeable_contract1.wasm +0 -0
  32. package/contracts/upgrader/src/tests/test_data/test_upgradeable_contract2.wasm +0 -0
  33. package/contracts/upgrader/src/tests/test_upgrader.rs +44 -35
  34. package/contracts/utils/src/buffer_reader.rs +1 -0
  35. package/contracts/utils/src/errors.rs +3 -1
  36. package/contracts/utils/src/tests/upgradeable.rs +372 -175
  37. package/contracts/utils/src/ttl_configurable.rs +3 -3
  38. package/contracts/utils/src/upgradeable.rs +48 -23
  39. package/contracts/workers/dvn/Cargo.toml +1 -0
  40. package/contracts/workers/dvn/src/auth.rs +12 -42
  41. package/contracts/workers/dvn/src/dvn.rs +16 -31
  42. package/contracts/workers/dvn/src/errors.rs +0 -1
  43. package/contracts/workers/dvn/src/interfaces/dvn.rs +35 -0
  44. package/contracts/workers/dvn/src/lib.rs +4 -3
  45. package/contracts/workers/dvn/src/tests/auth.rs +1 -1
  46. package/contracts/workers/dvn/src/tests/dvn.rs +19 -15
  47. package/contracts/workers/dvn/src/tests/multisig/set_threshold.rs +2 -4
  48. package/contracts/workers/dvn/src/tests/multisig/verify_signatures.rs +1 -3
  49. package/contracts/workers/dvn/src/tests/setup.rs +5 -9
  50. package/contracts/workers/dvn-fee-lib/Cargo.toml +1 -1
  51. package/contracts/workers/dvn-fee-lib/src/dvn_fee_lib.rs +3 -5
  52. package/contracts/workers/dvn-fee-lib/src/tests/dvn_fee_lib.rs +2 -3
  53. package/contracts/workers/executor/Cargo.toml +1 -0
  54. package/contracts/workers/executor/src/executor.rs +15 -26
  55. package/contracts/workers/executor-fee-lib/Cargo.toml +2 -1
  56. package/contracts/workers/executor-fee-lib/src/executor_fee_lib.rs +63 -5
  57. package/contracts/workers/executor-fee-lib/src/executor_option.rs +28 -1
  58. package/contracts/workers/executor-fee-lib/src/lib.rs +3 -0
  59. package/contracts/workers/executor-fee-lib/src/tests/executor_fee_lib.rs +701 -0
  60. package/contracts/workers/executor-fee-lib/src/tests/executor_option.rs +370 -0
  61. package/contracts/workers/executor-fee-lib/src/tests/mod.rs +4 -0
  62. package/contracts/workers/executor-fee-lib/src/tests/setup.rs +60 -0
  63. package/contracts/workers/executor-helper/src/lib.rs +3 -0
  64. package/contracts/workers/executor-helper/src/tests/executor_helper.rs +184 -0
  65. package/contracts/workers/executor-helper/src/tests/mod.rs +2 -0
  66. package/contracts/workers/executor-helper/src/tests/setup.rs +366 -0
  67. package/contracts/workers/fee-lib-interfaces/Cargo.toml +14 -0
  68. package/contracts/workers/{worker/src/interfaces/mod.rs → fee-lib-interfaces/src/lib.rs} +4 -3
  69. package/contracts/workers/price-feed/Cargo.toml +2 -1
  70. package/contracts/workers/price-feed/src/events.rs +1 -1
  71. package/contracts/workers/price-feed/src/lib.rs +3 -0
  72. package/contracts/workers/price-feed/src/price_feed.rs +6 -12
  73. package/contracts/workers/price-feed/src/storage.rs +1 -1
  74. package/contracts/workers/price-feed/src/tests/mod.rs +2 -0
  75. package/contracts/workers/price-feed/src/tests/price_feed.rs +869 -0
  76. package/contracts/workers/price-feed/src/tests/setup.rs +70 -0
  77. package/contracts/workers/price-feed/src/types.rs +1 -1
  78. package/contracts/workers/worker/src/errors.rs +0 -3
  79. package/contracts/workers/worker/src/lib.rs +0 -2
  80. package/contracts/workers/worker/src/storage.rs +32 -29
  81. package/contracts/workers/worker/src/tests/setup.rs +1 -7
  82. package/contracts/workers/worker/src/tests/worker.rs +50 -42
  83. package/contracts/workers/worker/src/worker.rs +49 -58
  84. package/package.json +3 -3
  85. package/sdk/.turbo/turbo-test.log +220 -218
  86. package/sdk/dist/generated/bml.d.ts +12 -4
  87. package/sdk/dist/generated/bml.js +8 -6
  88. package/sdk/dist/generated/counter.d.ts +12 -4
  89. package/sdk/dist/generated/counter.js +8 -6
  90. package/sdk/dist/generated/dvn.d.ts +404 -365
  91. package/sdk/dist/generated/dvn.js +55 -53
  92. package/sdk/dist/generated/dvn_fee_lib.d.ts +224 -268
  93. package/sdk/dist/generated/dvn_fee_lib.js +22 -53
  94. package/sdk/dist/generated/endpoint.d.ts +12 -4
  95. package/sdk/dist/generated/endpoint.js +8 -6
  96. package/sdk/dist/generated/executor.d.ts +370 -326
  97. package/sdk/dist/generated/executor.js +47 -44
  98. package/sdk/dist/generated/executor_fee_lib.d.ts +258 -302
  99. package/sdk/dist/generated/executor_fee_lib.js +21 -52
  100. package/sdk/dist/generated/executor_helper.d.ts +26 -190
  101. package/sdk/dist/generated/executor_helper.js +22 -27
  102. package/sdk/dist/generated/layerzero_view.d.ts +1271 -0
  103. package/sdk/dist/generated/layerzero_view.js +294 -0
  104. package/sdk/dist/generated/oft.d.ts +49 -40
  105. package/sdk/dist/generated/oft.js +25 -23
  106. package/sdk/dist/generated/price_feed.d.ts +225 -269
  107. package/sdk/dist/generated/price_feed.js +22 -53
  108. package/sdk/dist/generated/sml.d.ts +12 -4
  109. package/sdk/dist/generated/sml.js +8 -6
  110. package/sdk/dist/generated/treasury.d.ts +12 -4
  111. package/sdk/dist/generated/treasury.js +8 -6
  112. package/sdk/dist/generated/uln302.d.ts +12 -4
  113. package/sdk/dist/generated/uln302.js +10 -8
  114. package/sdk/dist/generated/upgrader.d.ts +189 -18
  115. package/sdk/dist/generated/upgrader.js +84 -4
  116. package/sdk/dist/index.d.ts +1 -0
  117. package/sdk/dist/index.js +2 -0
  118. package/sdk/package.json +1 -1
  119. package/sdk/src/index.ts +3 -0
  120. package/sdk/test/oft-sml.test.ts +4 -4
  121. package/sdk/test/upgrader.test.ts +2 -3
  122. package/tools/ts-bindings-gen/src/main.rs +2 -1
  123. /package/contracts/workers/{worker/src/interfaces → fee-lib-interfaces/src}/dvn_fee_lib.rs +0 -0
  124. /package/contracts/workers/{worker/src/interfaces → fee-lib-interfaces/src}/executor_fee_lib.rs +0 -0
  125. /package/contracts/workers/{worker/src/interfaces → fee-lib-interfaces/src}/price_feed.rs +0 -0
@@ -1,56 +1,226 @@
1
1
  import { Buffer } from "buffer";
2
2
  import { AssembledTransaction, Client as ContractClient, ClientOptions as ContractClientOptions, MethodOptions } from '@stellar/stellar-sdk/contract';
3
+ import type { u32 } from '@stellar/stellar-sdk/contract';
3
4
  export * from '@stellar/stellar-sdk';
4
5
  export * as contract from '@stellar/stellar-sdk/contract';
5
6
  export * as rpc from '@stellar/stellar-sdk/rpc';
6
- export type MigrationData = void;
7
7
  /**
8
8
  * Embedded WASM bytecode (base64-encoded)
9
- * Size: 1597 bytes (1.56 KB)
9
+ * Size: 4968 bytes (4.85 KB)
10
10
  */
11
- export declare const WASM_BASE64 = "AGFzbQEAAAABHAVgAX4BfmACfn4BfmADfn5+AX5gA35+fgBgAAACEwMBYgE4AAABdgFnAAEBZAFfAAIDBQQCAwQEBQMBABAGIQR/AUGAgMAAC38AQYCAwAALfwBBgIDAAAt/AEGAgMAACwc/BQZtZW1vcnkCABN1cGdyYWRlX2FuZF9taWdyYXRlAAMBXwMBCl9fZGF0YV9lbmQDAgtfX2hlYXBfYmFzZQMDCoUCBNIBAwF/AX4BfyOAgICAAEEQayIDJICAgIAAAkAgAEL/AYNCzQBSDQAgAUL/AYNCyABSDQAgARCAgICAAEKAgICAcINCgICAgIAEUg0AIAJC/wGDQssAUg0AIAMgATcDAEICIQRBASEFAkADQCAFRQ0BIAVBf2ohBSABIQQMAAsLIAMgBDcDCCAAQo7UqfPNresBIANBCGqtQiCGQgSEQoSAgIAQEIGAgIAAEISAgIAAIABCjtS58831ygEgAhCEgICAACADQRBqJICAgIAAQgIPCwALIQACQCAAIAEgAhCCgICAAEL/AYNCAlENABCGgICAAAALCwMAAAsJABCFgICAAAALCwkBAEGAgMAACwAA6wcOY29udHJhY3RzcGVjdjAAAAAAAAADWlVwZ3JhZGUgYSB0YXJnZXQgY29udHJhY3QgYW5kIHJ1biBpdHMgbWlncmF0aW9uIGluIGEgc2luZ2xlIHRyYW5zYWN0aW9uCgpUaGUgY2FsbGVyIG11c3QgYmUgYXV0aG9yaXplZCBhcyB0aGUgYXV0aG9yaXplciBvZiB0aGUgdGFyZ2V0IGNvbnRyYWN0LgpUaGlzIGlzIGVuZm9yY2VkIGJ5IHRoZSB0YXJnZXQgY29udHJhY3QncyBgI1tvbmx5X2F1dGhdYCBjaGVjay4KClRoaXMgaXMgdXNlZnVsIGZvciBhdG9taWMgdXBncmFkZXMgd2hlcmUgeW91IHdhbnQgdG8gZW5zdXJlIHRoZSBtaWdyYXRpb24KaGFwcGVucyBpbW1lZGlhdGVseSBhZnRlciB0aGUgdXBncmFkZSwgb3IgdGhlIGVudGlyZSBvcGVyYXRpb24gZmFpbHMuCgojIEFyZ3VtZW50cwoqIGBjb250cmFjdF9hZGRyZXNzYCAtIFRoZSBhZGRyZXNzIG9mIHRoZSBjb250cmFjdCB0byB1cGdyYWRlCiogYHdhc21faGFzaGAgLSBUaGUgaGFzaCBvZiB0aGUgbmV3IFdBU00gYnl0ZWNvZGUKKiBgbWlncmF0aW9uX2RhdGFgIC0gQSB2ZWN0b3Igb2YgdmFsdWVzIHRvIHBhc3MgdG8gdGhlIG1pZ3JhdGUgZnVuY3Rpb24uClRoZSB0eXBlcyBvZiB0aGVzZSB2YWx1ZXMgZGVwZW5kIG9uIHRoZSB0YXJnZXQgY29udHJhY3QncyBNaWdyYXRpb25EYXRhIHR5cGUuCgojIEV4YW1wbGUKYGBgaWdub3JlCi8vIEZvciBhIGNvbnRyYWN0IHdpdGggTWlncmF0aW9uRGF0YSA9ICh1MzIsIGJvb2wpCmxldCBtaWdyYXRpb25fZGF0YSA9IHZlYyFbCiZlbnYsCjQydTMyLmludG9fdmFsKCZlbnYpLAp0cnVlLmludG9fdmFsKCZlbnYpLApdOwp1cGdyYWRlci51cGdyYWRlX2FuZF9taWdyYXRlKCZjb250cmFjdF9hZGRyLCAmd2FzbV9oYXNoLCBtaWdyYXRpb25fZGF0YSk7CmBgYAAAAAAAE3VwZ3JhZGVfYW5kX21pZ3JhdGUAAAAAAwAAAAAAAAAQY29udHJhY3RfYWRkcmVzcwAAABMAAAAAAAAACXdhc21faGFzaAAAAAAAA+4AAAAgAAAAAAAAAA5taWdyYXRpb25fZGF0YQAAAAAD6gAAAAAAAAAAAB4RY29udHJhY3RlbnZtZXRhdjAAAAAAAAAAFwAAAAAAbw5jb250cmFjdG1ldGF2MAAAAAAAAAAFcnN2ZXIAAAAAAAAGMS45MC4wAAAAAAAAAAAACHJzc2RrdmVyAAAALzIzLjQuMCM2NzNkNmM0ZjIzNjhkMjgyZDI1ZGEyOWJkYTU1YzIxYjhiZTY5Y2E2AA==";
11
+ export declare const WASM_BASE64 = "AGFzbQEAAAABJgdgAX4BfmADfn5+AX5gAn5+AX5gAn9+AGADfn5+AGABfwF+YAAAAhkEAWIBXwAAAWIBOAAAAWQBXwABAXYBZwACAwkIAgMEAQUEBgYFAwEAEAYhBH8BQYCAwAALfwBBgIDAAAt/AEGAgMAAC38AQYCAwAALB0kGBm1lbW9yeQIAB3VwZ3JhZGUABBN1cGdyYWRlX2FuZF9taWdyYXRlAAcBXwMBCl9fZGF0YV9lbmQDAgtfX2hlYXBfYmFzZQMDCoYECFwBAX8jgICAgABBEGsiAiSAgICAAAJAIABC/wGDQs0AUg0AIAIgARCFgICAACACKAIAQQFGDQAgACACKQMIQgIQgICAgAAQhoCAgAAgAkEQaiSAgICAAEICDwsAC0IBAX5CASECAkAgAUL/AYNCyABSDQAgARCBgICAAEKAgICAcINCgICAgIAEUg0AIAAgATcDCEIAIQILIAAgAjcDAAu4AQMBfwF+AX8jgICAgABBEGsiAySAgICAACADIAE3AwBCAiEEQQEhBQJAA0AgBUUNASAFQX9qIQUgASEEDAALCyADIAQ3AwggAEKO1Knzza3rASADQQhqEIiAgIAAEImAgIAAIAMgAjcDAEICIQFBASEFAkADQCAFRQ0BIAVBf2ohBSACIQEMAAsLIAMgATcDCCAAQo7UufPN9coBIANBCGoQiICAgAAQiYCAgAAgA0EQaiSAgICAAAtiAQF/I4CAgIAAQRBrIgMkgICAgAACQCAAQv8Bg0LNAFINACADIAEQhYCAgAAgAygCAEEBRg0AIAJC/wGDQsgAUg0AIAAgAykDCCACEIaAgIAAIANBEGokgICAgABCAg8LAAsXACAArUIghkIEhEKEgICAEBCDgICAAAshAAJAIAAgASACEIKAgIAAQv8Bg0ICUQ0AEIuAgIAAAAsLAwAACwkAEIqAgIAAAAsLCQEAQYCAwAALAAD3Hw5jb250cmFjdHNwZWN2MAAAAAAAAAERVXBncmFkZXMgYSB0YXJnZXQgY29udHJhY3Qgd2l0aG91dCBjdXN0b20gbWlncmF0aW9uIGRhdGEuCgpUaGlzIGlzIGEgY29udmVuaWVuY2Ugd3JhcHBlciB0aGF0IGNhbGxzIGB1cGdyYWRlX2FuZF9taWdyYXRlYCB3aXRoIGVtcHR5IG1pZ3JhdGlvbiBkYXRhLgoKIyBBcmd1bWVudHMKKiBgY29udHJhY3RfYWRkcmVzc2AgLSBUaGUgYWRkcmVzcyBvZiB0aGUgY29udHJhY3QgdG8gdXBncmFkZQoqIGB3YXNtX2hhc2hgIC0gVGhlIGhhc2ggb2YgdGhlIG5ldyBXQVNNIGJ5dGVjb2RlAAAAAAAAB3VwZ3JhZGUAAAAAAgAAAAAAAAAQY29udHJhY3RfYWRkcmVzcwAAABMAAAAAAAAACXdhc21faGFzaAAAAAAAA+4AAAAgAAAAAAAAAAAAAAJ0VXBncmFkZXMgYSB0YXJnZXQgY29udHJhY3QgYW5kIHJ1bnMgaXRzIG1pZ3JhdGlvbiBpbiBhIHNpbmdsZSB0cmFuc2FjdGlvbi4KClRoZSBjYWxsZXIgbXVzdCBiZSBhdXRob3JpemVkIGFzIHRoZSBhdXRob3JpemVyIG9mIHRoZSB0YXJnZXQgY29udHJhY3QuClRoaXMgaXMgZW5mb3JjZWQgYnkgdGhlIHRhcmdldCBjb250cmFjdCdzIGAjW29ubHlfYXV0aF1gIGNoZWNrLgoKIyBBcmd1bWVudHMKKiBgY29udHJhY3RfYWRkcmVzc2AgLSBUaGUgYWRkcmVzcyBvZiB0aGUgY29udHJhY3QgdG8gdXBncmFkZQoqIGB3YXNtX2hhc2hgIC0gVGhlIGhhc2ggb2YgdGhlIG5ldyBXQVNNIGJ5dGVjb2RlCiogYG1pZ3JhdGlvbl9kYXRhYCAtIFhEUi1lbmNvZGVkIGJ5dGVzIHRvIHBhc3MgdG8gdGhlIG1pZ3JhdGUgZnVuY3Rpb24uClVzZSBgdmFsdWUudG9feGRyKCZlbnYpYCB0byBlbmNvZGUgdGhlIHRhcmdldCBjb250cmFjdCdzIE1pZ3JhdGlvbkRhdGEgdHlwZS4KCiMgRXhhbXBsZQpgYGBpZ25vcmUKbGV0IG1pZ3JhdGlvbl9kYXRhID0gbXlfZGF0YS50b194ZHIoJmVudik7CnVwZ3JhZGVyLnVwZ3JhZGVfYW5kX21pZ3JhdGUoJmNvbnRyYWN0X2FkZHIsICZ3YXNtX2hhc2gsICZtaWdyYXRpb25fZGF0YSk7CmBgYAAAABN1cGdyYWRlX2FuZF9taWdyYXRlAAAAAAMAAAAAAAAAEGNvbnRyYWN0X2FkZHJlc3MAAAATAAAAAAAAAAl3YXNtX2hhc2gAAAAAAAPuAAAAIAAAAAAAAAAObWlncmF0aW9uX2RhdGEAAAAAAA4AAAAAAAAABAAAABxCdWZmZXJSZWFkZXJFcnJvcjogMTAwMC0xMDA5AAAAAAAAABFCdWZmZXJSZWFkZXJFcnJvcgAAAAAAAAIAAAAAAAAADUludmFsaWRMZW5ndGgAAAAAAAPoAAAAAAAAABVJbnZhbGlkQWRkcmVzc1BheWxvYWQAAAAAAAPpAAAABAAAABxCdWZmZXJXcml0ZXJFcnJvcjogMTAxMC0xMDE5AAAAAAAAABFCdWZmZXJXcml0ZXJFcnJvcgAAAAAAAAEAAAAAAAAAFUludmFsaWRBZGRyZXNzUGF5bG9hZAAAAAAAA/IAAAAEAAAAH1R0bENvbmZpZ3VyYWJsZUVycm9yOiAxMDIwLTEwMjkAAAAAAAAAABRUdGxDb25maWd1cmFibGVFcnJvcgAAAAMAAAAAAAAAEEludmFsaWRUdGxDb25maWcAAAP8AAAAAAAAAA9UdGxDb25maWdGcm96ZW4AAAAD/QAAAAAAAAAWVHRsQ29uZmlnQWxyZWFkeUZyb3plbgAAAAAD/gAAAAQAAAAXT3duYWJsZUVycm9yOiAxMDMwLTEwMzkAAAAAAAAAAAxPd25hYmxlRXJyb3IAAAAGAAAAAAAAABNJbnZhbGlkUGVuZGluZ093bmVyAAAABAYAAAAAAAAACkludmFsaWRUdGwAAAAABAcAAAAAAAAAEU5vUGVuZGluZ1RyYW5zZmVyAAAAAAAECAAAAAAAAAAPT3duZXJBbHJlYWR5U2V0AAAABAkAAAAAAAAAC093bmVyTm90U2V0AAAABAoAAAAAAAAAElRyYW5zZmVySW5Qcm9ncmVzcwAAAAAECwAAAAQAAAAYQnl0ZXNFeHRFcnJvcjogMTA0MC0xMDQ5AAAAAAAAAA1CeXRlc0V4dEVycm9yAAAAAAAAAQAAAAAAAAAOTGVuZ3RoTWlzbWF0Y2gAAAAABBAAAAAEAAAAG1VwZ3JhZGVhYmxlRXJyb3I6IDEwNTAtMTA1OQAAAAAAAAAAEFVwZ3JhZGVhYmxlRXJyb3IAAAADAAAAAAAAABRJbnZhbGlkTWlncmF0aW9uRGF0YQAABBoAAAAAAAAAE01pZ3JhdGlvbk5vdEFsbG93ZWQAAAAEGwAAAAAAAAAOVXBncmFkZXNGcm96ZW4AAAAABBwAAAAEAAAAGE11bHRpc2lnRXJyb3I6IDEwNjAtMTA2OQAAAAAAAAANTXVsdGlzaWdFcnJvcgAAAAAAAAgAAAAAAAAAEkFscmVhZHlJbml0aWFsaXplZAAAAAAEJAAAAAAAAAANSW52YWxpZFNpZ25lcgAAAAAABCUAAAAAAAAADlNpZ25hdHVyZUVycm9yAAAAAAQmAAAAAAAAABNTaWduZXJBbHJlYWR5RXhpc3RzAAAABCcAAAAAAAAADlNpZ25lck5vdEZvdW5kAAAAAAQoAAAAAAAAAB1Ub3RhbFNpZ25lcnNMZXNzVGhhblRocmVzaG9sZAAAAAAABCkAAAAAAAAAD1Vuc29ydGVkU2lnbmVycwAAAAQqAAAAAAAAAA1aZXJvVGhyZXNob2xkAAAAAAAEKwAAAAUAAAAwRXZlbnQgZW1pdHRlZCB3aGVuIGEgc2lnbmVyIGlzIGFkZGVkIG9yIHJlbW92ZWQuAAAAAAAAAAlTaWduZXJTZXQAAAAAAAABAAAACnNpZ25lcl9zZXQAAAAAAAIAAAAAAAAABnNpZ25lcgAAAAAD7gAAABQAAAABAAAAAAAAAAZhY3RpdmUAAAAAAAEAAAAAAAAAAgAAAAUAAAA2RXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBzaWduYXR1cmUgdGhyZXNob2xkIGlzIGNoYW5nZWQuAAAAAAAAAAAADFRocmVzaG9sZFNldAAAAAEAAAANdGhyZXNob2xkX3NldAAAAAAAAAEAAAAAAAAACXRocmVzaG9sZAAAAAAAAAQAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAA9NdWx0aXNpZ1N0b3JhZ2UAAAAAAgAAAAAAAAAAAAAAB1NpZ25lcnMAAAAAAAAAAAAAAAAJVGhyZXNob2xkAAAAAAAABQAAAFdFdmVudCBlbWl0dGVkIHdoZW4gb3duZXJzaGlwIGlzIHRyYW5zZmVycmVkIChib3RoIHNpbmdsZS1zdGVwIGFuZCB0d28tc3RlcCBjb21wbGV0aW9uKS4AAAAAAAAAABRPd25lcnNoaXBUcmFuc2ZlcnJlZAAAAAEAAAAVb3duZXJzaGlwX3RyYW5zZmVycmVkAAAAAAAAAgAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAAgAAAAUAAAA7RXZlbnQgZW1pdHRlZCB3aGVuIGEgMi1zdGVwIG93bmVyc2hpcCB0cmFuc2ZlciBpcyBwcm9wb3NlZC4AAAAAAAAAABVPd25lcnNoaXBUcmFuc2ZlcnJpbmcAAAAAAAABAAAAFm93bmVyc2hpcF90cmFuc2ZlcnJpbmcAAAAAAAMAAAAAAAAACW9sZF9vd25lcgAAAAAAABMAAAAAAAAAAAAAAAluZXdfb3duZXIAAAAAAAATAAAAAAAAAAAAAAADdHRsAAAAAAQAAAAAAAAAAgAAAAUAAAAqRXZlbnQgZW1pdHRlZCB3aGVuIG93bmVyc2hpcCBpcyByZW5vdW5jZWQuAAAAAAAAAAAAEk93bmVyc2hpcFJlbm91bmNlZAAAAAAAAQAAABNvd25lcnNoaXBfcmVub3VuY2VkAAAAAAEAAAAAAAAACW9sZF9vd25lcgAAAAAAABMAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAA5Pd25hYmxlU3RvcmFnZQAAAAAAAgAAAAAAAAAAAAAABU93bmVyAAAAAAAAAAAAAAAAAAAMUGVuZGluZ093bmVyAAAAAQAAAElUVEwgY29uZmlndXJhdGlvbjogdGhyZXNob2xkICh3aGVuIHRvIGV4dGVuZCkgYW5kIGV4dGVuZF90byAodGFyZ2V0IFRUTCkuAAAAAAAAAAAAAAlUdGxDb25maWcAAAAAAAACAAAAKFRhcmdldCBUVEwgYWZ0ZXIgZXh0ZW5zaW9uIChpbiBsZWRnZXJzKS4AAAAJZXh0ZW5kX3RvAAAAAAAABAAAADNUVEwgdGhyZXNob2xkIHRoYXQgdHJpZ2dlcnMgZXh0ZW5zaW9uIChpbiBsZWRnZXJzKS4AAAAACXRocmVzaG9sZAAAAAAAAAQAAAAFAAAAJ0V2ZW50IGVtaXR0ZWQgd2hlbiBUVEwgY29uZmlncyBhcmUgc2V0LgAAAAAAAAAADVR0bENvbmZpZ3NTZXQAAAAAAAABAAAAD3R0bF9jb25maWdzX3NldAAAAAACAAAAAAAAAAhpbnN0YW5jZQAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAAAAAAAACnBlcnNpc3RlbnQAAAAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAAACAAAABQAAACpFdmVudCBlbWl0dGVkIHdoZW4gVFRMIGNvbmZpZ3MgYXJlIGZyb3plbi4AAAAAAAAAAAAQVHRsQ29uZmlnc0Zyb3plbgAAAAEAAAASdHRsX2NvbmZpZ3NfZnJvemVuAAAAAAAAAAAAAgAAAAIAAAAAAAAAAAAAABBUdGxDb25maWdTdG9yYWdlAAAAAwAAAAAAAAAAAAAABkZyb3plbgAAAAAAAAAAAAAAAAAISW5zdGFuY2UAAAAAAAAAAAAAAApQZXJzaXN0ZW50AAAAAAACAAAAAAAAAAAAAAASVXBncmFkZWFibGVTdG9yYWdlAAAAAAACAAAAAAAAAAAAAAAGRnJvemVuAAAAAAAAAAAAAAAAAAlNaWdyYXRpbmcAAAAAHhFjb250cmFjdGVudm1ldGF2MAAAAAAAAAAXAAAAAABvDmNvbnRyYWN0bWV0YXYwAAAAAAAAAAVyc3ZlcgAAAAAAAAYxLjkwLjAAAAAAAAAAAAAIcnNzZGt2ZXIAAAAvMjMuNC4wIzY3M2Q2YzRmMjM2OGQyODJkMjVkYTI5YmRhNTVjMjFiOGJlNjljYTYA";
12
12
  /**
13
13
  * Pre-computed WASM hash (SHA-256)
14
14
  * Use this when the WASM is already uploaded on-chain
15
15
  */
16
- export declare const WASM_HASH = "250cba854264d9d437c960e9f8ed838dbf39876947b4fb84c5a209a39b794da6";
16
+ export declare const WASM_HASH = "6c749cc6678cc29a835dff31a3198b9cee989f2077b55b662bc1e7df1f9cad26";
17
17
  /**
18
18
  * Get the WASM bytecode as a Buffer
19
19
  * Use this to upload the WASM to the network
20
20
  */
21
21
  export declare function getWasmBuffer(): Buffer;
22
+ /**
23
+ * BufferReaderError: 1000-1009
24
+ */
25
+ export declare const BufferReaderError: {
26
+ 1000: {
27
+ message: string;
28
+ };
29
+ 1001: {
30
+ message: string;
31
+ };
32
+ };
33
+ /**
34
+ * BufferWriterError: 1010-1019
35
+ */
36
+ export declare const BufferWriterError: {
37
+ 1010: {
38
+ message: string;
39
+ };
40
+ };
41
+ /**
42
+ * TtlConfigurableError: 1020-1029
43
+ */
44
+ export declare const TtlConfigurableError: {
45
+ 1020: {
46
+ message: string;
47
+ };
48
+ 1021: {
49
+ message: string;
50
+ };
51
+ 1022: {
52
+ message: string;
53
+ };
54
+ };
55
+ /**
56
+ * OwnableError: 1030-1039
57
+ */
58
+ export declare const OwnableError: {
59
+ 1030: {
60
+ message: string;
61
+ };
62
+ 1031: {
63
+ message: string;
64
+ };
65
+ 1032: {
66
+ message: string;
67
+ };
68
+ 1033: {
69
+ message: string;
70
+ };
71
+ 1034: {
72
+ message: string;
73
+ };
74
+ 1035: {
75
+ message: string;
76
+ };
77
+ };
78
+ /**
79
+ * BytesExtError: 1040-1049
80
+ */
81
+ export declare const BytesExtError: {
82
+ 1040: {
83
+ message: string;
84
+ };
85
+ };
86
+ /**
87
+ * UpgradeableError: 1050-1059
88
+ */
89
+ export declare const UpgradeableError: {
90
+ 1050: {
91
+ message: string;
92
+ };
93
+ 1051: {
94
+ message: string;
95
+ };
96
+ 1052: {
97
+ message: string;
98
+ };
99
+ };
100
+ /**
101
+ * MultisigError: 1060-1069
102
+ */
103
+ export declare const MultisigError: {
104
+ 1060: {
105
+ message: string;
106
+ };
107
+ 1061: {
108
+ message: string;
109
+ };
110
+ 1062: {
111
+ message: string;
112
+ };
113
+ 1063: {
114
+ message: string;
115
+ };
116
+ 1064: {
117
+ message: string;
118
+ };
119
+ 1065: {
120
+ message: string;
121
+ };
122
+ 1066: {
123
+ message: string;
124
+ };
125
+ 1067: {
126
+ message: string;
127
+ };
128
+ };
129
+ export type MultisigStorage = {
130
+ tag: "Signers";
131
+ values: void;
132
+ } | {
133
+ tag: "Threshold";
134
+ values: void;
135
+ };
136
+ export type OwnableStorage = {
137
+ tag: "Owner";
138
+ values: void;
139
+ } | {
140
+ tag: "PendingOwner";
141
+ values: void;
142
+ };
143
+ /**
144
+ * TTL configuration: threshold (when to extend) and extend_to (target TTL).
145
+ */
146
+ export interface TtlConfig {
147
+ /**
148
+ * Target TTL after extension (in ledgers).
149
+ */
150
+ extend_to: u32;
151
+ /**
152
+ * TTL threshold that triggers extension (in ledgers).
153
+ */
154
+ threshold: u32;
155
+ }
156
+ export type TtlConfigStorage = {
157
+ tag: "Frozen";
158
+ values: void;
159
+ } | {
160
+ tag: "Instance";
161
+ values: void;
162
+ } | {
163
+ tag: "Persistent";
164
+ values: void;
165
+ };
166
+ export type UpgradeableStorage = {
167
+ tag: "Frozen";
168
+ values: void;
169
+ } | {
170
+ tag: "Migrating";
171
+ values: void;
172
+ };
22
173
  export interface Client {
174
+ /**
175
+ * Construct and simulate a upgrade transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
176
+ * Upgrades a target contract without custom migration data.
177
+ *
178
+ * This is a convenience wrapper that calls `upgrade_and_migrate` with empty migration data.
179
+ *
180
+ * # Arguments
181
+ * * `contract_address` - The address of the contract to upgrade
182
+ * * `wasm_hash` - The hash of the new WASM bytecode
183
+ */
184
+ upgrade: ({ contract_address, wasm_hash }: {
185
+ contract_address: string;
186
+ wasm_hash: Buffer;
187
+ }, txnOptions?: {
188
+ /**
189
+ * The fee to pay for the transaction. Default: BASE_FEE
190
+ */
191
+ fee?: number;
192
+ /**
193
+ * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
194
+ */
195
+ timeoutInSeconds?: number;
196
+ /**
197
+ * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
198
+ */
199
+ simulate?: boolean;
200
+ }) => Promise<AssembledTransaction<null>>;
23
201
  /**
24
202
  * Construct and simulate a upgrade_and_migrate transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
25
- * Upgrade a target contract and run its migration in a single transaction
203
+ * Upgrades a target contract and runs its migration in a single transaction.
26
204
  *
27
205
  * The caller must be authorized as the authorizer of the target contract.
28
206
  * This is enforced by the target contract's `#[only_auth]` check.
29
207
  *
30
- * This is useful for atomic upgrades where you want to ensure the migration
31
- * happens immediately after the upgrade, or the entire operation fails.
32
- *
33
208
  * # Arguments
34
209
  * * `contract_address` - The address of the contract to upgrade
35
210
  * * `wasm_hash` - The hash of the new WASM bytecode
36
- * * `migration_data` - A vector of values to pass to the migrate function.
37
- * The types of these values depend on the target contract's MigrationData type.
211
+ * * `migration_data` - XDR-encoded bytes to pass to the migrate function.
212
+ * Use `value.to_xdr(&env)` to encode the target contract's MigrationData type.
38
213
  *
39
214
  * # Example
40
215
  * ```ignore
41
- * // For a contract with MigrationData = (u32, bool)
42
- * let migration_data = vec![
43
- * &env,
44
- * 42u32.into_val(&env),
45
- * true.into_val(&env),
46
- * ];
47
- * upgrader.upgrade_and_migrate(&contract_addr, &wasm_hash, migration_data);
216
+ * let migration_data = my_data.to_xdr(&env);
217
+ * upgrader.upgrade_and_migrate(&contract_addr, &wasm_hash, &migration_data);
48
218
  * ```
49
219
  */
50
220
  upgrade_and_migrate: ({ contract_address, wasm_hash, migration_data }: {
51
221
  contract_address: string;
52
222
  wasm_hash: Buffer;
53
- migration_data: Array<any>;
223
+ migration_data: Buffer;
54
224
  }, txnOptions?: {
55
225
  /**
56
226
  * The fee to pay for the transaction. Default: BASE_FEE
@@ -80,6 +250,7 @@ export declare class Client extends ContractClient {
80
250
  }): Promise<AssembledTransaction<T>>;
81
251
  constructor(options: ContractClientOptions);
82
252
  readonly fromJSON: {
253
+ upgrade: (json: string) => AssembledTransaction<null>;
83
254
  upgrade_and_migrate: (json: string) => AssembledTransaction<null>;
84
255
  };
85
256
  }
@@ -5,14 +5,14 @@ export * as contract from '@stellar/stellar-sdk/contract';
5
5
  export * as rpc from '@stellar/stellar-sdk/rpc';
6
6
  /**
7
7
  * Embedded WASM bytecode (base64-encoded)
8
- * Size: 1597 bytes (1.56 KB)
8
+ * Size: 4968 bytes (4.85 KB)
9
9
  */
10
- export const WASM_BASE64 = "AGFzbQEAAAABHAVgAX4BfmACfn4BfmADfn5+AX5gA35+fgBgAAACEwMBYgE4AAABdgFnAAEBZAFfAAIDBQQCAwQEBQMBABAGIQR/AUGAgMAAC38AQYCAwAALfwBBgIDAAAt/AEGAgMAACwc/BQZtZW1vcnkCABN1cGdyYWRlX2FuZF9taWdyYXRlAAMBXwMBCl9fZGF0YV9lbmQDAgtfX2hlYXBfYmFzZQMDCoUCBNIBAwF/AX4BfyOAgICAAEEQayIDJICAgIAAAkAgAEL/AYNCzQBSDQAgAUL/AYNCyABSDQAgARCAgICAAEKAgICAcINCgICAgIAEUg0AIAJC/wGDQssAUg0AIAMgATcDAEICIQRBASEFAkADQCAFRQ0BIAVBf2ohBSABIQQMAAsLIAMgBDcDCCAAQo7UqfPNresBIANBCGqtQiCGQgSEQoSAgIAQEIGAgIAAEISAgIAAIABCjtS58831ygEgAhCEgICAACADQRBqJICAgIAAQgIPCwALIQACQCAAIAEgAhCCgICAAEL/AYNCAlENABCGgICAAAALCwMAAAsJABCFgICAAAALCwkBAEGAgMAACwAA6wcOY29udHJhY3RzcGVjdjAAAAAAAAADWlVwZ3JhZGUgYSB0YXJnZXQgY29udHJhY3QgYW5kIHJ1biBpdHMgbWlncmF0aW9uIGluIGEgc2luZ2xlIHRyYW5zYWN0aW9uCgpUaGUgY2FsbGVyIG11c3QgYmUgYXV0aG9yaXplZCBhcyB0aGUgYXV0aG9yaXplciBvZiB0aGUgdGFyZ2V0IGNvbnRyYWN0LgpUaGlzIGlzIGVuZm9yY2VkIGJ5IHRoZSB0YXJnZXQgY29udHJhY3QncyBgI1tvbmx5X2F1dGhdYCBjaGVjay4KClRoaXMgaXMgdXNlZnVsIGZvciBhdG9taWMgdXBncmFkZXMgd2hlcmUgeW91IHdhbnQgdG8gZW5zdXJlIHRoZSBtaWdyYXRpb24KaGFwcGVucyBpbW1lZGlhdGVseSBhZnRlciB0aGUgdXBncmFkZSwgb3IgdGhlIGVudGlyZSBvcGVyYXRpb24gZmFpbHMuCgojIEFyZ3VtZW50cwoqIGBjb250cmFjdF9hZGRyZXNzYCAtIFRoZSBhZGRyZXNzIG9mIHRoZSBjb250cmFjdCB0byB1cGdyYWRlCiogYHdhc21faGFzaGAgLSBUaGUgaGFzaCBvZiB0aGUgbmV3IFdBU00gYnl0ZWNvZGUKKiBgbWlncmF0aW9uX2RhdGFgIC0gQSB2ZWN0b3Igb2YgdmFsdWVzIHRvIHBhc3MgdG8gdGhlIG1pZ3JhdGUgZnVuY3Rpb24uClRoZSB0eXBlcyBvZiB0aGVzZSB2YWx1ZXMgZGVwZW5kIG9uIHRoZSB0YXJnZXQgY29udHJhY3QncyBNaWdyYXRpb25EYXRhIHR5cGUuCgojIEV4YW1wbGUKYGBgaWdub3JlCi8vIEZvciBhIGNvbnRyYWN0IHdpdGggTWlncmF0aW9uRGF0YSA9ICh1MzIsIGJvb2wpCmxldCBtaWdyYXRpb25fZGF0YSA9IHZlYyFbCiZlbnYsCjQydTMyLmludG9fdmFsKCZlbnYpLAp0cnVlLmludG9fdmFsKCZlbnYpLApdOwp1cGdyYWRlci51cGdyYWRlX2FuZF9taWdyYXRlKCZjb250cmFjdF9hZGRyLCAmd2FzbV9oYXNoLCBtaWdyYXRpb25fZGF0YSk7CmBgYAAAAAAAE3VwZ3JhZGVfYW5kX21pZ3JhdGUAAAAAAwAAAAAAAAAQY29udHJhY3RfYWRkcmVzcwAAABMAAAAAAAAACXdhc21faGFzaAAAAAAAA+4AAAAgAAAAAAAAAA5taWdyYXRpb25fZGF0YQAAAAAD6gAAAAAAAAAAAB4RY29udHJhY3RlbnZtZXRhdjAAAAAAAAAAFwAAAAAAbw5jb250cmFjdG1ldGF2MAAAAAAAAAAFcnN2ZXIAAAAAAAAGMS45MC4wAAAAAAAAAAAACHJzc2RrdmVyAAAALzIzLjQuMCM2NzNkNmM0ZjIzNjhkMjgyZDI1ZGEyOWJkYTU1YzIxYjhiZTY5Y2E2AA==";
10
+ export const WASM_BASE64 = "AGFzbQEAAAABJgdgAX4BfmADfn5+AX5gAn5+AX5gAn9+AGADfn5+AGABfwF+YAAAAhkEAWIBXwAAAWIBOAAAAWQBXwABAXYBZwACAwkIAgMEAQUEBgYFAwEAEAYhBH8BQYCAwAALfwBBgIDAAAt/AEGAgMAAC38AQYCAwAALB0kGBm1lbW9yeQIAB3VwZ3JhZGUABBN1cGdyYWRlX2FuZF9taWdyYXRlAAcBXwMBCl9fZGF0YV9lbmQDAgtfX2hlYXBfYmFzZQMDCoYECFwBAX8jgICAgABBEGsiAiSAgICAAAJAIABC/wGDQs0AUg0AIAIgARCFgICAACACKAIAQQFGDQAgACACKQMIQgIQgICAgAAQhoCAgAAgAkEQaiSAgICAAEICDwsAC0IBAX5CASECAkAgAUL/AYNCyABSDQAgARCBgICAAEKAgICAcINCgICAgIAEUg0AIAAgATcDCEIAIQILIAAgAjcDAAu4AQMBfwF+AX8jgICAgABBEGsiAySAgICAACADIAE3AwBCAiEEQQEhBQJAA0AgBUUNASAFQX9qIQUgASEEDAALCyADIAQ3AwggAEKO1Knzza3rASADQQhqEIiAgIAAEImAgIAAIAMgAjcDAEICIQFBASEFAkADQCAFRQ0BIAVBf2ohBSACIQEMAAsLIAMgATcDCCAAQo7UufPN9coBIANBCGoQiICAgAAQiYCAgAAgA0EQaiSAgICAAAtiAQF/I4CAgIAAQRBrIgMkgICAgAACQCAAQv8Bg0LNAFINACADIAEQhYCAgAAgAygCAEEBRg0AIAJC/wGDQsgAUg0AIAAgAykDCCACEIaAgIAAIANBEGokgICAgABCAg8LAAsXACAArUIghkIEhEKEgICAEBCDgICAAAshAAJAIAAgASACEIKAgIAAQv8Bg0ICUQ0AEIuAgIAAAAsLAwAACwkAEIqAgIAAAAsLCQEAQYCAwAALAAD3Hw5jb250cmFjdHNwZWN2MAAAAAAAAAERVXBncmFkZXMgYSB0YXJnZXQgY29udHJhY3Qgd2l0aG91dCBjdXN0b20gbWlncmF0aW9uIGRhdGEuCgpUaGlzIGlzIGEgY29udmVuaWVuY2Ugd3JhcHBlciB0aGF0IGNhbGxzIGB1cGdyYWRlX2FuZF9taWdyYXRlYCB3aXRoIGVtcHR5IG1pZ3JhdGlvbiBkYXRhLgoKIyBBcmd1bWVudHMKKiBgY29udHJhY3RfYWRkcmVzc2AgLSBUaGUgYWRkcmVzcyBvZiB0aGUgY29udHJhY3QgdG8gdXBncmFkZQoqIGB3YXNtX2hhc2hgIC0gVGhlIGhhc2ggb2YgdGhlIG5ldyBXQVNNIGJ5dGVjb2RlAAAAAAAAB3VwZ3JhZGUAAAAAAgAAAAAAAAAQY29udHJhY3RfYWRkcmVzcwAAABMAAAAAAAAACXdhc21faGFzaAAAAAAAA+4AAAAgAAAAAAAAAAAAAAJ0VXBncmFkZXMgYSB0YXJnZXQgY29udHJhY3QgYW5kIHJ1bnMgaXRzIG1pZ3JhdGlvbiBpbiBhIHNpbmdsZSB0cmFuc2FjdGlvbi4KClRoZSBjYWxsZXIgbXVzdCBiZSBhdXRob3JpemVkIGFzIHRoZSBhdXRob3JpemVyIG9mIHRoZSB0YXJnZXQgY29udHJhY3QuClRoaXMgaXMgZW5mb3JjZWQgYnkgdGhlIHRhcmdldCBjb250cmFjdCdzIGAjW29ubHlfYXV0aF1gIGNoZWNrLgoKIyBBcmd1bWVudHMKKiBgY29udHJhY3RfYWRkcmVzc2AgLSBUaGUgYWRkcmVzcyBvZiB0aGUgY29udHJhY3QgdG8gdXBncmFkZQoqIGB3YXNtX2hhc2hgIC0gVGhlIGhhc2ggb2YgdGhlIG5ldyBXQVNNIGJ5dGVjb2RlCiogYG1pZ3JhdGlvbl9kYXRhYCAtIFhEUi1lbmNvZGVkIGJ5dGVzIHRvIHBhc3MgdG8gdGhlIG1pZ3JhdGUgZnVuY3Rpb24uClVzZSBgdmFsdWUudG9feGRyKCZlbnYpYCB0byBlbmNvZGUgdGhlIHRhcmdldCBjb250cmFjdCdzIE1pZ3JhdGlvbkRhdGEgdHlwZS4KCiMgRXhhbXBsZQpgYGBpZ25vcmUKbGV0IG1pZ3JhdGlvbl9kYXRhID0gbXlfZGF0YS50b194ZHIoJmVudik7CnVwZ3JhZGVyLnVwZ3JhZGVfYW5kX21pZ3JhdGUoJmNvbnRyYWN0X2FkZHIsICZ3YXNtX2hhc2gsICZtaWdyYXRpb25fZGF0YSk7CmBgYAAAABN1cGdyYWRlX2FuZF9taWdyYXRlAAAAAAMAAAAAAAAAEGNvbnRyYWN0X2FkZHJlc3MAAAATAAAAAAAAAAl3YXNtX2hhc2gAAAAAAAPuAAAAIAAAAAAAAAAObWlncmF0aW9uX2RhdGEAAAAAAA4AAAAAAAAABAAAABxCdWZmZXJSZWFkZXJFcnJvcjogMTAwMC0xMDA5AAAAAAAAABFCdWZmZXJSZWFkZXJFcnJvcgAAAAAAAAIAAAAAAAAADUludmFsaWRMZW5ndGgAAAAAAAPoAAAAAAAAABVJbnZhbGlkQWRkcmVzc1BheWxvYWQAAAAAAAPpAAAABAAAABxCdWZmZXJXcml0ZXJFcnJvcjogMTAxMC0xMDE5AAAAAAAAABFCdWZmZXJXcml0ZXJFcnJvcgAAAAAAAAEAAAAAAAAAFUludmFsaWRBZGRyZXNzUGF5bG9hZAAAAAAAA/IAAAAEAAAAH1R0bENvbmZpZ3VyYWJsZUVycm9yOiAxMDIwLTEwMjkAAAAAAAAAABRUdGxDb25maWd1cmFibGVFcnJvcgAAAAMAAAAAAAAAEEludmFsaWRUdGxDb25maWcAAAP8AAAAAAAAAA9UdGxDb25maWdGcm96ZW4AAAAD/QAAAAAAAAAWVHRsQ29uZmlnQWxyZWFkeUZyb3plbgAAAAAD/gAAAAQAAAAXT3duYWJsZUVycm9yOiAxMDMwLTEwMzkAAAAAAAAAAAxPd25hYmxlRXJyb3IAAAAGAAAAAAAAABNJbnZhbGlkUGVuZGluZ093bmVyAAAABAYAAAAAAAAACkludmFsaWRUdGwAAAAABAcAAAAAAAAAEU5vUGVuZGluZ1RyYW5zZmVyAAAAAAAECAAAAAAAAAAPT3duZXJBbHJlYWR5U2V0AAAABAkAAAAAAAAAC093bmVyTm90U2V0AAAABAoAAAAAAAAAElRyYW5zZmVySW5Qcm9ncmVzcwAAAAAECwAAAAQAAAAYQnl0ZXNFeHRFcnJvcjogMTA0MC0xMDQ5AAAAAAAAAA1CeXRlc0V4dEVycm9yAAAAAAAAAQAAAAAAAAAOTGVuZ3RoTWlzbWF0Y2gAAAAABBAAAAAEAAAAG1VwZ3JhZGVhYmxlRXJyb3I6IDEwNTAtMTA1OQAAAAAAAAAAEFVwZ3JhZGVhYmxlRXJyb3IAAAADAAAAAAAAABRJbnZhbGlkTWlncmF0aW9uRGF0YQAABBoAAAAAAAAAE01pZ3JhdGlvbk5vdEFsbG93ZWQAAAAEGwAAAAAAAAAOVXBncmFkZXNGcm96ZW4AAAAABBwAAAAEAAAAGE11bHRpc2lnRXJyb3I6IDEwNjAtMTA2OQAAAAAAAAANTXVsdGlzaWdFcnJvcgAAAAAAAAgAAAAAAAAAEkFscmVhZHlJbml0aWFsaXplZAAAAAAEJAAAAAAAAAANSW52YWxpZFNpZ25lcgAAAAAABCUAAAAAAAAADlNpZ25hdHVyZUVycm9yAAAAAAQmAAAAAAAAABNTaWduZXJBbHJlYWR5RXhpc3RzAAAABCcAAAAAAAAADlNpZ25lck5vdEZvdW5kAAAAAAQoAAAAAAAAAB1Ub3RhbFNpZ25lcnNMZXNzVGhhblRocmVzaG9sZAAAAAAABCkAAAAAAAAAD1Vuc29ydGVkU2lnbmVycwAAAAQqAAAAAAAAAA1aZXJvVGhyZXNob2xkAAAAAAAEKwAAAAUAAAAwRXZlbnQgZW1pdHRlZCB3aGVuIGEgc2lnbmVyIGlzIGFkZGVkIG9yIHJlbW92ZWQuAAAAAAAAAAlTaWduZXJTZXQAAAAAAAABAAAACnNpZ25lcl9zZXQAAAAAAAIAAAAAAAAABnNpZ25lcgAAAAAD7gAAABQAAAABAAAAAAAAAAZhY3RpdmUAAAAAAAEAAAAAAAAAAgAAAAUAAAA2RXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBzaWduYXR1cmUgdGhyZXNob2xkIGlzIGNoYW5nZWQuAAAAAAAAAAAADFRocmVzaG9sZFNldAAAAAEAAAANdGhyZXNob2xkX3NldAAAAAAAAAEAAAAAAAAACXRocmVzaG9sZAAAAAAAAAQAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAA9NdWx0aXNpZ1N0b3JhZ2UAAAAAAgAAAAAAAAAAAAAAB1NpZ25lcnMAAAAAAAAAAAAAAAAJVGhyZXNob2xkAAAAAAAABQAAAFdFdmVudCBlbWl0dGVkIHdoZW4gb3duZXJzaGlwIGlzIHRyYW5zZmVycmVkIChib3RoIHNpbmdsZS1zdGVwIGFuZCB0d28tc3RlcCBjb21wbGV0aW9uKS4AAAAAAAAAABRPd25lcnNoaXBUcmFuc2ZlcnJlZAAAAAEAAAAVb3duZXJzaGlwX3RyYW5zZmVycmVkAAAAAAAAAgAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAAgAAAAUAAAA7RXZlbnQgZW1pdHRlZCB3aGVuIGEgMi1zdGVwIG93bmVyc2hpcCB0cmFuc2ZlciBpcyBwcm9wb3NlZC4AAAAAAAAAABVPd25lcnNoaXBUcmFuc2ZlcnJpbmcAAAAAAAABAAAAFm93bmVyc2hpcF90cmFuc2ZlcnJpbmcAAAAAAAMAAAAAAAAACW9sZF9vd25lcgAAAAAAABMAAAAAAAAAAAAAAAluZXdfb3duZXIAAAAAAAATAAAAAAAAAAAAAAADdHRsAAAAAAQAAAAAAAAAAgAAAAUAAAAqRXZlbnQgZW1pdHRlZCB3aGVuIG93bmVyc2hpcCBpcyByZW5vdW5jZWQuAAAAAAAAAAAAEk93bmVyc2hpcFJlbm91bmNlZAAAAAAAAQAAABNvd25lcnNoaXBfcmVub3VuY2VkAAAAAAEAAAAAAAAACW9sZF9vd25lcgAAAAAAABMAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAA5Pd25hYmxlU3RvcmFnZQAAAAAAAgAAAAAAAAAAAAAABU93bmVyAAAAAAAAAAAAAAAAAAAMUGVuZGluZ093bmVyAAAAAQAAAElUVEwgY29uZmlndXJhdGlvbjogdGhyZXNob2xkICh3aGVuIHRvIGV4dGVuZCkgYW5kIGV4dGVuZF90byAodGFyZ2V0IFRUTCkuAAAAAAAAAAAAAAlUdGxDb25maWcAAAAAAAACAAAAKFRhcmdldCBUVEwgYWZ0ZXIgZXh0ZW5zaW9uIChpbiBsZWRnZXJzKS4AAAAJZXh0ZW5kX3RvAAAAAAAABAAAADNUVEwgdGhyZXNob2xkIHRoYXQgdHJpZ2dlcnMgZXh0ZW5zaW9uIChpbiBsZWRnZXJzKS4AAAAACXRocmVzaG9sZAAAAAAAAAQAAAAFAAAAJ0V2ZW50IGVtaXR0ZWQgd2hlbiBUVEwgY29uZmlncyBhcmUgc2V0LgAAAAAAAAAADVR0bENvbmZpZ3NTZXQAAAAAAAABAAAAD3R0bF9jb25maWdzX3NldAAAAAACAAAAAAAAAAhpbnN0YW5jZQAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAAAAAAAACnBlcnNpc3RlbnQAAAAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAAACAAAABQAAACpFdmVudCBlbWl0dGVkIHdoZW4gVFRMIGNvbmZpZ3MgYXJlIGZyb3plbi4AAAAAAAAAAAAQVHRsQ29uZmlnc0Zyb3plbgAAAAEAAAASdHRsX2NvbmZpZ3NfZnJvemVuAAAAAAAAAAAAAgAAAAIAAAAAAAAAAAAAABBUdGxDb25maWdTdG9yYWdlAAAAAwAAAAAAAAAAAAAABkZyb3plbgAAAAAAAAAAAAAAAAAISW5zdGFuY2UAAAAAAAAAAAAAAApQZXJzaXN0ZW50AAAAAAACAAAAAAAAAAAAAAASVXBncmFkZWFibGVTdG9yYWdlAAAAAAACAAAAAAAAAAAAAAAGRnJvemVuAAAAAAAAAAAAAAAAAAlNaWdyYXRpbmcAAAAAHhFjb250cmFjdGVudm1ldGF2MAAAAAAAAAAXAAAAAABvDmNvbnRyYWN0bWV0YXYwAAAAAAAAAAVyc3ZlcgAAAAAAAAYxLjkwLjAAAAAAAAAAAAAIcnNzZGt2ZXIAAAAvMjMuNC4wIzY3M2Q2YzRmMjM2OGQyODJkMjVkYTI5YmRhNTVjMjFiOGJlNjljYTYA";
11
11
  /**
12
12
  * Pre-computed WASM hash (SHA-256)
13
13
  * Use this when the WASM is already uploaded on-chain
14
14
  */
15
- export const WASM_HASH = "250cba854264d9d437c960e9f8ed838dbf39876947b4fb84c5a209a39b794da6";
15
+ export const WASM_HASH = "6c749cc6678cc29a835dff31a3198b9cee989f2077b55b662bc1e7df1f9cad26";
16
16
  /**
17
17
  * Get the WASM bytecode as a Buffer
18
18
  * Use this to upload the WASM to the network
@@ -20,6 +20,65 @@ export const WASM_HASH = "250cba854264d9d437c960e9f8ed838dbf39876947b4fb84c5a209
20
20
  export function getWasmBuffer() {
21
21
  return Buffer.from(WASM_BASE64, 'base64');
22
22
  }
23
+ /**
24
+ * BufferReaderError: 1000-1009
25
+ */
26
+ export const BufferReaderError = {
27
+ 1000: { message: "InvalidLength" },
28
+ 1001: { message: "InvalidAddressPayload" }
29
+ };
30
+ /**
31
+ * BufferWriterError: 1010-1019
32
+ */
33
+ export const BufferWriterError = {
34
+ 1010: { message: "InvalidAddressPayload" }
35
+ };
36
+ /**
37
+ * TtlConfigurableError: 1020-1029
38
+ */
39
+ export const TtlConfigurableError = {
40
+ 1020: { message: "InvalidTtlConfig" },
41
+ 1021: { message: "TtlConfigFrozen" },
42
+ 1022: { message: "TtlConfigAlreadyFrozen" }
43
+ };
44
+ /**
45
+ * OwnableError: 1030-1039
46
+ */
47
+ export const OwnableError = {
48
+ 1030: { message: "InvalidPendingOwner" },
49
+ 1031: { message: "InvalidTtl" },
50
+ 1032: { message: "NoPendingTransfer" },
51
+ 1033: { message: "OwnerAlreadySet" },
52
+ 1034: { message: "OwnerNotSet" },
53
+ 1035: { message: "TransferInProgress" }
54
+ };
55
+ /**
56
+ * BytesExtError: 1040-1049
57
+ */
58
+ export const BytesExtError = {
59
+ 1040: { message: "LengthMismatch" }
60
+ };
61
+ /**
62
+ * UpgradeableError: 1050-1059
63
+ */
64
+ export const UpgradeableError = {
65
+ 1050: { message: "InvalidMigrationData" },
66
+ 1051: { message: "MigrationNotAllowed" },
67
+ 1052: { message: "UpgradesFrozen" }
68
+ };
69
+ /**
70
+ * MultisigError: 1060-1069
71
+ */
72
+ export const MultisigError = {
73
+ 1060: { message: "AlreadyInitialized" },
74
+ 1061: { message: "InvalidSigner" },
75
+ 1062: { message: "SignatureError" },
76
+ 1063: { message: "SignerAlreadyExists" },
77
+ 1064: { message: "SignerNotFound" },
78
+ 1065: { message: "TotalSignersLessThanThreshold" },
79
+ 1066: { message: "UnsortedSigners" },
80
+ 1067: { message: "ZeroThreshold" }
81
+ };
23
82
  export class Client extends ContractClient {
24
83
  options;
25
84
  static async deploy(
@@ -28,10 +87,31 @@ export class Client extends ContractClient {
28
87
  return ContractClient.deploy(null, options);
29
88
  }
30
89
  constructor(options) {
31
- super(new ContractSpec(["AAAAAAAAA1pVcGdyYWRlIGEgdGFyZ2V0IGNvbnRyYWN0IGFuZCBydW4gaXRzIG1pZ3JhdGlvbiBpbiBhIHNpbmdsZSB0cmFuc2FjdGlvbgoKVGhlIGNhbGxlciBtdXN0IGJlIGF1dGhvcml6ZWQgYXMgdGhlIGF1dGhvcml6ZXIgb2YgdGhlIHRhcmdldCBjb250cmFjdC4KVGhpcyBpcyBlbmZvcmNlZCBieSB0aGUgdGFyZ2V0IGNvbnRyYWN0J3MgYCNbb25seV9hdXRoXWAgY2hlY2suCgpUaGlzIGlzIHVzZWZ1bCBmb3IgYXRvbWljIHVwZ3JhZGVzIHdoZXJlIHlvdSB3YW50IHRvIGVuc3VyZSB0aGUgbWlncmF0aW9uCmhhcHBlbnMgaW1tZWRpYXRlbHkgYWZ0ZXIgdGhlIHVwZ3JhZGUsIG9yIHRoZSBlbnRpcmUgb3BlcmF0aW9uIGZhaWxzLgoKIyBBcmd1bWVudHMKKiBgY29udHJhY3RfYWRkcmVzc2AgLSBUaGUgYWRkcmVzcyBvZiB0aGUgY29udHJhY3QgdG8gdXBncmFkZQoqIGB3YXNtX2hhc2hgIC0gVGhlIGhhc2ggb2YgdGhlIG5ldyBXQVNNIGJ5dGVjb2RlCiogYG1pZ3JhdGlvbl9kYXRhYCAtIEEgdmVjdG9yIG9mIHZhbHVlcyB0byBwYXNzIHRvIHRoZSBtaWdyYXRlIGZ1bmN0aW9uLgpUaGUgdHlwZXMgb2YgdGhlc2UgdmFsdWVzIGRlcGVuZCBvbiB0aGUgdGFyZ2V0IGNvbnRyYWN0J3MgTWlncmF0aW9uRGF0YSB0eXBlLgoKIyBFeGFtcGxlCmBgYGlnbm9yZQovLyBGb3IgYSBjb250cmFjdCB3aXRoIE1pZ3JhdGlvbkRhdGEgPSAodTMyLCBib29sKQpsZXQgbWlncmF0aW9uX2RhdGEgPSB2ZWMhWwomZW52LAo0MnUzMi5pbnRvX3ZhbCgmZW52KSwKdHJ1ZS5pbnRvX3ZhbCgmZW52KSwKXTsKdXBncmFkZXIudXBncmFkZV9hbmRfbWlncmF0ZSgmY29udHJhY3RfYWRkciwgJndhc21faGFzaCwgbWlncmF0aW9uX2RhdGEpOwpgYGAAAAAAABN1cGdyYWRlX2FuZF9taWdyYXRlAAAAAAMAAAAAAAAAEGNvbnRyYWN0X2FkZHJlc3MAAAATAAAAAAAAAAl3YXNtX2hhc2gAAAAAAAPuAAAAIAAAAAAAAAAObWlncmF0aW9uX2RhdGEAAAAAA+oAAAAAAAAAAA=="]), options);
90
+ super(new ContractSpec(["AAAAAAAAARFVcGdyYWRlcyBhIHRhcmdldCBjb250cmFjdCB3aXRob3V0IGN1c3RvbSBtaWdyYXRpb24gZGF0YS4KClRoaXMgaXMgYSBjb252ZW5pZW5jZSB3cmFwcGVyIHRoYXQgY2FsbHMgYHVwZ3JhZGVfYW5kX21pZ3JhdGVgIHdpdGggZW1wdHkgbWlncmF0aW9uIGRhdGEuCgojIEFyZ3VtZW50cwoqIGBjb250cmFjdF9hZGRyZXNzYCAtIFRoZSBhZGRyZXNzIG9mIHRoZSBjb250cmFjdCB0byB1cGdyYWRlCiogYHdhc21faGFzaGAgLSBUaGUgaGFzaCBvZiB0aGUgbmV3IFdBU00gYnl0ZWNvZGUAAAAAAAAHdXBncmFkZQAAAAACAAAAAAAAABBjb250cmFjdF9hZGRyZXNzAAAAEwAAAAAAAAAJd2FzbV9oYXNoAAAAAAAD7gAAACAAAAAA",
91
+ "AAAAAAAAAnRVcGdyYWRlcyBhIHRhcmdldCBjb250cmFjdCBhbmQgcnVucyBpdHMgbWlncmF0aW9uIGluIGEgc2luZ2xlIHRyYW5zYWN0aW9uLgoKVGhlIGNhbGxlciBtdXN0IGJlIGF1dGhvcml6ZWQgYXMgdGhlIGF1dGhvcml6ZXIgb2YgdGhlIHRhcmdldCBjb250cmFjdC4KVGhpcyBpcyBlbmZvcmNlZCBieSB0aGUgdGFyZ2V0IGNvbnRyYWN0J3MgYCNbb25seV9hdXRoXWAgY2hlY2suCgojIEFyZ3VtZW50cwoqIGBjb250cmFjdF9hZGRyZXNzYCAtIFRoZSBhZGRyZXNzIG9mIHRoZSBjb250cmFjdCB0byB1cGdyYWRlCiogYHdhc21faGFzaGAgLSBUaGUgaGFzaCBvZiB0aGUgbmV3IFdBU00gYnl0ZWNvZGUKKiBgbWlncmF0aW9uX2RhdGFgIC0gWERSLWVuY29kZWQgYnl0ZXMgdG8gcGFzcyB0byB0aGUgbWlncmF0ZSBmdW5jdGlvbi4KVXNlIGB2YWx1ZS50b194ZHIoJmVudilgIHRvIGVuY29kZSB0aGUgdGFyZ2V0IGNvbnRyYWN0J3MgTWlncmF0aW9uRGF0YSB0eXBlLgoKIyBFeGFtcGxlCmBgYGlnbm9yZQpsZXQgbWlncmF0aW9uX2RhdGEgPSBteV9kYXRhLnRvX3hkcigmZW52KTsKdXBncmFkZXIudXBncmFkZV9hbmRfbWlncmF0ZSgmY29udHJhY3RfYWRkciwgJndhc21faGFzaCwgJm1pZ3JhdGlvbl9kYXRhKTsKYGBgAAAAE3VwZ3JhZGVfYW5kX21pZ3JhdGUAAAAAAwAAAAAAAAAQY29udHJhY3RfYWRkcmVzcwAAABMAAAAAAAAACXdhc21faGFzaAAAAAAAA+4AAAAgAAAAAAAAAA5taWdyYXRpb25fZGF0YQAAAAAADgAAAAA=",
92
+ "AAAABAAAABxCdWZmZXJSZWFkZXJFcnJvcjogMTAwMC0xMDA5AAAAAAAAABFCdWZmZXJSZWFkZXJFcnJvcgAAAAAAAAIAAAAAAAAADUludmFsaWRMZW5ndGgAAAAAAAPoAAAAAAAAABVJbnZhbGlkQWRkcmVzc1BheWxvYWQAAAAAAAPp",
93
+ "AAAABAAAABxCdWZmZXJXcml0ZXJFcnJvcjogMTAxMC0xMDE5AAAAAAAAABFCdWZmZXJXcml0ZXJFcnJvcgAAAAAAAAEAAAAAAAAAFUludmFsaWRBZGRyZXNzUGF5bG9hZAAAAAAAA/I=",
94
+ "AAAABAAAAB9UdGxDb25maWd1cmFibGVFcnJvcjogMTAyMC0xMDI5AAAAAAAAAAAUVHRsQ29uZmlndXJhYmxlRXJyb3IAAAADAAAAAAAAABBJbnZhbGlkVHRsQ29uZmlnAAAD/AAAAAAAAAAPVHRsQ29uZmlnRnJvemVuAAAAA/0AAAAAAAAAFlR0bENvbmZpZ0FscmVhZHlGcm96ZW4AAAAAA/4=",
95
+ "AAAABAAAABdPd25hYmxlRXJyb3I6IDEwMzAtMTAzOQAAAAAAAAAADE93bmFibGVFcnJvcgAAAAYAAAAAAAAAE0ludmFsaWRQZW5kaW5nT3duZXIAAAAEBgAAAAAAAAAKSW52YWxpZFR0bAAAAAAEBwAAAAAAAAARTm9QZW5kaW5nVHJhbnNmZXIAAAAAAAQIAAAAAAAAAA9Pd25lckFscmVhZHlTZXQAAAAECQAAAAAAAAALT3duZXJOb3RTZXQAAAAECgAAAAAAAAASVHJhbnNmZXJJblByb2dyZXNzAAAAAAQL",
96
+ "AAAABAAAABhCeXRlc0V4dEVycm9yOiAxMDQwLTEwNDkAAAAAAAAADUJ5dGVzRXh0RXJyb3IAAAAAAAABAAAAAAAAAA5MZW5ndGhNaXNtYXRjaAAAAAAEEA==",
97
+ "AAAABAAAABtVcGdyYWRlYWJsZUVycm9yOiAxMDUwLTEwNTkAAAAAAAAAABBVcGdyYWRlYWJsZUVycm9yAAAAAwAAAAAAAAAUSW52YWxpZE1pZ3JhdGlvbkRhdGEAAAQaAAAAAAAAABNNaWdyYXRpb25Ob3RBbGxvd2VkAAAABBsAAAAAAAAADlVwZ3JhZGVzRnJvemVuAAAAAAQc",
98
+ "AAAABAAAABhNdWx0aXNpZ0Vycm9yOiAxMDYwLTEwNjkAAAAAAAAADU11bHRpc2lnRXJyb3IAAAAAAAAIAAAAAAAAABJBbHJlYWR5SW5pdGlhbGl6ZWQAAAAABCQAAAAAAAAADUludmFsaWRTaWduZXIAAAAAAAQlAAAAAAAAAA5TaWduYXR1cmVFcnJvcgAAAAAEJgAAAAAAAAATU2lnbmVyQWxyZWFkeUV4aXN0cwAAAAQnAAAAAAAAAA5TaWduZXJOb3RGb3VuZAAAAAAEKAAAAAAAAAAdVG90YWxTaWduZXJzTGVzc1RoYW5UaHJlc2hvbGQAAAAAAAQpAAAAAAAAAA9VbnNvcnRlZFNpZ25lcnMAAAAEKgAAAAAAAAANWmVyb1RocmVzaG9sZAAAAAAABCs=",
99
+ "AAAABQAAADBFdmVudCBlbWl0dGVkIHdoZW4gYSBzaWduZXIgaXMgYWRkZWQgb3IgcmVtb3ZlZC4AAAAAAAAACVNpZ25lclNldAAAAAAAAAEAAAAKc2lnbmVyX3NldAAAAAAAAgAAAAAAAAAGc2lnbmVyAAAAAAPuAAAAFAAAAAEAAAAAAAAABmFjdGl2ZQAAAAAAAQAAAAAAAAAC",
100
+ "AAAABQAAADZFdmVudCBlbWl0dGVkIHdoZW4gdGhlIHNpZ25hdHVyZSB0aHJlc2hvbGQgaXMgY2hhbmdlZC4AAAAAAAAAAAAMVGhyZXNob2xkU2V0AAAAAQAAAA10aHJlc2hvbGRfc2V0AAAAAAAAAQAAAAAAAAAJdGhyZXNob2xkAAAAAAAABAAAAAAAAAAC",
101
+ "AAAAAgAAAAAAAAAAAAAAD011bHRpc2lnU3RvcmFnZQAAAAACAAAAAAAAAAAAAAAHU2lnbmVycwAAAAAAAAAAAAAAAAlUaHJlc2hvbGQAAAA=",
102
+ "AAAABQAAAFdFdmVudCBlbWl0dGVkIHdoZW4gb3duZXJzaGlwIGlzIHRyYW5zZmVycmVkIChib3RoIHNpbmdsZS1zdGVwIGFuZCB0d28tc3RlcCBjb21wbGV0aW9uKS4AAAAAAAAAABRPd25lcnNoaXBUcmFuc2ZlcnJlZAAAAAEAAAAVb3duZXJzaGlwX3RyYW5zZmVycmVkAAAAAAAAAgAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAAg==",
103
+ "AAAABQAAADtFdmVudCBlbWl0dGVkIHdoZW4gYSAyLXN0ZXAgb3duZXJzaGlwIHRyYW5zZmVyIGlzIHByb3Bvc2VkLgAAAAAAAAAAFU93bmVyc2hpcFRyYW5zZmVycmluZwAAAAAAAAEAAAAWb3duZXJzaGlwX3RyYW5zZmVycmluZwAAAAAAAwAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAAAAAAAN0dGwAAAAABAAAAAAAAAAC",
104
+ "AAAABQAAACpFdmVudCBlbWl0dGVkIHdoZW4gb3duZXJzaGlwIGlzIHJlbm91bmNlZC4AAAAAAAAAAAAST3duZXJzaGlwUmVub3VuY2VkAAAAAAABAAAAE293bmVyc2hpcF9yZW5vdW5jZWQAAAAAAQAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAAC",
105
+ "AAAAAgAAAAAAAAAAAAAADk93bmFibGVTdG9yYWdlAAAAAAACAAAAAAAAAAAAAAAFT3duZXIAAAAAAAAAAAAAAAAAAAxQZW5kaW5nT3duZXI=",
106
+ "AAAAAQAAAElUVEwgY29uZmlndXJhdGlvbjogdGhyZXNob2xkICh3aGVuIHRvIGV4dGVuZCkgYW5kIGV4dGVuZF90byAodGFyZ2V0IFRUTCkuAAAAAAAAAAAAAAlUdGxDb25maWcAAAAAAAACAAAAKFRhcmdldCBUVEwgYWZ0ZXIgZXh0ZW5zaW9uIChpbiBsZWRnZXJzKS4AAAAJZXh0ZW5kX3RvAAAAAAAABAAAADNUVEwgdGhyZXNob2xkIHRoYXQgdHJpZ2dlcnMgZXh0ZW5zaW9uIChpbiBsZWRnZXJzKS4AAAAACXRocmVzaG9sZAAAAAAAAAQ=",
107
+ "AAAABQAAACdFdmVudCBlbWl0dGVkIHdoZW4gVFRMIGNvbmZpZ3MgYXJlIHNldC4AAAAAAAAAAA1UdGxDb25maWdzU2V0AAAAAAAAAQAAAA90dGxfY29uZmlnc19zZXQAAAAAAgAAAAAAAAAIaW5zdGFuY2UAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAAAAAAAApwZXJzaXN0ZW50AAAAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAAAg==",
108
+ "AAAABQAAACpFdmVudCBlbWl0dGVkIHdoZW4gVFRMIGNvbmZpZ3MgYXJlIGZyb3plbi4AAAAAAAAAAAAQVHRsQ29uZmlnc0Zyb3plbgAAAAEAAAASdHRsX2NvbmZpZ3NfZnJvemVuAAAAAAAAAAAAAg==",
109
+ "AAAAAgAAAAAAAAAAAAAAEFR0bENvbmZpZ1N0b3JhZ2UAAAADAAAAAAAAAAAAAAAGRnJvemVuAAAAAAAAAAAAAAAAAAhJbnN0YW5jZQAAAAAAAAAAAAAAClBlcnNpc3RlbnQAAA==",
110
+ "AAAAAgAAAAAAAAAAAAAAElVwZ3JhZGVhYmxlU3RvcmFnZQAAAAAAAgAAAAAAAAAAAAAABkZyb3plbgAAAAAAAAAAAAAAAAAJTWlncmF0aW5nAAAA"]), options);
32
111
  this.options = options;
33
112
  }
34
113
  fromJSON = {
114
+ upgrade: (this.txFromJSON),
35
115
  upgrade_and_migrate: (this.txFromJSON)
36
116
  };
37
117
  }
@@ -12,3 +12,4 @@ export * as executorFeeLib from './generated/executor_fee_lib.js';
12
12
  export * as executorHelper from './generated/executor_helper.js';
13
13
  export * as priceFeed from './generated/price_feed.js';
14
14
  export * as oft from './generated/oft.js';
15
+ export * as layerzeroView from './generated/layerzero_view.js';
package/sdk/dist/index.js CHANGED
@@ -15,3 +15,5 @@ export * as executorHelper from './generated/executor_helper.js';
15
15
  export * as priceFeed from './generated/price_feed.js';
16
16
  // OApp contracts
17
17
  export * as oft from './generated/oft.js';
18
+ // View contracts
19
+ export * as layerzeroView from './generated/layerzero_view.js';
package/sdk/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@layerzerolabs/lz-v2-stellar-sdk",
3
- "version": "0.2.19",
3
+ "version": "0.2.20",
4
4
  "private": false,
5
5
  "description": "TypeScript SDK for endpoint-v2 Stellar contract",
6
6
  "repository": {
package/sdk/src/index.ts CHANGED
@@ -17,3 +17,6 @@ export * as priceFeed from './generated/price_feed.js';
17
17
 
18
18
  // OApp contracts
19
19
  export * as oft from './generated/oft.js';
20
+
21
+ // View contracts
22
+ export * as layerzeroView from './generated/layerzero_view.js';
@@ -419,14 +419,14 @@ describe('OFT E2E Testing with SAC (SML)', async () => {
419
419
  };
420
420
 
421
421
  const { result: fee } = await lockUnlockOftClient.quote_send({
422
- sender: DEFAULT_DEPLOYER.publicKey(),
422
+ from: DEFAULT_DEPLOYER.publicKey(),
423
423
  send_param: sendParam,
424
424
  pay_in_zro: true,
425
425
  });
426
426
  console.log('📊 Messaging Fee:', fee);
427
427
 
428
428
  const assembledTx = await lockUnlockOftClient.send({
429
- sender: DEFAULT_DEPLOYER.publicKey(),
429
+ from: DEFAULT_DEPLOYER.publicKey(),
430
430
  send_param: sendParam,
431
431
  fee: fee,
432
432
  refund_address: DEFAULT_DEPLOYER.publicKey(),
@@ -581,14 +581,14 @@ describe('OFT E2E Testing with SAC (SML)', async () => {
581
581
  };
582
582
 
583
583
  const { result: fee } = await mintBurnOftClient.quote_send({
584
- sender: DEFAULT_DEPLOYER.publicKey(),
584
+ from: DEFAULT_DEPLOYER.publicKey(),
585
585
  send_param: sendParam,
586
586
  pay_in_zro: true,
587
587
  });
588
588
  console.log('📊 Reverse Messaging Fee:', fee);
589
589
 
590
590
  const assembledTx = await mintBurnOftClient.send({
591
- sender: DEFAULT_DEPLOYER.publicKey(),
591
+ from: DEFAULT_DEPLOYER.publicKey(),
592
592
  send_param: sendParam,
593
593
  fee: fee,
594
594
  refund_address: DEFAULT_DEPLOYER.publicKey(),
@@ -179,8 +179,7 @@ describe('Upgrader Contract Testing', async () => {
179
179
 
180
180
  // NOTE: Using Option 2 - Hybrid approach with generated client
181
181
  // Build with generated client, then manually simulate with authMode, then inject back
182
-
183
- const voidScVal = xdr.ScVal.scvVoid();
182
+ const counterValue = 2;
184
183
  const server = new rpc.Server(RPC_URL, { allowHttp: true });
185
184
 
186
185
  // 1. Build transaction using generated client (don't auto-simulate)
@@ -188,7 +187,7 @@ describe('Upgrader Contract Testing', async () => {
188
187
  {
189
188
  contract_address: testContractAddress,
190
189
  wasm_hash: Buffer.from(newWasmHash, 'hex'),
191
- migration_data: [voidScVal],
190
+ migration_data: xdr.ScVal.scvU32(counterValue).toXDR(),
192
191
  },
193
192
  {
194
193
  simulate: false, // Don't simulate yet
@@ -33,7 +33,6 @@ export * from '@stellar/stellar-sdk'
33
33
  export * as contract from '@stellar/stellar-sdk/contract'
34
34
  export * as rpc from '@stellar/stellar-sdk/rpc'
35
35
 
36
- export type MigrationData = void;
37
36
 
38
37
 
39
38
  "#
@@ -104,6 +103,8 @@ fn main() -> Result<()> {
104
103
  // OApp contracts
105
104
  ("counter", "counter.ts"),
106
105
  ("oft", "oft.ts"),
106
+ // View contracts
107
+ ("layerzero_views", "layerzero_view.ts"),
107
108
  // Add more contracts here as needed:
108
109
  ];
109
110