Skip to content

Commit

Permalink
Merge pull request #4182 from BitGo/WIN-1446-add-chainid-as-operation…
Browse files Browse the repository at this point in the history
…hash-opeth

fix(sdk-coin-opeth): enable chain id changes for opeth
  • Loading branch information
gianchandania authored Jan 5, 2024
2 parents a1ff00e + d1e0eea commit 1939304
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 36 deletions.
23 changes: 1 addition & 22 deletions modules/sdk-coin-opeth/src/lib/transferBuilder.ts
Original file line number Diff line number Diff line change
@@ -1,22 +1 @@
import { TransferBuilder as EthTransferBuilder } from '@bitgo/abstract-eth';

/** OPETH transfer builder */
export class TransferBuilder extends EthTransferBuilder {
/**
* Get the prefix used in generating an operation hash for sending tokens
*
* @returns the string prefix
*/
protected getTokenOperationHashPrefix(): string {
return 'OPETH-ERC20';
}

/**
* Get the prefix used in generating an operation hash for sending native coins
*
* @returns the string prefix
*/
protected getNativeOperationHashPrefix(): string {
return 'OPETH';
}
}
export { TransferBuilder } from '@bitgo/abstract-eth';
18 changes: 9 additions & 9 deletions modules/sdk-coin-opeth/test/resources.ts
Original file line number Diff line number Diff line change
Expand Up @@ -37,31 +37,31 @@ export const PUBLIC_KEY_2 =
'xpub661MyMwAqRbcFXrZT6GpipqTPdFdhYX5DFDGv5ws1iW8ViCWSTK3zVhVntpiKDjPqXrqP1hhQscJZhVpbmZt9qygxgPdmN9RAZVKqovPfLw';

export const SEND_FUNDS_DATA =
'0x391252150000000000000000000000007325a3f7d4f9e86ae62cf742426078c3755730d5000000000000000000000000000000000000000000000000016345785d8a000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000005ec6ab34000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000413c61769ec75530fc1bfff46ab8ae8c9fe5d2f7cc3d40819e19151bdec0a8cf6a57209734d0552068b687db41997341e93db10af25d37f08f1e7b87c1cfe8c0411c00000000000000000000000000000000000000000000000000000000000000';
'0x391252150000000000000000000000007325a3f7d4f9e86ae62cf742426078c3755730d5000000000000000000000000000000000000000000000000016345785d8a000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000005ec6ab34000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004106935b57df83e029901bb12028bcd86feff0724699ae71bee552dd5ed99766b2794d4cc6dfd8f94949f21fea3188c2cd502c89bd0adb939bcf9dd7e79e8f7aca1b00000000000000000000000000000000000000000000000000000000000000';

export const SEND_FUNDS_SEQUENCE_ZERO_DATA =
'0x391252150000000000000000000000007325a3f7d4f9e86ae62cf742426078c3755730d5000000000000000000000000000000000000000000000000016345785d8a000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000005ec6ab34000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000415813fee6c842129d6e5646d0a8ed2bde0821a89cc80ef18fd2351e5da2c29f375c3700b231c44da7fa422d91a67bc87b59aa131ff10ddb759dbd449d403c96071b00000000000000000000000000000000000000000000000000000000000000';
'0x391252150000000000000000000000007325a3f7d4f9e86ae62cf742426078c3755730d5000000000000000000000000000000000000000000000000016345785d8a000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000005ec6ab34000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041d731e3bd73bff7f803cbd38a2d96b1b3474a58e31afd25f8f900f284963ae29305924d5445bc17c54aea5bb20947cfaadaa642812dc5bec4e9709a4b3de777d11b00000000000000000000000000000000000000000000000000000000000000';

export const SEND_FUNDS_AMOUNT_ZERO_DATA =
'0x391252150000000000000000000000007325a3f7d4f9e86ae62cf742426078c3755730d5000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000005ec6ab34000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004179b60f4c8b3cdc2746b82cd962e1498ea33e555418a570ee28f6bafca666238f0fd9f1fe454c744add268ca487033d311d93af1fbfcd90ccdc43d748757697211c00000000000000000000000000000000000000000000000000000000000000';
'0x391252150000000000000000000000007325a3f7d4f9e86ae62cf742426078c3755730d5000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000005ec6ab34000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041861d26b3e1451d9445c71c7bfd51b98297840e5ff39649a936f05b0c4b30f30c6d2a8ecb1ab7764dd895241bab17a9d4cab04d453102eef90e5d1d61642c33d51c00000000000000000000000000000000000000000000000000000000000000';

export const SEND_OPETH_TERC_DATA =
'0x0dcd7a6c0000000000000000000000007325a3f7d4f9e86ae62cf742426078c3755730d5000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000e9df68a54bba438c8a6192e95f0f2c53ac93d997000000000000000000000000000000000000000000000000000000005ec6ab34000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000041b504e162009ba445e058974c69361fdfbd311662d963ec39b0fd9025d2a165287fc4ccf13de3b5dd028ab5cdbe604c4db6e600dcff18e1eb24c155556c0985331c00000000000000000000000000000000000000000000000000000000000000';
'0x0dcd7a6c0000000000000000000000007325a3f7d4f9e86ae62cf742426078c3755730d5000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000e9df68a54bba438c8a6192e95f0f2c53ac93d997000000000000000000000000000000000000000000000000000000005ec6ab34000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000041db3a377de4367e5a77a337b71967fd815ab0a1b29da576adc6e0d74420d2d16d6d49c5bbeefc49f29e9164a665234c7b3664e8e66899f6b0d3b0d855504d52e81c00000000000000000000000000000000000000000000000000000000000000';

export const SEND_TOKEN_SEQUENCE_ZERO_DATA =
'0x0dcd7a6c0000000000000000000000007325a3f7d4f9e86ae62cf742426078c3755730d5000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000e9df68a54bba438c8a6192e95f0f2c53ac93d997000000000000000000000000000000000000000000000000000000005ec6ab34000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000004193d441133728858e524cdd559f834be942fa07b7f8898be6db0cb89a25096ef23a42232dc6a7ce701093587cf81423ff1172b39e0bcf9cd29e2efba0f79539431b00000000000000000000000000000000000000000000000000000000000000';
'0x0dcd7a6c0000000000000000000000007325a3f7d4f9e86ae62cf742426078c3755730d5000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000e9df68a54bba438c8a6192e95f0f2c53ac93d997000000000000000000000000000000000000000000000000000000005ec6ab34000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000004194dd7978c79c9edf402c9ae09adb721d42aadd621b79908ec52eafb79b3d536c2498fdb30c59d29529dc0c19c6c1f26cd281257c7ff02f7d0dd02eccf7923cc21b00000000000000000000000000000000000000000000000000000000000000';

export const SEND_TOKEN_AMOUNT_ZERO_DATA =
'0x0dcd7a6c0000000000000000000000007325a3f7d4f9e86ae62cf742426078c3755730d50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e9df68a54bba438c8a6192e95f0f2c53ac93d997000000000000000000000000000000000000000000000000000000005ec6ab34000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000041d488ba5245b92566e6099f99a9670cbbb4266c1fc8e8b32a3cc14ab0d177ad16026b6599dc90ce51c5bd1ce5cf78ff8143ad3b115c94a034f9e8e8bd8f12fb8c1c00000000000000000000000000000000000000000000000000000000000000';
'0x0dcd7a6c0000000000000000000000007325a3f7d4f9e86ae62cf742426078c3755730d50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e9df68a54bba438c8a6192e95f0f2c53ac93d997000000000000000000000000000000000000000000000000000000005ec6ab34000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000041dff2b15181f683875e6463ac5abf9be92ed3aae99a5351028610264d3ae724cf04e69d4ab31fb4e127885fc63712e9a8950a204660a1a4d65bfc8de98fcfc1571b00000000000000000000000000000000000000000000000000000000000000';

export const SEND_FUNDS_NO_KEY_DATA =
'0x391252150000000000000000000000007325a3f7d4f9e86ae62cf742426078c3755730d5000000000000000000000000000000000000000000000000016345785d8a000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000005ec6ab34000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000';

export const SEND_TX_BROADCAST_LEGACY =
'0xf901cd02843b9aca0083b8a1a0948f977e912ef500548a0c3be6ddde9899f1199b8180b901643912521500000000000000000000000019645032c7f1533395d44a629462e751084d3e4c000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000005ec67e28000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041c3d3fae4a6726897cda48a8be084fab0ad37208d4723b5138b0c6d499bdec6f938b205ac08792eccf826883d4a0aa10b12cf70a661222a09fc43887e5de075f71c000000000000000000000000000000000000000000000000000000000000008401546fdca010039d899f5bda5680e37af37b0671f627a25923e10d9c57824e615440f704079fbd16e98669c4f2400421cf63c2d815b7b46b99c948d793fa3832845660b642';
'0xf901ce02843b9aca0083b8a1a0948f977e912ef500548a0c3be6ddde9899f1199b8180b901643912521500000000000000000000000019645032c7f1533395d44a629462e751084d3e4c000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000005ec67e28000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000419c32d17b9e99ca78a86aa781c5671a1413fcbdbe6e2f0fbc762be19a958bb10e3c9573f5defc6a8d5ddbb088cf630e8fe64587dd9a9f206e8c11cec72d748d421c000000000000000000000000000000000000000000000000000000000000008401546fdca0dd1f9f8094ca33aa097c1d77af1ca0205578511a051a9bcbdaa219b13ce307d7a0614f15ca8bd33877565a9f4979f29d226c8e25000b23b3a24e27c0af9d66c418';

export const SEND_TOKEN_TX_BROADCAST =
'0xf901ae02843b9aca0083b8a1a094df7decb1baa8f529f0c8982cbb4be5035719529980b901440dcd7a6c00000000000000000000000072c2c8e08bf91d755cd7d26b49a2ee3dc99de1b90000000000000000000000000000000000000000000000000000000000000064000000000000000000000000e9df68a54bba438c8a6192e95f0f2c53ac93d997000000000000000000000000000000000000000000000000000000005ec67e28000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000041f6858e734e2f1e74a22e3df40c01cc1c272ffe755a4097f1d4888b7924b7be99445b347323577a76b0bd8170c98070b4af59dd9f63c4f11a8ad5b7dafccc7e711b000000000000000000000000000000000000000000000000000000000000008401546fdba0ff00e9d6205787b3146b119c58136b3df1b32fcafadbb0c35724b817eca73e2ea0693a32d0fe2f810fbcd26cef0e1c26a018e403b167604e9a35ab3b09dddbc651';
'0xf901ae02843b9aca0083b8a1a094df7decb1baa8f529f0c8982cbb4be5035719529980b901440dcd7a6c00000000000000000000000072c2c8e08bf91d755cd7d26b49a2ee3dc99de1b90000000000000000000000000000000000000000000000000000000000000064000000000000000000000000e9df68a54bba438c8a6192e95f0f2c53ac93d997000000000000000000000000000000000000000000000000000000005ec67e28000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000041a33c58bf934c5a2c27b0bc2a49a05736581ea04b836a880ddc1fa32b47ca6d314e7fede6ad011a7a4dd25968973dce1b1569ff89211533b35b8505280c9116521c000000000000000000000000000000000000000000000000000000000000008401546fdca0ad044b7711eb3dc7a9c2a15ff269d0a660d0978021b83d00bfe70e9249344eaaa07d47f97ae4f3c413cb5dc2037c0bce5eac9059a29e1a369e3949dbc81f71c424';

export const SEND_TX_AMOUNT_ZERO_BROADCAST =
'0xf901ce02843b9aca0083b8a1a0948f977e912ef500548a0c3be6ddde9899f1199b8180b901643912521500000000000000000000000019645032c7f1533395d44a629462e751084d3e4c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000005ec67e28000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041c7a790268bbe8c51026b74f36f3a705eb0aa00cb1f32f16df33c2631a658621b3722a33ee813a343e2ef369fddaf9a12642cbc53a578bda0af852bd61fe8193f1b000000000000000000000000000000000000000000000000000000000000008401546fdba066ff8804d2e4a43b9882049cc32652aae6d6ebd9d204adf941e223e3ad8d8dafa0328cfd9e5abbe0e04720dbdff58b8ef932b2c8a1ccce2631c3266b5aece86377';
'0xf901ce02843b9aca0083b8a1a0948f977e912ef500548a0c3be6ddde9899f1199b8180b901643912521500000000000000000000000019645032c7f1533395d44a629462e751084d3e4c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000005ec67e28000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041b5c940d67207680cdeb8231b285ed6e360b90ecbaad27e7a139e4b0f2d67928a6b9545e6e14ace66cd7190df351fa1344eaa4cbbc37fa2d3ee1000c7d6ed94251b000000000000000000000000000000000000000000000000000000000000008401546fdca0c1065eb926c9eb2ae80579a977ab847bedcd264d6b903fcbb22c14efedae9d1ca02eac77bf7872dfb81cfe74d9b4b807667aebc86edb71816a75849e9fece52bbf';
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ describe('Opeth transaction builder send', () => {
const operationParams = [
['string', 'address', 'uint', 'address', 'uint', 'uint'],
[
'OPETH-ERC20',
'11155420-ERC20',
new ethUtil.BN(ethUtil.stripHexPrefix(to), 16),
amount,
new ethUtil.BN(ethUtil.stripHexPrefix(tokenContractAddress || ''), 16),
Expand Down
8 changes: 4 additions & 4 deletions modules/statics/src/networks.ts
Original file line number Diff line number Diff line change
Expand Up @@ -922,8 +922,8 @@ class Optimism extends Mainnet implements EthereumNetwork {
explorerUrl = 'https://optimistic.etherscan.io/tx/';
accountExplorerUrl = 'https://optimistic.etherscan.io/address/';
chainId = 10;
nativeCoinOperationHashPrefix = 'OPETH';
tokenOperationHashPrefix = 'OPETH-ERC20';
nativeCoinOperationHashPrefix = '10';
tokenOperationHashPrefix = '10-ERC20';
}

class OptimismTestnet extends Testnet implements EthereumNetwork {
Expand All @@ -932,8 +932,8 @@ class OptimismTestnet extends Testnet implements EthereumNetwork {
explorerUrl = 'https://sepolia-optimism.etherscan.io/tx/';
accountExplorerUrl = 'https://sepolia-optimism.etherscan.io/address/';
chainId = 11155420;
nativeCoinOperationHashPrefix = 'OPETH';
tokenOperationHashPrefix = 'OPETH-ERC20';
nativeCoinOperationHashPrefix = '11155420';
tokenOperationHashPrefix = '11155420-ERC20';
}

class ZkSync extends Mainnet implements EthereumNetwork {
Expand Down

0 comments on commit 1939304

Please sign in to comment.